aboutsummaryrefslogtreecommitdiff
path: root/www/chromium/files
diff options
context:
space:
mode:
Diffstat (limited to 'www/chromium/files')
-rw-r--r--www/chromium/files/chrome.in6
-rw-r--r--www/chromium/files/patch-BUILD.gn120
-rw-r--r--www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc12
-rw-r--r--www/chromium/files/patch-ash_display_mirror__window__controller.cc8
-rw-r--r--www/chromium/files/patch-base_BUILD.gn138
-rw-r--r--www/chromium/files/patch-base_allocator_dispatcher_tls.h11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__alloc__features.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h20
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__constants.h29
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h16
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc17
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni29
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc13
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_time_time.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h29
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h20
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h29
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc38
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc47
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h20
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h13
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h16
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc34
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc13
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h20
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h20
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h16
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc29
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc36
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc50
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc50
-rw-r--r--www/chromium/files/patch-base_atomicops.h4
-rw-r--r--www/chromium/files/patch-base_base__paths__posix.cc26
-rw-r--r--www/chromium/files/patch-base_base__switches.cc11
-rw-r--r--www/chromium/files/patch-base_base__switches.h11
-rw-r--r--www/chromium/files/patch-base_compiler__specific.h10
-rw-r--r--www/chromium/files/patch-base_cpu.h11
-rw-r--r--www/chromium/files/patch-base_debug_debugger__posix.cc12
-rw-r--r--www/chromium/files/patch-base_debug_elf__reader.cc27
-rw-r--r--www/chromium/files/patch-base_debug_proc__maps__linux.cc4
-rw-r--r--www/chromium/files/patch-base_debug_stack__trace.cc39
-rw-r--r--www/chromium/files/patch-base_debug_stack__trace__posix.cc89
-rw-r--r--www/chromium/files/patch-base_files_dir__reader__linux.h24
-rw-r--r--www/chromium/files/patch-base_files_drive__info.h11
-rw-r--r--www/chromium/files/patch-base_files_drive__info__posix.cc11
-rw-r--r--www/chromium/files/patch-base_files_file__path__watcher.h11
-rw-r--r--www/chromium/files/patch-base_files_file__path__watcher__bsd.cc4
-rw-r--r--www/chromium/files/patch-base_files_file__path__watcher__unittest.cc28
-rw-r--r--www/chromium/files/patch-base_files_file__util__posix.cc67
-rw-r--r--www/chromium/files/patch-base_files_file__util__unittest.cc26
-rw-r--r--www/chromium/files/patch-base_files_scoped__file.cc4
-rw-r--r--www/chromium/files/patch-base_functional_unretained__traits.h11
-rw-r--r--www/chromium/files/patch-base_i18n_icu__util.cc4
-rw-r--r--www/chromium/files/patch-base_linux__util.cc23
-rw-r--r--www/chromium/files/patch-base_logging__unittest.cc6
-rw-r--r--www/chromium/files/patch-base_memory_discardable__memory.cc18
-rw-r--r--www/chromium/files/patch-base_memory_discardable__memory__internal.h4
-rw-r--r--www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc8
-rw-r--r--www/chromium/files/patch-base_memory_platform__shared__memory__region.h21
-rw-r--r--www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc8
-rw-r--r--www/chromium/files/patch-base_memory_protected__memory.h44
-rw-r--r--www/chromium/files/patch-base_memory_protected__memory__posix.cc20
-rw-r--r--www/chromium/files/patch-base_message__loop_message__pump__epoll.cc11
-rw-r--r--www/chromium/files/patch-base_message__loop_message__pump__epoll.h14
-rw-r--r--www/chromium/files/patch-base_message__loop_message__pump__glib.cc8
-rw-r--r--www/chromium/files/patch-base_native__library__posix.cc4
-rw-r--r--www/chromium/files/patch-base_native__library__unittest.cc4
-rw-r--r--www/chromium/files/patch-base_posix_file__descriptor__shuffle.h11
-rw-r--r--www/chromium/files/patch-base_posix_sysctl.cc10
-rw-r--r--www/chromium/files/patch-base_posix_unix__domain__socket.cc32
-rw-r--r--www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc8
-rw-r--r--www/chromium/files/patch-base_process_internal__linux.h20
-rw-r--r--www/chromium/files/patch-base_process_kill.h8
-rw-r--r--www/chromium/files/patch-base_process_kill__posix.cc4
-rw-r--r--www/chromium/files/patch-base_process_launch.h4
-rw-r--r--www/chromium/files/patch-base_process_launch__posix.cc4
-rw-r--r--www/chromium/files/patch-base_process_memory.cc11
-rw-r--r--www/chromium/files/patch-base_process_memory__linux.cc44
-rw-r--r--www/chromium/files/patch-base_process_process__handle.h4
-rw-r--r--www/chromium/files/patch-base_process_process__handle__freebsd.cc10
-rw-r--r--www/chromium/files/patch-base_process_process__handle__openbsd.cc131
-rw-r--r--www/chromium/files/patch-base_process_process__iterator__freebsd.cc25
-rw-r--r--www/chromium/files/patch-base_process_process__iterator__openbsd.cc21
-rw-r--r--www/chromium/files/patch-base_process_process__metrics.cc28
-rw-r--r--www/chromium/files/patch-base_process_process__metrics.h61
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__freebsd.cc227
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__openbsd.cc261
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__posix.cc6
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__unittest.cc12
-rw-r--r--www/chromium/files/patch-base_process_process__posix.cc43
-rw-r--r--www/chromium/files/patch-base_process_process__unittest.cc4
-rw-r--r--www/chromium/files/patch-base_profiler_module__cache.cc11
-rw-r--r--www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc20
-rw-r--r--www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h20
-rw-r--r--www/chromium/files/patch-base_profiler_stack__base__address__posix.cc59
-rw-r--r--www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc4
-rw-r--r--www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc6
-rw-r--r--www/chromium/files/patch-base_profiler_thread__delegate__posix.cc20
-rw-r--r--www/chromium/files/patch-base_rand__util.h6
-rw-r--r--www/chromium/files/patch-base_rand__util__posix.cc64
-rw-r--r--www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc6
-rw-r--r--www/chromium/files/patch-base_synchronization_cancelable__event.h20
-rw-r--r--www/chromium/files/patch-base_synchronization_lock__impl.h6
-rw-r--r--www/chromium/files/patch-base_syslog__logging.cc10
-rw-r--r--www/chromium/files/patch-base_system_sys__info.cc20
-rw-r--r--www/chromium/files/patch-base_system_sys__info.h14
-rw-r--r--www/chromium/files/patch-base_system_sys__info__freebsd.cc29
-rw-r--r--www/chromium/files/patch-base_system_sys__info__openbsd.cc35
-rw-r--r--www/chromium/files/patch-base_system_sys__info__posix.cc32
-rw-r--r--www/chromium/files/patch-base_system_sys__info__unittest.cc9
-rw-r--r--www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc21
-rw-r--r--www/chromium/files/patch-base_test_launcher_test__launcher.cc4
-rw-r--r--www/chromium/files/patch-base_test_test__file__util__linux.cc13
-rw-r--r--www/chromium/files/patch-base_test_test__file__util__posix.cc4
-rw-r--r--www/chromium/files/patch-base_third__party_libevent_event.h14
-rw-r--r--www/chromium/files/patch-base_third__party_symbolize_symbolize.cc11
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread.h20
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__bsd.cc34
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__internal__posix.cc11
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__linux.cc77
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__posix.cc50
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__unittest.cc27
-rw-r--r--www/chromium/files/patch-base_time_time.cc11
-rw-r--r--www/chromium/files/patch-base_time_time__now__posix.cc11
-rw-r--r--www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc21
-rw-r--r--www/chromium/files/patch-base_trace__event_memory__dump__manager.cc4
-rw-r--r--www/chromium/files/patch-base_trace__event_process__memory__dump.cc24
-rw-r--r--www/chromium/files/patch-base_tracing_trace__time.cc16
-rw-r--r--www/chromium/files/patch-build_config_BUILD.gn25
-rw-r--r--www/chromium/files/patch-build_config_BUILDCONFIG.gn16
-rw-r--r--www/chromium/files/patch-build_config_clang_BUILD.gn16
-rw-r--r--www/chromium/files/patch-build_config_compiler_BUILD.gn128
-rw-r--r--www/chromium/files/patch-build_config_gcc_BUILD.gn13
-rw-r--r--www/chromium/files/patch-build_config_linux_libdrm_BUILD.gn11
-rw-r--r--www/chromium/files/patch-build_config_linux_pkg-config.py4
-rw-r--r--www/chromium/files/patch-build_config_ozone.gni10
-rw-r--r--www/chromium/files/patch-build_config_rust.gni24
-rw-r--r--www/chromium/files/patch-build_detect__host__arch.py4
-rw-r--r--www/chromium/files/patch-build_gn__run__binary.py4
-rw-r--r--www/chromium/files/patch-build_linux_unbundle_icu.gn43
-rw-r--r--www/chromium/files/patch-build_linux_unbundle_libevent.gn15
-rw-r--r--www/chromium/files/patch-build_linux_unbundle_libusb.gn7
-rw-r--r--www/chromium/files/patch-build_linux_unbundle_replace__gn__files.py10
-rw-r--r--www/chromium/files/patch-build_nocompile.gni11
-rw-r--r--www/chromium/files/patch-build_rust_rust__bindgen.gni19
-rw-r--r--www/chromium/files/patch-build_rust_rust__bindgen__generator.gni19
-rw-r--r--www/chromium/files/patch-build_rust_std_BUILD.gn32
-rw-r--r--www/chromium/files/patch-build_toolchain_gcc__toolchain.gni23
-rw-r--r--www/chromium/files/patch-build_toolchain_toolchain.gni11
-rw-r--r--www/chromium/files/patch-cc_BUILD.gn19
-rw-r--r--www/chromium/files/patch-cc_base_features.cc11
-rw-r--r--www/chromium/files/patch-chrome_app_app__management__strings.grdp11
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__command__ids.h17
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main.cc41
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main__delegate.cc122
-rw-r--r--www/chromium/files/patch-chrome_app_chromium__strings.grd20
-rw-r--r--www/chromium/files/patch-chrome_app_generated__resources.grd38
-rw-r--r--www/chromium/files/patch-chrome_app_google__chrome__strings.grd20
-rw-r--r--www/chromium/files/patch-chrome_app_profiles__strings.grdp11
-rw-r--r--www/chromium/files/patch-chrome_app_settings__strings.grdp20
-rw-r--r--www/chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd32
-rw-r--r--www/chromium/files/patch-chrome_app_theme_theme__resources.grd34
-rw-r--r--www/chromium/files/patch-chrome_browser_BUILD.gn16
-rw-r--r--www/chromium/files/patch-chrome_browser_about__flags.cc439
-rw-r--r--www/chromium/files/patch-chrome_browser_accessibility_page__colors.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc61
-rw-r--r--www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h8
-rw-r--r--www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc6
-rw-r--r--www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_background_extensions_background__mode__optimizer.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__features.cc30
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__features.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.cc50
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.h12
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__resources.grd11
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc74
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc70
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main.cc141
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc31
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc201
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h10
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_collaboration_messaging_messaging__backend__service__factory.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_component__updater_registration.cc35
-rw-r--r--www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_defaults.cc6
-rw-r--r--www/chromium/files/patch-chrome_browser_dev__ui__browser__resources.grd11
-rw-r--r--www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_devtools_features.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_devtools_features.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h4
-rw-r--r--www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc40
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__commands.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__commands.h8
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__file__picker.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__item__model.cc15
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__prefs.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__prefs.h6
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.cc47
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc24
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc26
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc18
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h29
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc78
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_signin_interstitials_managed__profile__required__page.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_BUILD.gn20
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc6
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc40
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h22
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc39
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_feedback_system__logs_about__system__logs__fetcher.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_feedback_system__logs_chrome__system__logs__fetcher.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc18
-rw-r--r--www/chromium/files/patch-chrome_browser_first__run_first__run__dialog.h14
-rw-r--r--www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h4
-rw-r--r--www/chromium/files/patch-chrome_browser_flag__descriptions.cc200
-rw-r--r--www/chromium/files/patch-chrome_browser_flag__descriptions.h178
-rw-r--r--www/chromium/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_global__features.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_global__features.h38
-rw-r--r--www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc34
-rw-r--r--www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h8
-rw-r--r--www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_media_audio__service__util.cc24
-rw-r--r--www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn4
-rw-r--r--www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc47
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h10
-rw-r--r--www/chromium/files/patch-chrome_browser_memory__details.cc15
-rw-r--r--www/chromium/files/patch-chrome_browser_memory__details__linux.cc37
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc51
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc98
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.h6
-rw-r--r--www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc128
-rw-r--r--www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_performance__manager_policies_high__pmf__discard__policy.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_platform__util__linux.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc202
-rw-r--r--www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc80
-rw-r--r--www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc36
-rw-r--r--www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_printing_printer__query.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_process__singleton__posix.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc140
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc21
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json31
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_sandbox__internals_sandbox__internals.ts29
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts20
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html29
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts51
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css8
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_settings_route.ts11
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_signin_signin__shared.css10
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html38
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h29
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__service__handler__base.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_sessions_session__restore.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_shortcuts_icon__badging.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc21
-rw-r--r--www/chromium/files/patch-chrome_browser_signin_accounts__policy__manager.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_signin_accounts__policy__manager.h29
-rw-r--r--www/chromium/files/patch-chrome_browser_signin_signin__util.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc26
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h10
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc18
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h12
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h4
-rw-r--r--www/chromium/files/patch-chrome_browser_themes_theme__helper.cc17
-rw-r--r--www/chromium/files/patch-chrome_browser_themes_theme__service.cc32
-rw-r--r--www/chromium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h38
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser.h6
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc82
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__commands.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc26
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc34
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_chrome__pages.h26
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_managed__ui.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_prefs_prefs__tab__helper.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_sad__tab.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc21
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc26
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc32
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_tabs_features.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc21
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_ui__features.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_ui__features.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc17
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc6
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc68
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc17
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc25
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h13
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc34
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc32
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_new__tab__footer_footer__controller.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc75
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h32
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc47
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc83
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_about_about__ui.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_about_about__ui.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_app__settings_web__app__settings__ui.h18
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc65
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc85
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc90
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc17
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h19
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc21
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc76
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_upgrade__detector_version__history__client.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h16
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc24
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h8
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc40
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h21
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc119
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h38
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__helpers.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__install__info.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_webauthn_password__credential__controller.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc11
-rw-r--r--www/chromium/files/patch-chrome_common_channel__info.h25
-rw-r--r--www/chromium/files/patch-chrome_common_channel__info__posix.cc21
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__features.cc86
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__features.h50
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__paths.cc70
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__paths.h26
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__paths__internal.h4
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__switches.cc11
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__switches.h13
-rw-r--r--www/chromium/files/patch-chrome_common_crash__keys.cc28
-rw-r--r--www/chromium/files/patch-chrome_common_extensions_extension__constants.cc11
-rw-r--r--www/chromium/files/patch-chrome_common_extensions_extension__constants.h11
-rw-r--r--www/chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc11
-rw-r--r--www/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc6
-rw-r--r--www/chromium/files/patch-chrome_common_media_cdm__registration.cc56
-rw-r--r--www/chromium/files/patch-chrome_common_media_cdm__registration.h11
-rw-r--r--www/chromium/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h11
-rw-r--r--www/chromium/files/patch-chrome_common_pref__names.cc56
-rw-r--r--www/chromium/files/patch-chrome_common_pref__names.h113
-rw-r--r--www/chromium/files/patch-chrome_common_url__constants.cc11
-rw-r--r--www/chromium/files/patch-chrome_common_url__constants.h16
-rw-r--r--www/chromium/files/patch-chrome_common_webui__url__constants.cc74
-rw-r--r--www/chromium/files/patch-chrome_common_webui__url__constants.h62
-rw-r--r--www/chromium/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc11
-rw-r--r--www/chromium/files/patch-chrome_enterprise__companion_event__logger.cc11
-rw-r--r--www/chromium/files/patch-chrome_enterprise__companion_lock.cc20
-rw-r--r--www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc11
-rw-r--r--www/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h11
-rw-r--r--www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc46
-rw-r--r--www/chromium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc6
-rw-r--r--www/chromium/files/patch-chrome_services_system__signals_public_cpp_browser_system__signals__service__host__impl.cc20
-rw-r--r--www/chromium/files/patch-chrome_services_system__signals_public_cpp_browser_system__signals__service__host__impl.h20
-rw-r--r--www/chromium/files/patch-chrome_test_BUILD.gn11
-rw-r--r--www/chromium/files/patch-chrome_test_base_scoped__channel__override__posix.cc11
-rw-r--r--www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc6
-rw-r--r--www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc25
-rw-r--r--www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc12
-rw-r--r--www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc20
-rw-r--r--www/chromium/files/patch-chrome_test_interaction_interaction__sequence__browser__util.cc11
-rw-r--r--www/chromium/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_app_app__install.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_app_app__uninstall.cc20
-rw-r--r--www/chromium/files/patch-chrome_updater_configurator.cc20
-rw-r--r--www/chromium/files/patch-chrome_updater_device__management_dm__client.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_device__management_dm__storage.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_installer.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_lock.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_updater.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_util.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_util_posix__util.cc11
-rw-r--r--www/chromium/files/patch-chrome_utility_services.cc44
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc20
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc22
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc20
-rw-r--r--www/chromium/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc11
-rw-r--r--www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc11
-rw-r--r--www/chromium/files/patch-components_BUILD.gn28
-rw-r--r--www/chromium/files/patch-components_autofill__assistant_browser_autofill__assistant__impl.cc11
-rw-r--r--www/chromium/files/patch-components_autofill__assistant_browser_client__context.cc11
-rw-r--r--www/chromium/files/patch-components_autofill__payments__strings.grdp11
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc47
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h20
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc11
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide.cc11
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc38
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc11
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc12
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc11
-rw-r--r--www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc14
-rw-r--r--www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc38
-rw-r--r--www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h29
-rw-r--r--www/chromium/files/patch-components_autofill_core_common_autofill__util.cc11
-rw-r--r--www/chromium/files/patch-components_cast__channel_cast__message__util.cc11
-rw-r--r--www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc39
-rw-r--r--www/chromium/files/patch-components_components__chromium__strings.grd11
-rw-r--r--www/chromium/files/patch-components_components__google__chrome__strings.grd11
-rw-r--r--www/chromium/files/patch-components_constrained__window_constrained__window__views.cc11
-rw-r--r--www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc2
-rw-r--r--www/chromium/files/patch-components_cookie__config_cookie__store__util.cc4
-rw-r--r--www/chromium/files/patch-components_crash_content_browser_BUILD.gn29
-rw-r--r--www/chromium/files/patch-components_crash_core_app_BUILD.gn37
-rw-r--r--www/chromium/files/patch-components_crash_core_app_crashpad__handler__main.cc20
-rw-r--r--www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc18
-rw-r--r--www/chromium/files/patch-components_crash_core_common_BUILD.gn13
-rw-r--r--www/chromium/files/patch-components_device__signals_core_browser_browser__utils.h20
-rw-r--r--www/chromium/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator.h11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_browser_user__permission__service.h11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_browser_user__permission__service__impl.h11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc78
-rw-r--r--www/chromium/files/patch-components_device__signals_core_common_signals__features.cc11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_common_signals__features.h11
-rw-r--r--www/chromium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc11
-rw-r--r--www/chromium/files/patch-components_device__signals_test_signals__contract.cc11
-rw-r--r--www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc10
-rw-r--r--www/chromium/files/patch-components_embedder__support_user__agent__utils.cc56
-rw-r--r--www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc39
-rw-r--r--www/chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc20
-rw-r--r--www/chromium/files/patch-components_enterprise_watermarking_watermark.cc20
-rw-r--r--www/chromium/files/patch-components_error__page_common_localized__error.cc11
-rw-r--r--www/chromium/files/patch-components_eye__dropper_eye__dropper__view.cc11
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_event__constants.cc4
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_event__constants.h4
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc29
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc29
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_feature__constants.h29
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_feature__list.cc36
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_feature__list.h56
-rw-r--r--www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc4
-rw-r--r--www/chromium/files/patch-components_feed_core_v2_proto__util.cc6
-rw-r--r--www/chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc4
-rw-r--r--www/chromium/files/patch-components_feed_core_v2_test_proto__printer.cc4
-rw-r--r--www/chromium/files/patch-components_flags__ui_flags__state.cc11
-rw-r--r--www/chromium/files/patch-components_gcm__driver_gcm__desktop__utils.cc11
-rw-r--r--www/chromium/files/patch-components_gwp__asan_BUILD.gn10
-rw-r--r--www/chromium/files/patch-components_gwp__asan_buildflags_buildflags.gni14
-rw-r--r--www/chromium/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc13
-rw-r--r--www/chromium/files/patch-components_gwp__asan_client_gwp__asan.cc11
-rw-r--r--www/chromium/files/patch-components_gwp__asan_client_gwp__asan__features.cc11
-rw-r--r--www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc6
-rw-r--r--www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc11
-rw-r--r--www/chromium/files/patch-components_live__caption_caption__util.cc20
-rw-r--r--www/chromium/files/patch-components_live__caption_caption__util.h11
-rw-r--r--www/chromium/files/patch-components_media__router_common_media__source.cc11
-rw-r--r--www/chromium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc11
-rw-r--r--www/chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h15
-rw-r--r--www/chromium/files/patch-components_metrics_drive__metrics__provider.cc20
-rw-r--r--www/chromium/files/patch-components_metrics_drive__metrics__provider__linux.cc16
-rw-r--r--www/chromium/files/patch-components_metrics_dwa_dwa__service.cc11
-rw-r--r--www/chromium/files/patch-components_metrics_metrics__log.cc38
-rw-r--r--www/chromium/files/patch-components_metrics_motherboard.cc10
-rw-r--r--www/chromium/files/patch-components_named__mojo__ipc__server_connection__info.h23
-rw-r--r--www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc11
-rw-r--r--www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc12
-rw-r--r--www/chromium/files/patch-components_named__system__lock_BUILD.gn20
-rw-r--r--www/chromium/files/patch-components_named__system__lock_lock.h11
-rw-r--r--www/chromium/files/patch-components_named__system__lock_lock__unittest.cc29
-rw-r--r--www/chromium/files/patch-components_neterror_resources_neterror.js11
-rw-r--r--www/chromium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc11
-rw-r--r--www/chromium/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc11
-rw-r--r--www/chromium/files/patch-components_new__or__sad__tab__strings.grdp20
-rw-r--r--www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc11
-rw-r--r--www/chromium/files/patch-components_optimization__guide_core_optimization__guide__util.cc11
-rw-r--r--www/chromium/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc12
-rw-r--r--www/chromium/files/patch-components_os__crypt_keyring__util__linux.cc17
-rw-r--r--www/chromium/files/patch-components_os__crypt_libsecret__util__linux.cc18
-rw-r--r--www/chromium/files/patch-components_os__crypt_os__crypt.h72
-rw-r--r--www/chromium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc27
-rw-r--r--www/chromium/files/patch-components_os__crypt_sync_os__crypt.h63
-rw-r--r--www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc18
-rw-r--r--www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc18
-rw-r--r--www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc18
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc20
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_login__database.cc29
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc29
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc29
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc20
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h20
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__manager__switches.cc11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__manager__switches.h11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc29
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h20
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc20
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_sync_password__sync__bridge.cc20
-rw-r--r--www/chromium/files/patch-components_password__manager_core_common_password__manager__features.cc29
-rw-r--r--www/chromium/files/patch-components_password__manager_core_common_password__manager__features.h25
-rw-r--r--www/chromium/files/patch-components_password__manager_core_common_password__manager__pref__names.h20
-rw-r--r--www/chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc11
-rw-r--r--www/chromium/files/patch-components_performance__manager_features.cc11
-rw-r--r--www/chromium/files/patch-components_performance__manager_public_features.h11
-rw-r--r--www/chromium/files/patch-components_permissions_prediction__service_prediction__common.cc2
-rw-r--r--www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc6
-rw-r--r--www/chromium/files/patch-components_policy_core_browser_url__blocklist__manager.cc11
-rw-r--r--www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc4
-rw-r--r--www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc20
-rw-r--r--www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc31
-rw-r--r--www/chromium/files/patch-components_policy_core_common_policy__loader__common.cc20
-rw-r--r--www/chromium/files/patch-components_policy_core_common_policy__paths.cc11
-rw-r--r--www/chromium/files/patch-components_policy_core_common_policy__pref__names.cc11
-rw-r--r--www/chromium/files/patch-components_policy_core_common_policy__pref__names.h11
-rw-r--r--www/chromium/files/patch-components_policy_resources_policy__templates.json191
-rw-r--r--www/chromium/files/patch-components_policy_tools_generate__policy__source.py14
-rw-r--r--www/chromium/files/patch-components_power__metrics_BUILD.gn11
-rw-r--r--www/chromium/files/patch-components_power__metrics_energy__metrics__provider.cc21
-rw-r--r--www/chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc11
-rw-r--r--www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc11
-rw-r--r--www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.h11
-rw-r--r--www/chromium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc8
-rw-r--r--www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py23
-rw-r--r--www/chromium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc4
-rw-r--r--www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc6
-rw-r--r--www/chromium/files/patch-components_search__engines_template__url__service.cc11
-rw-r--r--www/chromium/files/patch-components_security__interstitials_content_utils.cc8
-rw-r--r--www/chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc11
-rw-r--r--www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.cc43
-rw-r--r--www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.h16
-rw-r--r--www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc10
-rw-r--r--www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h20
-rw-r--r--www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc18
-rw-r--r--www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h16
-rw-r--r--www/chromium/files/patch-components_signin_public_base_signin__switches.cc11
-rw-r--r--www/chromium/files/patch-components_signin_public_base_signin__switches.h11
-rw-r--r--www/chromium/files/patch-components_soda_soda__util.cc29
-rw-r--r--www/chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc20
-rw-r--r--www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc11
-rw-r--r--www/chromium/files/patch-components_storage__monitor_BUILD.gn17
-rw-r--r--www/chromium/files/patch-components_storage__monitor_removable__device__constants.h12
-rw-r--r--www/chromium/files/patch-components_supervised__user_core_browser_list__family__members__service.h11
-rw-r--r--www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc11
-rw-r--r--www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc11
-rw-r--r--www/chromium/files/patch-components_supervised__user_core_common_features.cc54
-rw-r--r--www/chromium/files/patch-components_supervised__user_core_common_features.h35
-rw-r--r--www/chromium/files/patch-components_supervised__user_core_common_pref__names.h11
-rw-r--r--www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc28
-rw-r--r--www/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc10
-rw-r--r--www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc11
-rw-r--r--www/chromium/files/patch-components_sync_service_sync__prefs.cc11
-rw-r--r--www/chromium/files/patch-components_system__cpu_cpu__probe.cc12
-rw-r--r--www/chromium/files/patch-components_translate_core_common_translate__util.cc16
-rw-r--r--www/chromium/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc11
-rw-r--r--www/chromium/files/patch-components_update__client_update__query__params.cc4
-rw-r--r--www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc4
-rw-r--r--www/chromium/files/patch-components_user__education_views_help__bubble__view.cc29
-rw-r--r--www/chromium/files/patch-components_user__education_views_help__bubble__view.h11
-rw-r--r--www/chromium/files/patch-components_variations_net_variations__command__line.cc11
-rw-r--r--www/chromium/files/patch-components_variations_service_variations__service.cc11
-rw-r--r--www/chromium/files/patch-components_visited__url__ranking_public_url__visit__util.cc11
-rw-r--r--www/chromium/files/patch-components_viz_common_gpu_dawn__context__provider.cc11
-rw-r--r--www/chromium/files/patch-components_viz_host_gpu__host__impl.cc11
-rw-r--r--www/chromium/files/patch-components_viz_host_host__display__client.cc12
-rw-r--r--www/chromium/files/patch-components_viz_host_host__display__client.h14
-rw-r--r--www/chromium/files/patch-components_viz_host_renderer__settings__creation.cc11
-rw-r--r--www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc16
-rw-r--r--www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc22
-rw-r--r--www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h22
-rw-r--r--www/chromium/files/patch-components_viz_service_display_skia__renderer.cc6
-rw-r--r--www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc22
-rw-r--r--www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h14
-rw-r--r--www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc20
-rw-r--r--www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h11
-rw-r--r--www/chromium/files/patch-components_viz_test_fake__display__client.cc12
-rw-r--r--www/chromium/files/patch-components_viz_test_fake__display__client.h12
-rw-r--r--www/chromium/files/patch-components_viz_test_mock__display__client.h16
-rw-r--r--www/chromium/files/patch-components_webui_flags_flags__state.cc11
-rw-r--r--www/chromium/files/patch-content_app_BUILD.gn15
-rw-r--r--www/chromium/files/patch-content_app_content__main.cc15
-rw-r--r--www/chromium/files/patch-content_app_content__main__runner__impl.cc89
-rw-r--r--www/chromium/files/patch-content_browser_BUILD.gn29
-rw-r--r--www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc11
-rw-r--r--www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc33
-rw-r--r--www/chromium/files/patch-content_browser_audio_audio__service.cc20
-rw-r--r--www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc25
-rw-r--r--www/chromium/files/patch-content_browser_browser__child__process__host__impl.h20
-rw-r--r--www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc11
-rw-r--r--www/chromium/files/patch-content_browser_browser__main__loop.cc23
-rw-r--r--www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc69
-rw-r--r--www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc29
-rw-r--r--www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.h11
-rw-r--r--www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc12
-rw-r--r--www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc10
-rw-r--r--www/chromium/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc38
-rw-r--r--www/chromium/files/patch-content_browser_devtools_devtools__frontend__host__impl.h11
-rw-r--r--www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc12
-rw-r--r--www/chromium/files/patch-content_browser_download_download__manager__impl.cc29
-rw-r--r--www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h11
-rw-r--r--www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc63
-rw-r--r--www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h10
-rw-r--r--www/chromium/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc11
-rw-r--r--www/chromium/files/patch-content_browser_font__access_font__enumeration__data__source.cc8
-rw-r--r--www/chromium/files/patch-content_browser_gpu_compositor__util.cc28
-rw-r--r--www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc11
-rw-r--r--www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h11
-rw-r--r--www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc11
-rw-r--r--www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h20
-rw-r--r--www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc31
-rw-r--r--www/chromium/files/patch-content_browser_media_frameless__media__interface__proxy.cc20
-rw-r--r--www/chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h20
-rw-r--r--www/chromium/files/patch-content_browser_media_media__interface__proxy.cc20
-rw-r--r--www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc20
-rw-r--r--www/chromium/files/patch-content_browser_network__service__instance__impl.cc29
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc8
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc29
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc20
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc6
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc29
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h19
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc52
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h36
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc29
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc14
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc46
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h4
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc6
-rw-r--r--www/chromium/files/patch-content_browser_sandbox__host__linux.cc4
-rw-r--r--www/chromium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc8
-rw-r--r--www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h14
-rw-r--r--www/chromium/files/patch-content_browser_service__host_utility__process__host.cc38
-rw-r--r--www/chromium/files/patch-content_browser_service__host_utility__process__host__receiver__bindings.cc20
-rw-r--r--www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc34
-rw-r--r--www/chromium/files/patch-content_browser_utility__process__host__receiver__bindings.cc20
-rw-r--r--www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc24
-rw-r--r--www/chromium/files/patch-content_browser_v8__snapshot__files.cc16
-rw-r--r--www/chromium/files/patch-content_browser_web__contents_slow__web__preference__cache.cc29
-rw-r--r--www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc8
-rw-r--r--www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc74
-rw-r--r--www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc47
-rw-r--r--www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h20
-rw-r--r--www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc29
-rw-r--r--www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h16
-rw-r--r--www/chromium/files/patch-content_child_BUILD.gn16
-rw-r--r--www/chromium/files/patch-content_child_child__process.cc23
-rw-r--r--www/chromium/files/patch-content_child_child__process.h11
-rw-r--r--www/chromium/files/patch-content_common_BUILD.gn42
-rw-r--r--www/chromium/files/patch-content_common_features.cc11
-rw-r--r--www/chromium/files/patch-content_common_features.h11
-rw-r--r--www/chromium/files/patch-content_common_font__list__unittest.cc14
-rw-r--r--www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc71
-rw-r--r--www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h23
-rw-r--r--www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h16
-rw-r--r--www/chromium/files/patch-content_common_mojo__core__library__support.cc11
-rw-r--r--www/chromium/files/patch-content_common_thread__type__switcher.mojom10
-rw-r--r--www/chromium/files/patch-content_common_user__agent.cc28
-rw-r--r--www/chromium/files/patch-content_gpu_gpu__child__thread.cc21
-rw-r--r--www/chromium/files/patch-content_gpu_gpu__main.cc66
-rw-r--r--www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc70
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc8
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h18
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc10
-rw-r--r--www/chromium/files/patch-content_public_browser_content__browser__client.cc11
-rw-r--r--www/chromium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h10
-rw-r--r--www/chromium/files/patch-content_public_common_common__param__traits__macros.h11
-rw-r--r--www/chromium/files/patch-content_public_common_content__features.cc63
-rw-r--r--www/chromium/files/patch-content_public_common_content__features.h11
-rw-r--r--www/chromium/files/patch-content_public_common_content__switches.cc14
-rw-r--r--www/chromium/files/patch-content_public_common_content__switches.h16
-rw-r--r--www/chromium/files/patch-content_public_common_zygote_features.gni6
-rw-r--r--www/chromium/files/patch-content_public_test_mock__render__thread.cc11
-rw-r--r--www/chromium/files/patch-content_renderer_media_render__media__client.cc11
-rw-r--r--www/chromium/files/patch-content_renderer_render__process__impl.cc29
-rw-r--r--www/chromium/files/patch-content_renderer_render__thread__impl.cc53
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc41
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h28
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc4
-rw-r--r--www/chromium/files/patch-content_shell_BUILD.gn4
-rw-r--r--www/chromium/files/patch-content_shell_app_shell__main__delegate.cc4
-rw-r--r--www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc34
-rw-r--r--www/chromium/files/patch-content_shell_browser_shell__paths.cc20
-rw-r--r--www/chromium/files/patch-content_shell_browser_shell__platform__delegate__views.cc11
-rw-r--r--www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc11
-rw-r--r--www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc8
-rw-r--r--www/chromium/files/patch-content_test_BUILD.gn20
-rw-r--r--www/chromium/files/patch-content_utility_services.cc33
-rw-r--r--www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc16
-rw-r--r--www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h10
-rw-r--r--www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc16
-rw-r--r--www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h23
-rw-r--r--www/chromium/files/patch-content_utility_utility__main.cc112
-rw-r--r--www/chromium/files/patch-content_utility_utility__thread__impl.cc21
-rw-r--r--www/chromium/files/patch-content_zygote_zygote__linux.cc6
-rw-r--r--www/chromium/files/patch-content_zygote_zygote__main__linux.cc28
-rw-r--r--www/chromium/files/patch-device_bluetooth_bluetooth__adapter.cc12
-rw-r--r--www/chromium/files/patch-device_bluetooth_cast__bluetooth.gni4
-rw-r--r--www/chromium/files/patch-device_gamepad_BUILD.gn11
-rw-r--r--www/chromium/files/patch-device_gamepad_gamepad__provider.cc4
-rw-r--r--www/chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc11
-rw-r--r--www/chromium/files/patch-extensions_browser_api_management_management__api.cc11
-rw-r--r--www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc6
-rw-r--r--www/chromium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc27
-rw-r--r--www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc11
-rw-r--r--www/chromium/files/patch-extensions_browser_extension__prefs.cc11
-rw-r--r--www/chromium/files/patch-extensions_browser_pref__names.cc11
-rw-r--r--www/chromium/files/patch-extensions_browser_pref__names.h11
-rw-r--r--www/chromium/files/patch-extensions_common_api___permission__features.json8
-rw-r--r--www/chromium/files/patch-extensions_common_api_runtime.json10
-rw-r--r--www/chromium/files/patch-extensions_common_command.cc12
-rw-r--r--www/chromium/files/patch-extensions_common_features_feature.cc6
-rw-r--r--www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc8
-rw-r--r--www/chromium/files/patch-extensions_renderer_bindings_argument__spec.cc11
-rw-r--r--www/chromium/files/patch-extensions_shell_app_shell__main__delegate.cc8
-rw-r--r--www/chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc12
-rw-r--r--www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc8
-rw-r--r--www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc21
-rw-r--r--www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h21
-rw-r--r--www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc20
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.cc29
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.h11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc20
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc20
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_raster__decoder__unittest__context__lost.cc21
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc29
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h20
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__angle__vulkan.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__gl__texture.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__ozone.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__gl__texture.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc29
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc20
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc20
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc38
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc27
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_wrapped__sk__image.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc6
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc20
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc20
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h11
-rw-r--r--www/chromium/files/patch-gpu_config_gpu__control__list.cc13
-rw-r--r--www/chromium/files/patch-gpu_config_gpu__finch__features.cc12
-rw-r--r--www/chromium/files/patch-gpu_config_gpu__info__collector.cc11
-rw-r--r--www/chromium/files/patch-gpu_config_gpu__test__config.cc12
-rw-r--r--www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc14
-rw-r--r--www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h10
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_gpu__init.cc58
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc12
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_x__util.h17
-rw-r--r--www/chromium/files/patch-gpu_vulkan_generate__bindings.py4
-rw-r--r--www/chromium/files/patch-gpu_vulkan_semaphore__handle.cc20
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc16
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h12
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc15
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h8
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__image.cc11
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__image.h6
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__util.cc4
-rw-r--r--www/chromium/files/patch-headless_BUILD.gn11
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h11
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc11
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc39
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc20
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h6
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc11
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc8
-rw-r--r--www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc8
-rw-r--r--www/chromium/files/patch-ipc_ipc__channel.h4
-rw-r--r--www/chromium/files/patch-ipc_ipc__channel__common.cc4
-rw-r--r--www/chromium/files/patch-ipc_ipc__channel__mojo.cc4
-rw-r--r--www/chromium/files/patch-ipc_ipc__message__utils.cc4
-rw-r--r--www/chromium/files/patch-ipc_ipc__message__utils.h4
-rw-r--r--www/chromium/files/patch-media_BUILD.gn10
-rw-r--r--www/chromium/files/patch-media_audio_BUILD.gn13
-rw-r--r--www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc22
-rw-r--r--www/chromium/files/patch-media_audio_audio__features.cc11
-rw-r--r--www/chromium/files/patch-media_audio_audio__input__device.cc4
-rw-r--r--www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc4
-rw-r--r--www/chromium/files/patch-media_audio_pulse_pulse__util.cc14
-rw-r--r--www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc80
-rw-r--r--www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h4
-rw-r--r--www/chromium/files/patch-media_audio_sndio_sndio__input.cc7
-rw-r--r--www/chromium/files/patch-media_audio_sndio_sndio__output.cc4
-rw-r--r--www/chromium/files/patch-media_base_audio__latency.cc6
-rw-r--r--www/chromium/files/patch-media_base_libaom__thread__wrapper.cc24
-rw-r--r--www/chromium/files/patch-media_base_libvpx__thread__wrapper.cc25
-rw-r--r--www/chromium/files/patch-media_base_media__switches.cc127
-rw-r--r--www/chromium/files/patch-media_base_media__switches.h61
-rw-r--r--www/chromium/files/patch-media_base_scopedfd__helper.h11
-rw-r--r--www/chromium/files/patch-media_base_supported__types.cc11
-rw-r--r--www/chromium/files/patch-media_base_user__input__monitor__unittest.cc29
-rw-r--r--www/chromium/files/patch-media_base_vector__math.cc11
-rw-r--r--www/chromium/files/patch-media_base_video__frame.cc57
-rw-r--r--www/chromium/files/patch-media_base_video__frame.h40
-rw-r--r--www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc14
-rw-r--r--www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc8
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc4
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h4
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc136
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h44
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h6
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc45
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h11
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc80
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h11
-rw-r--r--www/chromium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc11
-rw-r--r--www/chromium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc20
-rw-r--r--www/chromium/files/patch-media_capture_video_video__capture__device__client.cc20
-rw-r--r--www/chromium/files/patch-media_cdm_cdm__paths__unittest.cc8
-rw-r--r--www/chromium/files/patch-media_cdm_library__cdm_cdm__paths.gni11
-rw-r--r--www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py66
-rw-r--r--www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py56
-rw-r--r--www/chromium/files/patch-media_gpu_buffer__validation.cc29
-rw-r--r--www/chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc13
-rw-r--r--www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc29
-rw-r--r--www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc11
-rw-r--r--www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc20
-rw-r--r--www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc31
-rw-r--r--www/chromium/files/patch-media_gpu_gpu__video__decode__accelerator__factory.cc20
-rw-r--r--www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc21
-rw-r--r--www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc38
-rw-r--r--www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h4
-rw-r--r--www/chromium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc26
-rw-r--r--www/chromium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h23
-rw-r--r--www/chromium/files/patch-media_gpu_test_raw__video.cc11
-rw-r--r--www/chromium/files/patch-media_gpu_test_video__frame__file__writer.cc11
-rw-r--r--www/chromium/files/patch-media_gpu_test_video__frame__helpers.cc11
-rw-r--r--www/chromium/files/patch-media_gpu_test_video__frame__validator.cc11
-rw-r--r--www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc6
-rw-r--r--www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc18
-rw-r--r--www/chromium/files/patch-media_media__options.gni30
-rw-r--r--www/chromium/files/patch-media_mojo_mojom_BUILD.gn11
-rw-r--r--www/chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc29
-rw-r--r--www/chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h11
-rw-r--r--www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc31
-rw-r--r--www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.h11
-rw-r--r--www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc38
-rw-r--r--www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc24
-rw-r--r--www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc21
-rw-r--r--www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc39
-rw-r--r--www/chromium/files/patch-media_webrtc_audio__processor.cc10
-rw-r--r--www/chromium/files/patch-media_webrtc_helpers.cc19
-rw-r--r--www/chromium/files/patch-media_webrtc_helpers__unittests.cc46
-rw-r--r--www/chromium/files/patch-media_webrtc_webrtc__features.cc20
-rw-r--r--www/chromium/files/patch-mojo_core_BUILD.gn18
-rw-r--r--www/chromium/files/patch-mojo_core_channel.cc8
-rw-r--r--www/chromium/files/patch-mojo_core_embedder_features.h10
-rw-r--r--www/chromium/files/patch-mojo_public_c_system_thunks.cc38
-rw-r--r--www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni12
-rw-r--r--www/chromium/files/patch-net_BUILD.gn54
-rw-r--r--www/chromium/files/patch-net_base_features.cc11
-rw-r--r--www/chromium/files/patch-net_base_network__change__notifier.cc16
-rw-r--r--www/chromium/files/patch-net_base_network__change__notifier__passive.cc11
-rw-r--r--www/chromium/files/patch-net_base_network__change__notifier__posix.cc11
-rw-r--r--www/chromium/files/patch-net_base_sockaddr__util__posix.cc4
-rw-r--r--www/chromium/files/patch-net_base_sockaddr__util__posix__unittest.cc4
-rw-r--r--www/chromium/files/patch-net_cert_cert__verifier.cc11
-rw-r--r--www/chromium/files/patch-net_cert_cert__verify__proc.cc11
-rw-r--r--www/chromium/files/patch-net_cert_cert__verify__proc.h11
-rw-r--r--www/chromium/files/patch-net_cert_cert__verify__proc__unittest.cc11
-rw-r--r--www/chromium/files/patch-net_cert_test__root__certs__unittest.cc11
-rw-r--r--www/chromium/files/patch-net_disk__cache_backend__experiment.h11
-rw-r--r--www/chromium/files/patch-net_disk__cache_blockfile_disk__format.h12
-rw-r--r--www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc6
-rw-r--r--www/chromium/files/patch-net_dns_BUILD.gn8
-rw-r--r--www/chromium/files/patch-net_dns_address__info.cc16
-rw-r--r--www/chromium/files/patch-net_dns_address__sorter__posix.cc12
-rw-r--r--www/chromium/files/patch-net_dns_dns__config__service__posix.cc6
-rw-r--r--www/chromium/files/patch-net_dns_dns__reloader.cc20
-rw-r--r--www/chromium/files/patch-net_dns_dns__reloader.h11
-rw-r--r--www/chromium/files/patch-net_dns_dns__util.cc8
-rw-r--r--www/chromium/files/patch-net_dns_host__resolver__manager.cc11
-rw-r--r--www/chromium/files/patch-net_dns_host__resolver__proc.cc17
-rw-r--r--www/chromium/files/patch-net_dns_public_BUILD.gn4
-rw-r--r--www/chromium/files/patch-net_dns_public_scoped__res__state.h4
-rw-r--r--www/chromium/files/patch-net_filter_zstd__source__stream.cc10
-rw-r--r--www/chromium/files/patch-net_http_http__auth__gssapi__posix.cc17
-rw-r--r--www/chromium/files/patch-net_http_http__auth__gssapi__posix.h4
-rw-r--r--www/chromium/files/patch-net_http_http__auth__handler__negotiate.cc11
-rw-r--r--www/chromium/files/patch-net_http_http__auth__preferences.cc11
-rw-r--r--www/chromium/files/patch-net_http_http__auth__preferences.h29
-rw-r--r--www/chromium/files/patch-net_http_http__network__session.cc6
-rw-r--r--www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc29
-rw-r--r--www/chromium/files/patch-net_proxy__resolution_proxy__config__service.cc35
-rw-r--r--www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc22
-rw-r--r--www/chromium/files/patch-net_quic_quic__network__transaction__unittest.cc28
-rw-r--r--www/chromium/files/patch-net_socket_socket__posix.cc11
-rw-r--r--www/chromium/files/patch-net_socket_socks5__client__socket.cc4
-rw-r--r--www/chromium/files/patch-net_socket_tcp__socket__posix.cc4
-rw-r--r--www/chromium/files/patch-net_socket_udp__socket__posix.cc20
-rw-r--r--www/chromium/files/patch-net_socket_udp__socket__unittest.cc28
-rw-r--r--www/chromium/files/patch-net_third__party_quiche_BUILD.gn4
-rw-r--r--www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__comparision__tool.cc29
-rw-r--r--www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc28
-rw-r--r--www/chromium/files/patch-net_tools_net__watcher_net__watcher.cc38
-rw-r--r--www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h14
-rw-r--r--www/chromium/files/patch-net_url__request_url__fetcher.cc11
-rw-r--r--www/chromium/files/patch-net_url__request_url__fetcher.h11
-rw-r--r--www/chromium/files/patch-net_url__request_url__request__context.cc14
-rw-r--r--www/chromium/files/patch-net_url__request_url__request__context.h14
-rw-r--r--www/chromium/files/patch-net_url__request_url__request__context__builder.cc6
-rw-r--r--www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc15
-rw-r--r--www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc8
-rw-r--r--www/chromium/files/patch-printing_backend_cups__ipp__helper.cc11
-rw-r--r--www/chromium/files/patch-printing_backend_print__backend__cups.cc29
-rw-r--r--www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc19
-rw-r--r--www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h4
-rw-r--r--www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc65
-rw-r--r--www/chromium/files/patch-printing_print__settings.cc24
-rw-r--r--www/chromium/files/patch-printing_print__settings.h25
-rw-r--r--www/chromium/files/patch-printing_print__settings__conversion.cc8
-rw-r--r--www/chromium/files/patch-printing_printing__context__linux.cc38
-rw-r--r--www/chromium/files/patch-printing_printing__features.cc26
-rw-r--r--www/chromium/files/patch-printing_printing__features.h11
-rw-r--r--www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc19
-rw-r--r--www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h6
-rw-r--r--www/chromium/files/patch-remoting_base_chromoting__event.cc10
-rw-r--r--www/chromium/files/patch-remoting_base_constants.h11
-rw-r--r--www/chromium/files/patch-remoting_client_display_sys__opengl.h11
-rw-r--r--www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc8
-rw-r--r--www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_base_switches.cc4
-rw-r--r--www/chromium/files/patch-remoting_host_base_switches.h6
-rw-r--r--www/chromium/files/patch-remoting_host_chromoting__host.cc16
-rw-r--r--www/chromium/files/patch-remoting_host_chromoting__host.h29
-rw-r--r--www/chromium/files/patch-remoting_host_chromoting__host__context.cc4
-rw-r--r--www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc13
-rw-r--r--www/chromium/files/patch-remoting_host_client__session.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_crash_crash__file__uploader.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_evaluate__capability.cc4
-rw-r--r--www/chromium/files/patch-remoting_host_heartbeat__sender.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_host__attributes.cc6
-rw-r--r--www/chromium/files/patch-remoting_host_host__details.cc28
-rw-r--r--www/chromium/files/patch-remoting_host_host__main.cc17
-rw-r--r--www/chromium/files/patch-remoting_host_ipc__constants.cc23
-rw-r--r--www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc36
-rw-r--r--www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc22
-rw-r--r--www/chromium/files/patch-remoting_host_mojo__caller__security__checker.cc29
-rw-r--r--www/chromium/files/patch-remoting_host_policy__watcher.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__main.cc20
-rw-r--r--www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc8
-rw-r--r--www/chromium/files/patch-remoting_host_remoting__me2me__host.cc97
-rw-r--r--www/chromium/files/patch-remoting_host_security__key_remote__security__key__main.cc20
-rw-r--r--www/chromium/files/patch-remoting_host_session__policies__from__dict.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc20
-rw-r--r--www/chromium/files/patch-remoting_host_setup_start__host__main.cc23
-rw-r--r--www/chromium/files/patch-remoting_host_webauthn_desktop__session__type__util.cc20
-rw-r--r--www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc14
-rw-r--r--www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc8
-rw-r--r--www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__main.cc20
-rw-r--r--www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc11
-rw-r--r--www/chromium/files/patch-remoting_resources_remoting__strings.grd20
-rw-r--r--www/chromium/files/patch-remoting_signaling_ftl__host__device__id__provider.cc11
-rw-r--r--www/chromium/files/patch-sandbox_BUILD.gn4
-rw-r--r--www/chromium/files/patch-sandbox_linux_BUILD.gn49
-rw-r--r--www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc10
-rw-r--r--www/chromium/files/patch-sandbox_linux_services_libc__interceptor.cc8
-rw-r--r--www/chromium/files/patch-sandbox_policy_BUILD.gn14
-rw-r--r--www/chromium/files/patch-sandbox_policy_features.cc18
-rw-r--r--www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc124
-rw-r--r--www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h8
-rw-r--r--www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom10
-rw-r--r--www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc223
-rw-r--r--www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h8
-rw-r--r--www/chromium/files/patch-sandbox_policy_sandbox.cc8
-rw-r--r--www/chromium/files/patch-sandbox_policy_sandbox.h12
-rw-r--r--www/chromium/files/patch-sandbox_policy_sandbox__type.cc192
-rw-r--r--www/chromium/files/patch-sandbox_policy_switches.cc13
-rw-r--r--www/chromium/files/patch-sandbox_policy_switches.h13
-rw-r--r--www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc14
-rw-r--r--www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h10
-rw-r--r--www/chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc28
-rw-r--r--www/chromium/files/patch-services_device_BUILD.gn11
-rw-r--r--www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc11
-rw-r--r--www/chromium/files/patch-services_device_geolocation_location__provider__manager.cc11
-rw-r--r--www/chromium/files/patch-services_device_hid_BUILD.gn8
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__fido.cc143
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__fido.h55
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc26
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service.cc14
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__fido.cc335
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__fido.h64
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc20
-rw-r--r--www/chromium/files/patch-services_device_public_cpp_device__features.cc11
-rw-r--r--www/chromium/files/patch-services_device_public_cpp_device__features.h11
-rw-r--r--www/chromium/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h11
-rw-r--r--www/chromium/files/patch-services_device_public_mojom_BUILD.gn11
-rw-r--r--www/chromium/files/patch-services_device_serial_BUILD.gn23
-rw-r--r--www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc6
-rw-r--r--www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc4
-rw-r--r--www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc15
-rw-r--r--www/chromium/files/patch-services_device_usb_BUILD.gn44
-rw-r--r--www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc38
-rw-r--r--www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.h38
-rw-r--r--www/chromium/files/patch-services_device_usb_usb__service.cc35
-rw-r--r--www/chromium/files/patch-services_device_usb_usb__service__fake.cc52
-rw-r--r--www/chromium/files/patch-services_device_usb_usb__service__fake.h51
-rw-r--r--www/chromium/files/patch-services_network_BUILD.gn6
-rw-r--r--www/chromium/files/patch-services_network_network__context.cc20
-rw-r--r--www/chromium/files/patch-services_network_network__context.h11
-rw-r--r--www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc45
-rw-r--r--www/chromium/files/patch-services_network_network__sandbox__hook__linux.h12
-rw-r--r--www/chromium/files/patch-services_network_network__service.cc35
-rw-r--r--www/chromium/files/patch-services_network_network__service.h29
-rw-r--r--www/chromium/files/patch-services_network_public_cpp_BUILD.gn11
-rw-r--r--www/chromium/files/patch-services_network_public_cpp_features.cc20
-rw-r--r--www/chromium/files/patch-services_network_public_mojom_BUILD.gn25
-rw-r--r--www/chromium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h11
-rw-r--r--www/chromium/files/patch-services_on__device__model_on__device__model__service.h22
-rw-r--r--www/chromium/files/patch-services_on__device__model_pre__sandbox__init.cc38
-rw-r--r--www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc22
-rw-r--r--www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn4
-rw-r--r--www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h14
-rw-r--r--www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc5
-rw-r--r--www/chromium/files/patch-services_screen__ai_public_cpp_utilities.cc29
-rw-r--r--www/chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc18
-rw-r--r--www/chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h16
-rw-r--r--www/chromium/files/patch-services_service__manager_BUILD.gn4
-rw-r--r--www/chromium/files/patch-services_tracing_public_cpp_perfetto_perfetto__config.cc11
-rw-r--r--www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc11
-rw-r--r--www/chromium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc13
-rw-r--r--www/chromium/files/patch-services_tracing_public_cpp_trace__startup.cc11
-rw-r--r--www/chromium/files/patch-services_video__capture_broadcasting__receiver.cc11
-rw-r--r--www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom4
-rw-r--r--www/chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc27
-rw-r--r--www/chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h16
-rw-r--r--www/chromium/files/patch-services_viz_public_mojom_BUILD.gn11
-rw-r--r--www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp13
-rw-r--r--www/chromium/files/patch-skia_ext_font__utils.cc20
-rw-r--r--www/chromium/files/patch-skia_ext_skcolorspace__trfn.cc11
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h18
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc46
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h14
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc11
-rw-r--r--www/chromium/files/patch-third__party_angle_BUILD.gn20
-rw-r--r--www/chromium/files/patch-third__party_angle_src_common_platform.h4
-rw-r--r--www/chromium/files/patch-third__party_angle_src_common_platform__helpers.h11
-rw-r--r--www/chromium/files/patch-third__party_angle_src_common_system__utils.cpp11
-rw-r--r--www/chromium/files/patch-third__party_angle_src_common_system__utils__linux.cpp37
-rw-r--r--www/chromium/files/patch-third__party_angle_src_common_system__utils__posix.cpp12
-rw-r--r--www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h4
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp35
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_formatutils.cpp11
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h11
-rw-r--r--www/chromium/files/patch-third__party_angle_util_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc8
-rw-r--r--www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h6
-rw-r--r--www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h6
-rw-r--r--www/chromium/files/patch-third__party_blink_public_platform_platform.h11
-rw-r--r--www/chromium/files/patch-third__party_blink_public_platform_web__vector.h11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py6
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc38
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc24
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc24
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc10
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc10
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_loader_mixed__content__checker.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc24
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h14
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc14
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc12
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc6
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc10
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc6
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc10
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc8
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc14
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h18
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc10
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc16
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc20
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc17
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc14
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_instrumentation_partition__alloc__memory__dump__provider.cc28
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc17
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json596
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc15
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc12
-rw-r--r--www/chromium/files/patch-third__party_boringssl_BUILD.generated.gni18
-rw-r--r--www/chromium/files/patch-third__party_boringssl_BUILD.gn11
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c60
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_rand_internal.h12
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_crypto_rand__extra_arc4random.c36
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_crypto_refcount__c11.c12
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_include_openssl_base.h14
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_include_openssl_thread.h10
-rw-r--r--www/chromium/files/patch-third__party_cpuinfo_cpuinfo.gni11
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni8
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h21
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc4
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc4
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc4
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc6
-rw-r--r--www/chromium/files/patch-third__party_crc32c_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h8
-rw-r--r--www/chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h4
-rw-r--r--www/chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp4
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h740
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h2066
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm723
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h740
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h2066
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm725
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h742
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config__components.h2086
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_configure13
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c10
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_libavutil_x86_x86inc.asm23
-rw-r--r--www/chromium/files/patch-third__party_fontconfig_include_config.h89
-rw-r--r--www/chromium/files/patch-third__party_fontconfig_include_meson-config.h44
-rw-r--r--www/chromium/files/patch-third__party_fontconfig_src_src_fccompat.c8
-rw-r--r--www/chromium/files/patch-third__party_ipcz_src_BUILD.gn11
-rw-r--r--www/chromium/files/patch-third__party_ipcz_src_reference__drivers_random.cc36
-rw-r--r--www/chromium/files/patch-third__party_ipcz_src_standalone_base_logging.cc4
-rw-r--r--www/chromium/files/patch-third__party_leveldatabase_env__chromium.cc4
-rw-r--r--www/chromium/files/patch-third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c49
-rw-r--r--www/chromium/files/patch-third__party_libc++_src_src_chrono.cpp11
-rw-r--r--www/chromium/files/patch-third__party_libc++_src_src_filesystem_filesystem__clock.cpp11
-rw-r--r--www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h21
-rw-r--r--www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h21
-rw-r--r--www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h24
-rw-r--r--www/chromium/files/patch-third__party_libsync_src_sync.c12
-rw-r--r--www/chromium/files/patch-third__party_libusb_BUILD.gn14
-rw-r--r--www/chromium/files/patch-third__party_libusb_src_libusb_os_threads__posix.c24
-rw-r--r--www/chromium/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c27
-rw-r--r--www/chromium/files/patch-third__party_libxml_linux_config.h12
-rw-r--r--www/chromium/files/patch-third__party_libxml_src_dict.c41
-rw-r--r--www/chromium/files/patch-third__party_lzma__sdk_C_CpuArch.c37
-rw-r--r--www/chromium/files/patch-third__party_maldoca_BUILD.gn13
-rw-r--r--www/chromium/files/patch-third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc32
-rw-r--r--www/chromium/files/patch-third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc29
-rw-r--r--www/chromium/files/patch-third__party_material__color__utilities_src_cpp_palettes_tones.cc11
-rw-r--r--www/chromium/files/patch-third__party_nasm_BUILD.gn6
-rw-r--r--www/chromium/files/patch-third__party_nasm_config_config-linux.h69
-rw-r--r--www/chromium/files/patch-third__party_node_check__version.py14
-rw-r--r--www/chromium/files/patch-third__party_node_node.gni11
-rw-r--r--www/chromium/files/patch-third__party_node_node.py6
-rw-r--r--www/chromium/files/patch-third__party_opus_BUILD.gn10
-rw-r--r--www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp4
-rw-r--r--www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp14
-rw-r--r--www/chromium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp8
-rw-r--r--www/chromium/files/patch-third__party_pdfium_pdfium.gni11
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h42
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h6
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h20
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h4
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h4
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h11
-rw-r--r--www/chromium/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto56
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_clock__snapshots.cc10
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_event__fd.cc14
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_periodic__task.cc18
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_string__utils.cc17
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_subprocess__posix.cc10
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc4
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc14
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_unix__socket.cc16
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_utils.cc47
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_trace__processor_importers_ftrace_v4l2__tracker.cc56
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc12
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc12
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_platform__posix.cc19
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_track.cc23
-rw-r--r--www/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h8
-rw-r--r--www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp45
-rw-r--r--www/chromium/files/patch-third__party_skia_src_ports_SkMemory__malloc.cpp20
-rw-r--r--www/chromium/files/patch-third__party_speech-dispatcher_libspeechd__version.h32
-rw-r--r--www/chromium/files/patch-third__party_speech-dispatcher_speechd__types.h142
-rw-r--r--www/chromium/files/patch-third__party_sqlite_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_sqlite_src_amalgamation__dev_sqlite3.c11
-rw-r--r--www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c15
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_System_Linux_MemFd.cpp37
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_System_SharedLibrary.hpp11
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_Vulkan_BUILD.gn13
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_WSI_BUILD.gn18
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp6
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp6
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp8
-rw-r--r--www/chromium/files/patch-third__party_test__fonts_fontconfig_BUILD.gn15
-rw-r--r--www/chromium/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc4
-rw-r--r--www/chromium/files/patch-third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc11
-rw-r--r--www/chromium/files/patch-third__party_tflite_features.gni16
-rw-r--r--www/chromium/files/patch-third__party_unrar_src_crypt.cpp6
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_BUILD.gn11
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_allocation.h11
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.c20
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.h16
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h36
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h11
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h12
-rw-r--r--www/chromium/files/patch-third__party_vulkan-loader_src_BUILD.gn11
-rw-r--r--www/chromium/files/patch-third__party_vulkan-loader_src_loader_vk__loader__platform.h19
-rw-r--r--www/chromium/files/patch-third__party_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h11
-rw-r--r--www/chromium/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h20
-rw-r--r--www/chromium/files/patch-third__party_wayland_BUILD.gn14
-rw-r--r--www/chromium/files/patch-third__party_wayland_features.gni17
-rw-r--r--www/chromium/files/patch-third__party_wayland_include_config.h29
-rw-r--r--www/chromium/files/patch-third__party_webrtc_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc12
-rw-r--r--www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc4
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_BUILD.gn11
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_byte__order.h4
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.cc10
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_net__helpers.cc10
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_network.cc6
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc65
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h16
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc25
-rw-r--r--www/chromium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_widevine_cdm_widevine.gni11
-rw-r--r--www/chromium/files/patch-third__party_zlib_BUILD.gn42
-rw-r--r--www/chromium/files/patch-third__party_zlib_cpu__features.c51
-rw-r--r--www/chromium/files/patch-tools_generate__shim__headers_generate__shim__headers.py21
-rw-r--r--www/chromium/files/patch-tools_generate__stubs_rules.gni4
-rw-r--r--www/chromium/files/patch-tools_gn_build_build__linux.ninja.template6
-rw-r--r--www/chromium/files/patch-tools_gn_build_gen.py10
-rw-r--r--www/chromium/files/patch-tools_gn_src_base_files_file__posix.cc4
-rw-r--r--www/chromium/files/patch-tools_grit_grit_node_base.py12
-rw-r--r--www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py8
-rw-r--r--www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py6
-rw-r--r--www/chromium/files/patch-tools_memory_partition__allocator_inspect__utils.h4
-rw-r--r--www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn8
-rw-r--r--www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py4
-rw-r--r--www/chromium/files/patch-ui_accessibility_accessibility__features.cc11
-rw-r--r--www/chromium/files/patch-ui_accessibility_accessibility__features.h11
-rw-r--r--www/chromium/files/patch-ui_accessibility_ax__node.cc20
-rw-r--r--www/chromium/files/patch-ui_accessibility_ax__node.h11
-rw-r--r--www/chromium/files/patch-ui_accessibility_ax__tree.cc38
-rw-r--r--www/chromium/files/patch-ui_accessibility_ax__tree.h29
-rw-r--r--www/chromium/files/patch-ui_aura_client_drag__drop__client.h11
-rw-r--r--www/chromium/files/patch-ui_aura_screen__ozone.cc12
-rw-r--r--www/chromium/files/patch-ui_aura_screen__ozone.h25
-rw-r--r--www/chromium/files/patch-ui_base_accelerators_accelerator.cc11
-rw-r--r--www/chromium/files/patch-ui_base_accelerators_command.cc11
-rw-r--r--www/chromium/files/patch-ui_base_accelerators_global__accelerator__listener_global__accelerator__listener__ozone.cc29
-rw-r--r--www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc11
-rw-r--r--www/chromium/files/patch-ui_base_clipboard_clipboard__constants.h23
-rw-r--r--www/chromium/files/patch-ui_base_clipboard_clipboard__non__backed.cc11
-rw-r--r--www/chromium/files/patch-ui_base_cursor_cursor__factory.cc8
-rw-r--r--www/chromium/files/patch-ui_base_cursor_cursor__factory.h4
-rw-r--r--www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc8
-rw-r--r--www/chromium/files/patch-ui_base_ime_dummy__text__input__client.cc4
-rw-r--r--www/chromium/files/patch-ui_base_ime_dummy__text__input__client.h4
-rw-r--r--www/chromium/files/patch-ui_base_ime_fake__text__input__client.cc6
-rw-r--r--www/chromium/files/patch-ui_base_ime_fake__text__input__client.h4
-rw-r--r--www/chromium/files/patch-ui_base_ime_init_input__method__initializer.cc53
-rw-r--r--www/chromium/files/patch-ui_base_ime_linux_linux__input__method__context__factory.cc20
-rw-r--r--www/chromium/files/patch-ui_base_ime_text__input__client.h4
-rw-r--r--www/chromium/files/patch-ui_base_resource_resource__bundle.cc6
-rw-r--r--www/chromium/files/patch-ui_base_test_skia__gold__pixel__diff.cc12
-rw-r--r--www/chromium/files/patch-ui_base_test_ui__controls.h11
-rw-r--r--www/chromium/files/patch-ui_base_ui__base__features.cc52
-rw-r--r--www/chromium/files/patch-ui_base_ui__base__features.h11
-rw-r--r--www/chromium/files/patch-ui_base_ui__base__switches.cc18
-rw-r--r--www/chromium/files/patch-ui_base_ui__base__switches.h16
-rw-r--r--www/chromium/files/patch-ui_base_webui_web__ui__util.cc21
-rw-r--r--www/chromium/files/patch-ui_base_x_x11__cursor__factory.cc20
-rw-r--r--www/chromium/files/patch-ui_base_x_x11__cursor__factory.h20
-rw-r--r--www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc33
-rw-r--r--www/chromium/files/patch-ui_base_x_x11__display__manager.cc20
-rw-r--r--www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc36
-rw-r--r--www/chromium/files/patch-ui_color_color__id.h12
-rw-r--r--www/chromium/files/patch-ui_color_color__provider__utils.cc11
-rw-r--r--www/chromium/files/patch-ui_color_system__theme.h11
-rw-r--r--www/chromium/files/patch-ui_compositor_compositor.cc16
-rw-r--r--www/chromium/files/patch-ui_compositor_compositor.h14
-rw-r--r--www/chromium/files/patch-ui_compositor_compositor__observer.h12
-rw-r--r--www/chromium/files/patch-ui_display_screen.cc12
-rw-r--r--www/chromium/files/patch-ui_display_screen.h25
-rw-r--r--www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc6
-rw-r--r--www/chromium/files/patch-ui_events_event.cc19
-rw-r--r--www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.cc12
-rw-r--r--www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h2
-rw-r--r--www/chromium/files/patch-ui_gfx_BUILD.gn4
-rw-r--r--www/chromium/files/patch-ui_gfx_canvas__skia.cc4
-rw-r--r--www/chromium/files/patch-ui_gfx_codec_png__codec.cc11
-rw-r--r--www/chromium/files/patch-ui_gfx_font__fallback__linux.cc4
-rw-r--r--www/chromium/files/patch-ui_gfx_font__list.cc11
-rw-r--r--www/chromium/files/patch-ui_gfx_font__render__params.h20
-rw-r--r--www/chromium/files/patch-ui_gfx_font__render__params__linux.cc20
-rw-r--r--www/chromium/files/patch-ui_gfx_font__util.cc8
-rw-r--r--www/chromium/files/patch-ui_gfx_gpu__extra__info.h11
-rw-r--r--www/chromium/files/patch-ui_gfx_gpu__memory__buffer.cc19
-rw-r--r--www/chromium/files/patch-ui_gfx_gpu__memory__buffer.h55
-rw-r--r--www/chromium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h44
-rw-r--r--www/chromium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc25
-rw-r--r--www/chromium/files/patch-ui_gfx_linux_dmabuf__uapi.h36
-rw-r--r--www/chromium/files/patch-ui_gfx_linux_gbm__wrapper.cc11
-rw-r--r--www/chromium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc20
-rw-r--r--www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc45
-rw-r--r--www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h40
-rw-r--r--www/chromium/files/patch-ui_gfx_native__pixmap__handle.cc18
-rw-r--r--www/chromium/files/patch-ui_gfx_native__pixmap__handle.h14
-rw-r--r--www/chromium/files/patch-ui_gfx_native__widget__types.h30
-rw-r--r--www/chromium/files/patch-ui_gfx_platform__font__skia.cc20
-rw-r--r--www/chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc41
-rw-r--r--www/chromium/files/patch-ui_gfx_render__text__fuzzer.cc20
-rw-r--r--www/chromium/files/patch-ui_gfx_switches.cc8
-rw-r--r--www/chromium/files/patch-ui_gfx_switches.h6
-rw-r--r--www/chromium/files/patch-ui_gfx_x_atom__cache.cc10
-rw-r--r--www/chromium/files/patch-ui_gfx_x_generated__protos_dri3.cc6
-rw-r--r--www/chromium/files/patch-ui_gfx_x_generated__protos_shm.cc6
-rw-r--r--www/chromium/files/patch-ui_gfx_x_xlib__support.cc10
-rw-r--r--www/chromium/files/patch-ui_gl_BUILD.gn31
-rw-r--r--www/chromium/files/patch-ui_gl_generate__bindings.py12
-rw-r--r--www/chromium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h10
-rw-r--r--www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.cc61
-rw-r--r--www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.h43
-rw-r--r--www/chromium/files/patch-ui_gl_gl__context.cc4
-rw-r--r--www/chromium/files/patch-ui_gl_gl__features.cc11
-rw-r--r--www/chromium/files/patch-ui_gl_gl__fence.cc11
-rw-r--r--www/chromium/files/patch-ui_gl_gl__image__glx__native__pixmap.cc11
-rw-r--r--www/chromium/files/patch-ui_gl_gl__implementation.cc11
-rw-r--r--www/chromium/files/patch-ui_gl_gl__switches.cc29
-rw-r--r--www/chromium/files/patch-ui_gl_sync__control__vsync__provider.cc10
-rw-r--r--www/chromium/files/patch-ui_gtk_gtk__compat.cc14
-rw-r--r--www/chromium/files/patch-ui_gtk_ime__compat__check.cc21
-rw-r--r--www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc10
-rw-r--r--www/chromium/files/patch-ui_message__center_views_message__popup__view.cc12
-rw-r--r--www/chromium/files/patch-ui_native__theme_features_native__theme__features.cc20
-rw-r--r--www/chromium/files/patch-ui_native__theme_native__theme.h12
-rw-r--r--www/chromium/files/patch-ui_native__theme_native__theme__base.cc16
-rw-r--r--www/chromium/files/patch-ui_ozone_common_egl__util.cc6
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc20
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.h11
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_headless_ozone__platform__headless.cc4
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_headless_vulkan__implementation__headless.cc29
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_wayland_common_wayland__util.cc18
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc13
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc11
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_x11_vulkan__implementation__x11.cc4
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_x11_x11__screen__ozone.cc29
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_x11_x11__screen__ozone.h38
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_x11_x11__window.cc11
-rw-r--r--www/chromium/files/patch-ui_ozone_public_ozone__platform.h11
-rw-r--r--www/chromium/files/patch-ui_ozone_public_ozone__ui__controls__test__helper.h11
-rw-r--r--www/chromium/files/patch-ui_ozone_test_mock__platform__window__delegate.h11
-rw-r--r--www/chromium/files/patch-ui_platform__window_platform__window__delegate.cc11
-rw-r--r--www/chromium/files/patch-ui_platform__window_platform__window__delegate.h11
-rw-r--r--www/chromium/files/patch-ui_platform__window_platform__window__init__properties.h10
-rw-r--r--www/chromium/files/patch-ui_qt_BUILD.gn11
-rw-r--r--www/chromium/files/patch-ui_qt_moc__wrapper.py8
-rw-r--r--www/chromium/files/patch-ui_strings_app__locale__settings.grd11
-rw-r--r--www/chromium/files/patch-ui_strings_translations_app__locale__settings__bn.xtb4
-rw-r--r--www/chromium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb4
-rw-r--r--www/chromium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb4
-rw-r--r--www/chromium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb4
-rw-r--r--www/chromium/files/patch-ui_strings_translations_app__locale__settings__th.xtb4
-rw-r--r--www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb4
-rw-r--r--www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb6
-rw-r--r--www/chromium/files/patch-ui_views_BUILD.gn10
-rw-r--r--www/chromium/files/patch-ui_views_accessibility_view__accessibility.cc20
-rw-r--r--www/chromium/files/patch-ui_views_controls_prefix__selector.cc4
-rw-r--r--www/chromium/files/patch-ui_views_controls_prefix__selector.h4
-rw-r--r--www/chromium/files/patch-ui_views_controls_textfield_textfield.cc59
-rw-r--r--www/chromium/files/patch-ui_views_controls_textfield_textfield.h13
-rw-r--r--www/chromium/files/patch-ui_views_corewm_tooltip__aura.cc12
-rw-r--r--www/chromium/files/patch-ui_views_examples_widget__example.cc4
-rw-r--r--www/chromium/files/patch-ui_views_focus_focus__manager.cc22
-rw-r--r--www/chromium/files/patch-ui_views_linux__ui_linux__ui.cc11
-rw-r--r--www/chromium/files/patch-ui_views_linux__ui_linux__ui.h20
-rw-r--r--www/chromium/files/patch-ui_views_style_platform__style.cc27
-rw-r--r--www/chromium/files/patch-ui_views_style_platform__style.h11
-rw-r--r--www/chromium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc11
-rw-r--r--www/chromium/files/patch-ui_views_views__delegate.cc4
-rw-r--r--www/chromium/files/patch-ui_views_views__delegate.h4
-rw-r--r--www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc11
-rw-r--r--www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h11
-rw-r--r--www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc11
-rw-r--r--www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc8
-rw-r--r--www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc11
-rw-r--r--www/chromium/files/patch-ui_views_widget_root__view.cc11
-rw-r--r--www/chromium/files/patch-ui_views_widget_widget.cc16
-rw-r--r--www/chromium/files/patch-ui_views_widget_widget.h11
-rw-r--r--www/chromium/files/patch-ui_views_window_custom__frame__view.cc12
-rw-r--r--www/chromium/files/patch-ui_views_window_dialog__delegate.cc10
-rw-r--r--www/chromium/files/patch-ui_views_window_frame__background.cc6
-rw-r--r--www/chromium/files/patch-ui_webui_resources_js_cr.js14
-rw-r--r--www/chromium/files/patch-v8_BUILD.gn54
-rw-r--r--www/chromium/files/patch-v8_include_v8-internal.h11
-rw-r--r--www/chromium/files/patch-v8_include_v8config.h36
-rw-r--r--www/chromium/files/patch-v8_src_api_api.cc12
-rw-r--r--www/chromium/files/patch-v8_src_base_atomicops.h4
-rw-r--r--www/chromium/files/patch-v8_src_base_platform_memory.h18
-rw-r--r--www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc6
-rw-r--r--www/chromium/files/patch-v8_src_base_platform_platform-posix.cc18
-rw-r--r--www/chromium/files/patch-v8_src_base_sys-info.cc4
-rw-r--r--www/chromium/files/patch-v8_src_compiler_backend_ia32_instruction-selector-ia32.cc20
-rw-r--r--www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc12
-rw-r--r--www/chromium/files/patch-v8_src_diagnostics_perf-jit.h8
-rw-r--r--www/chromium/files/patch-v8_src_execution_isolate.cc27
-rw-r--r--www/chromium/files/patch-v8_src_flags_flags.cc24
-rw-r--r--www/chromium/files/patch-v8_src_libsampler_sampler.cc19
-rw-r--r--www/chromium/files/patch-v8_src_sandbox_sandbox.cc11
-rw-r--r--www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc11
-rw-r--r--www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h10
-rw-r--r--www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc42
-rw-r--r--www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc6
-rw-r--r--www/chromium/files/patch-v8_src_trap-handler_trap-handler.h8
-rw-r--r--www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h128
-rw-r--r--www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h101
-rw-r--r--www/chromium/files/patch-v8_tools_run.py18
-rw-r--r--www/chromium/files/patch-weblayer_browser_browser__main__parts__impl.cc20
-rw-r--r--www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc20
-rw-r--r--www/chromium/files/patch-weblayer_browser_content__browser__client__impl.h11
-rw-r--r--www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc11
-rw-r--r--www/chromium/files/patch-weblayer_common_weblayer__paths.cc20
1636 files changed, 21956 insertions, 22032 deletions
diff --git a/www/chromium/files/chrome.in b/www/chromium/files/chrome.in
index 51ebe9d24bf2..09cf25a8c171 100644
--- a/www/chromium/files/chrome.in
+++ b/www/chromium/files/chrome.in
@@ -16,4 +16,10 @@ EOMSG
exit 1
fi
ulimit -c 0
+
+# source foreign-cdm environment
+if [ -r %%PREFIX%%/share/foreign-cdm/fcdm-setup-env ] ; then
+ . %%PREFIX%%/share/foreign-cdm/fcdm-setup-env
+fi
+
exec %%PREFIX%%/share/chromium/chrome ${1+"$@"}
diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn
index c6627a923546..54c68fcb2332 100644
--- a/www/chromium/files/patch-BUILD.gn
+++ b/www/chromium/files/patch-BUILD.gn
@@ -1,6 +1,6 @@
---- BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ BUILD.gn
-@@ -54,7 +54,7 @@ declare_args() {
+@@ -71,7 +71,7 @@ declare_args() {
root_extra_deps = []
}
@@ -9,72 +9,90 @@
# An official (maximally optimized!) component (optimized for build times)
# build doesn't make sense and usually doesn't work.
assert(!is_component_build)
-@@ -86,7 +86,6 @@ group("gn_all") {
- "//codelabs",
- "//components:components_unittests",
- "//components/gwp_asan:gwp_asan_unittests",
-- "//infra/orchestrator:orchestrator_all",
- "//net:net_unittests",
- "//services:services_unittests",
- "//services/service_manager/public/cpp",
-@@ -446,7 +445,7 @@ group("gn_all") {
- ]
- }
+@@ -103,7 +103,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",
+@@ -448,7 +447,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",
+- 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",
@@ -635,6 +634,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_bsd) {
++ deps -= [
++ "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)",
++ "//third_party/breakpad:microdump_stackwalk($host_system_allocator_toolchain)",
++ "//third_party/breakpad:minidump_dump($host_system_allocator_toolchain)",
++ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)",
++ ]
++ }
+
- if (is_mac) {
- deps += [
- "//third_party/breakpad:crash_inspector",
+ if (is_mac) {
+ deps += [
+ "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)",
@@ -683,7 +691,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)" ]
- }
-@@ -1184,7 +1192,7 @@ if (!is_ios) {
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ # The official builders use this binary from the default toolchain's
+ # output directory after building in order to upload the symbols of that
+ # binary. They build the binary like `ninja symupload` which requires the
+@@ -718,7 +726,7 @@ group("gn_all") {
+ ]
+ }
+
+- if (is_mac || is_win || is_android || is_linux || is_chromeos) {
++ if (!is_bsd && (is_mac || is_win || is_android || is_linux || is_chromeos)) {
+ deps += [
+ "//third_party/crashpad/crashpad:crashpad_tests",
+ "//third_party/crashpad/crashpad/handler:crashpad_handler",
+@@ -1127,7 +1135,7 @@ if (use_blink && !is_cronet_build) {
+ "//third_party/blink/public:all_blink",
+ ]
+
+- if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos) {
++ if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) {
+ deps += [
+ ":chrome_wpt_tests",
+ ":headless_shell_wpt",
+@@ -1274,7 +1282,7 @@ if (use_blink && !is_cronet_build) {
data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ]
}
- if (!is_win && !is_android) {
+ if (!is_win && !is_android && !is_bsd) {
- data_deps +=
- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
- }
-@@ -1193,7 +1201,7 @@ if (!is_ios) {
- data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
+ # Using the default toolchain for this tool, as it's run during tests not
+ # during the build. This places a symlink in the root_build_dir for scrips
+ # to use.
+@@ -1288,7 +1296,7 @@ if (use_blink && !is_cronet_build) {
+ data_deps += [ "//third_party/breakpad:dump_syms" ]
}
- if (is_linux || is_chromeos) {
+ if ((is_linux && !is_bsd) || is_chromeos) {
- data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
+ # Using the default toolchain for this tool, as it's run during tests not
+ # during the build. This places a symlink in the root_build_dir for scrips
+ # to use.
+@@ -1742,7 +1750,7 @@ group("chromium_builder_perf") {
+ data_deps += [ "//chrome/test:performance_browser_tests" ]
}
-@@ -1592,7 +1600,7 @@ group("chromium_builder_perf") {
-
- if (is_win) {
- data_deps += [ "//chrome/installer/mini_installer:mini_installer" ]
-- } else {
-+ } else if (!is_bsd) {
- data_deps +=
- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
+- if (!is_win) {
++ if (!is_win && !is_bsd) {
+ data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)" ]
}
+ }
diff --git a/www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc b/www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc
index 2ac2dff2a8b1..b79b6d026cd5 100644
--- a/www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc
+++ b/www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc
@@ -1,11 +1,11 @@
---- apps/ui/views/app_window_frame_view.cc.orig 2022-07-22 17:30:31 UTC
+--- apps/ui/views/app_window_frame_view.cc.orig 2025-04-04 08:52:13 UTC
+++ apps/ui/views/app_window_frame_view.cc
-@@ -137,7 +137,7 @@ gfx::Rect AppWindowFrameView::GetWindowBoundsForClient
+@@ -146,7 +146,7 @@ gfx::Rect AppWindowFrameView::GetBoundsForClientView()
+ gfx::Rect AppWindowFrameView::GetWindowBoundsForClientBounds(
+ const gfx::Rect& client_bounds) const {
gfx::Rect window_bounds = client_bounds;
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Get the difference between the widget's client area bounds and window
// bounds, and grow |window_bounds| by that amount.
gfx::Insets native_frame_insets =
diff --git a/www/chromium/files/patch-ash_display_mirror__window__controller.cc b/www/chromium/files/patch-ash_display_mirror__window__controller.cc
index b3983d74627a..c5461906602e 100644
--- a/www/chromium/files/patch-ash_display_mirror__window__controller.cc
+++ b/www/chromium/files/patch-ash_display_mirror__window__controller.cc
@@ -1,8 +1,8 @@
---- ash/display/mirror_window_controller.cc.orig 2022-03-25 21:59:56 UTC
+--- ash/display/mirror_window_controller.cc.orig 2024-11-14 07:57:23 UTC
+++ ash/display/mirror_window_controller.cc
-@@ -296,7 +296,11 @@ void MirrorWindowController::UpdateWindow(
- return info.id() == iter->first;
- }) == display_info_list.end()) {
+@@ -295,7 +295,11 @@ void MirrorWindowController::UpdateWindow(
+ if (!base::Contains(display_info_list, iter->first,
+ &display::ManagedDisplayInfo::id)) {
CloseAndDeleteHost(iter->second, true);
+#if defined(__llvm__)
+ mirroring_host_info_map_.erase(iter++);
diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn
index e5a50d632c33..8b460ebbffe1 100644
--- a/www/chromium/files/patch-base_BUILD.gn
+++ b/www/chromium/files/patch-base_BUILD.gn
@@ -1,28 +1,6 @@
---- base/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- base/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ base/BUILD.gn
-@@ -1001,7 +1001,7 @@ mixed_component("base") {
- "timer/hi_res_timer_manager_posix.cc",
- ]
-
-- if (!is_nacl && !is_apple) {
-+ if (!is_nacl && !is_apple && !is_bsd) {
- sources += [
- "profiler/stack_copier_signal.cc",
- "profiler/stack_copier_signal.h",
-@@ -1010,6 +1010,12 @@ mixed_component("base") {
- "profiler/thread_delegate_posix.h",
- ]
- }
-+
-+ if (is_bsd) {
-+ sources += [
-+ "profiler/stack_sampler_posix.cc",
-+ ]
-+ }
- }
-
- if (is_win) {
-@@ -1496,11 +1502,23 @@ mixed_component("base") {
+@@ -1107,11 +1107,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.
@@ -34,7 +12,10 @@
+ # *BSD needs libkvm
+ if (is_bsd) {
-+ libs += [ "kvm" ]
++ libs += [
++ "kvm",
++ "epoll-shim",
++ ]
+ }
+
+ if (is_freebsd) {
@@ -45,18 +26,9 @@
+ }
+
if (use_allocator_shim) {
- sources += [
- "allocator/allocator_shim.cc",
-@@ -1528,7 +1546,7 @@ mixed_component("base") {
- ]
- configs += [ "//base/allocator:mac_no_default_new_delete_symbols" ]
- }
-- if (is_chromeos || is_linux) {
-+ if (is_chromeos || (is_linux && !is_bsd)) {
- sources += [
- "allocator/allocator_shim_override_cpp_symbols.h",
- "allocator/allocator_shim_override_glibc_weak_symbols.h",
-@@ -1584,7 +1602,7 @@ mixed_component("base") {
+ if (is_apple) {
+ sources += [ "allocator/early_zone_registration_apple.h" ]
+@@ -1131,7 +1146,7 @@ component("base") {
# Allow more direct string conversions on platforms with native utf8
# strings
@@ -65,30 +37,10 @@
defines += [ "SYSTEM_NATIVE_UTF8" ]
}
-@@ -2165,6 +2183,42 @@ mixed_component("base") {
- }
+@@ -2172,6 +2187,22 @@ component("base") {
+ ]
}
-+ if (is_bsd) {
-+ sources -= [
-+ "files/file_path_watcher_inotify.cc",
-+ "files/file_util_linux.cc",
-+ "files/scoped_file_linux.cc",
-+ "process/memory_linux.cc",
-+ "process/process_linux.cc",
-+ "system/sys_info_linux.cc",
-+ "process/process_iterator_linux.cc",
-+ "process/process_metrics_linux.cc",
-+ "process/process_handle_linux.cc"
-+ ]
-+ sources += [
-+ "process/memory_stubs.cc",
-+ "files/file_path_watcher_kqueue.cc",
-+ "files/file_path_watcher_kqueue.h",
-+ "files/file_path_watcher_bsd.cc",
-+ ]
-+ }
-+
+ if (is_openbsd) {
+ sources += [
+ "process/process_handle_openbsd.cc",
@@ -107,26 +59,78 @@
+
# iOS
if (is_ios) {
- sources -= [
-@@ -3467,7 +3521,7 @@ test("base_unittests") {
+ sources += [
+@@ -2340,6 +2371,33 @@ component("base") {
}
}
++ if (is_bsd) {
++ sources -= [
++ "files/file_path_watcher_inotify.cc",
++ "files/scoped_file_linux.cc",
++ "process/set_process_title_linux.cc",
++ "process/set_process_title_linux.h",
++ "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",
++ "stack_canary_linux.cc",
++ "stack_canary_linux.h",
++ ]
++ 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 (use_blink) {
+ sources += [
+ "files/file_path_watcher.cc",
+@@ -2735,7 +2793,7 @@ buildflag_header("protected_memory_buildflags") {
+ header = "protected_memory_buildflags.h"
+ header_dir = "base/memory"
+
+- protected_memory_enabled = !is_component_build && is_clang &&
++ protected_memory_enabled = !is_openbsd && !is_component_build && is_clang &&
+ (is_win || is_linux || is_android || is_mac)
+
+ flags = [ "PROTECTED_MEMORY_ENABLED=$protected_memory_enabled" ]
+@@ -3242,7 +3300,7 @@ if (is_apple) {
+ }
+ }
+
+-if (!is_nacl && (is_linux || is_chromeos)) {
++if (!is_nacl && !is_bsd && (is_linux || is_chromeos)) {
+ # This test must compile with -fstack-protector-all
+ source_set("stack_canary_linux_unittests") {
+ testonly = true
+@@ -3931,7 +3989,7 @@ test("base_unittests") {
+ ]
+ }
+
- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
++ if (!is_bsd && (is_linux || is_chromeos)) {
sources += [
"debug/proc_maps_linux_unittest.cc",
"files/scoped_file_linux_unittest.cc",
-@@ -3514,7 +3568,7 @@ test("base_unittests") {
+@@ -3959,7 +4017,7 @@ test("base_unittests") {
"posix/file_descriptor_shuffle_unittest.cc",
"posix/unix_domain_socket_unittest.cc",
]
- if (!is_nacl && !is_apple) {
+ if (!is_nacl && !is_apple && !is_bsd) {
sources += [
+ "profiler/stack_base_address_posix_unittest.cc",
"profiler/stack_copier_signal_unittest.cc",
- "profiler/thread_delegate_posix_unittest.cc",
-@@ -3524,7 +3578,7 @@ test("base_unittests") {
+@@ -3970,7 +4028,7 @@ test("base_unittests") {
# Allow more direct string conversions on platforms with native utf8
# strings
@@ -135,8 +139,8 @@
defines += [ "SYSTEM_NATIVE_UTF8" ]
}
-@@ -3712,7 +3766,7 @@ test("base_unittests") {
- }
+@@ -4158,7 +4216,7 @@ test("base_unittests") {
+ deps += [ ":base_profiler_test_support_library" ]
}
- if (is_fuchsia || is_linux || is_chromeos) {
diff --git a/www/chromium/files/patch-base_allocator_dispatcher_tls.h b/www/chromium/files/patch-base_allocator_dispatcher_tls.h
new file mode 100644
index 000000000000..e9673222f13b
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_dispatcher_tls.h
@@ -0,0 +1,11 @@
+--- base/allocator/dispatcher/tls.h.orig 2025-02-19 07:43:18 UTC
++++ base/allocator/dispatcher/tls.h
+@@ -81,7 +81,7 @@ struct BASE_EXPORT MMapAllocator {
+ constexpr static size_t AllocationChunkSize = 16384;
+ #elif BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)
+ constexpr static size_t AllocationChunkSize = 16384;
+-#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
+ constexpr static size_t AllocationChunkSize = 16384;
+ #else
+ constexpr static size_t AllocationChunkSize = 4096;
diff --git a/www/chromium/files/patch-base_allocator_partition__alloc__features.cc b/www/chromium/files/patch-base_allocator_partition__alloc__features.cc
new file mode 100644
index 000000000000..57c523f43129
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__alloc__features.cc
@@ -0,0 +1,11 @@
+--- base/allocator/partition_alloc_features.cc.orig 2025-05-28 14:55:43 UTC
++++ base/allocator/partition_alloc_features.cc
+@@ -164,7 +164,7 @@ BASE_FEATURE(kPartitionAllocEventuallyZeroFreedMemory,
+ // disabled elsewhere (for now). Does not apply to Windows.
+ BASE_FEATURE(kPartitionAllocFewerMemoryRegions,
+ "PartitionAllocFewerMemoryRegions",
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ FEATURE_ENABLED_BY_DEFAULT);
+ #else
+ FEATURE_DISABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h b/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h
deleted file mode 100644
index f16c9802cfb4..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/allocator/partition_allocator/address_space_randomization.h.orig 2022-06-17 14:20:10 UTC
-+++ base/allocator/partition_allocator/address_space_randomization.h
-@@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) {
-
- #if defined(ARCH_CPU_64_BITS)
-
-- #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
-+ #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !defined(OS_BSD)
-
- // We shouldn't allocate system pages at all for sanitizer builds. However,
- // we do, and if random hint addresses interfere with address ranges
-@@ -128,7 +128,7 @@ AslrMask(uintptr_t bits) {
- return AslrAddress(0x20000000ULL);
- }
-
-- #elif BUILDFLAG(IS_LINUX)
-+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
-
- // Linux on arm64 can use 39, 42, 48, or 52-bit user space, depending on
- // page size and number of levels of translation pages used. We use
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h
deleted file mode 100644
index 160b0b69d02e..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/allocator/partition_allocator/page_allocator.h.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/page_allocator.h
-@@ -206,7 +206,7 @@ void DecommitAndZeroSystemPages(void* address, size_t
- // recommitted. Do not assume that this will not change over time.
- constexpr PA_COMPONENT_EXPORT(
- PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() {
--#if BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
- return false;
- #else
- return true;
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__constants.h
deleted file mode 100644
index bd41b2b9b998..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__constants.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- base/allocator/partition_allocator/page_allocator_constants.h.orig 2022-05-19 14:06:27 UTC
-+++ base/allocator/partition_allocator/page_allocator_constants.h
-@@ -24,7 +24,7 @@
- // elimination.
- #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const))
-
--#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
-+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
- // This should work for all POSIX (if needed), but currently all other
- // supported OS/architecture combinations use either hard-coded values
- // (such as x86) or have means to determine these values without needing
-@@ -79,7 +79,7 @@ PageAllocationGranularityShift() {
- return 14; // 16kB
- #elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)
- return vm_page_shift;
--#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
-+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
- // arm64 supports 4kb (shift = 12), 16kb (shift = 14), and 64kb (shift = 16)
- // page sizes. Retrieve from or initialize cache.
- int shift = page_characteristics.shift.load(std::memory_order_relaxed);
-@@ -99,7 +99,7 @@ PageAllocationGranularity() {
- // This is literally equivalent to |1 << PageAllocationGranularityShift()|
- // below, but was separated out for IS_APPLE to avoid << on a non-constexpr.
- return vm_page_size;
--#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
-+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
- // arm64 supports 4kb, 16kb, and 64kb page sizes. Retrieve from or
- // initialize cache.
- int size = page_characteristics.size.load(std::memory_order_relaxed);
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
deleted file mode 100644
index d728f1cc8f28..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/page_allocator_internals_posix.h
-@@ -347,8 +347,12 @@ bool TryRecommitSystemPagesInternal(
-
- void DiscardSystemPagesInternal(uintptr_t address, size_t length) {
- void* ptr = reinterpret_cast<void*>(address);
--#if BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
-+#if BUILDFLAG(IS_BSD)
-+ int ret = madvise(ptr, length, MADV_FREE);
-+#else
- int ret = madvise(ptr, length, MADV_FREE_REUSABLE);
-+#endif
- if (ret) {
- // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED.
- ret = madvise(ptr, length, MADV_DONTNEED);
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc
deleted file mode 100644
index ba8125fd0062..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/allocator/partition_allocator/partition_address_space.cc.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/partition_address_space.cc
-@@ -234,7 +234,7 @@ void PartitionAddressSpace::UninitConfigurablePoolForT
- setup_.configurable_pool_ = 0;
- }
-
--#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
-
- PageCharacteristics page_characteristics;
-
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc
deleted file mode 100644
index 6da50c163beb..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc.cc.orig 2022-05-19 14:06:27 UTC
-+++ base/allocator/partition_allocator/partition_alloc.cc
-@@ -63,8 +63,14 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_me
- "maximum direct mapped allocation");
-
- // Check that some of our zanier calculations worked out as expected.
-+#if defined(__i386__) && defined(OS_FREEBSD)
-+ // alignof(std::max_align_t) is only 4 on FreeBSD/i386
-+ static_assert(internal::kSmallestBucket >= internal::kAlignment,
-+ "generic smallest bucket");
-+#else
- static_assert(internal::kSmallestBucket == internal::kAlignment,
- "generic smallest bucket");
-+#endif
- static_assert(internal::kMaxBucketed == 917504, "generic max bucketed");
- STATIC_ASSERT_OR_PA_CHECK(
- internal::MaxSystemPagesPerRegularSlotSpan() <= 16,
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
new file mode 100644
index 000000000000..f279b52b32c6
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
@@ -0,0 +1,29 @@
+--- base/allocator/partition_allocator/partition_alloc.gni.orig 2025-07-02 06:08:04 UTC
++++ base/allocator/partition_allocator/partition_alloc.gni
+@@ -91,7 +91,7 @@ if (is_nacl) {
+ # TODO(crbug.com/329199197): Clean this up when experiments are complete.
+ use_large_empty_slot_span_ring = true
+
+-has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan &&
++has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan && !is_bsd &&
+ !is_hwasan && (is_linux || is_android)
+
+ declare_args() {
+@@ -351,7 +351,7 @@ declare_args() {
+ declare_args() {
+ # Shadow metadata is still under development and only supports Linux
+ # for now.
+- enable_shadow_metadata = is_linux && has_64_bit_pointers
++ enable_shadow_metadata = !is_bsd && is_linux && has_64_bit_pointers
+ }
+
+ declare_args() {
+@@ -494,7 +494,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 =
+- (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build
++ !is_bsd && (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build
+ declare_args() {
+ enable_pkeys = is_pkeys_available
+ }
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc
deleted file mode 100644
index 5b35ab100616..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc
-@@ -86,6 +86,10 @@ void RandBytes(void* output, size_t output_length) {
- if (getentropy(output, output_length) == 0) {
- return;
- }
-+#elif BUILDFLAG(IS_BSD)
-+ if (getentropy(output, output_length) == 0) {
-+ return;
-+ }
- #endif
-
- // If the OS-specific mechanisms didn't work, fall through to reading from
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h
deleted file mode 100644
index dfe57178caab..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h
-@@ -10,7 +10,7 @@
-
- namespace partition_alloc::internal::base::internal {
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Current thread id is cached in thread local storage for performance reasons.
- // In some rare cases it's important to invalidate that cache explicitly (e.g.
- // after going through clone() syscall which does not call pthread_atfork()
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc
deleted file mode 100644
index 16c4bd4b3273..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_posix.cc.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_posix.cc
-@@ -17,7 +17,7 @@
- #include "base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h"
- #include "build/build_config.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include <sys/syscall.h>
- #include <atomic>
- #endif
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_time_time.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_time_time.cc
deleted file mode 100644
index aa3133e6ce8d..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_time_time.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_base/time/time.cc.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/partition_alloc_base/time/time.cc
-@@ -6,7 +6,7 @@
-
- #include "build/build_config.h"
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // time.h is a widely included header and its size impacts build time.
- // Try not to raise this limit unless necessary. See
- // https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h
deleted file mode 100644
index d6413d76da7e..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_config.h.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/partition_alloc_config.h
-@@ -68,7 +68,7 @@ static_assert(sizeof(void*) != 8, "");
-
- // POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific
- // features such as futex(2).
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- #define PA_HAS_LINUX_KERNEL
- #endif
-
-@@ -187,7 +187,7 @@ constexpr bool kUseLazyCommit = false;
-
- // On these platforms, lock all the partitions before fork(), and unlock after.
- // This may be required on more platforms in the future.
--#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #define PA_HAS_ATFORK_HANDLER
- #endif
-
-@@ -227,7 +227,7 @@ constexpr bool kUseLazyCommit = false;
- //
- // Also enabled on ARM64 macOS, as the 16kiB pages on this platform lead to
- // larger slot spans.
--#if BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64))
-+#if BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) || BUILDFLAG(IS_BSD)
- #define PA_PREFER_SMALLER_SLOT_SPANS
- #endif // BUILDFLAG(IS_LINUX)
-
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h
deleted file mode 100644
index ea17eb2ddaca..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/partition_alloc_constants.h
-@@ -96,7 +96,7 @@ PartitionPageShift() {
- return 18; // 256 KiB
- }
- #elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \
-- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64))
-+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64))
- PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t
- PartitionPageShift() {
- return PageAllocationGranularityShift() + 2;
-@@ -252,7 +252,7 @@ constexpr size_t kSuperPageBaseMask = ~kSuperPageOffse
- #if defined(PA_HAS_64_BITS_POINTERS)
- // The Configurable Pool is only available in 64-bit mode
- constexpr size_t kNumPools = 3;
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Special-case macOS. Contrary to other platforms, there is no sandbox limit
- // there, meaning that a single renderer could "happily" consume >8GiB. So the
- // 8GiB pool size is a regression. Make the limit higher on this platform only
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h
deleted file mode 100644
index abf25cf132ff..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- base/allocator/partition_allocator/partition_page.h.orig 2022-06-17 14:20:10 UTC
-+++ base/allocator/partition_allocator/partition_page.h
-@@ -130,13 +130,14 @@ struct SlotSpanMetadata {
- PartitionBucket<thread_safe>* const bucket = nullptr;
-
- // CHECK()ed in AllocNewSlotSpan().
--#if defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE)
-+#if (defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE)) || \
-+ (BUILDFLAG(IS_FREEBSD) && defined(__i386__))
- // System page size is not a constant on Apple OSes, but is either 4 or 16kiB
- // (1 << 12 or 1 << 14), as checked in PartitionRoot::Init(). And
- // PartitionPageSize() is 4 times the OS page size.
- static constexpr size_t kMaxSlotsPerSlotSpan =
- 4 * (1 << 14) / kSmallestBucket;
--#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
-+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
- // System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is
- // currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code,
- // so we use the 16 kiB maximum (64 kiB will crash).
-@@ -150,7 +151,9 @@ struct SlotSpanMetadata {
- #endif // defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE)
- // The maximum number of bits needed to cover all currently supported OSes.
- static constexpr size_t kMaxSlotsPerSlotSpanBits = 13;
-+#if !BUILDFLAG(IS_FREEBSD) && defined(__i386__)
- static_assert(kMaxSlotsPerSlotSpan < (1 << kMaxSlotsPerSlotSpanBits), "");
-+#endif
-
- // |marked_full| isn't equivalent to being full. Slot span is marked as full
- // iff it isn't on the active slot span list (or any other list).
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc
deleted file mode 100644
index a46d0c1a9f27..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/allocator/partition_allocator/partition_root.cc.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/partition_root.cc
-@@ -33,7 +33,7 @@
- #include "wow64apiset.h"
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include <pthread.h>
- #endif
-
-@@ -230,7 +230,7 @@ void PartitionAllocMallocInitOnce() {
- if (!g_global_init_called.compare_exchange_strong(expected, true))
- return;
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // When fork() is called, only the current thread continues to execute in the
- // child process. If the lock is held, but *not* by this thread when fork() is
- // called, we have a deadlock.
-@@ -309,7 +309,7 @@ static size_t PartitionPurgeSlotSpan(
- constexpr size_t kMaxSlotCount =
- (PartitionPageSize() * kMaxPartitionPagesPerRegularSlotSpan) /
- SystemPageSize();
--#elif BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64))
-+#elif BUILDFLAG(IS_APPLE) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64))
- // It's better for slot_usage to be stack-allocated and fixed-size, which
- // demands that its size be constexpr. On IS_APPLE and Linux on arm64,
- // PartitionPageSize() is always SystemPageSize() << 2, so regardless of
-@@ -655,7 +655,7 @@ void PartitionRoot<thread_safe>::Init(PartitionOptions
- // apple OSes.
- PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) ||
- (internal::SystemPageSize() == (size_t{1} << 14)));
--#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
-+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
- // Check runtime pagesize. Though the code is currently the same, it is
- // not merged with the IS_APPLE case above as a 1 << 16 case needs to be
- // added here in the future, to allow 64 kiB pagesize. That is only
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
deleted file mode 100644
index 4d89110c7401..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- base/allocator/partition_allocator/spinning_mutex.cc.orig 2022-07-22 17:30:31 UTC
-+++ base/allocator/partition_allocator/spinning_mutex.cc
-@@ -18,7 +18,15 @@
-
- #if defined(PA_HAS_LINUX_KERNEL)
- #include <errno.h>
-+#if defined(OS_OPENBSD)
-+#include <sys/futex.h>
-+#elif defined(OS_FREEBSD)
-+#include <sys/types.h>
-+#include <sys/thr.h>
-+#include <sys/umtx.h>
-+#else
- #include <linux/futex.h>
-+#endif
- #include <sys/syscall.h>
- #include <unistd.h>
- #endif // defined(PA_HAS_LINUX_KERNEL)
-@@ -107,8 +115,13 @@ void SpinningMutex::FutexWait() {
- // |kLockedContended| anymore. Note that even without spurious wakeups, the
- // value of |state_| is not guaranteed when this returns, as another thread
- // may get the lock before we get to run.
-+#if defined(OS_FREEBSD)
-+ int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE,
-+ kLockedContended, nullptr, nullptr);
-+#else
- int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
- kLockedContended, nullptr, nullptr, 0);
-+#endif
-
- if (err) {
- // These are programming error, check them.
-@@ -120,8 +133,14 @@ void SpinningMutex::FutexWait() {
-
- void SpinningMutex::FutexWake() {
- int saved_errno = errno;
-+#if defined(OS_FREEBSD)
-+ long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE,
-+ 1 /* wake up a single waiter */, nullptr, nullptr);
-+#else
- long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG,
- 1 /* wake up a single waiter */, nullptr, nullptr, 0);
-+#endif
-+
- PA_CHECK(retval != -1);
- errno = saved_errno;
- }
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn
new file mode 100644
index 000000000000..4e4d827927f3
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2025-07-02 06:08:04 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
+@@ -892,7 +892,7 @@ if (is_clang_or_gcc) {
+ configs -= [ partition_alloc_enable_arc_config ]
+ }
+ }
+- if (is_chromeos || is_linux) {
++ if ((is_chromeos || is_linux) && !is_bsd) {
+ shim_headers += [
+ "shim/allocator_shim_override_cpp_symbols.h",
+ "shim/allocator_shim_override_glibc_weak_symbols.h",
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h
new file mode 100644
index 000000000000..a91fb1bc8acf
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h
@@ -0,0 +1,20 @@
+--- base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h.orig 2024-07-30 11:12:21 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h
+@@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) {
+
+ #if PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)
+
+- #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
++ #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !PA_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
+@@ -125,7 +125,7 @@ AslrMask(uintptr_t bits) {
+ return AslrAddress(0x20000000ULL);
+ }
+ #elif PA_BUILDFLAG(PA_ARCH_CPU_ARM64)
+- #if PA_BUILDFLAG(IS_LINUX)
++ #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)
+
+ // Linux on arm64 can use 39, 42, 48, or 52-bit user space, depending on
+ // page size and number of levels of translation pages used. We use
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h
new file mode 100644
index 000000000000..027b2c44fd46
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2024-08-26 12:06:38 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/page_allocator.h
+@@ -269,7 +269,7 @@ bool DecommitAndZeroSystemPages(void* address,
+ // recommitted. Do not assume that this will not change over time.
+ constexpr PA_COMPONENT_EXPORT(
+ PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() {
+-#if PA_BUILDFLAG(IS_APPLE)
++#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD)
+ return false;
+ #else
+ return true;
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h
new file mode 100644
index 000000000000..9253c611d00c
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h
@@ -0,0 +1,13 @@
+--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h.orig 2025-02-19 07:43:18 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h
+@@ -26,8 +26,8 @@
+ #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const))
+
+ #elif (PA_BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)) || \
+- (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || \
+- (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_PPC64))
++ ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || \
++ ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_PPC64))
+ // 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
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc
new file mode 100644
index 000000000000..05c2b846c157
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2025-01-15 09:18:26 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc
+@@ -39,7 +39,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API
+
+ #if PA_BUILDFLAG(HAS_MEMORY_TAGGING) || \
+ (defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT == 1) && \
+- __has_include(<sys/ifunc.h>))
++ __has_include(<sys/ifunc.h>) && !PA_BUILDFLAG(IS_BSD))
+ struct __ifunc_arg_t;
+
+ #include "partition_alloc/aarch64_support.h"
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h
new file mode 100644
index 000000000000..3fba15f04c89
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h
@@ -0,0 +1,16 @@
+--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h.orig 2025-05-28 14:55:43 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h
+@@ -317,8 +317,12 @@ bool TryRecommitSystemPagesInternal(
+
+ void DiscardSystemPagesInternal(uintptr_t address, size_t length) {
+ void* ptr = reinterpret_cast<void*>(address);
+-#if PA_BUILDFLAG(IS_APPLE)
++#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD)
++#if PA_BUILDFLAG(IS_BSD)
++ int ret = madvise(ptr, length, MADV_FREE);
++#else
+ int ret = madvise(ptr, length, MADV_FREE_REUSABLE);
++#endif
+ if (ret) {
+ // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED.
+ ret = madvise(ptr, length, MADV_DONTNEED);
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc
new file mode 100644
index 000000000000..f8aa0f73aaae
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc.orig 2025-07-02 06:08:04 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc
+@@ -15,7 +15,7 @@
+ #include "partition_alloc/partition_alloc_check.h"
+
+ #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || \
+- PA_BUILDFLAG(IS_ANDROID)
++ PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_BSD)
+ #include <inttypes.h>
+ #endif
+
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc
new file mode 100644
index 000000000000..dc95a41a0378
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc
@@ -0,0 +1,34 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc.orig 2024-07-30 11:12:21 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc
+@@ -13,11 +13,11 @@
+ #include "partition_alloc/partition_alloc_base/posix/eintr_wrapper.h"
+ #include "partition_alloc/partition_alloc_base/strings/safe_sprintf.h"
+
+-#if !PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_APPLE)
++#if !PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_BSD)
+ #include <link.h> // For ElfW() macro.
+ #endif
+
+-#if PA_BUILDFLAG(IS_APPLE)
++#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD)
+ #include <dlfcn.h>
+ #endif
+
+@@ -25,7 +25,7 @@ namespace partition_alloc::internal::base::debug {
+
+ namespace {
+
+-#if !PA_BUILDFLAG(IS_APPLE)
++#if !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_BSD)
+
+ // On Android the 'open' function has two versions:
+ // int open(const char *pathname, int flags);
+@@ -369,7 +369,7 @@ void PrintStackTraceInternal(const void** trace, size_
+ }
+ #endif // !PA_BUILDFLAG(IS_APPLE)
+
+-#if PA_BUILDFLAG(IS_APPLE)
++#if PA_BUILDFLAG(IS_APPLE) || PA_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(const void* const* trace, size_t size) {
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc
new file mode 100644
index 000000000000..e24b29f35988
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc
@@ -0,0 +1,13 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2024-07-30 11:12:21 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc
+@@ -102,6 +102,10 @@ void RandBytes(void* output, size_t output_length) {
+ if (getentropy(output, output_length) == 0) {
+ return;
+ }
++#elif PA_BUILDFLAG(IS_BSD)
++ if (getentropy(output, output_length) == 0) {
++ return;
++ }
+ #endif
+ // 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/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h
new file mode 100644
index 000000000000..10a2c6a426b3
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h.orig 2024-07-30 11:12:21 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h
+@@ -37,6 +37,8 @@ typedef DWORD PlatformThreadId;
+ typedef zx_handle_t PlatformThreadId;
+ #elif PA_BUILDFLAG(IS_APPLE)
+ typedef mach_port_t PlatformThreadId;
++#elif PA_BUILDFLAG(IS_BSD)
++typedef uint64_t PlatformThreadId;
+ #elif PA_BUILDFLAG(IS_POSIX)
+ typedef pid_t PlatformThreadId;
+ #endif
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h
new file mode 100644
index 000000000000..0fc3aad100bb
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2024-07-30 11:12:21 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h
+@@ -10,7 +10,7 @@
+
+ namespace partition_alloc::internal::base::internal {
+
+-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS)
++#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD)
+ // Current thread id is cached in thread local storage for performance reasons.
+ // In some rare cases it's important to invalidate that cache explicitly (e.g.
+ // after going through clone() syscall which does not call pthread_atfork()
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc
new file mode 100644
index 000000000000..d9bac77867cb
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc.orig 2025-05-05 10:57:53 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc
+@@ -18,7 +18,7 @@
+ #include "partition_alloc/partition_alloc_base/logging.h"
+ #include "partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h"
+
+-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS)
++#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD)
+ #include <sys/syscall.h>
+ #include <atomic>
+ #endif
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h
new file mode 100644
index 000000000000..e4cfcf24bd5c
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h
@@ -0,0 +1,20 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.orig 2025-07-02 06:08:04 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h
+@@ -164,7 +164,7 @@ constexpr bool kUseLazyCommit = false;
+ // This may be required on more platforms in the future.
+ #define PA_CONFIG_HAS_ATFORK_HANDLER() \
+ (PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_LINUX) || \
+- PA_BUILDFLAG(IS_CHROMEOS))
++ PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD))
+
+ // Enable shadow metadata.
+ //
+@@ -227,7 +227,7 @@ constexpr bool kUseLazyCommit = false;
+ // Also enabled on ARM64 macOS and iOS, as the 16kiB pages on this platform lead
+ // to larger slot spans.
+ #if PA_BUILDFLAG(IS_LINUX) || \
+- (PA_BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64))
++ (PA_BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || PA_BUILDFLAG(IS_BSD)
+ #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() 1
+ #else
+ #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() 0
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h
new file mode 100644
index 000000000000..870385c2cbc6
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h
@@ -0,0 +1,20 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2025-07-02 06:08:04 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h
+@@ -308,7 +308,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) || \
+- PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION)
++ PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) || PA_BUILDFLAG(IS_BSD)
+ constexpr size_t kPoolMaxSize = 8 * kGiB;
+ #else
+ constexpr size_t kPoolMaxSize = 16 * kGiB;
+@@ -392,7 +392,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.
+-#if PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)
++#if (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)
+ constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 4;
+ #else
+ constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 2;
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h
new file mode 100644
index 000000000000..a643336a705f
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h
@@ -0,0 +1,16 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h.orig 2025-07-02 06:08:04 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h
+@@ -29,9 +29,13 @@ namespace internal {
+ // the second one 16. We could technically return something different for
+ // malloc() and operator new(), but this would complicate things, and most of
+ // our allocations are presumably coming from operator new() anyway.
++#if defined(__i386__) && defined(OS_FREEBSD)
++constexpr size_t kAlignment = 8;
++#else
+ constexpr inline size_t kAlignment =
+ std::max(alignof(max_align_t),
+ static_cast<size_t>(__STDCPP_DEFAULT_NEW_ALIGNMENT__));
++#endif
+ static_assert(base::bits::HasSingleBit(kAlignment),
+ "Alignment must be power of two.");
+ static_assert(kAlignment <= 16,
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc
new file mode 100644
index 000000000000..1516d9efd50d
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc
@@ -0,0 +1,29 @@
+--- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2025-07-02 06:08:04 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/partition_root.cc
+@@ -45,7 +45,7 @@
+ #include "wow64apiset.h"
+ #endif
+
+-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS)
++#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD)
+ #include <pthread.h>
+ #if PA_CONFIG(ENABLE_SHADOW_METADATA)
+ #include <sys/mman.h>
+@@ -298,7 +298,7 @@ void PartitionAllocMallocInitOnce() {
+ return;
+ }
+
+-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS)
++#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD)
+ // When fork() is called, only the current thread continues to execute in the
+ // child process. If the lock is held, but *not* by this thread when fork() is
+ // called, we have a deadlock.
+@@ -1110,7 +1110,7 @@ void PartitionRoot::Init(PartitionOptions opts) {
+ // apple OSes.
+ PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) ||
+ (internal::SystemPageSize() == (size_t{1} << 14)));
+-#elif PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)
++#elif (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)
+ // Check runtime pagesize. Though the code is currently the same, it is
+ // not merged with the IS_APPLE case above as a 1 << 16 case is only
+ // supported on Linux on AArch64.
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc
new file mode 100644
index 000000000000..43924605b160
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc
@@ -0,0 +1,36 @@
+--- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2025-05-28 14:55:43 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc
+@@ -19,7 +19,16 @@
+ #endif
+
+ #if PA_CONFIG(HAS_LINUX_KERNEL)
++#if defined(OS_OPENBSD)
++#include <sys/time.h>
++#include <sys/futex.h>
++#elif defined(OS_FREEBSD)
++#include <sys/types.h>
++#include <sys/thr.h>
++#include <sys/umtx.h>
++#else
+ #include <linux/futex.h>
++#endif
+ #include <sys/syscall.h>
+ #include <unistd.h>
+
+@@ -92,8 +101,16 @@ PA_ALWAYS_INLINE long FutexSyscall(volatile void* ftx,
+ int saved_errno = errno;
+ errno = 0;
+
++#if defined(OS_FREEBSD)
++ long retval = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE,
++ kLockedContended, nullptr, nullptr);
++#elif defined(OS_OPENBSD)
++ long retval = futex(reinterpret_cast<volatile unsigned int *>(&state_), FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
++ kLockedContended, nullptr, nullptr);
++#else
+ long retval = syscall(SYS_futex, ftx, op | FUTEX_PRIVATE_FLAG, value, nullptr,
+ nullptr, 0);
++#endif
+ if (retval == -1) {
+ // These are programming errors, check them.
+ PA_DCHECK((errno != EPERM) || (errno != EACCES) || (errno != EINVAL) ||
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc
new file mode 100644
index 000000000000..9663a41a0c99
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc
@@ -0,0 +1,50 @@
+--- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2024-07-30 11:12:21 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc
+@@ -18,6 +18,10 @@
+ #include <pthread.h>
+ #endif
+
++#if PA_BUILDFLAG(IS_BSD)
++#include <pthread_np.h>
++#endif
++
+ #if PA_BUILDFLAG(PA_LIBC_GLIBC)
+ extern "C" void* __libc_stack_end;
+ #endif
+@@ -48,6 +52,36 @@ void* GetStackTop() {
+
+ void* GetStackTop() {
+ return pthread_get_stackaddr_np(pthread_self());
++}
++
++#elif PA_BUILDFLAG(IS_OPENBSD)
++
++void* GetStackTop() {
++ stack_t ss;
++ if (pthread_stackseg_np(pthread_self(), &ss) != 0)
++ return nullptr;
++ return reinterpret_cast<uint8_t*>(ss.ss_sp);
++}
++
++#elif PA_BUILDFLAG(IS_FREEBSD)
++
++void* GetStackTop() {
++ pthread_attr_t attr;
++ int error = pthread_attr_init(&attr);
++ if (error) {
++ return nullptr;
++ }
++ error = pthread_attr_get_np(pthread_self(), &attr);
++ if (!error) {
++ void* base;
++ size_t size;
++ error = pthread_attr_getstack(&attr, &base, &size);
++ PA_CHECK(!error);
++ pthread_attr_destroy(&attr);
++ return reinterpret_cast<uint8_t*>(base) + size;
++ }
++ pthread_attr_destroy(&attr);
++ return nullptr;
+ }
+
+ #elif PA_BUILDFLAG(IS_POSIX) || PA_BUILDFLAG(IS_FUCHSIA)
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc
new file mode 100644
index 000000000000..ece8431f1d85
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2024-07-30 11:12:21 UTC
++++ base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc
+@@ -16,7 +16,7 @@
+ #include "partition_alloc/partition_alloc_check.h"
+ #include "partition_alloc/thread_isolation/thread_isolation.h"
+
+-#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS)
++#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) && !PA_BUILDFLAG(IS_BSD)
+ #error "This pkey code is currently only supported on Linux and ChromeOS"
+ #endif
+
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc
deleted file mode 100644
index 33a9abe63075..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc
+++ /dev/null
@@ -1,50 +0,0 @@
---- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2022-05-19 14:06:27 UTC
-+++ base/allocator/partition_allocator/starscan/stack/stack.cc
-@@ -17,6 +17,10 @@
- #include <pthread.h>
- #endif
-
-+#if defined(OS_BSD)
-+#include <pthread_np.h>
-+#endif
-+
- #if defined(LIBC_GLIBC)
- extern "C" void* __libc_stack_end;
- #endif
-@@ -47,6 +51,36 @@ void* GetStackTop() {
-
- void* GetStackTop() {
- return pthread_get_stackaddr_np(pthread_self());
-+}
-+
-+#elif defined(OS_OPENBSD)
-+
-+void* GetStackTop() {
-+ stack_t ss;
-+ if (pthread_stackseg_np(pthread_self(), &ss) != 0)
-+ return nullptr;
-+ return reinterpret_cast<uint8_t*>(ss.ss_sp);
-+}
-+
-+#elif defined(OS_FREEBSD)
-+
-+void* GetStackTop() {
-+ pthread_attr_t attr;
-+ int error = pthread_attr_init(&attr);
-+ if (error) {
-+ return nullptr;
-+ }
-+ error = pthread_attr_get_np(pthread_self(), &attr);
-+ if (!error) {
-+ void* base;
-+ size_t size;
-+ error = pthread_attr_getstack(&attr, &base, &size);
-+ PA_CHECK(!error);
-+ pthread_attr_destroy(&attr);
-+ return reinterpret_cast<uint8_t*>(base) + size;
-+ }
-+ pthread_attr_destroy(&attr);
-+ return nullptr;
- }
-
- #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
diff --git a/www/chromium/files/patch-base_atomicops.h b/www/chromium/files/patch-base_atomicops.h
index 2f8478b40e8d..bc93807b8582 100644
--- a/www/chromium/files/patch-base_atomicops.h
+++ b/www/chromium/files/patch-base_atomicops.h
@@ -1,6 +1,6 @@
---- base/atomicops.h.orig 2022-05-19 14:06:27 UTC
+--- base/atomicops.h.orig 2025-02-19 07:43:18 UTC
+++ base/atomicops.h
-@@ -56,7 +56,11 @@ typedef intptr_t Atomic64;
+@@ -74,7 +74,11 @@ typedef intptr_t Atomic64;
// Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or
// Atomic64 routines below, depending on your architecture.
diff --git a/www/chromium/files/patch-base_base__paths__posix.cc b/www/chromium/files/patch-base_base__paths__posix.cc
index 9b6827056e06..f320895761af 100644
--- a/www/chromium/files/patch-base_base__paths__posix.cc
+++ b/www/chromium/files/patch-base_base__paths__posix.cc
@@ -1,4 +1,4 @@
---- base/base_paths_posix.cc.orig 2022-02-28 16:54:41 UTC
+--- base/base_paths_posix.cc.orig 2025-02-19 07:43:18 UTC
+++ base/base_paths_posix.cc
@@ -15,6 +15,7 @@
#include <ostream>
@@ -8,7 +8,7 @@
#include "base/environment.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
-@@ -25,9 +26,13 @@
+@@ -26,9 +27,13 @@
#include "base/process/process_metrics.h"
#include "build/build_config.h"
@@ -23,17 +23,26 @@
#elif BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_AIX)
#include <stdlib.h>
#endif
-@@ -68,13 +73,65 @@ bool PathProviderPosix(int key, FilePath* result) {
+@@ -47,8 +52,7 @@ bool PathProviderPosix(int key, FilePath* result) {
+ *result = bin_dir;
+ return true;
+ #elif BUILDFLAG(IS_FREEBSD)
+- int name[] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
+- std::optional<std::string> bin_dir = StringSysctl(name, std::size(name));
++ std::optional<std::string> bin_dir = StringSysctl({ CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 });
+ if (!bin_dir.has_value() || bin_dir.value().length() <= 1) {
+ NOTREACHED() << "Unable to resolve path.";
+ }
+@@ -62,14 +66,65 @@ bool PathProviderPosix(int key, FilePath* result) {
*result = FilePath(bin_dir);
return true;
#elif BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_AIX)
- // There is currently no way to get the executable path on OpenBSD
- char* cpath;
-- if ((cpath = getenv("CHROME_EXE_PATH")) != NULL)
+- if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) {
- *result = FilePath(cpath);
-- else
+- } else {
- *result = FilePath("/usr/local/chrome/chrome");
-- return true;
+ char *cpath;
+#if !BUILDFLAG(IS_AIX)
+ struct kinfo_file *files;
@@ -61,9 +70,10 @@
+ *result = FilePath(retval);
+ VLOG(1) << "PathProviderPosix (sandbox) result: " << retval;
+ goto out;
-+ }
+ }
+- return true;
+
-+ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL)
++ if ((kd = kvm_openfiles(NULL, NULL, NULL, (int)KVM_NO_FILES, errbuf)) == NULL)
+ goto out;
+
+ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, cpid,
diff --git a/www/chromium/files/patch-base_base__switches.cc b/www/chromium/files/patch-base_base__switches.cc
deleted file mode 100644
index 59678d7551d9..000000000000
--- a/www/chromium/files/patch-base_base__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/base_switches.cc.orig 2022-02-28 16:54:41 UTC
-+++ base/base_switches.cc
-@@ -170,7 +170,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria
-
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Controls whether or not retired instruction counts are surfaced for threads
- // in trace events on Linux.
- //
diff --git a/www/chromium/files/patch-base_base__switches.h b/www/chromium/files/patch-base_base__switches.h
deleted file mode 100644
index 8b90f08b6a9e..000000000000
--- a/www/chromium/files/patch-base_base__switches.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/base_switches.h.orig 2022-02-28 16:54:41 UTC
-+++ base/base_switches.h
-@@ -60,7 +60,7 @@ extern const char kEnableIdleTracing[];
- extern const char kForceFieldTrialParams[];
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- extern const char kEnableThreadInstructionCount[];
-
- // TODO(crbug.com/1176772): Remove kEnableCrashpad and IsCrashpadEnabled() when
diff --git a/www/chromium/files/patch-base_compiler__specific.h b/www/chromium/files/patch-base_compiler__specific.h
new file mode 100644
index 000000000000..2b9c67c377df
--- /dev/null
+++ b/www/chromium/files/patch-base_compiler__specific.h
@@ -0,0 +1,10 @@
+--- base/compiler_specific.h.orig 2025-07-02 06:08:04 UTC
++++ base/compiler_specific.h
+@@ -733,6 +733,7 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) {
+ #if __has_cpp_attribute(clang::preserve_most) && \
+ (defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_X86_64)) && \
+ !defined(COMPONENT_BUILD) && \
++ !BUILDFLAG(IS_OPENBSD) && \
+ !(BUILDFLAG(IS_WIN) && defined(ARCH_CPU_ARM64))
+ #define PRESERVE_MOST [[clang::preserve_most]]
+ #else
diff --git a/www/chromium/files/patch-base_cpu.h b/www/chromium/files/patch-base_cpu.h
deleted file mode 100644
index 68c6722e4905..000000000000
--- a/www/chromium/files/patch-base_cpu.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/cpu.h.orig 2022-02-28 16:54:41 UTC
-+++ base/cpu.h
-@@ -108,7 +108,7 @@ class BASE_EXPORT CPU final {
- const std::string& cpu_brand() const { return cpu_brand_; }
-
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
-- BUILDFLAG(IS_AIX)
-+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
- enum class CoreType {
- kUnknown = 0,
- kOther,
diff --git a/www/chromium/files/patch-base_debug_debugger__posix.cc b/www/chromium/files/patch-base_debug_debugger__posix.cc
index 447811370c92..b91499e6710a 100644
--- a/www/chromium/files/patch-base_debug_debugger__posix.cc
+++ b/www/chromium/files/patch-base_debug_debugger__posix.cc
@@ -1,6 +1,6 @@
---- base/debug/debugger_posix.cc.orig 2022-04-21 18:48:31 UTC
+--- base/debug/debugger_posix.cc.orig 2025-07-02 06:08:04 UTC
+++ base/debug/debugger_posix.cc
-@@ -35,6 +35,10 @@
+@@ -38,6 +38,10 @@
#include <sys/sysctl.h>
#endif
@@ -11,7 +11,7 @@
#if BUILDFLAG(IS_FREEBSD)
#include <sys/user.h>
#endif
-@@ -95,32 +99,51 @@ bool BeingDebugged() {
+@@ -96,33 +100,52 @@ bool BeingDebugged() {
// Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and
// binary interfaces may change.
@@ -24,10 +24,12 @@
+#endif
#if BUILDFLAG(IS_OPENBSD)
- if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0)
+ if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) {
return -1;
+ }
- mib[5] = (info_size / sizeof(struct kinfo_proc));
+- mib[5] = (info_size / sizeof(struct kinfo_proc));
++ mib[5] = static_cast<int>((info_size / sizeof(struct kinfo_proc)));
+ if ((info = reinterpret_cast<kinfo_proc*>(malloc(info_size))) == NULL) {
+ is_set = true;
+ being_debugged = false;
diff --git a/www/chromium/files/patch-base_debug_elf__reader.cc b/www/chromium/files/patch-base_debug_elf__reader.cc
index 21904ae7ca00..3c9b50fe69c5 100644
--- a/www/chromium/files/patch-base_debug_elf__reader.cc
+++ b/www/chromium/files/patch-base_debug_elf__reader.cc
@@ -1,18 +1,13 @@
---- base/debug/elf_reader.cc.orig 2022-02-07 13:39:41 UTC
+--- base/debug/elf_reader.cc.orig 2025-03-05 08:14:56 UTC
+++ base/debug/elf_reader.cc
-@@ -76,6 +76,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 (current_note->n_type == NT_GNU_BUILD_ID) {
- StringPiece note_name(current_section + sizeof(Nhdr),
- current_note->n_namesz);
-@@ -85,6 +86,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base,
- break;
- }
- }
-+#endif
+@@ -49,6 +49,10 @@ using Xword = Elf64_Xword;
+
+ constexpr char kGnuNoteName[] = "GNU";
- size_t section_size = bits::AlignUp(current_note->n_namesz, 4) +
- bits::AlignUp(current_note->n_descsz, 4) +
++#ifndef NT_GNU_BUILD_ID
++#define NT_GNU_BUILD_ID 3
++#endif
++
+ // Returns a pointer to the header of the ELF binary mapped into memory, or a
+ // null pointer if the header is invalid. Here and below |elf_mapped_base| is a
+ // pointer to the start of the ELF image.
diff --git a/www/chromium/files/patch-base_debug_proc__maps__linux.cc b/www/chromium/files/patch-base_debug_proc__maps__linux.cc
index 4ed7cb701ed6..540972716569 100644
--- a/www/chromium/files/patch-base_debug_proc__maps__linux.cc
+++ b/www/chromium/files/patch-base_debug_proc__maps__linux.cc
@@ -1,6 +1,6 @@
---- base/debug/proc_maps_linux.cc.orig 2022-02-28 16:54:41 UTC
+--- base/debug/proc_maps_linux.cc.orig 2025-02-19 07:43:18 UTC
+++ base/debug/proc_maps_linux.cc
-@@ -13,7 +13,7 @@
+@@ -22,7 +22,7 @@
#include "base/strings/string_split.h"
#include "build/build_config.h"
diff --git a/www/chromium/files/patch-base_debug_stack__trace.cc b/www/chromium/files/patch-base_debug_stack__trace.cc
new file mode 100644
index 000000000000..a998229de3c5
--- /dev/null
+++ b/www/chromium/files/patch-base_debug_stack__trace.cc
@@ -0,0 +1,39 @@
+--- base/debug/stack_trace.cc.orig 2025-04-04 08:52:13 UTC
++++ base/debug/stack_trace.cc
+@@ -268,7 +268,7 @@ bool StackTrace::WillSymbolizeToStreamForTesting() {
+ // Symbols are not expected to be reliable when gn args specifies
+ // symbol_level=0.
+ return false;
+-#elif defined(__UCLIBC__) || defined(_AIX)
++#elif defined(__UCLIBC__) || defined(_AIX) || BUILDFLAG(IS_BSD)
+ // StackTrace::OutputToStream() is not implemented under uclibc, nor AIX.
+ // See https://crbug.com/706728
+ return false;
+@@ -321,7 +321,9 @@ void StackTrace::OutputToStreamWithPrefix(std::ostream
+ }
+ return;
+ }
++#if !BUILDFLAG(IS_BSD)
+ OutputToStreamWithPrefixImpl(os, prefix_string);
++#endif
+ }
+
+ std::string StackTrace::ToString() const {
+@@ -330,7 +332,7 @@ std::string StackTrace::ToString() const {
+
+ std::string StackTrace::ToStringWithPrefix(cstring_view prefix_string) const {
+ std::stringstream stream;
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD)
+ OutputToStreamWithPrefix(&stream, prefix_string);
+ #endif
+ return stream.str();
+@@ -354,7 +356,7 @@ bool StackTrace::ShouldSuppressOutput() {
+ }
+
+ std::ostream& operator<<(std::ostream& os, const StackTrace& s) {
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD)
+ s.OutputToStream(&os);
+ #else
+ os << "StackTrace::OutputToStream not implemented.";
diff --git a/www/chromium/files/patch-base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_debug_stack__trace__posix.cc
index f53bb3e100d4..d9d357a06731 100644
--- a/www/chromium/files/patch-base_debug_stack__trace__posix.cc
+++ b/www/chromium/files/patch-base_debug_stack__trace__posix.cc
@@ -1,15 +1,87 @@
---- base/debug/stack_trace_posix.cc.orig 2022-03-25 21:59:56 UTC
+--- base/debug/stack_trace_posix.cc.orig 2025-03-05 08:14:56 UTC
+++ base/debug/stack_trace_posix.cc
-@@ -38,7 +38,7 @@
+@@ -51,7 +51,7 @@
+ // execinfo.h and backtrace(3) are really only present in glibc and in macOS
+ // libc.
+ #if BUILDFLAG(IS_APPLE) || \
+- (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX))
++ (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX) && !BUILDFLAG(IS_BSD))
+ #define HAVE_BACKTRACE
+ #include <execinfo.h>
+ #endif
+@@ -69,8 +69,10 @@
#include <AvailabilityMacros.h>
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
++#if !BUILDFLAG(IS_BSD)
+ #include <sys/prctl.h>
++#endif
+
#include "base/debug/proc_maps_linux.h"
#endif
+@@ -329,7 +331,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
+@@ -346,7 +348,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)
+@@ -552,7 +558,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;
+@@ -577,6 +583,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) {
+@@ -591,6 +598,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)
+
+@@ -783,6 +791,7 @@ class SandboxSymbolizeHelper {
+ return -1;
+ }
+
++#if !BUILDFLAG(IS_BSD)
+ // 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.
+@@ -875,11 +884,15 @@ class SandboxSymbolizeHelper {
+ r.base = cur_base;
+ }
+ }
++#endif
-@@ -695,6 +695,9 @@ class SandboxSymbolizeHelper {
+ // Parses /proc/self/maps in order to compile a list of all object file names
// for the modules that are loaded in the current process.
// Returns true on success.
bool CacheMemoryRegions() {
@@ -19,7 +91,7 @@
// Reads /proc/self/maps.
std::string contents;
if (!ReadProcMaps(&contents)) {
-@@ -712,6 +715,7 @@ class SandboxSymbolizeHelper {
+@@ -897,6 +910,7 @@ class SandboxSymbolizeHelper {
is_initialized_ = true;
return true;
@@ -27,12 +99,3 @@
}
// Opens all object files and caches their file descriptors.
-@@ -868,7 +872,7 @@ size_t CollectStackTrace(void** trace, size_t count) {
- // If we do not have unwind tables, then try tracing using frame pointers.
- return base::debug::TraceStackFramePointers(const_cast<const void**>(trace),
- count, 0);
--#elif !defined(__UCLIBC__) && !defined(_AIX)
-+#elif !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD)
- // Though the backtrace API man page does not list any possible negative
- // return values, we take no chance.
- return base::saturated_cast<size_t>(backtrace(trace, count));
diff --git a/www/chromium/files/patch-base_files_dir__reader__linux.h b/www/chromium/files/patch-base_files_dir__reader__linux.h
index 82ff9a17eb2e..be86558f0c8b 100644
--- a/www/chromium/files/patch-base_files_dir__reader__linux.h
+++ b/www/chromium/files/patch-base_files_dir__reader__linux.h
@@ -1,6 +1,6 @@
---- base/files/dir_reader_linux.h.orig 2022-06-18 05:49:12 UTC
+--- base/files/dir_reader_linux.h.orig 2025-02-19 07:43:18 UTC
+++ base/files/dir_reader_linux.h
-@@ -16,10 +16,16 @@
+@@ -21,10 +21,16 @@
#include "base/logging.h"
#include "base/posix/eintr_wrapper.h"
@@ -15,25 +15,25 @@
+typedef struct dirent linux_dirent;
+#else
struct linux_dirent {
- uint64_t d_ino;
- int64_t d_off;
-@@ -27,6 +33,7 @@ struct linux_dirent {
- unsigned char d_type;
- char d_name[0];
+ uint64_t d_ino;
+ int64_t d_off;
+@@ -32,6 +38,7 @@ struct linux_dirent {
+ unsigned char d_type;
+ char d_name[0];
};
+#endif
class DirReaderLinux {
public:
-@@ -61,7 +68,11 @@ class DirReaderLinux {
- if (offset_ != size_)
+@@ -66,7 +73,11 @@ class DirReaderLinux {
return true;
+ }
+#if BUILDFLAG(IS_BSD)
+ const int r = getdents(fd_, reinterpret_cast<char *>(buf_), sizeof(buf_));
+#else
- const int r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_));
+ const long r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_));
+#endif
- if (r == 0)
+ if (r == 0) {
return false;
- if (r == -1) {
+ }
diff --git a/www/chromium/files/patch-base_files_drive__info.h b/www/chromium/files/patch-base_files_drive__info.h
new file mode 100644
index 000000000000..3d642f1fc84c
--- /dev/null
+++ b/www/chromium/files/patch-base_files_drive__info.h
@@ -0,0 +1,11 @@
+--- base/files/drive_info.h.orig 2025-05-28 14:55:43 UTC
++++ base/files/drive_info.h
+@@ -48,7 +48,7 @@ struct BASE_EXPORT DriveInfo {
+ std::optional<bool> has_seek_penalty;
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Whether the drive is a "removable" drive.
+ //
+ // In macOS's IOKit API, a drive is "removable" if "the media is removable
diff --git a/www/chromium/files/patch-base_files_drive__info__posix.cc b/www/chromium/files/patch-base_files_drive__info__posix.cc
new file mode 100644
index 000000000000..70b23409738d
--- /dev/null
+++ b/www/chromium/files/patch-base_files_drive__info__posix.cc
@@ -0,0 +1,11 @@
+--- base/files/drive_info_posix.cc.orig 2025-03-05 08:14:56 UTC
++++ base/files/drive_info_posix.cc
+@@ -24,7 +24,7 @@ namespace base {
+
+ std::optional<DriveInfo> GetFileDriveInfo(const FilePath& file_path) {
+ DriveInfo drive_info;
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ drive_info.has_seek_penalty = false;
+ return drive_info;
+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-base_files_file__path__watcher.h b/www/chromium/files/patch-base_files_file__path__watcher.h
new file mode 100644
index 000000000000..25d797cc243c
--- /dev/null
+++ b/www/chromium/files/patch-base_files_file__path__watcher.h
@@ -0,0 +1,11 @@
+--- base/files/file_path_watcher.h.orig 2024-01-30 07:53:34 UTC
++++ base/files/file_path_watcher.h
+@@ -105,7 +105,7 @@ class BASE_EXPORT FilePathWatcher {
+ Type type = Type::kNonRecursive;
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ // The callback will return the full path to a changed file instead of
+ // the watched path supplied as |path| when Watch is called.
+ // So the full path can be different from the watched path when a folder is
diff --git a/www/chromium/files/patch-base_files_file__path__watcher__bsd.cc b/www/chromium/files/patch-base_files_file__path__watcher__bsd.cc
index b4632c587e95..5bac3095f9f0 100644
--- a/www/chromium/files/patch-base_files_file__path__watcher__bsd.cc
+++ b/www/chromium/files/patch-base_files_file__path__watcher__bsd.cc
@@ -1,4 +1,4 @@
---- base/files/file_path_watcher_bsd.cc.orig 2022-02-07 13:39:41 UTC
+--- base/files/file_path_watcher_bsd.cc.orig 2022-10-24 13:33:33 UTC
+++ base/files/file_path_watcher_bsd.cc
@@ -0,0 +1,54 @@
+// Copyright 2021 The Chromium Authors. All rights reserved.
@@ -50,7 +50,7 @@
+} // namespace
+
+FilePathWatcher::FilePathWatcher() {
-+ sequence_checker_.DetachFromSequence();
++ DETACH_FROM_SEQUENCE(sequence_checker_);
+ impl_ = std::make_unique<FilePathWatcherImpl>();
+}
+
diff --git a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc b/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc
index 3bd1d03cc820..dc5237479bba 100644
--- a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc
+++ b/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc
@@ -1,29 +1,29 @@
---- base/files/file_path_watcher_unittest.cc.orig 2022-05-19 14:06:27 UTC
+--- base/files/file_path_watcher_unittest.cc.orig 2024-07-30 11:12:21 UTC
+++ base/files/file_path_watcher_unittest.cc
-@@ -498,7 +498,7 @@ TEST_F(FilePathWatcherTest, MAYBE_WatchDirectory) {
- VLOG(1) << "Waiting for file1 creation";
- ASSERT_TRUE(WaitForEvents());
+@@ -902,7 +902,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) {
+ }
+ delegate.RunUntilEventsMatch(event_expecter);
-#if !BUILDFLAG(IS_APPLE)
-+#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
- // Mac implementation does not detect files modified in a directory.
++#if !BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD)
ASSERT_TRUE(WriteFile(file1, "content v2"));
- VLOG(1) << "Waiting for file1 modification";
-@@ -1108,7 +1108,7 @@ enum Permission {
- Execute
- };
+ // Mac implementation does not detect files modified in a directory.
+ // TODO(crbug.com/40263777): Expect that no events are fired on Mac.
+@@ -1848,7 +1848,7 @@ namespace {
+
+ enum Permission { Read, Write, Execute };
-#if BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) {
struct stat stat_buf;
-@@ -1139,7 +1139,7 @@ bool ChangeFilePermissions(const FilePath& path, Permi
- }
- #endif // BUILDFLAG(IS_APPLE)
+@@ -1882,7 +1882,7 @@ bool ChangeFilePermissions(const FilePath& path, Permi
+
+ } // namespace
-#if BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
++#if BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD)
// Linux implementation of FilePathWatcher doesn't catch attribute changes.
// http://crbug.com/78043
// Windows implementation of FilePathWatcher catches attribute changes that
diff --git a/www/chromium/files/patch-base_files_file__util__posix.cc b/www/chromium/files/patch-base_files_file__util__posix.cc
index 5fafd41cb66a..eadece532674 100644
--- a/www/chromium/files/patch-base_files_file__util__posix.cc
+++ b/www/chromium/files/patch-base_files_file__util__posix.cc
@@ -1,55 +1,48 @@
---- base/files/file_util_posix.cc.orig 2022-07-22 17:30:31 UTC
+--- base/files/file_util_posix.cc.orig 2025-05-05 10:57:53 UTC
+++ base/files/file_util_posix.cc
-@@ -696,32 +696,37 @@ bool CreateDirectoryAndGetError(const FilePath& full_p
- File::Error* error) {
+@@ -934,6 +934,7 @@ bool CreateNewTempDirectory(const FilePath::StringType
+ bool CreateDirectoryAndGetError(const FilePath& full_path, File::Error* error) {
ScopedBlockingCall scoped_blocking_call(
FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir().
+ const FilePath kFileSystemRoot("/");
- std::vector<FilePath> subpaths;
-+ if (DirectoryExists(full_path))
-+ return true;
-+
- // Collect a list of all parent directories.
+ // Avoid checking subdirs if directory already exists.
+ if (DirectoryExists(full_path)) {
+@@ -943,8 +944,8 @@ bool CreateDirectoryAndGetError(const FilePath& full_p
+ // Collect a list of all missing directories.
+ std::vector<FilePath> missing_subpaths({full_path});
FilePath last_path = full_path;
-- subpaths.push_back(full_path);
-+ if (full_path != kFileSystemRoot)
-+ subpaths.push_back(full_path);
- for (FilePath path = full_path.DirName();
-- path.value() != last_path.value(); path = path.DirName()) {
-+ (path.value() != last_path.value() &&
+- for (FilePath path = full_path.DirName(); path.value() != last_path.value();
+- path = path.DirName()) {
++ for (FilePath path = full_path.DirName(); (path.value() != last_path.value() &&
+ (path != kFileSystemRoot)); path = path.DirName()) {
- subpaths.push_back(path);
- last_path = path;
- }
+ if (DirectoryExists(path)) {
+ break;
+ }
+@@ -962,21 +963,14 @@ bool CreateDirectoryAndGetError(const FilePath& full_p
+ }
+ #endif // BUILDFLAG(IS_CHROMEOS)
- // Iterate through the parents and create the missing ones.
- for (const FilePath& subpath : base::Reversed(subpaths)) {
-- if (DirectoryExists(subpath))
-- continue;
-- if (mkdir(subpath.value().c_str(), 0700) == 0)
+- if (mkdir(subpath.value().c_str(), mode) == 0) {
- continue;
+- }
- // Mkdir failed, but it might have failed with EEXIST, or some other error
- // due to the directory appearing out of thin air. This can occur if
- // two processes are trying to create the same file system tree at the same
- // time. Check to see if it exists and make sure it is a directory.
- int saved_errno = errno;
- if (!DirectoryExists(subpath)) {
-- if (error)
-- *error = File::OSErrorToFileError(saved_errno);
-- return false;
-+ if (!PathExists(subpath)) {
-+ if ((mkdir(subpath.value().c_str(), 0700) == -1) &&
-+ ((full_path != subpath) ? (errno != ENOENT) : (-1))) {
-+ int saved_errno = errno;
-+ if (error)
-+ *error = File::OSErrorToFileError(saved_errno);
-+ return false;
-+ }
-+ } else if (!DirectoryExists(subpath)) {
-+ if (error)
-+ *error = File::OSErrorToFileError(ENOTDIR);
-+ return false;
+- if (error) {
++ if ((mkdir(subpath.value().c_str(), mode) == -1) &&
++ ((full_path != subpath) ? (errno != ENOENT) : (-1))) {
++ int saved_errno = errno;
++ if (error)
+ *error = File::OSErrorToFileError(saved_errno);
+- }
+- errno = saved_errno;
+ return false;
}
++ errno = 0;
}
return true;
+ }
diff --git a/www/chromium/files/patch-base_files_file__util__unittest.cc b/www/chromium/files/patch-base_files_file__util__unittest.cc
index cbc96b4a9d6f..a0fc114b60bc 100644
--- a/www/chromium/files/patch-base_files_file__util__unittest.cc
+++ b/www/chromium/files/patch-base_files_file__util__unittest.cc
@@ -1,6 +1,6 @@
---- base/files/file_util_unittest.cc.orig 2022-06-17 14:20:10 UTC
+--- base/files/file_util_unittest.cc.orig 2025-04-04 08:52:13 UTC
+++ base/files/file_util_unittest.cc
-@@ -3522,7 +3522,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
+@@ -3920,7 +3920,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
}
#endif // BUILDFLAG(IS_WIN)
@@ -9,7 +9,27 @@
TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) {
FilePath file_path("/proc/cpuinfo");
std::string data = "temp";
-@@ -4238,7 +4238,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles
+@@ -4505,6 +4505,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu
+
+ #endif // BUILDFLAG(IS_ANDROID)
+
++#if BUILDFLAG(IS_OPENBSD)
++TEST_F(FileUtilTest, CreateDirectoryInUnveiledPath) {
++ FilePath dir = PathService::CheckedGet(DIR_GEN_TEST_DATA_ROOT);
++ dir = dir.Append(FILE_PATH_LITERAL("base"));
++ dir = dir.Append(FILE_PATH_LITERAL("test"));
++ dir = dir.Append(FILE_PATH_LITERAL("unveil"));
++ unveil(dir.value().c_str(), "rwc");
++ EXPECT_TRUE(CreateDirectory(dir));
++ dir = dir.Append(FILE_PATH_LITERAL("test"));
++ EXPECT_FALSE(CreateDirectory(dir));
++}
++#endif
++
+ #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
+@@ -4671,7 +4684,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles
NULL);
#else
size_t bytes_written =
diff --git a/www/chromium/files/patch-base_files_scoped__file.cc b/www/chromium/files/patch-base_files_scoped__file.cc
index 350c73cc76e7..1ea60790510a 100644
--- a/www/chromium/files/patch-base_files_scoped__file.cc
+++ b/www/chromium/files/patch-base_files_scoped__file.cc
@@ -1,6 +1,6 @@
---- base/files/scoped_file.cc.orig 2022-02-28 16:54:41 UTC
+--- base/files/scoped_file.cc.orig 2024-07-30 11:12:21 UTC
+++ base/files/scoped_file.cc
-@@ -31,7 +31,7 @@ void ScopedFDCloseTraits::Free(int fd) {
+@@ -32,7 +32,7 @@ void ScopedFDCloseTraits::Free(int fd) {
int ret = IGNORE_EINTR(close(fd));
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \
diff --git a/www/chromium/files/patch-base_functional_unretained__traits.h b/www/chromium/files/patch-base_functional_unretained__traits.h
new file mode 100644
index 000000000000..c8bba80c4ca7
--- /dev/null
+++ b/www/chromium/files/patch-base_functional_unretained__traits.h
@@ -0,0 +1,11 @@
+--- base/functional/unretained_traits.h.orig 2025-02-19 07:43:18 UTC
++++ base/functional/unretained_traits.h
+@@ -90,7 +90,7 @@ struct SupportsUnretainedImpl {
+ // official builds, and then in non-test code as well.
+ #if defined(FORCE_UNRETAINED_COMPLETENESS_CHECKS_FOR_TESTS) || \
+ (!defined(UNIT_TEST) && !defined(OFFICIAL_BUILD) && \
+- (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)))
++ (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)))
+ static_assert(v,
+ "Argument requires unretained storage, but type is not "
+ "fully defined. This prevents determining whether "
diff --git a/www/chromium/files/patch-base_i18n_icu__util.cc b/www/chromium/files/patch-base_i18n_icu__util.cc
index c14c06e1c33c..bc89b666a1e1 100644
--- a/www/chromium/files/patch-base_i18n_icu__util.cc
+++ b/www/chromium/files/patch-base_i18n_icu__util.cc
@@ -1,4 +1,4 @@
---- base/i18n/icu_util.cc.orig 2022-07-22 17:30:31 UTC
+--- base/i18n/icu_util.cc.orig 2025-05-05 10:57:53 UTC
+++ base/i18n/icu_util.cc
@@ -53,7 +53,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
-@@ -325,7 +325,7 @@ void InitializeIcuTimeZone() {
+@@ -329,7 +329,7 @@ void InitializeIcuTimeZone() {
FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization();
icu::TimeZone::adoptDefault(
icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id)));
diff --git a/www/chromium/files/patch-base_linux__util.cc b/www/chromium/files/patch-base_linux__util.cc
index 1f949df12ab0..53a96952eaf4 100644
--- a/www/chromium/files/patch-base_linux__util.cc
+++ b/www/chromium/files/patch-base_linux__util.cc
@@ -1,28 +1,17 @@
---- base/linux_util.cc.orig 2022-05-19 14:06:27 UTC
+--- base/linux_util.cc.orig 2025-04-04 08:52:13 UTC
+++ base/linux_util.cc
-@@ -15,6 +15,7 @@
-
- #include <iomanip>
- #include <memory>
-+#include <sstream>
-
- #include "base/base_export.h"
- #include "base/files/dir_reader_posix.h"
-@@ -135,6 +136,9 @@ void SetLinuxDistro(const std::string& distro) {
+@@ -163,10 +163,14 @@ void SetLinuxDistro(const std::string& distro) {
}
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
+ // 25 > strlen("/proc//task") + strlen(base::NumberToString(INT_MAX)) + 1 = 22
char buf[25];
strings::SafeSPrintf(buf, "/proc/%d/task", pid);
-@@ -154,6 +158,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t
- }
-
- return true;
+ return GetThreadsFromProcessDir(buf, tids);
+#endif
}
- pid_t FindThreadIDWithSyscall(pid_t pid, const std::string& expected_data,
+ bool GetThreadsForCurrentProcess(std::vector<pid_t>* tids) {
diff --git a/www/chromium/files/patch-base_logging__unittest.cc b/www/chromium/files/patch-base_logging__unittest.cc
index b792452342c0..cf5196d922d0 100644
--- a/www/chromium/files/patch-base_logging__unittest.cc
+++ b/www/chromium/files/patch-base_logging__unittest.cc
@@ -1,6 +1,6 @@
---- base/logging_unittest.cc.orig 2022-06-17 14:20:10 UTC
+--- base/logging_unittest.cc.orig 2025-05-05 10:57:53 UTC
+++ base/logging_unittest.cc
-@@ -32,7 +32,7 @@
+@@ -40,7 +40,7 @@
#include "base/posix/eintr_wrapper.h"
#endif // BUILDFLAG(IS_POSIX)
@@ -9,7 +9,7 @@
#include <ucontext.h>
#endif
-@@ -574,14 +574,18 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo
+@@ -586,14 +586,18 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo
// need the arch-specific boilerplate below, which is inspired by breakpad.
// At the same time, on OSX, ucontext.h is deprecated but si_addr works fine.
uintptr_t crash_addr = 0;
diff --git a/www/chromium/files/patch-base_memory_discardable__memory.cc b/www/chromium/files/patch-base_memory_discardable__memory.cc
index b75ef293703c..436cbb4e3852 100644
--- a/www/chromium/files/patch-base_memory_discardable__memory.cc
+++ b/www/chromium/files/patch-base_memory_discardable__memory.cc
@@ -1,15 +1,15 @@
---- base/memory/discardable_memory.cc.orig 2022-05-19 14:06:27 UTC
+--- base/memory/discardable_memory.cc.orig 2025-03-05 08:14:56 UTC
+++ base/memory/discardable_memory.cc
-@@ -25,7 +25,7 @@ const base::Feature kMadvFreeDiscardableMemory{
- "MadvFreeDiscardableMemory", base::FEATURE_DISABLED_BY_DEFAULT};
+@@ -26,7 +26,7 @@ BASE_FEATURE(kMadvFreeDiscardableMemory,
+ base::FEATURE_DISABLED_BY_DEFAULT);
#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)
- const base::Feature kDiscardableMemoryBackingTrial{
- "DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT};
-
-@@ -50,7 +50,7 @@ const base::FeatureParam<DiscardableMemoryTrialGroup>
+ BASE_FEATURE(kDiscardableMemoryBackingTrial,
+ "DiscardableMemoryBackingTrial",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -44,7 +44,7 @@ BASE_FEATURE_ENUM_PARAM(DiscardableMemoryTrialGroup,
namespace {
@@ -18,7 +18,7 @@
DiscardableMemoryBacking GetBackingForFieldTrial() {
DiscardableMemoryTrialGroup trial_group =
-@@ -69,7 +69,7 @@ DiscardableMemoryBacking GetBackingForFieldTrial() {
+@@ -63,7 +63,7 @@ DiscardableMemoryBacking GetBackingForFieldTrial() {
} // namespace
@@ -27,7 +27,7 @@
// Probe capabilities of this device to determine whether we should participate
// in the discardable memory backing trial.
-@@ -99,7 +99,7 @@ DiscardableMemory::DiscardableMemory() = default;
+@@ -95,7 +95,7 @@ DiscardableMemory::DiscardableMemory() = default;
DiscardableMemory::~DiscardableMemory() = default;
DiscardableMemoryBacking GetDiscardableMemoryBacking() {
diff --git a/www/chromium/files/patch-base_memory_discardable__memory__internal.h b/www/chromium/files/patch-base_memory_discardable__memory__internal.h
index 13bef7210432..58344b53528d 100644
--- a/www/chromium/files/patch-base_memory_discardable__memory__internal.h
+++ b/www/chromium/files/patch-base_memory_discardable__memory__internal.h
@@ -1,6 +1,6 @@
---- base/memory/discardable_memory_internal.h.orig 2022-02-28 16:54:41 UTC
+--- base/memory/discardable_memory_internal.h.orig 2024-09-30 07:45:04 UTC
+++ base/memory/discardable_memory_internal.h
-@@ -10,7 +10,7 @@
+@@ -12,7 +12,7 @@
#include "base/metrics/field_trial_params.h"
#include "build/build_config.h"
diff --git a/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc
index ead3fe5472be..f71dae216868 100644
--- a/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc
+++ b/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc
@@ -1,6 +1,6 @@
---- base/memory/madv_free_discardable_memory_posix.cc.orig 2022-05-19 14:06:27 UTC
+--- base/memory/madv_free_discardable_memory_posix.cc.orig 2025-02-19 07:43:18 UTC
+++ base/memory/madv_free_discardable_memory_posix.cc
-@@ -295,6 +295,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT
+@@ -305,6 +305,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT
bool MadvFreeDiscardableMemoryPosix::IsResident() const {
DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_);
@@ -11,8 +11,8 @@
#if BUILDFLAG(IS_APPLE)
std::vector<char> vec(allocated_pages_);
#else
-@@ -310,6 +314,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons
- return false;
+@@ -321,6 +325,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons
+ }
}
return true;
+#endif
diff --git a/www/chromium/files/patch-base_memory_platform__shared__memory__region.h b/www/chromium/files/patch-base_memory_platform__shared__memory__region.h
index 852cc726f377..5b98ac1a8aca 100644
--- a/www/chromium/files/patch-base_memory_platform__shared__memory__region.h
+++ b/www/chromium/files/patch-base_memory_platform__shared__memory__region.h
@@ -1,15 +1,15 @@
---- base/memory/platform_shared_memory_region.h.orig 2022-06-17 14:20:10 UTC
+--- base/memory/platform_shared_memory_region.h.orig 2025-07-02 06:08:04 UTC
+++ base/memory/platform_shared_memory_region.h
-@@ -16,7 +16,7 @@
-
- #include <stdint.h>
+@@ -19,7 +19,7 @@
+ #include "base/unguessable_token.h"
+ #include "build/build_config.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
namespace content {
class SandboxIPCHandler;
}
-@@ -83,7 +83,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
+@@ -86,7 +86,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
kMaxValue = GET_SHMEM_TEMP_DIR_FAILURE
};
@@ -18,7 +18,16 @@
// Structure to limit access to executable region creation.
struct ExecutableRegion {
private:
-@@ -211,7 +211,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
+@@ -125,7 +125,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
+ #if BUILDFLAG(IS_FUCHSIA)
+ kNotVmo,
+ #endif
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ kFcntlFailed,
+ kReadOnlyFdNotReadOnly,
+ kUnexpectedReadOnlyFd,
+@@ -256,7 +256,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
CheckPlatformHandlePermissionsCorrespondToMode);
static PlatformSharedMemoryRegion Create(Mode mode,
size_t size
diff --git a/www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc b/www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc
index 558d0e7c7b15..9b0d02ebffa8 100644
--- a/www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc
+++ b/www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc
@@ -1,6 +1,6 @@
---- base/memory/platform_shared_memory_region_posix.cc.orig 2022-05-19 14:06:27 UTC
+--- base/memory/platform_shared_memory_region_posix.cc.orig 2025-07-02 06:08:04 UTC
+++ base/memory/platform_shared_memory_region_posix.cc
-@@ -55,7 +55,7 @@ bool CheckFDAccessMode(int fd, int expected_mode) {
+@@ -61,7 +61,7 @@ std::optional<FDAccessModeError> CheckFDAccessMode(int
} // namespace
@@ -9,7 +9,7 @@
// static
ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) {
PlatformSharedMemoryRegion region =
-@@ -171,7 +171,7 @@ bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
+@@ -186,7 +186,7 @@ bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
// static
PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode,
size_t size
@@ -18,7 +18,7 @@
,
bool executable
#endif
-@@ -200,7 +200,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
+@@ -215,7 +215,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
// flag.
FilePath directory;
if (!GetShmemTempDir(
diff --git a/www/chromium/files/patch-base_memory_protected__memory.h b/www/chromium/files/patch-base_memory_protected__memory.h
new file mode 100644
index 000000000000..ebe910dfe1b6
--- /dev/null
+++ b/www/chromium/files/patch-base_memory_protected__memory.h
@@ -0,0 +1,44 @@
+--- base/memory/protected_memory.h.orig 2025-01-15 09:18:26 UTC
++++ base/memory/protected_memory.h
+@@ -120,12 +120,12 @@ __declspec(selectany) char __stop_protected_memory;
+
+ #define DECLARE_PROTECTED_DATA constinit
+ #define DEFINE_PROTECTED_DATA constinit __declspec(allocate("prot$mem"))
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // This value is used to align the writers variable. That variable needs to be
+ // aligned to ensure that the protected memory section starts on a page
+ // boundary.
+ #if (PA_BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)) || \
+- (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64))
++ ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64))
+ // arm64 supports 4kb, 16kb, and 64kb pages. Set to the largest of 64kb as that
+ // will guarantee the section is page aligned regardless of the choice.
+ inline constexpr int kProtectedMemoryAlignment = 65536;
+@@ -340,7 +340,7 @@ class BASE_EXPORT AutoWritableMemoryBase {
+ // where an attacker could overwrite it with a large value and invoke code
+ // that constructs and destructs an AutoWritableMemory. After such a call
+ // protected memory would still be set writable because writers > 0.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // On Linux, the protected memory section is not automatically page aligned.
+ // This means that attempts to reset the protected memory region to readonly
+ // will set some of the preceding section that is on the same page readonly
+@@ -354,7 +354,7 @@ class BASE_EXPORT AutoWritableMemoryBase {
+ #endif
+ static inline size_t writers GUARDED_BY(writers_lock()) = 0;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // On Linux, there is no guarantee the section following the protected
+ // memory section is page aligned. This can result in attempts to change
+ // the access permissions of the end of the protected memory section
+@@ -412,7 +412,7 @@ class BASE_EXPORT AutoWritableMemoryInitializer
+ // the variable to something large before the section was read-only.
+ WriterData::writers = 0;
+ CHECK(SetProtectedSectionReadOnly());
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // Set the protected_memory_section_buffer to true to ensure the buffer
+ // section is created. If a variable is declared but not used the memory
+ // section won't be created.
diff --git a/www/chromium/files/patch-base_memory_protected__memory__posix.cc b/www/chromium/files/patch-base_memory_protected__memory__posix.cc
new file mode 100644
index 000000000000..fb7b02a3db9f
--- /dev/null
+++ b/www/chromium/files/patch-base_memory_protected__memory__posix.cc
@@ -0,0 +1,20 @@
+--- base/memory/protected_memory_posix.cc.orig 2024-10-22 08:31:56 UTC
++++ base/memory/protected_memory_posix.cc
+@@ -6,7 +6,7 @@
+
+ #include <sys/mman.h>
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ #include <sys/resource.h>
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -34,7 +34,7 @@ bool SetMemory(void* start, void* end, int prot) {
+ } // namespace
+
+ namespace internal {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ void CheckMemoryReadOnly(const void* ptr) {
+ const uintptr_t page_start =
+ bits::AlignDown(reinterpret_cast<uintptr_t>(ptr), GetPageSize());
diff --git a/www/chromium/files/patch-base_message__loop_message__pump__epoll.cc b/www/chromium/files/patch-base_message__loop_message__pump__epoll.cc
new file mode 100644
index 000000000000..3e769273a4b1
--- /dev/null
+++ b/www/chromium/files/patch-base_message__loop_message__pump__epoll.cc
@@ -0,0 +1,11 @@
+--- base/message_loop/message_pump_epoll.cc.orig 2025-03-05 08:14:56 UTC
++++ base/message_loop/message_pump_epoll.cc
+@@ -47,7 +47,7 @@ std::atomic_bool g_use_batched_version = false;
+ std::atomic_bool g_use_poll = false;
+
+ constexpr std::pair<uint32_t, short int> kEpollToPollEvents[] = {
+- {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, {EPOLLRDHUP, POLLRDHUP},
++ {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT},
+ {EPOLLPRI, POLLPRI}, {EPOLLERR, POLLERR}, {EPOLLHUP, POLLHUP}};
+
+ void SetEventsForPoll(const uint32_t epoll_events, struct pollfd* poll_entry) {
diff --git a/www/chromium/files/patch-base_message__loop_message__pump__epoll.h b/www/chromium/files/patch-base_message__loop_message__pump__epoll.h
new file mode 100644
index 000000000000..c6398cdd54e8
--- /dev/null
+++ b/www/chromium/files/patch-base_message__loop_message__pump__epoll.h
@@ -0,0 +1,14 @@
+--- base/message_loop/message_pump_epoll.h.orig 2024-10-22 08:31:56 UTC
++++ base/message_loop/message_pump_epoll.h
+@@ -51,7 +51,11 @@ namespace base {
+ // every call, don't do it when we have too many FDs.
+ BASE_FEATURE(kUsePollForMessagePumpEpoll,
+ "UsePollForMessagePumpEpoll",
++#if BUILDFLAG(IS_BSD)
++ base::FEATURE_ENABLED_BY_DEFAULT);
++#else
+ base::FEATURE_DISABLED_BY_DEFAULT);
++#endif
+
+ // A MessagePump implementation suitable for I/O message loops on Linux-based
+ // systems with epoll API support.
diff --git a/www/chromium/files/patch-base_message__loop_message__pump__glib.cc b/www/chromium/files/patch-base_message__loop_message__pump__glib.cc
index 047712904c6f..2015eb9d2b24 100644
--- a/www/chromium/files/patch-base_message__loop_message__pump__glib.cc
+++ b/www/chromium/files/patch-base_message__loop_message__pump__glib.cc
@@ -1,4 +1,4 @@
---- base/message_loop/message_pump_glib.cc.orig 2022-02-28 16:54:41 UTC
+--- base/message_loop/message_pump_glib.cc.orig 2025-04-04 08:52:13 UTC
+++ base/message_loop/message_pump_glib.cc
@@ -8,6 +8,11 @@
#include <glib.h>
@@ -10,9 +10,9 @@
+#endif
+
#include "base/logging.h"
+ #include "base/memory/raw_ptr.h"
#include "base/notreached.h"
- #include "base/numerics/safe_conversions.h"
-@@ -50,9 +55,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti
+@@ -52,9 +57,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti
}
bool RunningOnMainThread() {
@@ -20,7 +20,7 @@
+ return pthread_main_np();
+#else
auto pid = getpid();
- auto tid = PlatformThread::CurrentId();
+ auto tid = PlatformThread::CurrentId().raw();
return pid > 0 && tid > 0 && pid == tid;
+#endif
}
diff --git a/www/chromium/files/patch-base_native__library__posix.cc b/www/chromium/files/patch-base_native__library__posix.cc
index c2b8d0e5e970..c6991b4f66ef 100644
--- a/www/chromium/files/patch-base_native__library__posix.cc
+++ b/www/chromium/files/patch-base_native__library__posix.cc
@@ -1,6 +1,6 @@
---- base/native_library_posix.cc.orig 2022-05-19 14:06:27 UTC
+--- base/native_library_posix.cc.orig 2024-08-26 12:06:38 UTC
+++ base/native_library_posix.cc
-@@ -33,7 +33,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FileP
+@@ -34,7 +34,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FileP
// http://crbug.com/17943, http://crbug.com/17557, http://crbug.com/36892,
// and http://crbug.com/40794.
int flags = RTLD_LAZY;
diff --git a/www/chromium/files/patch-base_native__library__unittest.cc b/www/chromium/files/patch-base_native__library__unittest.cc
index 4729ea97fb39..ff83c343cf95 100644
--- a/www/chromium/files/patch-base_native__library__unittest.cc
+++ b/www/chromium/files/patch-base_native__library__unittest.cc
@@ -1,6 +1,6 @@
---- base/native_library_unittest.cc.orig 2022-02-28 16:54:41 UTC
+--- base/native_library_unittest.cc.orig 2024-10-22 08:31:56 UTC
+++ base/native_library_unittest.cc
-@@ -119,7 +119,7 @@ TEST(NativeLibraryTest, LoadLibrary) {
+@@ -135,7 +135,7 @@ TEST(NativeLibraryTest, LoadLibrary) {
// versions with respect to symbol resolution scope.
// TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255
#if !BUILDFLAG(IS_ANDROID) && !defined(THREAD_SANITIZER) && \
diff --git a/www/chromium/files/patch-base_posix_file__descriptor__shuffle.h b/www/chromium/files/patch-base_posix_file__descriptor__shuffle.h
new file mode 100644
index 000000000000..f763069a2370
--- /dev/null
+++ b/www/chromium/files/patch-base_posix_file__descriptor__shuffle.h
@@ -0,0 +1,11 @@
+--- base/posix/file_descriptor_shuffle.h.orig 2024-10-22 08:31:56 UTC
++++ base/posix/file_descriptor_shuffle.h
+@@ -26,6 +26,8 @@
+ #include "base/base_export.h"
+ #include "base/compiler_specific.h"
+
++#undef close
++
+ namespace base {
+
+ // A Delegate which performs the actions required to perform an injective
diff --git a/www/chromium/files/patch-base_posix_sysctl.cc b/www/chromium/files/patch-base_posix_sysctl.cc
new file mode 100644
index 000000000000..564e1c8eaadd
--- /dev/null
+++ b/www/chromium/files/patch-base_posix_sysctl.cc
@@ -0,0 +1,10 @@
+--- base/posix/sysctl.cc.orig 2023-12-17 20:01:00 UTC
++++ base/posix/sysctl.cc
+@@ -4,6 +4,7 @@
+
+ #include "base/posix/sysctl.h"
+
++#include <sys/types.h>
+ #include <sys/sysctl.h>
+
+ #include <initializer_list>
diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket.cc b/www/chromium/files/patch-base_posix_unix__domain__socket.cc
index 9fac90a4accf..a773bacd01a9 100644
--- a/www/chromium/files/patch-base_posix_unix__domain__socket.cc
+++ b/www/chromium/files/patch-base_posix_unix__domain__socket.cc
@@ -1,6 +1,6 @@
---- base/posix/unix_domain_socket.cc.orig 2022-02-28 16:54:41 UTC
+--- base/posix/unix_domain_socket.cc.orig 2025-02-19 07:43:18 UTC
+++ base/posix/unix_domain_socket.cc
-@@ -50,7 +50,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) {
+@@ -47,7 +47,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) {
// static
bool UnixDomainSocket::EnableReceiveProcessId(int fd) {
@@ -9,7 +9,25 @@
const int enable = 1;
return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0;
#else
-@@ -140,7 +140,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
+@@ -73,7 +73,7 @@ bool UnixDomainSocket::SendMsg(int fd,
+
+ struct cmsghdr* cmsg;
+ msg.msg_control = control_buffer;
+-#if BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+ msg.msg_controllen = checked_cast<socklen_t>(control_len);
+ #else
+ msg.msg_controllen = control_len;
+@@ -81,7 +81,7 @@ bool UnixDomainSocket::SendMsg(int fd,
+ cmsg = CMSG_FIRSTHDR(&msg);
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_RIGHTS;
+-#if BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+ cmsg->cmsg_len = checked_cast<u_int>(CMSG_LEN(sizeof(int) * fds.size()));
+ #else
+ cmsg->cmsg_len = CMSG_LEN(sizeof(int) * fds.size());
+@@ -133,7 +133,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
const size_t kControlBufferSize =
CMSG_SPACE(sizeof(int) * kMaxFileDescriptors)
@@ -18,7 +36,7 @@
// macOS does not support ucred.
// macOS supports xucred, but this structure is insufficient.
+ CMSG_SPACE(sizeof(struct ucred))
-@@ -168,7 +168,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
+@@ -162,7 +162,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
wire_fds = reinterpret_cast<int*>(CMSG_DATA(cmsg));
wire_fds_len = payload_len / sizeof(int);
}
@@ -27,10 +45,10 @@
// macOS does not support SCM_CREDENTIALS.
if (cmsg->cmsg_level == SOL_SOCKET &&
cmsg->cmsg_type == SCM_CREDENTIALS) {
-@@ -202,6 +202,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
- socklen_t pid_size = sizeof(pid);
- if (getsockopt(fd, SOL_LOCAL, LOCAL_PEERPID, &pid, &pid_size) != 0)
+@@ -199,6 +199,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
+ if (getsockopt(fd, SOL_LOCAL, LOCAL_PEERPID, &pid, &pid_size) != 0) {
pid = -1;
+ }
+#elif BUILDFLAG(IS_BSD)
+ NOTIMPLEMENTED();
+ pid = -1;
diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc
index b2744d4abb50..c0912994822b 100644
--- a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc
+++ b/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc
@@ -1,11 +1,11 @@
---- base/posix/unix_domain_socket_unittest.cc.orig 2022-02-28 16:54:41 UTC
+--- base/posix/unix_domain_socket_unittest.cc.orig 2024-06-17 12:56:06 UTC
+++ base/posix/unix_domain_socket_unittest.cc
-@@ -10,6 +10,8 @@
+@@ -15,6 +15,8 @@
#include <sys/types.h>
#include <unistd.h>
+#include <signal.h>
+
- #include "base/bind.h"
- #include "base/callback_helpers.h"
#include "base/files/file_util.h"
+ #include "base/files/scoped_file.h"
+ #include "base/functional/bind.h"
diff --git a/www/chromium/files/patch-base_process_internal__linux.h b/www/chromium/files/patch-base_process_internal__linux.h
new file mode 100644
index 000000000000..fa154978ba86
--- /dev/null
+++ b/www/chromium/files/patch-base_process_internal__linux.h
@@ -0,0 +1,20 @@
+--- base/process/internal_linux.h.orig 2025-07-02 06:08:04 UTC
++++ base/process/internal_linux.h
+@@ -146,6 +146,9 @@ TimeDelta ClockTicksToTimeDelta(int64_t clock_ticks);
+ // arguments to the lambda.
+ template <typename Lambda>
+ void ForEachProcessTask(base::ProcessHandle process, Lambda&& lambda) {
++#if BUILDFLAG(IS_BSD)
++ return;
++#else
+ // Iterate through the different threads tracked in /proc/<pid>/task.
+ FilePath fd_path = GetProcPidDir(process).Append("task");
+
+@@ -169,6 +172,7 @@ void ForEachProcessTask(base::ProcessHandle process, L
+ FilePath task_path = fd_path.Append(tid_str);
+ lambda(tid, task_path);
+ }
++#endif
+ }
+
+ } // namespace internal
diff --git a/www/chromium/files/patch-base_process_kill.h b/www/chromium/files/patch-base_process_kill.h
index 1463ba9ed811..0b18ba432f9e 100644
--- a/www/chromium/files/patch-base_process_kill.h
+++ b/www/chromium/files/patch-base_process_kill.h
@@ -1,8 +1,8 @@
---- base/process/kill.h.orig 2022-05-19 14:06:27 UTC
+--- base/process/kill.h.orig 2025-02-19 07:43:18 UTC
+++ base/process/kill.h
-@@ -113,7 +113,7 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro
- BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus(
- ProcessHandle handle, int* exit_code);
+@@ -123,7 +123,7 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro
+ BASE_EXPORT TerminationStatus
+ GetKnownDeadTerminationStatus(ProcessHandle handle, int* exit_code);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-base_process_kill__posix.cc b/www/chromium/files/patch-base_process_kill__posix.cc
index e9446679c97c..d5d3c7a3e5f4 100644
--- a/www/chromium/files/patch-base_process_kill__posix.cc
+++ b/www/chromium/files/patch-base_process_kill__posix.cc
@@ -1,6 +1,6 @@
---- base/process/kill_posix.cc.orig 2022-05-19 14:06:27 UTC
+--- base/process/kill_posix.cc.orig 2025-02-19 07:43:18 UTC
+++ base/process/kill_posix.cc
-@@ -158,7 +158,7 @@ void EnsureProcessTerminated(Process process) {
+@@ -161,7 +161,7 @@ void EnsureProcessTerminated(Process process) {
0, new BackgroundReaper(std::move(process), Seconds(2)));
}
diff --git a/www/chromium/files/patch-base_process_launch.h b/www/chromium/files/patch-base_process_launch.h
index 2a8f08199824..077ee0ab0d0f 100644
--- a/www/chromium/files/patch-base_process_launch.h
+++ b/www/chromium/files/patch-base_process_launch.h
@@ -1,6 +1,6 @@
---- base/process/launch.h.orig 2022-06-17 14:20:10 UTC
+--- base/process/launch.h.orig 2025-05-28 14:55:43 UTC
+++ base/process/launch.h
-@@ -198,7 +198,7 @@ struct BASE_EXPORT LaunchOptions {
+@@ -245,7 +245,7 @@ struct BASE_EXPORT LaunchOptions {
bool clear_environment = false;
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
diff --git a/www/chromium/files/patch-base_process_launch__posix.cc b/www/chromium/files/patch-base_process_launch__posix.cc
index 137785dd2f2b..7421bfc19c8e 100644
--- a/www/chromium/files/patch-base_process_launch__posix.cc
+++ b/www/chromium/files/patch-base_process_launch__posix.cc
@@ -1,6 +1,6 @@
---- base/process/launch_posix.cc.orig 2022-06-17 14:20:10 UTC
+--- base/process/launch_posix.cc.orig 2025-04-04 08:52:13 UTC
+++ base/process/launch_posix.cc
-@@ -63,6 +63,9 @@
+@@ -62,6 +62,9 @@
#error "macOS should use launch_mac.cc"
#endif
diff --git a/www/chromium/files/patch-base_process_memory.cc b/www/chromium/files/patch-base_process_memory.cc
deleted file mode 100644
index 4c75405fc8fb..000000000000
--- a/www/chromium/files/patch-base_process_memory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/memory.cc.orig 2022-07-22 17:30:31 UTC
-+++ base/process/memory.cc
-@@ -29,7 +29,7 @@ namespace base {
- // Defined in memory_mac.mm for macOS + use_allocator="none". In case of
- // USE_PARTITION_ALLOC_AS_MALLOC, no need to route the call to the system
- // default calloc of macOS.
--#if !BUILDFLAG(IS_APPLE) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
-+#if (!BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
-
- bool UncheckedCalloc(size_t num_items, size_t size, void** result) {
- const size_t alloc_size = num_items * size;
diff --git a/www/chromium/files/patch-base_process_memory__linux.cc b/www/chromium/files/patch-base_process_memory__linux.cc
new file mode 100644
index 000000000000..1917ac874445
--- /dev/null
+++ b/www/chromium/files/patch-base_process_memory__linux.cc
@@ -0,0 +1,44 @@
+--- base/process/memory_linux.cc.orig 2025-02-19 07:43:18 UTC
++++ base/process/memory_linux.cc
+@@ -28,6 +28,7 @@ void __libc_free(void*);
+
+ namespace base {
+
++#if !BUILDFLAG(IS_BSD)
+ namespace {
+
+ void ReleaseReservationOrTerminate() {
+@@ -38,12 +39,14 @@ void ReleaseReservationOrTerminate() {
+ }
+
+ } // namespace
++#endif
+
+ void EnableTerminationOnHeapCorruption() {
+ // On Linux, there nothing to do AFAIK.
+ }
+
+ void EnableTerminationOnOutOfMemory() {
++#if !BUILDFLAG(IS_BSD)
+ // Set the new-out of memory handler.
+ std::set_new_handler(&ReleaseReservationOrTerminate);
+ // If we're using glibc's allocator, the above functions will override
+@@ -52,8 +55,10 @@ void EnableTerminationOnOutOfMemory() {
+ #if PA_BUILDFLAG(USE_ALLOCATOR_SHIM)
+ allocator_shim::SetCallNewHandlerOnMallocFailure(true);
+ #endif
++#endif
+ }
+
++#if !BUILDFLAG(IS_BSD)
+ // ScopedAllowBlocking() has private constructor and it can only be used in
+ // friend classes/functions. Declaring a class is easier in this situation to
+ // avoid adding more dependency to thread_restrictions.h because of the
+@@ -111,6 +116,7 @@ bool AdjustOOMScoreHelper::AdjustOOMScore(ProcessId pr
+ bool AdjustOOMScore(ProcessId process, int score) {
+ return AdjustOOMScoreHelper::AdjustOOMScore(process, score);
+ }
++#endif
+
+ bool UncheckedMalloc(size_t size, void** result) {
+ #if PA_BUILDFLAG(USE_ALLOCATOR_SHIM)
diff --git a/www/chromium/files/patch-base_process_process__handle.h b/www/chromium/files/patch-base_process_process__handle.h
index 5e25e86d099c..fdf7fcf2ae59 100644
--- a/www/chromium/files/patch-base_process_process__handle.h
+++ b/www/chromium/files/patch-base_process_process__handle.h
@@ -1,6 +1,6 @@
---- base/process/process_handle.h.orig 2022-02-28 16:54:41 UTC
+--- base/process/process_handle.h.orig 2024-01-30 07:53:34 UTC
+++ base/process/process_handle.h
-@@ -106,7 +106,7 @@ BASE_EXPORT ProcessId GetCurrentProcId();
+@@ -86,7 +86,7 @@ BASE_EXPORT ProcessId GetCurrentProcId();
// processes may be reused.
BASE_EXPORT UniqueProcId GetUniqueIdForProcess();
diff --git a/www/chromium/files/patch-base_process_process__handle__freebsd.cc b/www/chromium/files/patch-base_process_process__handle__freebsd.cc
index 5cc930471cea..1e055cdbfd37 100644
--- a/www/chromium/files/patch-base_process_process__handle__freebsd.cc
+++ b/www/chromium/files/patch-base_process_process__handle__freebsd.cc
@@ -1,4 +1,4 @@
---- base/process/process_handle_freebsd.cc.orig 2022-04-21 18:48:31 UTC
+--- base/process/process_handle_freebsd.cc.orig 2025-02-19 07:43:18 UTC
+++ base/process/process_handle_freebsd.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
@@ -8,18 +8,18 @@
#include <limits.h>
#include <stddef.h>
-@@ -15,10 +16,13 @@ namespace base {
+@@ -20,10 +21,13 @@ namespace base {
ProcessId GetParentProcessId(ProcessHandle process) {
struct kinfo_proc info;
- size_t length;
+ size_t length = sizeof(struct kinfo_proc);
- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process };
+ int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process};
- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0)
+ if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) {
+ return -1;
+
+ if (length < sizeof(struct kinfo_proc))
return -1;
+ }
- return info.ki_ppid;
diff --git a/www/chromium/files/patch-base_process_process__handle__openbsd.cc b/www/chromium/files/patch-base_process_process__handle__openbsd.cc
index f8e318565de3..053a17e70c8f 100644
--- a/www/chromium/files/patch-base_process_process__handle__openbsd.cc
+++ b/www/chromium/files/patch-base_process_process__handle__openbsd.cc
@@ -1,18 +1,22 @@
---- base/process/process_handle_openbsd.cc.orig 2022-04-21 18:48:31 UTC
+--- base/process/process_handle_openbsd.cc.orig 2025-02-19 07:43:18 UTC
+++ base/process/process_handle_openbsd.cc
-@@ -3,8 +3,11 @@
+@@ -3,17 +3,25 @@
// found in the LICENSE file.
#include "base/process/process_handle.h"
+#include "base/files/file_util.h"
#include <stddef.h>
++#include <stdlib.h>
+#include <sys/param.h>
+#include <sys/proc.h>
++#include <sys/stat.h>
#include <sys/sysctl.h>
#include <sys/types.h>
#include <unistd.h>
-@@ -12,39 +15,59 @@
+
++#include <kvm.h>
++
namespace base {
ProcessId GetParentProcessId(ProcessHandle process) {
@@ -20,22 +24,24 @@
+ struct kinfo_proc *info;
size_t length;
+ pid_t ppid;
- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process,
- sizeof(struct kinfo_proc), 0 };
-
- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0)
+ int mib[] = {
+ CTL_KERN, KERN_PROC, KERN_PROC_PID, process, sizeof(struct kinfo_proc),
+ 0};
+@@ -22,37 +30,87 @@ ProcessId GetParentProcessId(ProcessHandle process) {
return -1;
+ }
+- mib[5] = (length / sizeof(struct kinfo_proc));
+ info = (struct kinfo_proc *)malloc(length);
-+
- mib[5] = (length / sizeof(struct kinfo_proc));
-- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0)
+- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) {
- return -1;
++ mib[5] = static_cast<int>((length / sizeof(struct kinfo_proc)));
++
+ if (sysctl(mib, std::size(mib), info, &length, NULL, 0) < 0) {
+ ppid = -1;
+ goto out;
-+ }
+ }
- return info.p_ppid;
+ ppid = info->p_ppid;
@@ -47,43 +53,86 @@
FilePath GetProcessExecutablePath(ProcessHandle process) {
- struct kinfo_proc kp;
-- size_t len;
-+ struct kinfo_proc *info;
-+ size_t length;
-+ char *path = NULL;
- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process,
- sizeof(struct kinfo_proc), 0 };
++ struct kinfo_file *files;
++ kvm_t *kd = NULL;
++ char errbuf[_POSIX2_LINE_MAX];
++ char **retvalargs, *cpath, retval[PATH_MAX];
++ int cnt;
+ size_t len;
+- int mib[] = {
+- CTL_KERN, KERN_PROC, KERN_PROC_PID, process, sizeof(struct kinfo_proc),
+- 0};
++ char *tokens[2];
++ struct stat sb;
++ FilePath result;
-- if (sysctl(mib, std::size(mib), NULL, &len, NULL, 0) == -1)
-+ if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) == -1)
- return FilePath();
-- mib[5] = (len / sizeof(struct kinfo_proc));
-- if (sysctl(mib, std::size(mib), &kp, &len, NULL, 0) < 0)
-- return FilePath();
-- if ((kp.p_flag & P_SYSTEM) != 0)
+- if (sysctl(mib, std::size(mib), NULL, &len, NULL, 0) == -1) {
- return FilePath();
-- if (strcmp(kp.p_comm, "chrome") == 0)
-- return FilePath(kp.p_comm);
-
-- return FilePath();
-+ info = (struct kinfo_proc *)malloc(length);
++ int mib[] = { CTL_KERN, KERN_PROC_ARGS, process, KERN_PROC_ARGV };
+
-+ mib[5] = (length / sizeof(struct kinfo_proc));
++ if ((cpath = getenv("CHROME_EXE_PATH")) != NULL)
++ result = FilePath(cpath);
++ else
++ result = FilePath("/usr/local/chrome/chrome");
+
-+ if (sysctl(mib, std::size(mib), info, &length, NULL, 0) < 0)
-+ goto out;
++ if (sysctl(mib, std::size(mib), NULL, &len, NULL, 0) != -1) {
++ retvalargs = static_cast<char**>(malloc(len));
++ if (!retvalargs)
++ return result;
+
-+ if ((info->p_flag & P_SYSTEM) != 0)
-+ goto out;
++ if (sysctl(mib, std::size(mib), retvalargs, &len, NULL, 0) < 0) {
++ free(retvalargs);
++ return result;
++ }
+
-+ if (strcmp(info->p_comm, "chrome") == 0) {
-+ path = info->p_comm;
-+ goto out;
-+ }
++ if ((*tokens = strtok(retvalargs[0], ":")) == NULL) {
++ free(retvalargs);
++ return result;
++ }
+
-+out:
-+ free(info);
-+ return FilePath(path);
++ free(retvalargs);
++
++ if (tokens[0] == NULL)
++ return result;
++
++ if (realpath(tokens[0], retval) == NULL)
++ return result;
++
++ if (stat(retval, &sb) < 0)
++ return result;
++
++ if ((kd = kvm_openfiles(NULL, NULL, NULL, (int)KVM_NO_FILES,
++ errbuf)) == NULL)
++ return result;
++
++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process,
++ sizeof(struct kinfo_file), &cnt)) == NULL) {
++ kvm_close(kd);
++ return result;
++ }
++
++ for (int i = 0; i < cnt; i++) {
++ if (files[i].fd_fd == KERN_FILE_TEXT &&
++ files[i].va_fsid == static_cast<uint32_t>(sb.st_dev) &&
++ files[i].va_fileid == sb.st_ino) {
++ kvm_close(kd);
++ result = FilePath(retval);
++ }
++ }
+ }
+- mib[5] = (len / sizeof(struct kinfo_proc));
+- if (sysctl(mib, std::size(mib), &kp, &len, NULL, 0) < 0) {
+- return FilePath();
+- }
+- if ((kp.p_flag & P_SYSTEM) != 0) {
+- return FilePath();
+- }
+- if (strcmp(kp.p_comm, "chrome") == 0) {
+- return FilePath(kp.p_comm);
+- }
+
+- return FilePath();
++ return result;
}
} // namespace base
diff --git a/www/chromium/files/patch-base_process_process__iterator__freebsd.cc b/www/chromium/files/patch-base_process_process__iterator__freebsd.cc
index 88715effc731..36a9532f5fa5 100644
--- a/www/chromium/files/patch-base_process_process__iterator__freebsd.cc
+++ b/www/chromium/files/patch-base_process_process__iterator__freebsd.cc
@@ -1,15 +1,15 @@
---- base/process/process_iterator_freebsd.cc.orig 2022-04-21 18:48:31 UTC
+--- base/process/process_iterator_freebsd.cc.orig 2025-02-19 07:43:18 UTC
+++ base/process/process_iterator_freebsd.cc
-@@ -20,7 +20,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
- : index_of_kinfo_proc_(),
- filter_(filter) {
+@@ -18,7 +18,7 @@ namespace base {
-- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid() };
-+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, (int) getuid() };
+ ProcessIterator::ProcessIterator(const ProcessFilter* filter)
+ : filter_(filter) {
+- int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid()};
++ int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_UID, (int) getuid()};
bool done = false;
int try_num = 1;
-@@ -39,7 +39,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
+@@ -37,7 +37,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
num_of_kinfo_proc += 16;
kinfo_procs_.resize(num_of_kinfo_proc);
len = num_of_kinfo_proc * sizeof(struct kinfo_proc);
@@ -18,24 +18,25 @@
// If we get a mem error, it just means we need a bigger buffer, so
// loop around again. Anything else is a real error and give up.
if (errno != ENOMEM) {
-@@ -49,7 +49,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
+@@ -47,7 +47,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
}
} else {
// Got the list, just make sure we're sized exactly right
- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
-+ num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
++ num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
kinfo_procs_.resize(num_of_kinfo_proc);
done = true;
}
-@@ -71,18 +71,13 @@ bool ProcessIterator::CheckForNextProcess() {
+@@ -68,19 +68,14 @@ bool ProcessIterator::CheckForNextProcess() {
for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) {
size_t length;
struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_];
-- int mib[] = { CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid };
+- int mib[] = {CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid};
+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid };
- if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB))
+ if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB)) {
continue;
+ }
- length = 0;
- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) {
diff --git a/www/chromium/files/patch-base_process_process__iterator__openbsd.cc b/www/chromium/files/patch-base_process_process__iterator__openbsd.cc
index 5b63c8ddba9d..b275b2b6ced1 100644
--- a/www/chromium/files/patch-base_process_process__iterator__openbsd.cc
+++ b/www/chromium/files/patch-base_process_process__iterator__openbsd.cc
@@ -1,4 +1,4 @@
---- base/process/process_iterator_openbsd.cc.orig 2022-04-21 18:48:31 UTC
+--- base/process/process_iterator_openbsd.cc.orig 2025-02-19 07:43:18 UTC
+++ base/process/process_iterator_openbsd.cc
@@ -6,6 +6,9 @@
@@ -10,13 +10,14 @@
#include <sys/sysctl.h>
#include "base/logging.h"
-@@ -18,12 +21,13 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
- : index_of_kinfo_proc_(),
- filter_(filter) {
-
-- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid(),
-+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, static_cast<int>(getuid()),
- sizeof(struct kinfo_proc), 0 };
+@@ -17,12 +20,13 @@ namespace base {
+ ProcessIterator::ProcessIterator(const ProcessFilter* filter)
+ : filter_(filter) {
+ int mib[] = {
+- CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid(), sizeof(struct kinfo_proc),
+- 0};
++ CTL_KERN, KERN_PROC, KERN_PROC_UID, static_cast<int>(getuid()),
++ sizeof(struct kinfo_proc), 0 };
bool done = false;
int try_num = 1;
@@ -25,7 +26,7 @@
do {
size_t len = 0;
-@@ -32,7 +36,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
+@@ -31,7 +35,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
kinfo_procs_.resize(0);
done = true;
} else {
@@ -34,7 +35,7 @@
// Leave some spare room for process table growth (more could show up
// between when we check and now)
num_of_kinfo_proc += 16;
-@@ -48,7 +52,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
+@@ -47,7 +51,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
}
} else {
// Got the list, just make sure we're sized exactly right
diff --git a/www/chromium/files/patch-base_process_process__metrics.cc b/www/chromium/files/patch-base_process_process__metrics.cc
index 612be1c5ded0..486883bcb987 100644
--- a/www/chromium/files/patch-base_process_process__metrics.cc
+++ b/www/chromium/files/patch-base_process_process__metrics.cc
@@ -1,4 +1,4 @@
---- base/process/process_metrics.cc.orig 2022-06-17 14:20:10 UTC
+--- base/process/process_metrics.cc.orig 2025-02-19 07:43:18 UTC
+++ base/process/process_metrics.cc
@@ -17,7 +17,7 @@ namespace base {
namespace {
@@ -18,26 +18,28 @@
GetSystemMemoryInfo(&system_metrics.memory_info_);
GetVmStatInfo(&system_metrics.vmstat_info_);
GetSystemDiskInfo(&system_metrics.disk_info_);
-@@ -73,7 +73,7 @@ Value SystemMetrics::ToValue() const {
- Value res(Value::Type::DICTIONARY);
+@@ -73,7 +73,7 @@ Value::Dict SystemMetrics::ToDict() const {
+ Value::Dict res;
- res.SetIntKey("committed_memory", static_cast<int>(committed_memory_));
+ res.Set("committed_memory", static_cast<int>(committed_memory_));
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- Value meminfo = memory_info_.ToValue();
- Value vmstat = vmstat_info_.ToValue();
- meminfo.MergeDictionary(&vmstat);
-@@ -99,7 +99,7 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create
+ Value::Dict meminfo = memory_info_.ToDict();
+ meminfo.Merge(vmstat_info_.ToDict());
+ res.Set("meminfo", std::move(meminfo));
+@@ -100,7 +100,6 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create
#endif // !BUILDFLAG(IS_MAC)
}
-#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX)
-+#if !BUILDFLAG(IS_BSD) || !BUILDFLAG(IS_POSIX)
- double ProcessMetrics::GetPlatformIndependentCPUUsage() {
- TimeDelta cumulative_cpu = GetCumulativeCPUUsage();
+ double ProcessMetrics::GetPlatformIndependentCPUUsage(
+ TimeDelta cumulative_cpu) {
TimeTicks time = TimeTicks::Now();
-@@ -150,7 +150,7 @@ double ProcessMetrics::GetPreciseCPUUsage() {
- #endif // BUILDFLAG(IS_WIN)
+@@ -130,10 +129,9 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() {
+ return GetPlatformIndependentCPUUsage(cpu_usage);
+ });
+ }
+-#endif
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
diff --git a/www/chromium/files/patch-base_process_process__metrics.h b/www/chromium/files/patch-base_process_process__metrics.h
index 79286ab92b7d..07463e92edbf 100644
--- a/www/chromium/files/patch-base_process_process__metrics.h
+++ b/www/chromium/files/patch-base_process_process__metrics.h
@@ -1,6 +1,6 @@
---- base/process/process_metrics.h.orig 2022-06-17 14:20:10 UTC
+--- base/process/process_metrics.h.orig 2025-02-19 07:43:18 UTC
+++ base/process/process_metrics.h
-@@ -35,7 +35,7 @@
+@@ -39,7 +39,7 @@
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
@@ -9,26 +9,17 @@
#include <string>
#include <utility>
#include <vector>
-@@ -51,7 +51,7 @@ class Value;
- // Full declaration is in process_metrics_iocounters.h.
- struct IoCounters;
+@@ -49,7 +49,7 @@
+
+ namespace base {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
// Minor and major page fault counts since the process creation.
// Both counts are process-wide, and exclude child processes.
//
-@@ -106,7 +106,7 @@ class BASE_EXPORT ProcessMetrics {
- // convenience wrapper for CreateProcessMetrics().
- static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics();
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- // Resident Set Size is a Linux/Android specific memory concept. Do not
- // attempt to extend this to other platforms.
- BASE_EXPORT size_t GetResidentSetSize() const;
-@@ -154,7 +154,7 @@ class BASE_EXPORT ProcessMetrics {
- #endif // BUILDFLAG(IS_WIN)
+@@ -179,7 +179,7 @@ class BASE_EXPORT ProcessMetrics {
+ base::expected<TimeDelta, ProcessCPUUsageError> GetCumulativeCPUUsage();
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_AIX)
@@ -36,16 +27,16 @@
// Emits the cumulative CPU usage for all currently active threads since they
// were started into the output parameter (replacing its current contents).
// Threads that have already terminated will not be reported. Thus, the sum of
-@@ -237,7 +237,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -224,7 +224,7 @@ class BASE_EXPORT ProcessMetrics {
int GetOpenFdSoftLimit() const;
#endif // BUILDFLAG(IS_POSIX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- // Bytes of swap as reported by /proc/[pid]/status.
- uint64_t GetVmSwapBytes() const;
-
-@@ -258,7 +258,7 @@ class BASE_EXPORT ProcessMetrics {
+ // Minor and major page fault count as reported by /proc/[pid]/stat.
+ // Returns true for success.
+ bool GetPageFaultCounts(PageFaultCounts* counts) const;
+@@ -242,7 +242,7 @@ class BASE_EXPORT ProcessMetrics {
#endif // !BUILDFLAG(IS_MAC)
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -54,17 +45,13 @@
int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups);
#endif
#if BUILDFLAG(IS_APPLE)
-@@ -269,7 +269,7 @@ class BASE_EXPORT ProcessMetrics {
- #endif
-
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
-- BUILDFLAG(IS_AIX)
-+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
- CPU::CoreType GetCoreType(int core_index);
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
- // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX)
-@@ -293,7 +293,7 @@ class BASE_EXPORT ProcessMetrics {
- #endif
+@@ -264,12 +264,10 @@ class BASE_EXPORT ProcessMetrics {
+ // Used to store the previous times and CPU usage counts so we can
+ // compute the CPU usage between calls.
+ TimeTicks last_cpu_time_;
+-#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX)
+ TimeDelta last_cumulative_cpu_;
+-#endif
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
@@ -72,7 +59,7 @@
// Same thing for idle wakeups.
TimeTicks last_idle_wakeups_time_;
uint64_t last_absolute_idle_wakeups_;
-@@ -336,7 +336,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de
+@@ -310,7 +308,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX) || \
@@ -81,7 +68,7 @@
// Data about system-wide memory consumption. Values are in KB. Available on
// Windows, Mac, Linux, Android and Chrome OS.
//
-@@ -371,7 +371,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
+@@ -345,7 +343,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
@@ -90,7 +77,7 @@
// This provides an estimate of available memory as described here:
// https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
// NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always
-@@ -386,7 +386,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
+@@ -360,7 +358,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
#endif
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -99,7 +86,7 @@
int buffers = 0;
int cached = 0;
int active_anon = 0;
-@@ -423,7 +423,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK
+@@ -397,7 +395,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK
// BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
@@ -108,7 +95,7 @@
// Parse the data found in /proc/<pid>/stat and return the sum of the
// CPU-related ticks. Returns -1 on parse error.
// Exposed for testing.
-@@ -610,7 +610,7 @@ class BASE_EXPORT SystemMetrics {
+@@ -591,7 +589,7 @@ class BASE_EXPORT SystemMetrics {
FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics);
size_t committed_memory_;
diff --git a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
index 6e1f650925be..d3f664f95e5a 100644
--- a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
+++ b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
@@ -1,6 +1,6 @@
---- base/process/process_metrics_freebsd.cc.orig 2022-04-21 18:48:31 UTC
+--- base/process/process_metrics_freebsd.cc.orig 2025-02-19 07:43:18 UTC
+++ base/process/process_metrics_freebsd.cc
-@@ -3,20 +3,39 @@
+@@ -3,41 +3,92 @@
// found in the LICENSE file.
#include "base/process/process_metrics.h"
@@ -17,7 +17,6 @@
+#include <libutil.h>
+
#include "base/memory/ptr_util.h"
- #include "base/process/process_metrics_iocounters.h"
+#include "base/values.h"
namespace base {
@@ -26,51 +25,92 @@
+ int pagesize = getpagesize();
+ int pageshift = 0;
+-ProcessMetrics::ProcessMetrics(ProcessHandle process)
+- : process_(process), last_cpu_(0) {}
+ while (pagesize > 1) {
+ pageshift++;
+ pagesize >>= 1;
+ }
-+
+
+ return pageshift;
+}
+}
+
- ProcessMetrics::ProcessMetrics(ProcessHandle process)
-- : process_(process),
-- last_cpu_(0) {}
-+ : process_(process) {}
-
++ProcessMetrics::ProcessMetrics(ProcessHandle process) : process_(process) {}
++
// static
std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
-@@ -26,17 +45,18 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create
+ ProcessHandle process) {
+ return WrapUnique(new ProcessMetrics(process));
+ }
- double ProcessMetrics::GetPlatformIndependentCPUUsage() {
- struct kinfo_proc info;
+-base::expected<double, ProcessCPUUsageError>
+-ProcessMetrics::GetPlatformIndependentCPUUsage() {
+- struct kinfo_proc info;
- int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process_};
- size_t length = sizeof(info);
-+ size_t length = sizeof(struct kinfo_proc);
++base::expected<ProcessMemoryInfo, ProcessUsageError>
++ProcessMetrics::GetMemoryInfo() const {
++ ProcessMemoryInfo memory_info;
++ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open");
++ struct kinfo_proc *pp;
++ int nproc;
-+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ };
-+
- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0)
-- return 0;
-+ return 0.0;
+- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) {
+- return base::unexpected(ProcessCPUUsageError::kSystemError);
++ if (kd == nullptr) {
++ return base::unexpected(ProcessUsageError::kSystemError);
+ }
-- return (info.ki_pctcpu / FSCALE) * 100.0;
-+ return static_cast<double>((info.ki_pctcpu * 100.0) / FSCALE);
+- return base::ok(double{info.ki_pctcpu} / FSCALE * 100.0);
++ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) {
++ kvm_close(kd);
++ return base::unexpected(ProcessUsageError::kProcessNotFound);
++ }
++
++ if (nproc > 0) {
++ memory_info.resident_set_bytes = pp->ki_rssize << GetPageShift();
++ } else {
++ kvm_close(kd);
++ return base::unexpected(ProcessUsageError::kProcessNotFound);
++ }
++
++ kvm_close(kd);
++ return memory_info;
}
- TimeDelta ProcessMetrics::GetCumulativeCPUUsage() {
+ base::expected<TimeDelta, ProcessCPUUsageError>
+ ProcessMetrics::GetCumulativeCPUUsage() {
- NOTREACHED();
-+ NOTIMPLEMENTED();
- return TimeDelta();
++ struct kinfo_proc info;
++ size_t length = sizeof(struct kinfo_proc);
++ struct timeval tv;
++
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ };
++
++ if (process_ == 0) {
++ return base::unexpected(ProcessCPUUsageError::kSystemError);
++ }
++
++ if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) {
++ return base::unexpected(ProcessCPUUsageError::kSystemError);
++ }
++
++ if (length == 0) {
++ return base::unexpected(ProcessCPUUsageError::kProcessNotFound);
++ }
++
++ return base::ok(Microseconds(info.ki_runtime));
}
-@@ -67,4 +87,221 @@ size_t GetSystemCommitCharge() {
- return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
- }
+ size_t GetSystemCommitCharge() {
+@@ -64,6 +115,176 @@ size_t GetSystemCommitCharge() {
+ pagesize = getpagesize();
-+int GetNumberOfThreads(ProcessHandle process) {
+ return mem_total - (mem_free * pagesize) - (mem_inactive * pagesize);
++}
++
++int64_t GetNumberOfThreads(ProcessHandle process) {
+ // Taken from FreeBSD top (usr.bin/top/machine.c)
+
+ kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open");
@@ -150,60 +190,6 @@
+ return total_count;
+}
+
-+size_t ProcessMetrics::GetResidentSetSize() const {
-+ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open");
-+
-+ if (kd == nullptr)
-+ return 0;
-+
-+ struct kinfo_proc *pp;
-+ int nproc;
-+
-+ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) {
-+ kvm_close(kd);
-+ return 0;
-+ }
-+
-+ size_t rss;
-+
-+ if (nproc > 0) {
-+ rss = pp->ki_rssize << GetPageShift();
-+ } else {
-+ rss = 0;
-+ }
-+
-+ kvm_close(kd);
-+ return rss;
-+}
-+
-+uint64_t ProcessMetrics::GetVmSwapBytes() const {
-+ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open");
-+
-+ if (kd == nullptr)
-+ return 0;
-+
-+ struct kinfo_proc *pp;
-+ int nproc;
-+
-+ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) {
-+ kvm_close(kd);
-+ return 0;
-+ }
-+
-+ size_t swrss;
-+
-+ if (nproc > 0) {
-+ swrss = pp->ki_swrss > pp->ki_rssize
-+ ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift()
-+ : 0;
-+ } else {
-+ swrss = 0;
-+ }
-+
-+ kvm_close(kd);
-+ return swrss;
-+}
-+
+int ProcessMetrics::GetIdleWakeupsPerSecond() {
+ NOTIMPLEMENTED();
+ return 0;
@@ -237,54 +223,61 @@
+
+SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default;
+
-+Value SystemDiskInfo::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
++Value::Dict SystemDiskInfo::ToDict() const {
++ Value::Dict res;
+
+ // Write out uint64_t variables as doubles.
+ // Note: this may discard some precision, but for JS there's no other option.
-+ res.SetDoubleKey("reads", static_cast<double>(reads));
-+ res.SetDoubleKey("reads_merged", static_cast<double>(reads_merged));
-+ res.SetDoubleKey("sectors_read", static_cast<double>(sectors_read));
-+ res.SetDoubleKey("read_time", static_cast<double>(read_time));
-+ res.SetDoubleKey("writes", static_cast<double>(writes));
-+ res.SetDoubleKey("writes_merged", static_cast<double>(writes_merged));
-+ res.SetDoubleKey("sectors_written", static_cast<double>(sectors_written));
-+ res.SetDoubleKey("write_time", static_cast<double>(write_time));
-+ res.SetDoubleKey("io", static_cast<double>(io));
-+ res.SetDoubleKey("io_time", static_cast<double>(io_time));
-+ res.SetDoubleKey("weighted_io_time", static_cast<double>(weighted_io_time));
++ res.Set("reads", static_cast<double>(reads));
++ res.Set("reads_merged", static_cast<double>(reads_merged));
++ res.Set("sectors_read", static_cast<double>(sectors_read));
++ res.Set("read_time", static_cast<double>(read_time));
++ res.Set("writes", static_cast<double>(writes));
++ res.Set("writes_merged", static_cast<double>(writes_merged));
++ res.Set("sectors_written", static_cast<double>(sectors_written));
++ res.Set("write_time", static_cast<double>(write_time));
++ res.Set("io", static_cast<double>(io));
++ res.Set("io_time", static_cast<double>(io_time));
++ res.Set("weighted_io_time", static_cast<double>(weighted_io_time));
++
++ NOTIMPLEMENTED();
+
+ return res;
+}
+
-+Value SystemMemoryInfoKB::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
-+
-+ res.SetIntKey("total", total);
-+ res.SetIntKey("free", free);
-+ res.SetIntKey("available", available);
-+ res.SetIntKey("buffers", buffers);
-+ res.SetIntKey("cached", cached);
-+ res.SetIntKey("active_anon", active_anon);
-+ res.SetIntKey("inactive_anon", inactive_anon);
-+ res.SetIntKey("active_file", active_file);
-+ res.SetIntKey("inactive_file", inactive_file);
-+ res.SetIntKey("swap_total", swap_total);
-+ res.SetIntKey("swap_free", swap_free);
-+ res.SetIntKey("swap_used", swap_total - swap_free);
-+ res.SetIntKey("dirty", dirty);
-+ res.SetIntKey("reclaimable", reclaimable);
++Value::Dict SystemMemoryInfoKB::ToDict() const {
++ Value::Dict res;
++ res.Set("total", total);
++ res.Set("free", free);
++ res.Set("available", available);
++ res.Set("buffers", buffers);
++ res.Set("cached", cached);
++ res.Set("active_anon", active_anon);
++ res.Set("inactive_anon", inactive_anon);
++ res.Set("active_file", active_file);
++ res.Set("inactive_file", inactive_file);
++ res.Set("swap_total", swap_total);
++ res.Set("swap_free", swap_free);
++ res.Set("swap_used", swap_total - swap_free);
++ res.Set("dirty", dirty);
++ res.Set("reclaimable", reclaimable);
++
++ NOTIMPLEMENTED();
+
+ return res;
+}
+
-+Value VmStatInfo::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
++Value::Dict VmStatInfo::ToDict() const {
++ Value::Dict res;
++ // TODO(crbug.com/1334256): Make base::Value able to hold uint64_t and remove
++ // casts below.
++ res.Set("pswpin", static_cast<int>(pswpin));
++ res.Set("pswpout", static_cast<int>(pswpout));
++ res.Set("pgmajfault", static_cast<int>(pgmajfault));
+
-+ res.SetIntKey("pswpin", pswpin);
-+ res.SetIntKey("pswpout", pswpout);
-+ res.SetIntKey("pgmajfault", pgmajfault);
++ NOTIMPLEMENTED();
+
+ return res;
-+}
+ }
+
} // namespace base
diff --git a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
index 7cf86d373978..5bb5b1da2134 100644
--- a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
+++ b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
@@ -1,6 +1,6 @@
---- base/process/process_metrics_openbsd.cc.orig 2022-04-21 18:48:31 UTC
+--- base/process/process_metrics_openbsd.cc.orig 2025-02-25 07:06:47 UTC
+++ base/process/process_metrics_openbsd.cc
-@@ -6,14 +6,23 @@
+@@ -6,73 +6,85 @@
#include <stddef.h>
#include <stdint.h>
@@ -12,108 +12,137 @@
+#include <kvm.h>
+
#include "base/memory/ptr_util.h"
- #include "base/process/process_metrics_iocounters.h"
+ #include "base/types/expected.h"
+#include "base/values.h"
+#include "base/notreached.h"
namespace base {
-+ProcessMetrics::ProcessMetrics(ProcessHandle process)
-+ : process_(process) {}
-+
- // static
- std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
- ProcessHandle process) {
-@@ -24,49 +33,24 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun
- return false;
- }
+-namespace {
++ProcessMetrics::ProcessMetrics(ProcessHandle process) : process_(process) {}
--static int GetProcessCPU(pid_t pid) {
-+double ProcessMetrics::GetPlatformIndependentCPUUsage() {
+-base::expected<int, ProcessCPUUsageError> GetProcessCPU(pid_t pid) {
++base::expected<ProcessMemoryInfo, ProcessUsageError>
++ProcessMetrics::GetMemoryInfo() const {
++ ProcessMemoryInfo memory_info;
struct kinfo_proc info;
- size_t length;
-- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid,
-- sizeof(struct kinfo_proc), 0 };
+- int mib[] = {
+- CTL_KERN, KERN_PROC, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), 0};
+ size_t length = sizeof(struct kinfo_proc);
-- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0)
-- return -1;
+- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) {
+- return base::unexpected(ProcessCPUUsageError::kSystemError);
+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_,
+ sizeof(struct kinfo_proc), 1 };
++
++ if (process_ == 0) {
++ return base::unexpected(ProcessUsageError::kSystemError);
+ }
- mib[5] = (length / sizeof(struct kinfo_proc));
-
- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0)
-- return 0;
-+ return 0.0;
+ if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) {
+- return base::unexpected(ProcessCPUUsageError::kSystemError);
++ return base::unexpected(ProcessUsageError::kSystemError);
+ }
+
+- return base::ok(info.p_pctcpu);
+-}
++ if (length == 0) {
++ return base::unexpected(ProcessUsageError::kProcessNotFound);
++ }
-- return info.p_pctcpu;
-+ return static_cast<double>((info.p_pctcpu * 100.0) / FSCALE);
+-} // namespace
++ memory_info.resident_set_bytes =
++ checked_cast<uint64_t>(info.p_vm_rssize * getpagesize());
+
+-// static
+-std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
+- ProcessHandle process) {
+- return WrapUnique(new ProcessMetrics(process));
++ return memory_info;
}
--double ProcessMetrics::GetPlatformIndependentCPUUsage() {
+-base::expected<double, ProcessCPUUsageError>
+-ProcessMetrics::GetPlatformIndependentCPUUsage() {
- TimeTicks time = TimeTicks::Now();
--
++base::expected<TimeDelta, ProcessCPUUsageError>
++ProcessMetrics::GetCumulativeCPUUsage() {
++ struct kinfo_proc info;
++ size_t length = sizeof(struct kinfo_proc);
++ struct timeval tv;
+
- if (last_cpu_time_.is_zero()) {
- // First call, just set the last values.
- last_cpu_time_ = time;
-- return 0;
-- }
--
-- int cpu = GetProcessCPU(process_);
--
+- return base::ok(0.0);
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_,
++ sizeof(struct kinfo_proc), 1 };
++
++ if (process_ == 0) {
++ return base::unexpected(ProcessCPUUsageError::kSystemError);
+ }
+
+- const base::expected<int, ProcessCPUUsageError> cpu = GetProcessCPU(process_);
+- if (!cpu.has_value()) {
+- return base::unexpected(cpu.error());
++ if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) {
++ return base::unexpected(ProcessCPUUsageError::kSystemError);
+ }
+
- last_cpu_time_ = time;
-- double percentage = static_cast<double>((cpu * 100.0) / FSCALE);
--
-- return percentage;
--}
--
- TimeDelta ProcessMetrics::GetCumulativeCPUUsage() {
- NOTREACHED();
- return TimeDelta();
+- return base::ok(double{cpu.value()} / FSCALE * 100.0);
++ if (length == 0) {
++ return base::unexpected(ProcessCPUUsageError::kProcessNotFound);
++ }
++
++ tv.tv_sec = info.p_rtime_sec;
++ tv.tv_usec = info.p_rtime_usec;
++
++ return base::ok(Microseconds(TimeValToMicroseconds(tv)));
+ }
+
+-base::expected<TimeDelta, ProcessCPUUsageError>
+-ProcessMetrics::GetCumulativeCPUUsage() {
+- NOTREACHED();
++// static
++std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
++ ProcessHandle process) {
++ return WrapUnique(new ProcessMetrics(process));
}
-ProcessMetrics::ProcessMetrics(ProcessHandle process)
-- : process_(process),
-- last_cpu_(0) {}
+- : process_(process), last_cpu_(0) {}
-
size_t GetSystemCommitCharge() {
- int mib[] = { CTL_VM, VM_METER };
- int pagesize;
-@@ -84,6 +68,129 @@ size_t GetSystemCommitCharge() {
- pagesize = getpagesize();
+ int mib[] = {CTL_VM, VM_METER};
+- int pagesize;
++ size_t pagesize;
+ struct vmtotal vmtotal;
+ unsigned long mem_total, mem_free, mem_inactive;
+ size_t len = sizeof(vmtotal);
+@@ -85,9 +97,115 @@ size_t GetSystemCommitCharge() {
+ mem_free = vmtotal.t_free;
+ mem_inactive = vmtotal.t_vm - vmtotal.t_avm;
- return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
+- pagesize = getpagesize();
++ pagesize = checked_cast<size_t>(getpagesize());
+
+ return mem_total - (mem_free * pagesize) - (mem_inactive * pagesize);
+}
+
+int ProcessMetrics::GetOpenFdCount() const {
-+ struct kinfo_file *files;
-+ kvm_t *kd = NULL;
-+ int total_count = 0;
-+ char errbuf[_POSIX2_LINE_MAX];
-+
-+ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL)
-+ goto out;
-+
-+ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process_,
-+ sizeof(struct kinfo_file), &total_count)) == NULL) {
-+ total_count = 0;
-+ goto out;
-+ }
-+
-+ kvm_close(kd);
-+
-+out:
-+ return total_count;
++ return (process_ == getpid()) ? getdtablecount() : -1;
+}
+
+int ProcessMetrics::GetOpenFdSoftLimit() const {
-+ return GetMaxFds();
++ return getdtablesize();
+}
+
-+uint64_t ProcessMetrics::GetVmSwapBytes() const {
++bool ProcessMetrics::GetPageFaultCounts(PageFaultCounts* counts) const {
+ NOTIMPLEMENTED();
-+ return 0;
++ return false;
+}
+
+bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) {
@@ -121,22 +150,6 @@
+ return false;
+}
+
-+SystemDiskInfo::SystemDiskInfo() {
-+ reads = 0;
-+ reads_merged = 0;
-+ sectors_read = 0;
-+ read_time = 0;
-+ writes = 0;
-+ writes_merged = 0;
-+ sectors_written = 0;
-+ write_time = 0;
-+ io = 0;
-+ io_time = 0;
-+ weighted_io_time = 0;
-+}
-+
-+SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default;
-+
+bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) {
+ NOTIMPLEMENTED();
+ return false;
@@ -152,57 +165,73 @@
+ return 0;
+}
+
-+Value SystemMemoryInfoKB::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
-+ res.SetIntKey("total", total);
-+ res.SetIntKey("free", free);
-+ res.SetIntKey("available", available);
-+ res.SetIntKey("buffers", buffers);
-+ res.SetIntKey("cached", cached);
-+ res.SetIntKey("active_anon", active_anon);
-+ res.SetIntKey("inactive_anon", inactive_anon);
-+ res.SetIntKey("active_file", active_file);
-+ res.SetIntKey("inactive_file", inactive_file);
-+ res.SetIntKey("swap_total", swap_total);
-+ res.SetIntKey("swap_free", swap_free);
-+ res.SetIntKey("swap_used", swap_total - swap_free);
-+ res.SetIntKey("dirty", dirty);
-+ res.SetIntKey("reclaimable", reclaimable);
++Value::Dict SystemMemoryInfoKB::ToDict() const {
++ Value::Dict res;
++ res.Set("total", total);
++ res.Set("free", free);
++ res.Set("available", available);
++ res.Set("buffers", buffers);
++ res.Set("cached", cached);
++ res.Set("active_anon", active_anon);
++ res.Set("inactive_anon", inactive_anon);
++ res.Set("active_file", active_file);
++ res.Set("inactive_file", inactive_file);
++ res.Set("swap_total", swap_total);
++ res.Set("swap_free", swap_free);
++ res.Set("swap_used", swap_total - swap_free);
++ res.Set("dirty", dirty);
++ res.Set("reclaimable", reclaimable);
+
+ NOTIMPLEMENTED();
+
+ return res;
+}
+
-+Value VmStatInfo::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
-+ res.SetIntKey("pswpin", pswpin);
-+ res.SetIntKey("pswpout", pswpout);
-+ res.SetIntKey("pgmajfault", pgmajfault);
++Value::Dict VmStatInfo::ToDict() const {
++ Value::Dict res;
++ res.Set("pswpin", static_cast<int>(pswpin));
++ res.Set("pswpout", static_cast<int>(pswpout));
++ res.Set("pgmajfault", static_cast<int>(pgmajfault));
+
+ NOTIMPLEMENTED();
+
+ return res;
+}
+
++SystemDiskInfo::SystemDiskInfo() {
++ reads = 0;
++ reads_merged = 0;
++ sectors_read = 0;
++ read_time = 0;
++ writes = 0;
++ writes_merged = 0;
++ sectors_written = 0;
++ write_time = 0;
++ io = 0;
++ io_time = 0;
++ weighted_io_time = 0;
++}
++
++SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo&) = default;
++
+SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default;
+
-+Value SystemDiskInfo::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
++Value::Dict SystemDiskInfo::ToDict() const {
++ Value::Dict res;
+
+ // Write out uint64_t variables as doubles.
+ // Note: this may discard some precision, but for JS there's no other option.
-+ res.SetDoubleKey("reads", static_cast<double>(reads));
-+ res.SetDoubleKey("reads_merged", static_cast<double>(reads_merged));
-+ res.SetDoubleKey("sectors_read", static_cast<double>(sectors_read));
-+ res.SetDoubleKey("read_time", static_cast<double>(read_time));
-+ res.SetDoubleKey("writes", static_cast<double>(writes));
-+ res.SetDoubleKey("writes_merged", static_cast<double>(writes_merged));
-+ res.SetDoubleKey("sectors_written", static_cast<double>(sectors_written));
-+ res.SetDoubleKey("write_time", static_cast<double>(write_time));
-+ res.SetDoubleKey("io", static_cast<double>(io));
-+ res.SetDoubleKey("io_time", static_cast<double>(io_time));
-+ res.SetDoubleKey("weighted_io_time", static_cast<double>(weighted_io_time));
++ res.Set("reads", static_cast<double>(reads));
++ res.Set("reads_merged", static_cast<double>(reads_merged));
++ res.Set("sectors_read", static_cast<double>(sectors_read));
++ res.Set("read_time", static_cast<double>(read_time));
++ res.Set("writes", static_cast<double>(writes));
++ res.Set("writes_merged", static_cast<double>(writes_merged));
++ res.Set("sectors_written", static_cast<double>(sectors_written));
++ res.Set("write_time", static_cast<double>(write_time));
++ res.Set("io", static_cast<double>(io));
++ res.Set("io_time", static_cast<double>(io_time));
++ res.Set("weighted_io_time", static_cast<double>(weighted_io_time));
+
+ NOTIMPLEMENTED();
+
diff --git a/www/chromium/files/patch-base_process_process__metrics__posix.cc b/www/chromium/files/patch-base_process_process__metrics__posix.cc
index e51334a26d54..6a0960d865cf 100644
--- a/www/chromium/files/patch-base_process_process__metrics__posix.cc
+++ b/www/chromium/files/patch-base_process_process__metrics__posix.cc
@@ -1,6 +1,6 @@
---- base/process/process_metrics_posix.cc.orig 2022-02-28 16:54:41 UTC
+--- base/process/process_metrics_posix.cc.orig 2025-02-19 07:43:18 UTC
+++ 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
-@@ -133,7 +135,7 @@ size_t ProcessMetrics::GetMallocUsage() {
+@@ -136,7 +138,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/chromium/files/patch-base_process_process__metrics__unittest.cc b/www/chromium/files/patch-base_process_process__metrics__unittest.cc
new file mode 100644
index 000000000000..b09047e6138c
--- /dev/null
+++ b/www/chromium/files/patch-base_process_process__metrics__unittest.cc
@@ -0,0 +1,12 @@
+--- base/process/process_metrics_unittest.cc.orig 2025-04-04 08:52:13 UTC
++++ base/process/process_metrics_unittest.cc
+@@ -61,7 +61,8 @@
+ #endif
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || \
++ BUILDFLAG(IS_BSD)
+ #define ENABLE_CPU_TESTS 1
+ #else
+ #define ENABLE_CPU_TESTS 0
diff --git a/www/chromium/files/patch-base_process_process__posix.cc b/www/chromium/files/patch-base_process_process__posix.cc
index 4f9205302896..7f022ca00cbb 100644
--- a/www/chromium/files/patch-base_process_process__posix.cc
+++ b/www/chromium/files/patch-base_process_process__posix.cc
@@ -1,15 +1,15 @@
---- base/process/process_posix.cc.orig 2022-07-22 17:30:31 UTC
+--- base/process/process_posix.cc.orig 2025-07-02 06:08:04 UTC
+++ base/process/process_posix.cc
@@ -25,10 +25,15 @@
+ #include "base/trace_event/base_tracing.h"
#include "build/build_config.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
-#if BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#include <sys/event.h>
#endif
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+#include <sys/types.h>
+#include <sys/sysctl.h>
+#endif
@@ -17,16 +17,16 @@
#if BUILDFLAG(CLANG_PROFILING)
#include "base/test/clang_profiling.h"
#endif
-@@ -97,7 +102,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle,
- return ret_pid > 0;
+@@ -104,7 +109,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle,
}
+ #endif
-#if BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
// Using kqueue on Mac so that we can wait on non-child processes.
// We can't use kqueues on child processes because we need to reap
// our own children using wait.
-@@ -202,7 +207,7 @@ bool WaitForExitWithTimeoutImpl(base::ProcessHandle ha
+@@ -387,7 +392,7 @@ bool Process::WaitForExitWithTimeoutImpl(base::Process
const bool exited = (parent_pid < 0);
if (!exited && parent_pid != our_pid) {
@@ -35,21 +35,21 @@
// On Mac we can wait on non child processes.
return WaitForSingleNonChildProcess(handle, timeout);
#else
-@@ -379,7 +384,55 @@ void Process::Exited(int exit_code) const {
+@@ -424,7 +429,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, process_);
+ 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/chromium/files/patch-base_process_process__unittest.cc b/www/chromium/files/patch-base_process_process__unittest.cc
index 7c23a1ea4882..1050135f3158 100644
--- a/www/chromium/files/patch-base_process_process__unittest.cc
+++ b/www/chromium/files/patch-base_process_process__unittest.cc
@@ -1,6 +1,6 @@
---- base/process/process_unittest.cc.orig 2022-07-22 17:30:31 UTC
+--- base/process/process_unittest.cc.orig 2025-02-19 07:43:18 UTC
+++ base/process/process_unittest.cc
-@@ -193,7 +193,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) {
+@@ -202,7 +202,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) {
// was spawned and a time recorded after it was spawned. However, since the
// base::Time and process creation clocks don't match, tolerate some error.
constexpr base::TimeDelta kTolerance =
diff --git a/www/chromium/files/patch-base_profiler_module__cache.cc b/www/chromium/files/patch-base_profiler_module__cache.cc
new file mode 100644
index 000000000000..7ed567da0ced
--- /dev/null
+++ b/www/chromium/files/patch-base_profiler_module__cache.cc
@@ -0,0 +1,11 @@
+--- base/profiler/module_cache.cc.orig 2024-04-19 13:02:56 UTC
++++ base/profiler/module_cache.cc
+@@ -38,7 +38,7 @@ std::string TransformModuleIDToSymbolServerFormat(std:
+ // 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.
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Linux ELF module IDs are 160bit integers, which we need to mangle
+ // down to 128bit integers to match the id that Breakpad outputs.
+ // Example on version '66.0.3359.170' x64:
diff --git a/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc b/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc
new file mode 100644
index 000000000000..ac5d1fb806b4
--- /dev/null
+++ b/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc
@@ -0,0 +1,20 @@
+--- base/profiler/sampling_profiler_thread_token.cc.orig 2025-04-04 08:52:13 UTC
++++ base/profiler/sampling_profiler_thread_token.cc
+@@ -6,7 +6,7 @@
+
+ #include "build/build_config.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include <pthread.h>
+
+ #include "base/profiler/stack_base_address_posix.h"
+@@ -18,7 +18,7 @@ SamplingProfilerThreadToken GetSamplingProfilerCurrent
+ PlatformThreadId id = PlatformThread::CurrentId();
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE)
+ return {id, pthread_self()};
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ std::optional<uintptr_t> maybe_stack_base =
+ GetThreadStackBaseAddress(id, pthread_self());
+ return {id, maybe_stack_base};
diff --git a/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h b/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h
new file mode 100644
index 000000000000..d63b2aefb971
--- /dev/null
+++ b/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h
@@ -0,0 +1,20 @@
+--- base/profiler/sampling_profiler_thread_token.h.orig 2025-04-04 08:52:13 UTC
++++ base/profiler/sampling_profiler_thread_token.h
+@@ -13,7 +13,7 @@
+
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE)
+ #include <pthread.h>
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include <stdint.h>
+ #endif
+
+@@ -27,7 +27,7 @@ struct SamplingProfilerThreadToken {
+ PlatformThreadId id;
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE)
+ pthread_t pthread_id;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Due to the sandbox, we can only retrieve the stack base address for the
+ // current thread. We must grab it during
+ // GetSamplingProfilerCurrentThreadToken() and not try to get it later.
diff --git a/www/chromium/files/patch-base_profiler_stack__base__address__posix.cc b/www/chromium/files/patch-base_profiler_stack__base__address__posix.cc
new file mode 100644
index 000000000000..11ce03e2ac9a
--- /dev/null
+++ b/www/chromium/files/patch-base_profiler_stack__base__address__posix.cc
@@ -0,0 +1,59 @@
+--- base/profiler/stack_base_address_posix.cc.orig 2025-05-05 10:57:53 UTC
++++ base/profiler/stack_base_address_posix.cc
+@@ -18,6 +18,10 @@
+ #include "base/files/scoped_file.h"
+ #endif
+
++#if BUILDFLAG(IS_BSD)
++#include <pthread_np.h>
++#endif
++
+ #if BUILDFLAG(IS_CHROMEOS)
+ extern "C" void* __libc_stack_end;
+ #endif
+@@ -49,7 +53,21 @@ std::optional<uintptr_t> GetAndroidMainThreadStackBase
+
+ #if !BUILDFLAG(IS_LINUX)
+ uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthread_id) {
++#if BUILDFLAG(IS_OPENBSD)
++ stack_t ss;
++ void *address;
++ size_t size;
++ if (pthread_stackseg_np(pthread_id, &ss) != 0)
++ return 0;
++ size = ss.ss_size;
++ address = (void*)((size_t) ss.ss_sp - ss.ss_size);
++#else
+ pthread_attr_t attr;
++#if BUILDFLAG(IS_FREEBSD)
++ int result;
++ pthread_attr_init(&attr);
++ pthread_attr_get_np(pthread_id, &attr);
++#else
+ // pthread_getattr_np will crash on ChromeOS & Linux if we are in the sandbox
+ // and pthread_id refers to a different thread, due to the use of
+ // sched_getaffinity().
+@@ -62,12 +80,14 @@ uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthr
+ << logging::SystemErrorCodeToString(result);
+ // See crbug.com/617730 for limitations of this approach on Linux-like
+ // systems.
++#endif
+ void* address;
+ size_t size;
+ result = pthread_attr_getstack(&attr, &address, &size);
+ CHECK_EQ(result, 0) << "pthread_attr_getstack returned "
+ << logging::SystemErrorCodeToString(result);
+ pthread_attr_destroy(&attr);
++#endif
+ const uintptr_t base_address = reinterpret_cast<uintptr_t>(address) + size;
+ return base_address;
+ }
+@@ -84,7 +104,7 @@ std::optional<uintptr_t> GetThreadStackBaseAddress(Pla
+ // trying to work around the problem.
+ return std::nullopt;
+ #else
+- const bool is_main_thread = id.raw() == GetCurrentProcId();
++ const bool is_main_thread = id.raw() == (checked_cast<uint64_t>(GetCurrentProcId()));
+ if (is_main_thread) {
+ #if BUILDFLAG(IS_ANDROID)
+ // The implementation of pthread_getattr_np() in Bionic reads proc/self/maps
diff --git a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc
index 9b71690b5fad..c8ce97140751 100644
--- a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc
+++ b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc
@@ -1,6 +1,6 @@
---- base/profiler/stack_sampling_profiler_test_util.cc.orig 2022-05-19 14:06:27 UTC
+--- base/profiler/stack_sampling_profiler_test_util.cc.orig 2025-03-05 08:14:56 UTC
+++ base/profiler/stack_sampling_profiler_test_util.cc
-@@ -39,7 +39,7 @@
+@@ -50,7 +50,7 @@
// Fortunately, it provides _alloca, which functions identically.
#include <malloc.h>
#define alloca _alloca
diff --git a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
index d739c9137c77..79d00d56fd99 100644
--- a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
+++ b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
@@ -1,9 +1,9 @@
---- base/profiler/stack_sampling_profiler_unittest.cc.orig 2022-02-28 16:54:41 UTC
+--- base/profiler/stack_sampling_profiler_unittest.cc.orig 2025-04-04 08:52:13 UTC
+++ base/profiler/stack_sampling_profiler_unittest.cc
-@@ -41,7 +41,7 @@
+@@ -47,7 +47,7 @@
+
#include <intrin.h>
#include <malloc.h>
- #include <windows.h>
-#else
+#elif !BUILDFLAG(IS_BSD)
#include <alloca.h>
diff --git a/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc b/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc
new file mode 100644
index 000000000000..251aa5482549
--- /dev/null
+++ b/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc
@@ -0,0 +1,20 @@
+--- base/profiler/thread_delegate_posix.cc.orig 2025-04-04 08:52:13 UTC
++++ base/profiler/thread_delegate_posix.cc
+@@ -15,7 +15,7 @@
+ #include "base/process/process_handle.h"
+ #include "build/build_config.h"
+
+-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+ #include "base/profiler/stack_base_address_posix.h"
+ #endif
+
+@@ -24,7 +24,7 @@ namespace base {
+ std::unique_ptr<ThreadDelegatePosix> ThreadDelegatePosix::Create(
+ SamplingProfilerThreadToken thread_token) {
+ std::optional<uintptr_t> base_address;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base_address = thread_token.stack_base_address;
+ #else
+ base_address =
diff --git a/www/chromium/files/patch-base_rand__util.h b/www/chromium/files/patch-base_rand__util.h
index 7dbf39ebe0ba..239d6d1782af 100644
--- a/www/chromium/files/patch-base_rand__util.h
+++ b/www/chromium/files/patch-base_rand__util.h
@@ -1,11 +1,11 @@
---- base/rand_util.h.orig 2022-03-25 21:59:56 UTC
+--- base/rand_util.h.orig 2025-05-05 10:57:53 UTC
+++ base/rand_util.h
-@@ -81,7 +81,7 @@ void RandomShuffle(Itr first, Itr last) {
+@@ -213,7 +213,7 @@ void RandomShuffle(Itr first, Itr last) {
std::shuffle(first, last, RandomBitGenerator());
}
-#if BUILDFLAG(IS_POSIX)
-+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_OPENBSD)
++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_BSD)
BASE_EXPORT int GetUrandomFD();
#endif
diff --git a/www/chromium/files/patch-base_rand__util__posix.cc b/www/chromium/files/patch-base_rand__util__posix.cc
index ce4eedbcb4ee..2fdaf4b8cc62 100644
--- a/www/chromium/files/patch-base_rand__util__posix.cc
+++ b/www/chromium/files/patch-base_rand__util__posix.cc
@@ -1,48 +1,58 @@
---- base/rand_util_posix.cc.orig 2022-07-22 17:30:31 UTC
+--- base/rand_util_posix.cc.orig 2025-05-05 10:57:53 UTC
+++ base/rand_util_posix.cc
-@@ -17,7 +17,7 @@
- #include "base/posix/eintr_wrapper.h"
+@@ -29,7 +29,7 @@
+ #include "base/time/time.h"
#include "build/build_config.h"
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
#include "third_party/lss/linux_syscall_support.h"
#elif BUILDFLAG(IS_MAC)
- // TODO(crbug.com/995996): Waiting for this header to appear in the iOS SDK.
-@@ -34,6 +34,7 @@ static constexpr int kOpenFlags = O_RDONLY;
- static constexpr int kOpenFlags = O_RDONLY | O_CLOEXEC;
- #endif
-
-+#if !BUILDFLAG(IS_OPENBSD)
- // We keep the file descriptor for /dev/urandom around so we don't need to
- // reopen it (which is expensive), and since we may not even be able to reopen
- // it if we are later put in a sandbox. This class wraps the file descriptor so
-@@ -51,6 +52,7 @@ class URandomFd {
+ // TODO(crbug.com/40641285): Waiting for this header to appear in the iOS SDK.
+@@ -45,6 +45,7 @@ namespace base {
+
+ namespace {
+
++#if !BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_AIX)
+ // AIX has no 64-bit support for O_CLOEXEC.
+ static constexpr int kOpenFlags = O_RDONLY;
+@@ -69,10 +70,11 @@ class URandomFd {
private:
const int fd_;
};
+#endif
- } // namespace
+ #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+ BUILDFLAG(IS_ANDROID)) && \
+- !BUILDFLAG(IS_NACL)
++ !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
+
+ bool KernelSupportsGetRandom() {
+ return base::SysInfo::KernelVersionNumber::Current() >=
+@@ -129,6 +131,7 @@ bool UseBoringSSLForRandBytes() {
+ namespace {
-@@ -62,6 +64,7 @@ namespace base {
- // (https://chromium-review.googlesource.com/c/chromium/src/+/1545096) and land
- // it or some form of it.
- void RandBytes(void* output, size_t output_length) {
-+#if !BUILDFLAG(IS_OPENBSD)
- #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL)
- // We have to call `getrandom` via Linux Syscall Support, rather than through
- // the libc wrapper, because we might not have an up-to-date libc (e.g. on
-@@ -91,11 +94,16 @@ void RandBytes(void* output, size_t output_length) {
- const bool success =
- ReadFromFD(urandom_fd, static_cast<char*>(output), output_length);
+ void RandBytesInternal(span<uint8_t> output, bool avoid_allocation) {
++#if !BUILDFLAG(IS_BSD)
+ #if !BUILDFLAG(IS_NACL)
+ // The BoringSSL experiment takes priority over everything else.
+ if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) {
+@@ -163,6 +166,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);
+#else
-+ arc4random_buf(static_cast<char*>(output), output_length);
++ arc4random_buf(output.data(), output.size());
+#endif
}
-+#if !BUILDFLAG(IS_OPENBSD)
+ } // namespace
+@@ -182,9 +188,11 @@ void RandBytes(span<uint8_t> output) {
+ RandBytesInternal(output, /*avoid_allocation=*/false);
+ }
+
++#if !BUILDFLAG(IS_BSD)
int GetUrandomFD() {
static NoDestructor<URandomFd> urandom_fd;
return urandom_fd->fd();
diff --git a/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc b/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc
index 5752dc911ef0..2ab08a15c315 100644
--- a/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc
+++ b/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc
@@ -1,6 +1,6 @@
---- base/strings/safe_sprintf_unittest.cc.orig 2022-07-22 17:30:31 UTC
+--- base/strings/safe_sprintf_unittest.cc.orig 2025-05-28 14:55:43 UTC
+++ base/strings/safe_sprintf_unittest.cc
-@@ -732,6 +732,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) {
+@@ -746,6 +746,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) {
#endif
}
@@ -8,7 +8,7 @@
TEST(SafeSPrintfTest, EmitNULL) {
char buf[40];
#if defined(__GNUC__)
-@@ -748,6 +749,7 @@ TEST(SafeSPrintfTest, EmitNULL) {
+@@ -762,6 +763,7 @@ TEST(SafeSPrintfTest, EmitNULL) {
#pragma GCC diagnostic pop
#endif
}
diff --git a/www/chromium/files/patch-base_synchronization_cancelable__event.h b/www/chromium/files/patch-base_synchronization_cancelable__event.h
new file mode 100644
index 000000000000..bad15aaabf28
--- /dev/null
+++ b/www/chromium/files/patch-base_synchronization_cancelable__event.h
@@ -0,0 +1,20 @@
+--- base/synchronization/cancelable_event.h.orig 2025-02-19 07:43:18 UTC
++++ base/synchronization/cancelable_event.h
+@@ -11,7 +11,7 @@
+
+ #if BUILDFLAG(IS_WIN)
+ #include <windows.h>
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include <semaphore.h>
+ #else
+ #include "base/synchronization/waitable_event.h"
+@@ -49,7 +49,7 @@ class BASE_EXPORT CancelableEvent {
+
+ #if BUILDFLAG(IS_WIN)
+ using NativeHandle = HANDLE;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ using NativeHandle = sem_t;
+ #else
+ using NativeHandle = WaitableEvent;
diff --git a/www/chromium/files/patch-base_synchronization_lock__impl.h b/www/chromium/files/patch-base_synchronization_lock__impl.h
index baac846e9d78..c00c584359ff 100644
--- a/www/chromium/files/patch-base_synchronization_lock__impl.h
+++ b/www/chromium/files/patch-base_synchronization_lock__impl.h
@@ -1,6 +1,6 @@
---- base/synchronization/lock_impl.h.orig 2022-06-17 14:20:10 UTC
+--- base/synchronization/lock_impl.h.orig 2025-05-05 10:57:53 UTC
+++ base/synchronization/lock_impl.h
-@@ -107,6 +107,10 @@ void LockImpl::Unlock() {
+@@ -110,6 +110,10 @@ void LockImpl::Unlock() {
}
#elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
@@ -11,7 +11,7 @@
#if DCHECK_IS_ON()
BASE_EXPORT void dcheck_trylock_result(int rv);
-@@ -127,6 +131,9 @@ void LockImpl::Unlock() {
+@@ -130,6 +134,9 @@ void LockImpl::Unlock() {
dcheck_unlock_result(rv);
#endif
}
diff --git a/www/chromium/files/patch-base_syslog__logging.cc b/www/chromium/files/patch-base_syslog__logging.cc
index 5c1921e82d4a..f41d9e4dced1 100644
--- a/www/chromium/files/patch-base_syslog__logging.cc
+++ b/www/chromium/files/patch-base_syslog__logging.cc
@@ -1,6 +1,6 @@
---- base/syslog_logging.cc.orig 2022-02-28 16:54:41 UTC
+--- base/syslog_logging.cc.orig 2025-02-19 07:43:18 UTC
+++ base/syslog_logging.cc
-@@ -15,7 +15,7 @@
+@@ -17,7 +17,7 @@
#include "base/strings/string_util.h"
#include "base/win/scoped_handle.h"
#include "base/win/win_util.h"
@@ -9,10 +9,10 @@
// <syslog.h> defines LOG_INFO, LOG_WARNING macros that could conflict with
// base::LOG_INFO, base::LOG_WARNING.
#include <syslog.h>
-@@ -147,7 +147,7 @@ EventLogMessage::~EventLogMessage() {
-
- if (user_sid != nullptr)
+@@ -151,7 +151,7 @@ EventLogMessage::~EventLogMessage() {
+ if (user_sid != nullptr) {
::LocalFree(user_sid);
+ }
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const char kEventSource[] = "chrome";
diff --git a/www/chromium/files/patch-base_system_sys__info.cc b/www/chromium/files/patch-base_system_sys__info.cc
index a9affa23e4ae..42c21c63cf1c 100644
--- a/www/chromium/files/patch-base_system_sys__info.cc
+++ b/www/chromium/files/patch-base_system_sys__info.cc
@@ -1,11 +1,11 @@
---- base/system/sys_info.cc.orig 2022-06-17 14:20:10 UTC
+--- base/system/sys_info.cc.orig 2025-03-05 08:14:56 UTC
+++ base/system/sys_info.cc
-@@ -103,7 +103,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback<void(
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE)
- base::ThreadPool::PostTaskAndReplyWithResult(
- FROM_HERE, {}, base::BindOnce(&GetHardwareInfoSync), std::move(callback));
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- base::ThreadPool::PostTaskAndReplyWithResult(
- FROM_HERE, {base::MayBlock()}, base::BindOnce(&GetHardwareInfoSync),
- std::move(callback));
+@@ -224,7 +224,7 @@ std::string SysInfo::SocManufacturer() {
+ #endif
+
+ void SysInfo::GetHardwareInfo(base::OnceCallback<void(HardwareInfo)> callback) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ constexpr base::TaskTraits kTraits = {base::MayBlock()};
+ #else
+ constexpr base::TaskTraits kTraits = {};
diff --git a/www/chromium/files/patch-base_system_sys__info.h b/www/chromium/files/patch-base_system_sys__info.h
index cd89561cd4d8..4da2a17d13d6 100644
--- a/www/chromium/files/patch-base_system_sys__info.h
+++ b/www/chromium/files/patch-base_system_sys__info.h
@@ -1,20 +1,20 @@
---- base/system/sys_info.h.orig 2022-06-17 14:20:10 UTC
+--- base/system/sys_info.h.orig 2025-05-05 10:57:53 UTC
+++ base/system/sys_info.h
-@@ -211,6 +211,8 @@ class BASE_EXPORT SysInfo {
- // On Desktop this returns true when memory <= 2GB.
- static bool IsLowEndDevice();
+@@ -355,6 +355,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);
-@@ -221,7 +223,7 @@ class BASE_EXPORT SysInfo {
+@@ -367,7 +369,7 @@ class BASE_EXPORT SysInfo {
static HardwareInfo GetHardwareInfoSync();
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
- static int64_t AmountOfAvailablePhysicalMemory(
+ static uint64_t AmountOfAvailablePhysicalMemory(
const SystemMemoryInfoKB& meminfo);
#endif
diff --git a/www/chromium/files/patch-base_system_sys__info__freebsd.cc b/www/chromium/files/patch-base_system_sys__info__freebsd.cc
index 99ff948c012b..52441554330f 100644
--- a/www/chromium/files/patch-base_system_sys__info__freebsd.cc
+++ b/www/chromium/files/patch-base_system_sys__info__freebsd.cc
@@ -1,6 +1,6 @@
---- base/system/sys_info_freebsd.cc.orig 2022-04-21 18:48:31 UTC
+--- base/system/sys_info_freebsd.cc.orig 2024-10-22 08:31:56 UTC
+++ base/system/sys_info_freebsd.cc
-@@ -9,30 +9,106 @@
+@@ -9,28 +9,103 @@
#include <sys/sysctl.h>
#include "base/notreached.h"
@@ -9,6 +9,8 @@
namespace base {
+-int64_t SysInfo::AmountOfPhysicalMemoryImpl() {
+- int pages, page_size;
+int SysInfo::NumberOfProcessors() {
+ int mib[] = {CTL_HW, HW_NCPU};
+ int ncpu;
@@ -19,9 +21,8 @@
+ }
+ return ncpu;
+}
-+
- int64_t SysInfo::AmountOfPhysicalMemoryImpl() {
-- int pages, page_size;
++
++uint64_t SysInfo::AmountOfPhysicalMemoryImpl() {
+ int pages, page_size, r = 0;
size_t size = sizeof(pages);
- sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0);
@@ -30,23 +31,23 @@
+
+ if (r == 0)
+ r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0);
-+ if (r == 0)
++ if (r == 0)
+ r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0);
+
+ if (r == -1) {
NOTREACHED();
- return 0;
}
+- return static_cast<int64_t>(pages) * page_size;
+
- return static_cast<int64_t>(pages) * page_size;
++ return static_cast<uint64_t>(pages) * page_size;
}
-+int64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() {
++uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() {
+ int page_size, r = 0;
+ unsigned int pgfree, pginact, pgcache;
+ size_t size = sizeof(page_size);
+ size_t szpg = sizeof(pgfree);
-+
++
+ if (r == 0)
+ r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0);
+ if (r == 0)
@@ -61,12 +62,12 @@
+ return 0;
+ }
+
-+ return static_cast<int64_t>((pgfree + pginact + pgcache) * page_size);
++ return static_cast<uint64_t>((pgfree + pginact + pgcache) * page_size);
+}
+
// static
-+int64_t SysInfo::AmountOfAvailablePhysicalMemory(const SystemMemoryInfoKB& info) {
-+ int64_t res_kb = info.available != 0
++uint64_t SysInfo::AmountOfAvailablePhysicalMemory(const SystemMemoryInfoKB& info) {
++ uint64_t res_kb = info.available != 0
+ ? info.available - info.active_file
+ : info.free + info.reclaimable + info.inactive_file;
+ return res_kb * 1024;
@@ -92,9 +93,7 @@
+
if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) {
NOTREACHED();
- return 0;
}
-+
return static_cast<uint64_t>(limit);
+}
+
diff --git a/www/chromium/files/patch-base_system_sys__info__openbsd.cc b/www/chromium/files/patch-base_system_sys__info__openbsd.cc
index 54d7442406af..098611853d93 100644
--- a/www/chromium/files/patch-base_system_sys__info__openbsd.cc
+++ b/www/chromium/files/patch-base_system_sys__info__openbsd.cc
@@ -1,21 +1,20 @@
---- base/system/sys_info_openbsd.cc.orig 2022-04-21 18:48:31 UTC
+--- base/system/sys_info_openbsd.cc.orig 2025-02-19 07:43:18 UTC
+++ base/system/sys_info_openbsd.cc
-@@ -11,6 +11,7 @@
- #include <sys/sysctl.h>
+@@ -12,6 +12,7 @@
#include "base/notreached.h"
+ #include "base/posix/sysctl.h"
+#include "base/strings/string_util.h"
namespace {
-@@ -28,9 +29,15 @@ int64_t AmountOfMemory(int pages_name) {
+@@ -28,9 +29,14 @@ uint64_t AmountOfMemory(int pages_name) {
namespace base {
+// pledge(2)
-+int64_t aofpmem = 0;
-+int64_t aofapmem = 0;
-+int64_t shmmax = 0;
++uint64_t aofpmem = 0;
++uint64_t shmmax = 0;
+char cpumodel[256];
+
// static
@@ -25,10 +24,10 @@
int ncpu;
size_t size = sizeof(ncpu);
if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) {
-@@ -42,10 +49,26 @@ int SysInfo::NumberOfProcessors() {
+@@ -41,10 +47,26 @@ int SysInfo::NumberOfProcessors() {
// static
- int64_t SysInfo::AmountOfPhysicalMemoryImpl() {
+ uint64_t SysInfo::AmountOfPhysicalMemoryImpl() {
- return AmountOfMemory(_SC_PHYS_PAGES);
+ // pledge(2)
+ if (!aofpmem)
@@ -40,20 +39,20 @@
+std::string SysInfo::CPUModelName() {
+ int mib[] = {CTL_HW, HW_MODEL};
+ size_t len = std::size(cpumodel);
-+
++
+ if (cpumodel[0] == '\0') {
+ if (sysctl(mib, std::size(mib), cpumodel, &len, NULL, 0) < 0)
+ return std::string();
+ }
-+
++
+ return std::string(cpumodel, len - 1);
+}
+
+// static
- int64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() {
+ uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() {
// We should add inactive file-backed memory also but there is no such
// information from OpenBSD unfortunately.
-@@ -57,23 +80,28 @@ uint64_t SysInfo::MaxSharedMemorySize() {
+@@ -56,15 +78,27 @@ uint64_t SysInfo::MaxSharedMemorySize() {
int mib[] = {CTL_KERN, KERN_SHMINFO, KERN_SHMINFO_SHMMAX};
size_t limit;
size_t size = sizeof(limit);
@@ -62,7 +61,6 @@
+ goto out;
if (sysctl(mib, std::size(mib), &limit, &size, NULL, 0) < 0) {
NOTREACHED();
- return 0;
}
- return static_cast<uint64_t>(limit);
+ shmmax = static_cast<uint64_t>(limit);
@@ -72,14 +70,7 @@
// static
-std::string SysInfo::CPUModelName() {
-- int mib[] = {CTL_HW, HW_MODEL};
-- char name[256];
-- size_t len = std::size(name);
-- if (sysctl(mib, std::size(mib), name, &len, NULL, 0) < 0) {
-- NOTREACHED();
-- return std::string();
-- }
-- return name;
+- return StringSysctl({CTL_HW, HW_MODEL}).value();
+SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() {
+ HardwareInfo info;
+ // Set the manufacturer to "OpenBSD" and the model to
diff --git a/www/chromium/files/patch-base_system_sys__info__posix.cc b/www/chromium/files/patch-base_system_sys__info__posix.cc
index a27e4ff85693..e229baa6f240 100644
--- a/www/chromium/files/patch-base_system_sys__info__posix.cc
+++ b/www/chromium/files/patch-base_system_sys__info__posix.cc
@@ -1,38 +1,24 @@
---- base/system/sys_info_posix.cc.orig 2022-06-17 14:20:10 UTC
+--- base/system/sys_info_posix.cc.orig 2025-05-05 10:57:53 UTC
+++ base/system/sys_info_posix.cc
-@@ -36,7 +36,7 @@
-
- namespace {
-
--#if !BUILDFLAG(IS_OPENBSD)
-+#if !BUILDFLAG(IS_BSD)
- int NumberOfProcessors() {
- // sysconf returns the number of "logical" (not "physical") processors on both
- // Mac and Linux. So we get the number of max available "logical" processors.
-@@ -76,7 +76,7 @@ int NumberOfProcessors() {
-
- base::LazyInstance<base::internal::LazySysInfoValue<int, NumberOfProcessors>>::
- Leaky g_lazy_number_of_processors = LAZY_INSTANCE_INITIALIZER;
--#endif // !BUILDFLAG(IS_OPENBSD)
-+#endif // !BUILDFLAG(IS_BSD)
-
- int64_t AmountOfVirtualMemory() {
- struct rlimit limit;
-@@ -142,11 +142,11 @@ bool GetDiskSpaceInfo(const base::FilePath& path,
+@@ -143,7 +143,7 @@ void GetKernelVersionNumbers(int32_t* major_version,
namespace base {
-#if !BUILDFLAG(IS_OPENBSD)
+#if !BUILDFLAG(IS_BSD)
+ // static
int SysInfo::NumberOfProcessors() {
- return g_lazy_number_of_processors.Get().value();
+ #if BUILDFLAG(IS_MAC)
+@@ -199,7 +199,7 @@ int SysInfo::NumberOfProcessors() {
+
+ return cached_num_cpus;
}
-#endif // !BUILDFLAG(IS_OPENBSD)
+#endif // !BUILDFLAG(IS_BSD)
// static
- int64_t SysInfo::AmountOfVirtualMemory() {
-@@ -236,6 +236,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
+ uint64_t SysInfo::AmountOfVirtualMemory() {
+@@ -285,6 +285,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
arch = "x86";
} else if (arch == "amd64") {
arch = "x86_64";
diff --git a/www/chromium/files/patch-base_system_sys__info__unittest.cc b/www/chromium/files/patch-base_system_sys__info__unittest.cc
index f7c662a4e82e..e783d88c4a07 100644
--- a/www/chromium/files/patch-base_system_sys__info__unittest.cc
+++ b/www/chromium/files/patch-base_system_sys__info__unittest.cc
@@ -1,11 +1,12 @@
---- base/system/sys_info_unittest.cc.orig 2022-06-17 14:20:10 UTC
+--- base/system/sys_info_unittest.cc.orig 2024-08-26 12:06:38 UTC
+++ base/system/sys_info_unittest.cc
-@@ -233,12 +233,15 @@ TEST_F(SysInfoTest, GetHardwareInfo) {
+@@ -265,12 +265,16 @@ TEST_F(SysInfoTest, GetHardwareInfo) {
EXPECT_TRUE(IsStringUTF8(hardware_info->model));
bool empty_result_expected =
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \
++ BUILDFLAG(IS_BSD)
false;
#else
true;
diff --git a/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc b/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc
index 18a649f3ba84..785c54eb3ae6 100644
--- a/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc
+++ b/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc
@@ -1,11 +1,20 @@
---- base/task/thread_pool/environment_config_unittest.cc.orig 2022-02-28 16:54:41 UTC
+--- base/task/thread_pool/environment_config_unittest.cc.orig 2025-05-05 10:57:53 UTC
+++ base/task/thread_pool/environment_config_unittest.cc
-@@ -15,7 +15,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE)
- EXPECT_TRUE(CanUseBackgroundPriorityForWorkerThread());
- #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+@@ -21,7 +21,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio
+ base::FeatureList::IsEnabled(
+ FeatureControllingBackgroundPriorityWorkerThreads()));
+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD)
- EXPECT_FALSE(CanUseBackgroundPriorityForWorkerThread());
+ EXPECT_FALSE(CanUseBackgroundThreadTypeForWorkerThread());
+ #else
+ #error Platform doesn't match any block
+@@ -30,7 +30,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID)
+ EXPECT_TRUE(CanUseUtilityThreadTypeForWorkerThread());
+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD)
+ EXPECT_FALSE(CanUseUtilityThreadTypeForWorkerThread());
#else
#error Platform doesn't match any block
diff --git a/www/chromium/files/patch-base_test_launcher_test__launcher.cc b/www/chromium/files/patch-base_test_launcher_test__launcher.cc
index adf2c80b15ce..235bf52bd415 100644
--- a/www/chromium/files/patch-base_test_launcher_test__launcher.cc
+++ b/www/chromium/files/patch-base_test_launcher_test__launcher.cc
@@ -1,6 +1,6 @@
---- base/test/launcher/test_launcher.cc.orig 2022-02-28 16:54:41 UTC
+--- base/test/launcher/test_launcher.cc.orig 2025-04-04 08:52:13 UTC
+++ base/test/launcher/test_launcher.cc
-@@ -63,6 +63,7 @@
+@@ -73,6 +73,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if BUILDFLAG(IS_POSIX)
diff --git a/www/chromium/files/patch-base_test_test__file__util__linux.cc b/www/chromium/files/patch-base_test_test__file__util__linux.cc
index 21b4b25775a0..8b96dde81baf 100644
--- a/www/chromium/files/patch-base_test_test__file__util__linux.cc
+++ b/www/chromium/files/patch-base_test_test__file__util__linux.cc
@@ -1,12 +1,13 @@
---- base/test/test_file_util_linux.cc.orig 2022-02-28 16:54:41 UTC
+--- base/test/test_file_util_linux.cc.orig 2025-02-19 07:43:18 UTC
+++ base/test/test_file_util_linux.cc
-@@ -54,8 +54,10 @@ bool EvictFileFromSystemCache(const FilePath& file) {
+@@ -56,9 +56,11 @@ bool EvictFileFromSystemCache(const FilePath& file) {
+ if (fdatasync(fd.get()) != 0) {
return false;
- if (fdatasync(fd.get()) != 0)
- return false;
-+#if !defined(OS_BSD)
- if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0)
+ }
++#if !BUILDFLAG(IS_BSD)
+ if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0) {
return false;
+ }
+#endif
return true;
}
diff --git a/www/chromium/files/patch-base_test_test__file__util__posix.cc b/www/chromium/files/patch-base_test_test__file__util__posix.cc
index 37c9bbbb70ec..5eb9327a367b 100644
--- a/www/chromium/files/patch-base_test_test__file__util__posix.cc
+++ b/www/chromium/files/patch-base_test_test__file__util__posix.cc
@@ -1,6 +1,6 @@
---- base/test/test_file_util_posix.cc.orig 2022-02-28 16:54:41 UTC
+--- base/test/test_file_util_posix.cc.orig 2025-02-19 07:43:18 UTC
+++ base/test/test_file_util_posix.cc
-@@ -88,7 +88,7 @@ void SyncPageCacheToDisk() {
+@@ -93,7 +93,7 @@ void SyncPageCacheToDisk() {
}
#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \
diff --git a/www/chromium/files/patch-base_third__party_libevent_event.h b/www/chromium/files/patch-base_third__party_libevent_event.h
deleted file mode 100644
index 282a35d03ee9..000000000000
--- a/www/chromium/files/patch-base_third__party_libevent_event.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- base/third_party/libevent/event.h.orig 2022-05-28 07:21:18 UTC
-+++ base/third_party/libevent/event.h
-@@ -1,3 +1,6 @@
-+#if defined(USE_SYSTEM_LIBEVENT)
-+#include <event.h>
-+#else
- /*
- * Copyright (c) 2000-2007 Niels Provos <provos@citi.umich.edu>
- * All rights reserved.
-@@ -1210,3 +1213,4 @@ int evtag_unmarshal_timeval(struct evbuffer *evbuf, ev
- #endif
-
- #endif /* _EVENT_H_ */
-+#endif
diff --git a/www/chromium/files/patch-base_third__party_symbolize_symbolize.cc b/www/chromium/files/patch-base_third__party_symbolize_symbolize.cc
deleted file mode 100644
index 774ea24cf00c..000000000000
--- a/www/chromium/files/patch-base_third__party_symbolize_symbolize.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/third_party/symbolize/symbolize.cc.orig 2022-02-28 16:54:41 UTC
-+++ base/third_party/symbolize/symbolize.cc
-@@ -114,7 +114,7 @@ _END_GOOGLE_NAMESPACE_
- #if defined(HAVE_DLFCN_H)
- #include <dlfcn.h>
- #endif
--#if BUILDFLAG(IS_OPENBSD)
-+#if defined(__OpenBSD__)
- #include <sys/exec_elf.h>
- #else
- #include <elf.h>
diff --git a/www/chromium/files/patch-base_threading_platform__thread.h b/www/chromium/files/patch-base_threading_platform__thread.h
index c871da786e1f..03d6d6a1e5e4 100644
--- a/www/chromium/files/patch-base_threading_platform__thread.h
+++ b/www/chromium/files/patch-base_threading_platform__thread.h
@@ -1,11 +1,11 @@
---- base/threading/platform_thread.h.orig 2022-07-22 17:30:31 UTC
+--- base/threading/platform_thread.h.orig 2025-04-04 08:52:13 UTC
+++ base/threading/platform_thread.h
-@@ -213,7 +213,7 @@ class BASE_EXPORT PlatformThread {
- // Returns a realtime period provided by `delegate`.
- static TimeDelta GetRealtimePeriod(Delegate* delegate);
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Toggles a specific thread's priority at runtime. This can be used to
- // change the priority of a thread in a different process and will fail
- // if the calling process does not have proper permissions. The
+@@ -55,6 +55,8 @@ class BASE_EXPORT PlatformThreadId {
+ using UnderlyingType = zx_koid_t;
+ #elif BUILDFLAG(IS_APPLE)
+ using UnderlyingType = uint64_t;
++#elif BUILDFLAG(IS_BSD)
++ using UnderlyingType = uint64_t;
+ #elif BUILDFLAG(IS_POSIX)
+ using UnderlyingType = pid_t;
+ #endif
diff --git a/www/chromium/files/patch-base_threading_platform__thread__bsd.cc b/www/chromium/files/patch-base_threading_platform__thread__bsd.cc
new file mode 100644
index 000000000000..6fc76981ad02
--- /dev/null
+++ b/www/chromium/files/patch-base_threading_platform__thread__bsd.cc
@@ -0,0 +1,34 @@
+--- base/threading/platform_thread_bsd.cc.orig 2024-04-19 13:02:56 UTC
++++ 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;
++}
++
++std::optional<ThreadPriorityForTest>
++GetCurrentThreadPriorityForPlatformForTest() {
++ return std::nullopt;
++}
++} // namespace internal
++
++// static
++void PlatformThreadBase::SetName(const std::string& name) {
++ SetNameCommon(name);
++}
++
++} // namespace base
diff --git a/www/chromium/files/patch-base_threading_platform__thread__internal__posix.cc b/www/chromium/files/patch-base_threading_platform__thread__internal__posix.cc
new file mode 100644
index 000000000000..3ac11735f210
--- /dev/null
+++ b/www/chromium/files/patch-base_threading_platform__thread__internal__posix.cc
@@ -0,0 +1,11 @@
+--- base/threading/platform_thread_internal_posix.cc.orig 2025-03-05 08:14:56 UTC
++++ 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/chromium/files/patch-base_threading_platform__thread__linux.cc b/www/chromium/files/patch-base_threading_platform__thread__linux.cc
deleted file mode 100644
index d10b804f030b..000000000000
--- a/www/chromium/files/patch-base_threading_platform__thread__linux.cc
+++ /dev/null
@@ -1,77 +0,0 @@
---- base/threading/platform_thread_linux.cc.orig 2022-06-17 14:20:10 UTC
-+++ base/threading/platform_thread_linux.cc
-@@ -29,7 +29,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>
-@@ -132,7 +134,7 @@ int 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");
-
-@@ -286,7 +288,7 @@ void SetThreadCgroupsForThreadPriority(PlatformThreadI
- namespace internal {
-
- namespace {
--#if !BUILDFLAG(IS_NACL)
-+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
- const struct sched_param kRealTimePrio = {8};
- #endif
- } // namespace
-@@ -299,7 +301,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN
- };
-
- bool CanSetThreadPriorityToRealtimeAudio() {
--#if !BUILDFLAG(IS_NACL)
-+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
- // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke
- // pthread_setschedparam in SetCurrentThreadPriorityForPlatform().
- struct rlimit rlim;
-@@ -310,7 +312,7 @@ bool CanSetThreadPriorityToRealtimeAudio() {
- }
-
- bool SetCurrentThreadPriorityForPlatform(ThreadPriority priority) {
--#if !BUILDFLAG(IS_NACL)
-+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
- // For legacy schedtune interface
- SetThreadCgroupsForThreadPriority(PlatformThread::CurrentId(), priority);
-
-@@ -328,7 +330,7 @@ bool SetCurrentThreadPriorityForPlatform(ThreadPriorit
- }
-
- absl::optional<ThreadPriority> GetCurrentThreadPriorityForPlatform() {
--#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,
-@@ -347,7 +349,7 @@ absl::optional<ThreadPriority> GetCurrentThreadPriorit
- 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
-@@ -377,8 +379,10 @@ void PlatformThread::SetThreadPriority(ProcessId proce
- // priority.
- CHECK_NE(thread_id, process_id);
-
-+#if !BUILDFLAG(IS_BSD)
- // For legacy schedtune interface
- SetThreadCgroupsForThreadPriority(thread_id, priority);
-+#endif
-
- #if BUILDFLAG(IS_CHROMEOS)
- // For upstream uclamp interface. We try both legacy (schedtune, as done
diff --git a/www/chromium/files/patch-base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_threading_platform__thread__posix.cc
index 393a2d1be773..b8d88430f0d4 100644
--- a/www/chromium/files/patch-base_threading_platform__thread__posix.cc
+++ b/www/chromium/files/patch-base_threading_platform__thread__posix.cc
@@ -1,21 +1,53 @@
---- base/threading/platform_thread_posix.cc.orig 2022-05-19 14:06:27 UTC
+--- base/threading/platform_thread_posix.cc.orig 2025-04-04 08:52:13 UTC
+++ base/threading/platform_thread_posix.cc
-@@ -76,7 +76,7 @@ void* ThreadFunc(void* params) {
- if (!thread_params->joinable)
+@@ -79,11 +79,11 @@ void* ThreadFunc(void* params) {
base::DisallowSingleton();
+ }
+
+-#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
++#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_BSD)
+ partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated();
+ #endif
-#if !BUILDFLAG(IS_NACL)
+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
- #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
- internal::PCScan::NotifyThreadCreated(internal::GetStackPointer());
+ #if BUILDFLAG(IS_APPLE)
+ PlatformThread::SetCurrentThreadRealtimePeriodValue(
+ delegate->GetRealtimePeriod());
+@@ -272,6 +272,8 @@ PlatformThreadId PlatformThreadBase::CurrentId() {
+ return PlatformThreadId(reinterpret_cast<int32_t>(pthread_self()));
+ #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_POSIX) && !BUILDFLAG(IS_AIX)
+ return PlatformThreadId(reinterpret_cast<int64_t>(pthread_self()));
#endif
-@@ -365,6 +365,9 @@ bool PlatformThread::CanChangeThreadPriority(ThreadPri
+@@ -365,7 +367,7 @@ void PlatformThreadBase::Detach(PlatformThreadHandle t
+
// static
- void PlatformThread::SetCurrentThreadPriorityImpl(ThreadPriority priority) {
+ bool PlatformThreadBase::CanChangeThreadType(ThreadType from, ThreadType to) {
+-#if BUILDFLAG(IS_NACL)
++#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD)
+ return false;
+ #else
+ if (from >= to) {
+@@ -386,6 +388,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type,
+ MessagePumpType pump_type_hint) {
#if BUILDFLAG(IS_NACL)
-+ NOTIMPLEMENTED();
+ NOTIMPLEMENTED();
+// avoid pledge(2) violation
+#elif BUILDFLAG(IS_BSD)
++ NOTIMPLEMENTED();
+ #else
+ if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint)) {
+ return;
+@@ -409,7 +414,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
- if (internal::SetCurrentThreadPriorityForPlatform(priority))
diff --git a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc
index ddb1bc00ca9f..f0791854a0e8 100644
--- a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc
+++ b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc
@@ -1,6 +1,6 @@
---- base/threading/platform_thread_unittest.cc.orig 2022-02-28 16:54:41 UTC
+--- base/threading/platform_thread_unittest.cc.orig 2025-07-02 06:08:04 UTC
+++ base/threading/platform_thread_unittest.cc
-@@ -30,7 +30,7 @@
+@@ -36,7 +36,7 @@
#include "base/time/time.h"
#endif
@@ -9,25 +9,16 @@
#include <pthread.h>
#include <sys/syscall.h>
#include <sys/types.h>
-@@ -319,7 +319,7 @@ TEST(PlatformThreadTest,
+@@ -369,7 +369,7 @@ TEST(PlatformThreadTest,
// and hardcodes what we know. Please inform scheduler-dev@chromium.org if this
// proprerty changes for a given platform.
- TEST(PlatformThreadTest, CanChangeThreadPriority) {
+ TEST(PlatformThreadTest, CanChangeThreadType) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be
- // able to increase priority to any level.
- constexpr bool kCanIncreasePriority = false;
-@@ -417,7 +417,7 @@ TEST(PlatformThreadTest, SetHugeThreadName) {
- TEST(PlatformThreadTest, GetDefaultThreadStackSize) {
- size_t stack_size = PlatformThread::GetDefaultThreadStackSize();
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || \
-- ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
-+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
- !defined(THREAD_SANITIZER)) || \
- (BUILDFLAG(IS_ANDROID) && !defined(ADDRESS_SANITIZER))
- EXPECT_EQ(0u, stack_size);
-@@ -578,12 +578,16 @@ INSTANTIATE_TEST_SUITE_P(
+ // able to increase priority to any level unless we are root (euid == 0).
+ bool kCanIncreasePriority = false;
+@@ -606,12 +606,16 @@ INSTANTIATE_TEST_SUITE_P(
#endif // BUILDFLAG(IS_APPLE)
@@ -38,9 +29,9 @@
bool IsTidCacheCorrect() {
+#if BUILDFLAG(IS_BSD)
-+ return PlatformThread::CurrentId() == reinterpret_cast<int64_t>(pthread_self());
++ return PlatformThread::CurrentId().raw() == reinterpret_cast<int64_t>(pthread_self());
+#else
- return PlatformThread::CurrentId() == syscall(__NR_gettid);
+ return PlatformThread::CurrentId().raw() == syscall(__NR_gettid);
+#endif
}
diff --git a/www/chromium/files/patch-base_time_time.cc b/www/chromium/files/patch-base_time_time.cc
deleted file mode 100644
index de90c9b11c34..000000000000
--- a/www/chromium/files/patch-base_time_time.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/time/time.cc.orig 2022-02-28 16:54:41 UTC
-+++ base/time/time.cc
-@@ -6,7 +6,7 @@
-
- #include "build/build_config.h"
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // time.h is a widely included header and its size impacts build time.
- // Try not to raise this limit unless necessary. See
- // https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md
diff --git a/www/chromium/files/patch-base_time_time__now__posix.cc b/www/chromium/files/patch-base_time_time__now__posix.cc
new file mode 100644
index 000000000000..965e6c4e02c9
--- /dev/null
+++ b/www/chromium/files/patch-base_time_time__now__posix.cc
@@ -0,0 +1,11 @@
+--- base/time/time_now_posix.cc.orig 2025-01-15 09:18:26 UTC
++++ base/time/time_now_posix.cc
+@@ -27,7 +27,7 @@
+ #endif
+
+ // NaCl doesn't support CLOCK_MONOTONIC_COARSE.
+-#if BUILDFLAG(IS_NACL)
++#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD)
+ #define TIMETICKS_LOW_RESOLUTION_CLOCK CLOCK_MONOTONIC
+ #else
+ #define TIMETICKS_LOW_RESOLUTION_CLOCK CLOCK_MONOTONIC_COARSE
diff --git a/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc b/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc
index 3a85c8907285..d16f0a13265a 100644
--- a/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc
+++ b/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc
@@ -1,29 +1,28 @@
---- base/trace_event/malloc_dump_provider.cc.orig 2022-06-17 14:20:10 UTC
+--- base/trace_event/malloc_dump_provider.cc.orig 2025-07-02 06:08:04 UTC
+++ base/trace_event/malloc_dump_provider.cc
-@@ -23,6 +23,8 @@
+@@ -31,6 +31,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
-@@ -176,7 +178,8 @@ void ReportAppleAllocStats(size_t* total_virtual_size,
+@@ -180,7 +182,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size,
- #if (BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \
- (!BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \
-- !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_FUCHSIA))
-+ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_FUCHSIA) && \
-+ !BUILDFLAG(IS_BSD))
+ #if (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \
+ (!PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \
+- !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA))
++ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD))
void ReportMallinfoStats(ProcessMemoryDump* pmd,
size_t* total_virtual_size,
size_t* resident_size,
-@@ -341,6 +344,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump
+@@ -367,6 +369,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/chromium/files/patch-base_trace__event_memory__dump__manager.cc b/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc
index f1f228e38e7b..586f720f01cb 100644
--- a/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc
+++ b/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc
@@ -1,6 +1,6 @@
---- base/trace_event/memory_dump_manager.cc.orig 2022-03-25 21:59:56 UTC
+--- base/trace_event/memory_dump_manager.cc.orig 2025-03-05 08:14:56 UTC
+++ base/trace_event/memory_dump_manager.cc
-@@ -82,7 +82,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP
+@@ -78,7 +78,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP
#if defined(MALLOC_MEMORY_TRACING_SUPPORTED)
MallocDumpProvider::kAllocatedObjects;
#else
diff --git a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc
index e697c602ffd7..4bb28bf4429c 100644
--- a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc
+++ b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc
@@ -1,20 +1,20 @@
---- base/trace_event/process_memory_dump.cc.orig 2022-06-17 14:20:10 UTC
+--- base/trace_event/process_memory_dump.cc.orig 2025-03-05 08:14:56 UTC
+++ base/trace_event/process_memory_dump.cc
-@@ -106,7 +106,7 @@ absl::optional<size_t> ProcessMemoryDump::CountResiden
+@@ -119,7 +119,7 @@ std::optional<size_t> ProcessMemoryDump::CountResident
#if BUILDFLAG(IS_WIN)
- std::unique_ptr<PSAPI_WORKING_SET_EX_INFORMATION[]> vec(
- new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]);
+ auto vec =
+ base::HeapArray<PSAPI_WORKING_SET_EX_INFORMATION>::WithSize(max_vec_size);
-#elif BUILDFLAG(IS_APPLE)
+#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
- std::unique_ptr<char[]> vec(new char[max_vec_size]);
+ auto vec = base::HeapArray<char>::WithSize(max_vec_size);
#elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
- std::unique_ptr<unsigned char[]> vec(new unsigned char[max_vec_size]);
-@@ -131,7 +131,7 @@ absl::optional<size_t> ProcessMemoryDump::CountResiden
-
- for (size_t i = 0; i < page_count; i++)
+ auto vec = base::HeapArray<unsigned char>::WithSize(max_vec_size);
+@@ -143,7 +143,7 @@ std::optional<size_t> ProcessMemoryDump::CountResident
+ for (size_t i = 0; i < page_count; i++) {
resident_page_count += vec[i].VirtualAttributes.Valid;
+ }
-#elif BUILDFLAG(IS_FUCHSIA)
+#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- // TODO(fuchsia): Port, see https://crbug.com/706592.
- #elif BUILDFLAG(IS_APPLE)
- // mincore in MAC does not fail with EAGAIN.
+ // TODO(crbug.com/42050620): Implement counting resident bytes.
+ // For now, log and avoid unused variable warnings.
+ NOTIMPLEMENTED_LOG_ONCE();
diff --git a/www/chromium/files/patch-base_tracing_trace__time.cc b/www/chromium/files/patch-base_tracing_trace__time.cc
index 36c6113518f4..2040b12690a7 100644
--- a/www/chromium/files/patch-base_tracing_trace__time.cc
+++ b/www/chromium/files/patch-base_tracing_trace__time.cc
@@ -1,6 +1,6 @@
---- base/tracing/trace_time.cc.orig 2022-02-28 16:54:41 UTC
+--- base/tracing/trace_time.cc.orig 2025-03-05 08:14:56 UTC
+++ base/tracing/trace_time.cc
-@@ -8,13 +8,17 @@
+@@ -8,12 +8,16 @@
#include "build/build_config.h"
#include "third_party/perfetto/include/perfetto/base/time.h"
@@ -8,8 +8,7 @@
+#define CLOCK_BOOTTIME CLOCK_UPTIME
+#endif
+
- namespace base {
- namespace tracing {
+ namespace base::tracing {
int64_t TraceBootTicksNow() {
// On Windows and Mac, TRACE_TIME_TICKS_NOW() behaves like boottime already.
@@ -18,11 +17,4 @@
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
struct timespec ts;
int res = clock_gettime(CLOCK_BOOTTIME, &ts);
- if (res != -1)
-@@ -24,4 +28,4 @@ int64_t TraceBootTicksNow() {
- }
-
- } // namespace tracing
--} // namespace base
-\ No newline at end of file
-+} // namespace base
+ if (res != -1) {
diff --git a/www/chromium/files/patch-build_config_BUILD.gn b/www/chromium/files/patch-build_config_BUILD.gn
index 13b50eb433dd..84a0fde9befa 100644
--- a/www/chromium/files/patch-build_config_BUILD.gn
+++ b/www/chromium/files/patch-build_config_BUILD.gn
@@ -1,22 +1,13 @@
---- build/config/BUILD.gn.orig 2022-02-28 16:54:41 UTC
+--- build/config/BUILD.gn.orig 2025-01-15 09:18:26 UTC
+++ build/config/BUILD.gn
-@@ -218,13 +218,17 @@ config("default_libs") {
- "CoreText.framework",
- "Foundation.framework",
- ]
-- } else if (is_linux || is_chromeos) {
-+ } else if ((is_linux && !is_bsd) || is_chromeos) {
- libs = [
- "dl",
- "pthread",
- "rt",
- ]
-- }
+@@ -215,6 +215,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/chromium/files/patch-build_config_BUILDCONFIG.gn b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
index d0508a977723..3749850480a4 100644
--- a/www/chromium/files/patch-build_config_BUILDCONFIG.gn
+++ b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
@@ -1,4 +1,4 @@
---- build/config/BUILDCONFIG.gn.orig 2022-04-21 18:48:31 UTC
+--- build/config/BUILDCONFIG.gn.orig 2025-07-02 06:08:04 UTC
+++ build/config/BUILDCONFIG.gn
@@ -136,7 +136,8 @@ declare_args() {
is_official_build = false
@@ -10,7 +10,7 @@
(current_cpu != "s390x" && current_cpu != "s390" &&
current_cpu != "ppc64" && current_cpu != "ppc" &&
current_cpu != "mips" && current_cpu != "mips64" &&
-@@ -220,6 +221,10 @@ if (host_toolchain == "") {
+@@ -235,6 +236,10 @@ if (host_toolchain == "") {
host_toolchain = "//build/toolchain/aix:$host_cpu"
} else if (host_os == "zos") {
host_toolchain = "//build/toolchain/zos:$host_cpu"
@@ -21,16 +21,16 @@
} else {
assert(false, "Unsupported host_os: $host_os")
}
-@@ -264,6 +269,8 @@ if (target_os == "android") {
- _default_toolchain = "//build/toolchain/aix:$target_cpu"
- } else if (target_os == "zos") {
- _default_toolchain = "//build/toolchain/zos:$target_cpu"
+@@ -284,6 +289,8 @@ if (target_os == "android") {
+ assert(
+ false,
+ "emscripten is not a supported target_os. It is available only as secondary toolchain.")
+} else if (target_os == "openbsd" || target_os == "freebsd") {
+ _default_toolchain = host_toolchain
} else {
assert(false, "Unsupported target_os: $target_os")
}
-@@ -298,7 +305,11 @@ is_android = current_os == "android"
+@@ -318,7 +325,11 @@ is_android = current_os == "android"
is_chromeos = current_os == "chromeos"
is_fuchsia = current_os == "fuchsia"
is_ios = current_os == "ios"
@@ -42,4 +42,4 @@
+is_bsd = current_os == "openbsd" || current_os == "freebsd"
is_mac = current_os == "mac"
is_nacl = current_os == "nacl"
- is_win = current_os == "win" || current_os == "winuwp"
+ is_wasm = current_os == "emscripten"
diff --git a/www/chromium/files/patch-build_config_clang_BUILD.gn b/www/chromium/files/patch-build_config_clang_BUILD.gn
new file mode 100644
index 000000000000..00cd3dbbf1cb
--- /dev/null
+++ b/www/chromium/files/patch-build_config_clang_BUILD.gn
@@ -0,0 +1,16 @@
+--- build/config/clang/BUILD.gn.orig 2025-07-02 06:08:04 UTC
++++ build/config/clang/BUILD.gn
+@@ -263,7 +263,12 @@ template("clang_lib") {
+
+ # Adds a dependency on the Clang runtime library clang_rt.builtins.
+ clang_lib("compiler_builtins") {
+- if (is_mac) {
++ if (is_bsd) {
++ # Since there's no Rust in the toolchain, there's no concern that we'll use
++ # the Rust stdlib's intrinsics here.
++ #
++ # Don't define libname which makes this target do nothing.
++ } else if (is_mac) {
+ libname = "osx"
+ } else if (is_ios) {
+ if (target_platform == "iphoneos") {
diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn
index 50d9caf98660..dcf99de92f05 100644
--- a/www/chromium/files/patch-build_config_compiler_BUILD.gn
+++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn
@@ -1,6 +1,15 @@
---- build/config/compiler/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- build/config/compiler/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ build/config/compiler/BUILD.gn
-@@ -231,13 +231,16 @@ config("default_include_dirs") {
+@@ -199,7 +199,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() {
+@@ -256,13 +256,16 @@ config("default_include_dirs") {
# Compiler instrumentation can introduce dependencies in DSOs to symbols in
# the executable they are loaded into, so they are unresolved at link-time.
config("no_unresolved_symbols") {
@@ -13,12 +22,12 @@
]
}
+ if (current_cpu == "x86" && is_openbsd) {
-+ ldflags = [ "-Wl,-z,notext" ]
++ ldflags = [ "-Wl,-z,notext", "-Wl,--strip-all" ]
+ }
}
# compiler ---------------------------------------------------------------------
-@@ -447,6 +450,10 @@ config("compiler") {
+@@ -521,6 +524,10 @@ config("compiler") {
}
}
@@ -28,35 +37,53 @@
+
# Linux-specific compiler flags setup.
# ------------------------------------
- if (use_gold) {
-@@ -522,7 +529,7 @@ config("compiler") {
+ if (use_icf && (!is_apple || use_lld)) {
+@@ -581,7 +588,7 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
-- if (is_clang && !is_nacl && current_os != "zos") {
-+ if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) {
+- if (is_clang && !is_nacl) {
++ if (is_clang && !is_nacl && !is_bsd) {
cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-
- # TODO(hans): Remove this once Clang generates better optimized debug info
-@@ -909,7 +916,7 @@ config("compiler_cpu_abi") {
+ if (save_reproducers_on_lld_crash && use_lld) {
+ ldflags += [
+@@ -1233,7 +1240,7 @@ config("compiler_cpu_abi") {
+ # simplicity we always explicitly set the architecture.
+ if (current_cpu == "x64") {
+ if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
+- !is_chromeos_device) {
++ !is_chromeos_device && !is_bsd) {
+ cflags += [ "--target=x86_64-unknown-linux-gnu" ]
+ ldflags += [ "--target=x86_64-unknown-linux-gnu" ]
+ } else {
+@@ -1242,7 +1249,7 @@ config("compiler_cpu_abi") {
+ }
+ cflags += [ "-msse3" ]
+ } else if (current_cpu == "x86") {
+- if (is_clang && !is_android && !is_nacl && !is_chromeos_device) {
++ if (is_clang && !is_android && !is_nacl && !is_chromeos_device && !is_bsd) {
+ cflags += [ "--target=i386-unknown-linux-gnu" ]
+ ldflags += [ "--target=i386-unknown-linux-gnu" ]
+ } else {
+@@ -1256,7 +1263,7 @@ config("compiler_cpu_abi") {
]
}
} else if (current_cpu == "arm") {
-- if (is_clang && !is_android && !is_nacl) {
-+ if (is_clang && !is_android && !is_nacl && !is_bsd) {
+- if (is_clang && !is_android && !is_nacl && !is_chromeos_device) {
++ if (is_clang && !is_android && !is_nacl && !is_chromeos_device && !is_bsd) {
cflags += [ "--target=arm-linux-gnueabihf" ]
ldflags += [ "--target=arm-linux-gnueabihf" ]
}
-@@ -923,7 +930,7 @@ config("compiler_cpu_abi") {
- cflags += [ "-mtune=$arm_tune" ]
+@@ -1271,7 +1278,7 @@ config("compiler_cpu_abi") {
}
} else if (current_cpu == "arm64") {
-- if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
-+ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) {
+ if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
+- !is_chromeos_device) {
++ !is_chromeos_device && !is_bsd) {
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
}
-@@ -1244,7 +1251,7 @@ config("compiler_deterministic") {
+@@ -1617,7 +1624,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,31 +92,35 @@
# TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
cflags += [
"-Xclang",
-@@ -1535,12 +1542,12 @@ config("default_warnings") {
- "-Wno-ignored-pragma-optimize",
- ]
+@@ -1683,7 +1690,7 @@ config("compiler_deterministic") {
+ }
-- if (!is_nacl) {
-+ if (!is_nacl && !is_bsd) {
- # TODO(https://crbug.com/1300731) Clean up and enable.
- cflags += [ "-Wno-unqualified-std-cast-call" ]
- }
+ config("clang_revision") {
+- if (is_clang && clang_base_path == default_clang_base_path &&
++ if (is_clang && !is_bsd && clang_base_path == default_clang_base_path &&
+ current_os != "zos") {
+ _perform_consistency_checks = current_toolchain == default_toolchain
+ if (llvm_force_head_revision) {
+@@ -1775,7 +1782,7 @@ config("clang_revision") {
+ # e.g. by setting in the the project's .gn file.
+ config("clang_warning_suppression") {
+ # Some build configs use older versions of clang that don't support WSMs
+- if (!is_nacl && default_toolchain != "//build/toolchain/cros:target" &&
++ if (!is_bsd && !is_nacl && default_toolchain != "//build/toolchain/cros:target" &&
+ !llvm_android_mainline && is_clang &&
+ clang_warning_suppression_file != "") {
+ from_build_root =
+@@ -2134,9 +2141,6 @@ config("default_warnings") {
-- if (!is_nacl && !(is_chromeos ||
-+ if (!is_nacl && !is_bsd && !(is_chromeos ||
- default_toolchain == "//build/toolchain/cros:target")) {
- # TODO(https://crbug.com/1322823): Remove flags once potential miscompile is investigated.
- cflags += [
-@@ -1724,7 +1731,7 @@ config("no_chromium_code") {
- # third-party libraries.
- "-Wno-c++11-narrowing",
- ]
-- if (!is_nacl) {
-+ if (!is_nacl && !is_freebsd) {
- cflags += [
- # Disabled for similar reasons as -Wunused-variable.
- "-Wno-unused-but-set-variable",
-@@ -2238,7 +2245,7 @@ config("afdo_optimize_size") {
+ # TODO(crbug.com/40284799): Fix and re-enable.
+ "-Wno-thread-safety-reference-return",
+-
+- # TODO(crbug.com/376641662): Fix and re-enable.
+- "-Wno-nontrivial-memcall",
+ ]
+
+ cflags_cc += [
+@@ -2920,7 +2924,7 @@ config("afdo_optimize_size") {
# There are some targeted places that AFDO regresses, so we provide a separate
# config to allow AFDO to be disabled per-target.
config("afdo") {
@@ -98,8 +129,8 @@
cflags = []
if (clang_emit_debug_info_for_profiling) {
# Add the following flags to generate debug info for profiling.
-@@ -2254,7 +2261,7 @@ config("afdo") {
- cflags += [ "-fprofile-sample-use=${rebased_clang_sample_profile}" ]
+@@ -2947,7 +2951,7 @@ config("afdo") {
+ cflags += [ "-Wno-backend-plugin" ]
inputs = [ _clang_sample_profile ]
}
- } else if (auto_profile_path != "" && is_a_target_toolchain) {
@@ -107,13 +138,12 @@
cflags = [ "-fauto-profile=${auto_profile_path}" ]
inputs = [ auto_profile_path ]
}
-@@ -2395,7 +2402,8 @@ config("symbols") {
- }
+@@ -3136,7 +3140,7 @@ config("symbols") {
+ cflags += [ "-gomit-unreferenced-methods" ]
}
-- if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos") {
-+ if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos" &&
-+ !is_bsd) {
+- if (is_clang && (!is_nacl || is_nacl_saigo)) {
++ if (is_clang && (!is_nacl || is_nacl_saigo) && !is_bsd) {
if (is_apple) {
- # TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
+ # TODO(crbug.com/40117949): Investigate missing debug info on mac.
# Make sure we don't use constructor homing on mac.
diff --git a/www/chromium/files/patch-build_config_gcc_BUILD.gn b/www/chromium/files/patch-build_config_gcc_BUILD.gn
new file mode 100644
index 000000000000..d2f81fde1c51
--- /dev/null
+++ b/www/chromium/files/patch-build_config_gcc_BUILD.gn
@@ -0,0 +1,13 @@
+--- build/config/gcc/BUILD.gn.orig 2025-01-15 09:18:26 UTC
++++ build/config/gcc/BUILD.gn
+@@ -32,7 +32,9 @@ declare_args() {
+ # See http://gcc.gnu.org/wiki/Visibility
+ config("symbol_visibility_hidden") {
+ cflags = [ "-fvisibility=hidden" ]
+- rustflags = [ "-Zdefault-visibility=hidden" ]
++ if (!is_bsd) {
++ rustflags = [ "-Zdefault-visibility=hidden" ]
++ }
+
+ # Visibility attribute is not supported on AIX.
+ if (current_os != "aix") {
diff --git a/www/chromium/files/patch-build_config_linux_libdrm_BUILD.gn b/www/chromium/files/patch-build_config_linux_libdrm_BUILD.gn
new file mode 100644
index 000000000000..feb6c3f3983f
--- /dev/null
+++ b/www/chromium/files/patch-build_config_linux_libdrm_BUILD.gn
@@ -0,0 +1,11 @@
+--- build/config/linux/libdrm/BUILD.gn.orig 2025-01-15 09:18:26 UTC
++++ build/config/linux/libdrm/BUILD.gn
+@@ -15,7 +15,7 @@ declare_args() {
+ }
+
+ if (use_system_libdrm) {
+- assert(!is_linux, "System libdrm is not supported in linux")
++# assert(!is_linux, "System libdrm is not supported in linux")
+ pkg_config("libdrm_config") {
+ packages = [ "libdrm" ]
+ }
diff --git a/www/chromium/files/patch-build_config_linux_pkg-config.py b/www/chromium/files/patch-build_config_linux_pkg-config.py
index e48b205448bd..aedfccae77da 100644
--- a/www/chromium/files/patch-build_config_linux_pkg-config.py
+++ b/www/chromium/files/patch-build_config_linux_pkg-config.py
@@ -1,6 +1,6 @@
---- build/config/linux/pkg-config.py.orig 2022-02-07 13:39:41 UTC
+--- build/config/linux/pkg-config.py.orig 2023-03-09 06:31:50 UTC
+++ build/config/linux/pkg-config.py
-@@ -109,7 +109,7 @@ def main():
+@@ -108,7 +108,7 @@ def main():
# If this is run on non-Linux platforms, just return nothing and indicate
# success. This allows us to "kind of emulate" a Linux build from other
# platforms.
diff --git a/www/chromium/files/patch-build_config_ozone.gni b/www/chromium/files/patch-build_config_ozone.gni
index c3d27e12d61f..1510c61ec39a 100644
--- a/www/chromium/files/patch-build_config_ozone.gni
+++ b/www/chromium/files/patch-build_config_ozone.gni
@@ -1,9 +1,9 @@
---- build/config/ozone.gni.orig 2022-07-22 17:30:31 UTC
+--- build/config/ozone.gni.orig 2025-05-05 10:57:53 UTC
+++ build/config/ozone.gni
-@@ -88,7 +88,15 @@ declare_args() {
- } else if (is_chromeos_lacros) {
- ozone_platform = "wayland"
- ozone_platform_wayland = true
+@@ -80,7 +80,15 @@ declare_args() {
+ ozone_platform = "x11"
+ ozone_platform_drm = true
+ ozone_platform_x11 = true
- } else if (is_linux) {
+ } else if (is_linux && !is_bsd) {
+ ozone_platform = "x11"
diff --git a/www/chromium/files/patch-build_config_rust.gni b/www/chromium/files/patch-build_config_rust.gni
index 724cec8e0742..b037f6e4a95b 100644
--- a/www/chromium/files/patch-build_config_rust.gni
+++ b/www/chromium/files/patch-build_config_rust.gni
@@ -1,11 +1,15 @@
---- build/config/rust.gni.orig 2022-06-17 14:20:10 UTC
+--- build/config/rust.gni.orig 2025-07-02 06:08:04 UTC
+++ build/config/rust.gni
-@@ -124,7 +124,7 @@ if (enable_rust) {
- rust_sysroot = "//third_party/rust-toolchain"
- use_unverified_rust_toolchain = false
- } else {
-- if (host_os != "linux") {
-+ if (host_os != "linux" && host_os != "openbsd" && host_os != "freebsd") {
- assert(false,
- "Attempt to use Android Rust toolchain on an unsupported platform")
- }
+@@ -373,7 +373,11 @@ if (is_linux || is_chromeos) {
+ }
+ }
+
+-if (toolchain_has_rust) {
++if (is_bsd) {
++ rust_abi_target = string_replace(rust_abi_target, "linux-gnu", current_os)
++}
++
++if (toolchain_has_rust && !is_bsd) {
+ assert(rust_abi_target != "")
+
+ _known_rust_target_triples_filepath = "//build/rust/known-target-triples.txt"
diff --git a/www/chromium/files/patch-build_detect__host__arch.py b/www/chromium/files/patch-build_detect__host__arch.py
index 9d8ad2c44d2b..8f6db3a275ca 100644
--- a/www/chromium/files/patch-build_detect__host__arch.py
+++ b/www/chromium/files/patch-build_detect__host__arch.py
@@ -1,6 +1,6 @@
---- build/detect_host_arch.py.orig 2021-04-14 18:40:48 UTC
+--- build/detect_host_arch.py.orig 2023-03-09 06:31:50 UTC
+++ build/detect_host_arch.py
-@@ -21,6 +21,8 @@ def HostArch():
+@@ -20,6 +20,8 @@ def HostArch():
host_arch = 'ia32'
elif host_arch in ['x86_64', 'amd64']:
host_arch = 'x64'
diff --git a/www/chromium/files/patch-build_gn__run__binary.py b/www/chromium/files/patch-build_gn__run__binary.py
index cf65b6532d6f..09c4810630ff 100644
--- a/www/chromium/files/patch-build_gn__run__binary.py
+++ b/www/chromium/files/patch-build_gn__run__binary.py
@@ -1,6 +1,6 @@
---- build/gn_run_binary.py.orig 2022-02-07 13:39:41 UTC
+--- build/gn_run_binary.py.orig 2023-03-09 06:31:50 UTC
+++ build/gn_run_binary.py
-@@ -24,7 +24,7 @@ if not os.path.isabs(path):
+@@ -23,7 +23,7 @@ if not os.path.isabs(path):
# The rest of the arguments are passed directly to the executable.
args = [path] + sys.argv[2:]
diff --git a/www/chromium/files/patch-build_linux_unbundle_icu.gn b/www/chromium/files/patch-build_linux_unbundle_icu.gn
new file mode 100644
index 000000000000..571e7d758fad
--- /dev/null
+++ b/www/chromium/files/patch-build_linux_unbundle_icu.gn
@@ -0,0 +1,43 @@
+--- build/linux/unbundle/icu.gn.orig 2025-01-15 09:18:26 UTC
++++ build/linux/unbundle/icu.gn
+@@ -17,6 +17,15 @@ config("icu_config") {
+ "USING_SYSTEM_ICU=1",
+ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
+
++ # As of icu 73 C++ nullptr, char16_t, override, final and noexcept are used
++ # instead of defines. These definitions can be removed when the bundled icu
++ # gets updated to 73. For more details, see:
++ # https://unicode-org.atlassian.net/browse/ICU-21833 and
++ # https://github.com/unicode-org/icu/commit/28643799377ecf654564f6f31854b02788cebe33
++ "U_FINAL=final",
++ "U_NOEXCEPT=noexcept",
++ "U_OVERRIDE=override",
++
+ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
+ # on classes through the U_COMMON_API and U_I18N_API macros (among others).
+ # When linking against the system ICU library, we want its symbols to have
+@@ -34,6 +43,9 @@ config("icu_config") {
+ # to define U_IMPORT to have the same value as U_EXPORT. For more details,
+ # please see: https://crbug.com/822820
+ "U_IMPORT=U_EXPORT",
++
++ # Unbreak with icu 76 where private symbols are picked up
++ "U_HIDE_DRAFT_API",
+ ]
+ }
+
+@@ -46,6 +58,14 @@ pkg_config("system_icuuc") {
+ }
+
+ source_set("icui18n") {
++ deps = [ ":icui18n_shim" ]
++ public_configs = [
++ ":icu_config",
++ ":system_icui18n",
++ ]
++}
++
++source_set("icui18n_hidden_visibility") {
+ deps = [ ":icui18n_shim" ]
+ public_configs = [
+ ":icu_config",
diff --git a/www/chromium/files/patch-build_linux_unbundle_libevent.gn b/www/chromium/files/patch-build_linux_unbundle_libevent.gn
deleted file mode 100644
index d5f276de574d..000000000000
--- a/www/chromium/files/patch-build_linux_unbundle_libevent.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- build/linux/unbundle/libevent.gn.orig 2022-05-28 07:21:18 UTC
-+++ build/linux/unbundle/libevent.gn
-@@ -9,7 +9,12 @@ shim_headers("libevent_shim") {
- headers = [ "event.h" ]
- }
-
-+config("system_libevent") {
-+ defines = [ "USE_SYSTEM_LIBEVENT=1" ]
-+}
-+
- source_set("libevent") {
- deps = [ ":libevent_shim" ]
- libs = [ "event" ]
-+ public_configs = [ ":system_libevent" ]
- }
diff --git a/www/chromium/files/patch-build_linux_unbundle_libusb.gn b/www/chromium/files/patch-build_linux_unbundle_libusb.gn
index db96d613cad6..906d413939c3 100644
--- a/www/chromium/files/patch-build_linux_unbundle_libusb.gn
+++ b/www/chromium/files/patch-build_linux_unbundle_libusb.gn
@@ -1,6 +1,6 @@
---- build/linux/unbundle/libusb.gn.orig 2021-04-15 08:12:30 UTC
+--- build/linux/unbundle/libusb.gn.orig 2023-12-10 06:10:27 UTC
+++ build/linux/unbundle/libusb.gn
-@@ -0,0 +1,24 @@
+@@ -1,3 +1,27 @@
+# Copyright 2016 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.
@@ -25,3 +25,6 @@
+ ]
+ public_configs = [ ":system_libusb" ]
+}
+ import("//build/config/linux/pkg_config.gni")
+ import("//build/shim_headers.gni")
+
diff --git a/www/chromium/files/patch-build_linux_unbundle_replace__gn__files.py b/www/chromium/files/patch-build_linux_unbundle_replace__gn__files.py
deleted file mode 100644
index fe360f1a2deb..000000000000
--- a/www/chromium/files/patch-build_linux_unbundle_replace__gn__files.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- build/linux/unbundle/replace_gn_files.py.orig 2021-12-14 11:44:55 UTC
-+++ build/linux/unbundle/replace_gn_files.py
-@@ -25,6 +25,7 @@ REPLACEMENTS = {
- 'libevent': 'base/third_party/libevent/BUILD.gn',
- 'libjpeg': 'third_party/libjpeg.gni',
- 'libpng': 'third_party/libpng/BUILD.gn',
-+ 'libusb': 'third_party/libusb/BUILD.gn',
- 'libvpx': 'third_party/libvpx/BUILD.gn',
- 'libwebp': 'third_party/libwebp/BUILD.gn',
- 'libxml': 'third_party/libxml/BUILD.gn',
diff --git a/www/chromium/files/patch-build_nocompile.gni b/www/chromium/files/patch-build_nocompile.gni
new file mode 100644
index 000000000000..64296d2e06a3
--- /dev/null
+++ b/www/chromium/files/patch-build_nocompile.gni
@@ -0,0 +1,11 @@
+--- build/nocompile.gni.orig 2025-02-19 07:43:18 UTC
++++ build/nocompile.gni
+@@ -55,7 +55,7 @@ if (is_win) {
+ }
+
+ declare_args() {
+- enable_nocompile_tests = is_clang && !is_nacl
++ enable_nocompile_tests = is_clang && !is_nacl && !is_bsd
+ }
+
+ if (enable_nocompile_tests) {
diff --git a/www/chromium/files/patch-build_rust_rust__bindgen.gni b/www/chromium/files/patch-build_rust_rust__bindgen.gni
new file mode 100644
index 000000000000..38647579847e
--- /dev/null
+++ b/www/chromium/files/patch-build_rust_rust__bindgen.gni
@@ -0,0 +1,19 @@
+--- build/rust/rust_bindgen.gni.orig 2025-01-15 09:18:26 UTC
++++ build/rust/rust_bindgen.gni
+@@ -12,14 +12,14 @@ if (is_win) {
+ import("//build/toolchain/win/win_toolchain_data.gni")
+ }
+
+-_bindgen_path = "${rust_bindgen_root}/bin/bindgen"
++_bindgen_path = "${LOCALBASE}/bin/bindgen"
+ if (host_os == "win") {
+ _bindgen_path = "${_bindgen_path}.exe"
+ }
+
+ # On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
+ # ../lib.
+-_libclang_path = rust_bindgen_root
++_libclang_path = "${LOCALBASE}/llvm${MODCLANG_VERSION}"
+ if (host_os == "win") {
+ _libclang_path += "/bin"
+ } else {
diff --git a/www/chromium/files/patch-build_rust_rust__bindgen__generator.gni b/www/chromium/files/patch-build_rust_rust__bindgen__generator.gni
new file mode 100644
index 000000000000..ac16ecb6e2d4
--- /dev/null
+++ b/www/chromium/files/patch-build_rust_rust__bindgen__generator.gni
@@ -0,0 +1,19 @@
+--- build/rust/rust_bindgen_generator.gni.orig 2025-01-15 09:18:26 UTC
++++ build/rust/rust_bindgen_generator.gni
+@@ -11,14 +11,14 @@ if (is_win) {
+ import("//build/toolchain/win/win_toolchain_data.gni")
+ }
+
+-_bindgen_path = "${rust_bindgen_root}/bin/bindgen"
++_bindgen_path = "${LOCALBASE}/bin/bindgen"
+ if (host_os == "win") {
+ _bindgen_path = "${_bindgen_path}.exe"
+ }
+
+ # On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
+ # ../lib.
+-_libclang_path = rust_bindgen_root
++_libclang_path = "${LOCALBASE}/llvm${MODCLANG_VERSION}"
+ if (host_os == "win") {
+ _libclang_path += "/bin"
+ } else {
diff --git a/www/chromium/files/patch-build_rust_std_BUILD.gn b/www/chromium/files/patch-build_rust_std_BUILD.gn
new file mode 100644
index 000000000000..2ec9c0453c73
--- /dev/null
+++ b/www/chromium/files/patch-build_rust_std_BUILD.gn
@@ -0,0 +1,32 @@
+--- build/rust/std/BUILD.gn.orig 2025-05-28 14:55:43 UTC
++++ build/rust/std/BUILD.gn
+@@ -50,13 +50,20 @@ if (toolchain_has_rust) {
+ # These are no longer present in the Windows toolchain.
+ stdlib_files += [
+ "addr2line",
+- "adler2",
+ "gimli",
+ "libc",
+ "memchr",
+ "miniz_oxide",
+ "object",
+ ]
++
++ rust_revision_pieces = string_split(rustc_revision, " ")
++ rust_version_pieces = string_split(rust_revision_pieces[1], ".")
++ if (rust_version_pieces[1] == "85") {
++ stdlib_files += [ "adler" ]
++ } else {
++ stdlib_files += [ "adler2" ]
++ }
+ }
+
+ if (toolchain_for_rust_host_build_tools) {
+@@ -76,7 +83,6 @@ if (toolchain_has_rust) {
+ # don't need to pass to the C++ linker because they're used for specialized
+ # purposes.
+ skip_stdlib_files = [
+- "profiler_builtins",
+ "rustc_std_workspace_alloc",
+ "rustc_std_workspace_core",
+ "rustc_std_workspace_std",
diff --git a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
index b60fac0078ef..8c544b43738a 100644
--- a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
+++ b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
@@ -1,6 +1,6 @@
---- build/toolchain/gcc_toolchain.gni.orig 2022-05-19 14:06:27 UTC
+--- build/toolchain/gcc_toolchain.gni.orig 2025-04-04 08:52:13 UTC
+++ build/toolchain/gcc_toolchain.gni
-@@ -53,6 +53,13 @@ if (enable_resource_allowlist_generation) {
+@@ -56,6 +56,13 @@ if (enable_resource_allowlist_generation) {
"enable_resource_allowlist_generation=true does not work for target_os=$target_os")
}
@@ -14,11 +14,20 @@
# This template defines a toolchain for something that works like gcc
# (including clang).
#
-@@ -786,13 +793,12 @@ template("gcc_toolchain") {
- # use_gold too.
+@@ -896,22 +903,12 @@ template("gcc_toolchain") {
+ # actually just be doing a native compile.
template("clang_toolchain") {
gcc_toolchain(target_name) {
-- prefix = rebase_path("$clang_base_path/bin", root_build_dir)
+- _path = "$clang_base_path/bin"
+- _is_path_absolute = get_path_info(_path, "abspath") == _path
+-
+- # Preserve absolute paths for tools like distcc.
+- if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) {
+- prefix = _path
+- } else {
+- prefix = rebase_path(_path, root_build_dir)
+- }
+-
- cc = "${prefix}/clang"
- cxx = "${prefix}/clang++"
+ cc = "cc"
@@ -31,5 +40,5 @@
+ ar = "ar"
+ nm = "nm"
- forward_variables_from(invoker,
- [
+ forward_variables_from(invoker, "*", [ "toolchain_args" ])
+
diff --git a/www/chromium/files/patch-build_toolchain_toolchain.gni b/www/chromium/files/patch-build_toolchain_toolchain.gni
new file mode 100644
index 000000000000..11f7d267813f
--- /dev/null
+++ b/www/chromium/files/patch-build_toolchain_toolchain.gni
@@ -0,0 +1,11 @@
+--- build/toolchain/toolchain.gni.orig 2025-07-02 06:08:04 UTC
++++ build/toolchain/toolchain.gni
+@@ -60,7 +60,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" || host_os == "zos") {
++} else if (is_posix) {
+ host_shlib_extension = ".so"
+ } else {
+ assert(false, "Host platform not supported")
diff --git a/www/chromium/files/patch-cc_BUILD.gn b/www/chromium/files/patch-cc_BUILD.gn
deleted file mode 100644
index b6f50ae884f8..000000000000
--- a/www/chromium/files/patch-cc_BUILD.gn
+++ /dev/null
@@ -1,19 +0,0 @@
---- cc/BUILD.gn.orig 2022-06-17 14:20:10 UTC
-+++ cc/BUILD.gn
-@@ -669,7 +669,7 @@ cc_test_static_library("test_support") {
- if (enable_vulkan) {
- deps += [ "//gpu/vulkan/init" ]
- }
-- if (!is_android) {
-+ if (!is_android && !is_bsd) {
- data_deps = [ "//third_party/mesa_headers" ]
- }
- }
-@@ -897,7 +897,6 @@ cc_test("cc_unittests") {
- data = [ "//components/viz/test/data/" ]
- data_deps = [
- "//testing/buildbot/filters:cc_unittests_filters",
-- "//third_party/mesa_headers",
- ]
-
- if (is_android && enable_chrome_android_internal) {
diff --git a/www/chromium/files/patch-cc_base_features.cc b/www/chromium/files/patch-cc_base_features.cc
new file mode 100644
index 000000000000..ff7dff601475
--- /dev/null
+++ b/www/chromium/files/patch-cc_base_features.cc
@@ -0,0 +1,11 @@
+--- cc/base/features.cc.orig 2025-05-28 14:55:43 UTC
++++ cc/base/features.cc
+@@ -52,7 +52,7 @@ const base::FeatureParam<int> kDeferImplInvalidationFr
+ // be using a separate flag to control the launch on GL.
+ 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/chromium/files/patch-chrome_app_app__management__strings.grdp b/www/chromium/files/patch-chrome_app_app__management__strings.grdp
deleted file mode 100644
index 951439da5219..000000000000
--- a/www/chromium/files/patch-chrome_app_app__management__strings.grdp
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/app/app_management_strings.grdp.orig 2022-07-22 17:30:31 UTC
-+++ chrome/app/app_management_strings.grdp
-@@ -173,7 +173,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/chromium/files/patch-chrome_app_chrome__command__ids.h b/www/chromium/files/patch-chrome_app_chrome__command__ids.h
index e5fe7eacffed..c22a5e46b2d2 100644
--- a/www/chromium/files/patch-chrome_app_chrome__command__ids.h
+++ b/www/chromium/files/patch-chrome_app_chrome__command__ids.h
@@ -1,11 +1,16 @@
---- chrome/app/chrome_command_ids.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/app/chrome_command_ids.h.orig 2025-03-05 08:14:56 UTC
+++ chrome/app/chrome_command_ids.h
-@@ -67,7 +67,7 @@
- #define IDC_NAME_WINDOW 34049
+@@ -72,11 +72,11 @@
+ #define IDC_TOGGLE_MULTITASK_MENU 34050
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#define IDC_USE_SYSTEM_TITLE_BAR 34051
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#define IDC_RESTORE_WINDOW 34052
#endif
+
diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc
index f0268b40f412..c778a6f5c376 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main.cc
@@ -1,7 +1,7 @@
---- chrome/app/chrome_main.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/app/chrome_main.cc.orig 2025-01-15 09:18:26 UTC
+++ chrome/app/chrome_main.cc
-@@ -26,7 +26,7 @@
- #include "chrome/app/notification_metrics.h"
+@@ -28,11 +28,11 @@
+ #include "chrome/app/chrome_main_mac.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
@@ -9,12 +9,35 @@
#include "base/base_switches.h"
#endif
-@@ -147,7 +147,7 @@ int ChromeMain(int argc, const char** argv) {
- headless::SetUpCommandLine(command_line);
- } else {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/app/chrome_main_linux.h"
+ #endif
+
+@@ -57,7 +57,7 @@
+ // sometime after old headless code is removed from Chrome.
+ // See https://crbug.com/373672160.
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- if (command_line->HasSwitch(switches::kHeadless)) {
- #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
- command_line->AppendSwitch(::headless::switches::kEnableCrashReporter);
+ #define ENABLE_OLD_HEADLESS_INFO
+ #endif
+
+@@ -115,7 +115,7 @@ int ChromeMain(int argc, const char** argv) {
+ #error Unknown platform.
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ PossiblyDetermineFallbackChromeChannel(argv[0]);
+ #endif
+
+@@ -181,7 +181,7 @@ int ChromeMain(int argc, const char** argv) {
+ SetUpBundleOverrides();
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ AppendExtraArgumentsToCommandLine(command_line);
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
index e9c8dd1d6baa..39a606b494bb 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
@@ -1,7 +1,7 @@
---- chrome/app/chrome_main_delegate.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/app/chrome_main_delegate.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/app/chrome_main_delegate.cc
-@@ -125,7 +125,7 @@
- #include "components/about_ui/credit_utils.h"
+@@ -147,7 +147,7 @@
+ #include "components/webui/about/credit_utils.h"
#endif
-#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
@@ -9,22 +9,28 @@
#include "components/nacl/common/nacl_paths.h"
#include "components/nacl/zygote/nacl_fork_delegate_linux.h"
#endif
-@@ -168,12 +168,12 @@
+@@ -187,17 +187,17 @@
#include "v8/include/v8.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/environment.h"
#endif
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/nix/scoped_xdg_activation_token_injector.h"
+ #include "ui/linux/display_server_utils.h"
+ #endif
+
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/policy/policy_path_parser.h"
#include "components/crash/core/app/crashpad.h"
#endif
-@@ -320,7 +320,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
+@@ -315,7 +315,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
// and resources loaded.
bool SubprocessNeedsResourceBundle(const std::string& process_type) {
return
@@ -33,16 +39,34 @@
// The zygote process opens the resources for the renderers.
process_type == switches::kZygoteProcess ||
#endif
-@@ -406,7 +406,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
+@@ -398,7 +398,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
+ return false;
+ }
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Show the man page if --help or -h is on the command line.
void HandleHelpSwitches(const base::CommandLine& command_line) {
if (command_line.HasSwitch(switches::kHelp) ||
-@@ -470,7 +470,7 @@ void InitializeUserDataDir(base::CommandLine* command_
+@@ -410,7 +410,7 @@ void HandleHelpSwitches(const base::CommandLine& comma
+ }
+ #endif // BUILDFLAG(IS_LINUX)
+
+-#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID)
++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD)
+ void SIGTERMProfilingShutdown(int signal) {
+ content::Profiling::Stop();
+ struct sigaction sigact;
+@@ -492,7 +492,7 @@ std::optional<int> AcquireProcessSingleton(
+ // process can be exited.
+ ChromeProcessSingleton::CreateInstance(user_data_dir);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Read the xdg-activation token and set it in the command line for the
+ // duration of the notification in order to ensure this is propagated to an
+ // already running browser process if it exists.
+@@ -570,7 +570,7 @@ void InitializeUserDataDir(base::CommandLine* command_
std::string process_type =
command_line->GetSwitchValueASCII(switches::kProcessType);
@@ -51,7 +75,7 @@
// On Linux, Chrome does not support running multiple copies under different
// DISPLAYs, so the profile directory can be specified in the environment to
// support the virtual desktop use-case.
-@@ -554,7 +554,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat
+@@ -668,7 +668,7 @@ void RecordMainStartupMetrics(const StartupTimestamps&
#endif
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
@@ -59,27 +83,36 @@
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Record the startup process creation time on supported platforms. On Android
// this is recorded in ChromeMainDelegateAndroid.
- startup_metric_utils::RecordStartupProcessCreationTime(
-@@ -733,6 +733,8 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
- // not always enabled on Linux/ChromeOS.
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- bool enable_gwp_asan = crash_reporter::IsCrashpadEnabled();
-+#elif BUILDFLAG(IS_BSD)
-+ bool enable_gwp_asan = false;
- #else
- bool enable_gwp_asan = true;
+ startup_metric_utils::GetCommon().RecordStartupProcessCreationTime(
+@@ -827,7 +827,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitia
+ #if BUILDFLAG(IS_OZONE)
+ // Initialize Ozone platform and add required feature flags as per platform's
+ // properties.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ui::SetOzonePlatformForLinuxIfNeeded(*base::CommandLine::ForCurrentProcess());
#endif
-@@ -878,7 +880,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
+ ui::OzonePlatform::PreEarlyInitialization();
+@@ -982,7 +982,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
+ const bool is_canary_dev = IsCanaryDev();
+ const bool emit_crashes =
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ is_canary_dev;
+ #else
+ false;
+@@ -1130,7 +1130,7 @@ std::optional<int> ChromeMainDelegate::BasicStartupCom
+ return 0; // Got a --credits switch; exit with a success error code.
}
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag
- // switch of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// This will directly exit if the user asked for help.
HandleHelpSwitches(command_line);
#endif
-@@ -936,7 +938,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
- #if BUILDFLAG(IS_CHROMEOS)
+@@ -1155,7 +1155,7 @@ std::optional<int> ChromeMainDelegate::BasicStartupCom
+ ash::RegisterPathProvider();
chromeos::dbus_paths::RegisterPathProvider();
#endif
-#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
@@ -87,21 +120,28 @@
nacl::RegisterPathProvider();
#endif
-@@ -1316,7 +1318,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- locale;
+@@ -1439,7 +1439,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+ CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
}
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
// Zygote needs to call InitCrashReporter() in RunZygote().
- if (process_type != switches::kZygoteProcess) {
- if (command_line.HasSwitch(switches::kPreCrashpadCrashTest)) {
-@@ -1393,7 +1395,7 @@ absl::variant<int, content::MainFunctionParams> Chrome
-
- // This entry is not needed on Linux, where the NaCl loader
- // process is launched via nacl_helper instead.
--#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
- {switches::kNaClLoaderProcess, NaClMain},
+ if (process_type != switches::kZygoteProcess &&
+ !command_line.HasSwitch(switches::kDisableCrashpadForTesting)) {
+@@ -1527,13 +1527,13 @@ std::variant<int, content::MainFunctionParams> ChromeM
#else
- {"<invalid>", nullptr}, // To avoid constant array of size 0
+
+ #if BUILDFLAG(IS_MAC) || (BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && \
+- !BUILDFLAG(IS_CHROMEOS))
++ !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD))
+ static const MainFunction kMainFunctions[] = {
+ #if BUILDFLAG(IS_MAC)
+ {switches::kRelauncherProcess, mac_relauncher::internal::RelauncherMain},
+ {switches::kCodeSignCloneCleanupProcess,
+ code_sign_clone_manager::internal::ChromeCodeSignCloneCleanupMain},
+-#elif BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
+ // This entry is not needed on Linux, where the NaCl loader
+ // process is launched via nacl_helper instead.
+ {switches::kNaClLoaderProcess, NaClMain},
diff --git a/www/chromium/files/patch-chrome_app_chromium__strings.grd b/www/chromium/files/patch-chrome_app_chromium__strings.grd
deleted file mode 100644
index 28bfed9125df..000000000000
--- a/www/chromium/files/patch-chrome_app_chromium__strings.grd
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/app/chromium_strings.grd.orig 2022-06-17 14:20:10 UTC
-+++ chrome/app/chromium_strings.grd
-@@ -296,7 +296,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>
-@@ -410,7 +410,7 @@ If you update this file, be sure also to update google
- Chromium may not function correctly because it is no longer supported on Windows XP or Windows Vista
- </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>
diff --git a/www/chromium/files/patch-chrome_app_generated__resources.grd b/www/chromium/files/patch-chrome_app_generated__resources.grd
deleted file mode 100644
index 5e9dce92b81b..000000000000
--- a/www/chromium/files/patch-chrome_app_generated__resources.grd
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/app/generated_resources.grd.orig 2022-07-22 17:30:31 UTC
-+++ 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.
- -->
-@@ -2989,7 +2989,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>
-@@ -8737,7 +8737,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>
-@@ -9897,7 +9897,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>
diff --git a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
deleted file mode 100644
index 5306ef5a6679..000000000000
--- a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/app/google_chrome_strings.grd.orig 2022-06-17 14:20:10 UTC
-+++ 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>
-@@ -438,7 +438,7 @@ chromium_strings.grd. -->
- This computer will no longer receive Google Chrome updates because Windows XP and Windows Vista are no longer supported
- </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>
diff --git a/www/chromium/files/patch-chrome_app_profiles__strings.grdp b/www/chromium/files/patch-chrome_app_profiles__strings.grdp
deleted file mode 100644
index cf95a34a489e..000000000000
--- a/www/chromium/files/patch-chrome_app_profiles__strings.grdp
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/app/profiles_strings.grdp.orig 2022-02-07 13:39:41 UTC
-+++ chrome/app/profiles_strings.grdp
-@@ -66,7 +66,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/chromium/files/patch-chrome_app_settings__strings.grdp b/www/chromium/files/patch-chrome_app_settings__strings.grdp
deleted file mode 100644
index ea16909c08e8..000000000000
--- a/www/chromium/files/patch-chrome_app_settings__strings.grdp
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/app/settings_strings.grdp.orig 2022-07-22 17:30:31 UTC
-+++ chrome/app/settings_strings.grdp
-@@ -131,7 +131,7 @@
- Theme
- </message>
- </if>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_SETTINGS_SYSTEM_THEME" desc="Text of the label describing the system (GTK+) browser theme on Linux">
- GTK+
- </message>
-@@ -145,7 +145,7 @@
- Use Classic
- </message>
- </if>
-- <if expr="not is_linux or chromeos_ash or chromeos_lacros or is_fuchsia">
-+ <if expr="not is_posix or chromeos_ash or chromeos_lacros 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/chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd b/www/chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
deleted file mode 100644
index 77b1c7981089..000000000000
--- a/www/chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
+++ /dev/null
@@ -1,32 +0,0 @@
---- chrome/app/theme/chrome_unscaled_resources.grd.orig 2022-04-21 18:48:31 UTC
-+++ chrome/app/theme/chrome_unscaled_resources.grd
-@@ -15,12 +15,12 @@
- <release seq="1">
- <includes>
- <if expr="_google_chrome">
-- <if expr="not is_linux">
-+ <if expr="not is_posix">
- <include name="IDR_PRODUCT_LOGO_64" file="google_chrome/product_logo_64.png" type="BINDATA" />
- <include name="IDR_PRODUCT_LOGO_128" file="google_chrome/product_logo_128.png" type="BINDATA" />
- <include name="IDR_PRODUCT_LOGO_256" file="google_chrome/product_logo_256.png" type="BINDATA" />
- </if>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <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" />
- <include name="IDR_PRODUCT_LOGO_128_BETA" file="google_chrome/linux/product_logo_128_beta.png" type="BINDATA" />
-@@ -53,12 +53,12 @@
- </if>
- </if>
- <if expr="not _google_chrome">
-- <if expr="not is_linux">
-+ <if expr="not is_posix">
- <include name="IDR_PRODUCT_LOGO_64" file="chromium/product_logo_64.png" type="BINDATA" />
- <include name="IDR_PRODUCT_LOGO_128" file="chromium/product_logo_128.png" type="BINDATA" />
- <include name="IDR_PRODUCT_LOGO_256" file="chromium/product_logo_256.png" type="BINDATA" />
- </if>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <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" />
- <include name="IDR_PRODUCT_LOGO_256" file="chromium/linux/product_logo_256.png" type="BINDATA" />
diff --git a/www/chromium/files/patch-chrome_app_theme_theme__resources.grd b/www/chromium/files/patch-chrome_app_theme_theme__resources.grd
deleted file mode 100644
index 491d03995e76..000000000000
--- a/www/chromium/files/patch-chrome_app_theme_theme__resources.grd
+++ /dev/null
@@ -1,34 +0,0 @@
---- chrome/app/theme/theme_resources.grd.orig 2022-06-17 14:20:10 UTC
-+++ chrome/app/theme/theme_resources.grd
-@@ -130,11 +130,11 @@
- <structure type="chrome_scaled_image" name="IDR_PRERENDER" file="common/prerender_succeed_icon.png" />
- </if>
- <if expr="not _google_chrome">
-- <if expr="not is_linux">
-+ <if expr="not is_posix">
- <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" />
- </if>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <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" />
- </if>
-@@ -142,7 +142,7 @@
- <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_NAME_22_WHITE" file="chromium/product_logo_name_22_white.png" />
- </if>
- <if expr="_google_chrome">
-- <if expr="not is_linux">
-+ <if expr="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" />
-@@ -150,7 +150,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" />
- </if>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <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" />
diff --git a/www/chromium/files/patch-chrome_browser_BUILD.gn b/www/chromium/files/patch-chrome_browser_BUILD.gn
new file mode 100644
index 000000000000..a373b591fbb6
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_BUILD.gn
@@ -0,0 +1,16 @@
+--- chrome/browser/BUILD.gn.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/BUILD.gn
+@@ -7008,6 +7008,13 @@ static_library("browser") {
+ [ "//third_party/webrtc/modules/desktop_capture:pipewire_config" ]
+ }
+
++ if (is_bsd) {
++ sources -= [
++ "metrics/bluetooth_metrics_provider.cc",
++ "metrics/bluetooth_metrics_provider.h",
++ ]
++ }
++
+ if (use_dbus) {
+ sources += [
+ "dbus_memory_pressure_evaluator_linux.cc",
diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc
index 49e45123da2f..fc138c40b813 100644
--- a/www/chromium/files/patch-chrome_browser_about__flags.cc
+++ b/www/chromium/files/patch-chrome_browser_about__flags.cc
@@ -1,25 +1,52 @@
---- chrome/browser/about_flags.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/about_flags.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/about_flags.cc
-@@ -203,7 +203,7 @@
- #include "ui/native_theme/native_theme_features.h"
- #include "ui/ui_features.h"
+@@ -263,7 +263,7 @@
+ #include "extensions/common/extension_features.h"
+ #endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/allocator/buildflags.h"
#endif
-@@ -277,7 +277,7 @@
- #include "chrome/browser/supervised_user/supervised_user_features/supervised_user_features.h" // nogncheck
- #endif // ENABLE_SUPERVISED_USERS
+@@ -353,7 +353,7 @@
+ #include "device/vr/public/cpp/switches.h"
+ #endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- #include "ui/ozone/buildflags.h"
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "ui/ozone/public/ozone_switches.h"
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -366,7 +366,7 @@ const FeatureEntry::Choice kUseAngleChoicesMac[] = {
- gl::kANGLEImplementationMetalName}};
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+
+@@ -363,7 +363,7 @@
+ #include "chrome/browser/win/mica_titlebar.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/contextual_cueing/contextual_cueing_features.h" // nogncheck
+ #include "chrome/browser/enterprise/profile_management/profile_management_features.h"
+ #include "chrome/browser/enterprise/webstore/features.h"
+@@ -375,7 +375,7 @@
+ #include "components/user_education/common/user_education_features.h" // nogncheck
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/ui_features.h"
+ #include "ui/base/ui_base_features.h"
+ #endif
+@@ -427,7 +427,7 @@ const FeatureEntry::Choice kPullToRefreshChoices[] = {
+ #endif // USE_AURA
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+
+ const FeatureEntry::FeatureParam kLocalNetworkAccessChecksBlock[] = {
+ {"LocalNetworkAccessChecksWarn", "false"}};
+@@ -543,7 +543,7 @@ const FeatureEntry::FeatureVariation kDXGIWaitableSwap
+ {"Max 3 Frames", &kDXGIWaitableSwapChain3Frames, 1, nullptr}};
#endif
-#if BUILDFLAG(IS_LINUX)
@@ -27,75 +54,353 @@
const FeatureEntry::Choice kOzonePlatformHintRuntimeChoices[] = {
{flag_descriptions::kOzonePlatformHintChoiceDefault, "", ""},
{flag_descriptions::kOzonePlatformHintChoiceAuto,
-@@ -1137,7 +1137,7 @@ const FeatureEntry::FeatureVariation
+@@ -900,6 +900,26 @@ const FeatureEntry::FeatureVariation
+ std::size(kWebIdentityDigitalIdentityCredentialHighRiskDialogParam),
+ nullptr}};
+
++#if BUILDFLAG(IS_BSD)
++const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = {
++ { "audio-backend", "pulseaudio" }};
++const FeatureEntry::FeatureParam kAudioBackendSndio[] = {
++ { "audio-backend", "sndio" }};
++const FeatureEntry::FeatureParam kAudioBackendAlsa[] = {
++ { "audio-backend", "alsa" }};
++const FeatureEntry::FeatureVariation
++ kAudioBackendVariations[] = {
++ {"using PulseAudio by default if available", kAudioBackendPulseAudio,
++ std::size(kAudioBackendPulseAudio),
++ nullptr},
++ {"using sndio by default if available", kAudioBackendSndio,
++ std::size(kAudioBackendSndio),
++ nullptr},
++ {"using ALSA by default if available", kAudioBackendAlsa,
++ std::size(kAudioBackendAlsa),
++ nullptr}};
++#endif
++
+ const FeatureEntry::FeatureParam kClipboardMaximumAge60Seconds[] = {
+ {"UIClipboardMaximumAge", "60"}};
+ const FeatureEntry::FeatureParam kClipboardMaximumAge90Seconds[] = {
+@@ -1292,7 +1312,7 @@ constexpr FeatureEntry::FeatureVariation
+ #endif // !BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ const FeatureEntry::FeatureParam kHistoryEmbeddingsAtKeywordAcceleration[]{
+ {"AtKeywordAcceleration", "true"},
+ };
+@@ -1330,7 +1350,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada
};
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
-- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = {
- {"DocumentUseServerScore", "true"},
- {"DocumentUseClientScore", "false"},
-@@ -3841,7 +3841,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(base::kOneGroupPerRenderer)},
- #endif // BUILDFLAG(IS_CHROMEOS)
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // A limited number of combinations of the rich autocompletion params.
+ const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = {
+@@ -3826,7 +3846,7 @@ const FeatureEntry::FeatureVariation
+ #endif // BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] =
+ {{"link_capturing_state", "on_by_default"}};
+ const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] =
+@@ -4261,7 +4281,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari
+ std::size(kSkiaGraphite_DebugLabelsEnabled), nullptr},
+ };
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const FeatureEntry::FeatureParam kTranslationAPI_SkipLanguagePackLimit[] = {
+ {"TranslationAPIAcceptLanguagesCheck", "false"},
+ {"TranslationAPILimitLanguagePackCount", "false"}};
+@@ -4321,7 +4341,7 @@ const FeatureEntry::FeatureVariation
+ 1, nullptr},
+ };
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = {
+ {"BackoffTime", "0h"},
+ {"BackoffMultiplierBase", "0.0"},
+@@ -5264,7 +5284,7 @@ const FeatureEntry kFeatureEntries[] = {
+ },
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{
- "enable-accelerated-video-decode",
- flag_descriptions::kAcceleratedVideoDecodeName,
-@@ -4449,7 +4449,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(features::kWebShare)},
- #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+ "fluent-overlay-scrollbars",
+ flag_descriptions::kFluentOverlayScrollbarsName,
+@@ -5555,7 +5575,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kEnableIsolatedWebAppDevModeName,
+ flag_descriptions::kEnableIsolatedWebAppDevModeDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(features::kIsolatedWebAppDevMode)},
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"enable-iwa-key-distribution-component",
+ flag_descriptions::kEnableIwaKeyDistributionComponentName,
+ flag_descriptions::kEnableIwaKeyDistributionComponentDescription,
+@@ -5780,7 +5800,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(media::kUseSCContentSharingPicker)},
+ #endif // BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- {"ozone-platform-hint", flag_descriptions::kOzonePlatformHintName,
- flag_descriptions::kOzonePlatformHintDescription, kOsLinux,
- MULTI_VALUE_TYPE(kOzonePlatformHintRuntimeChoices)},
-@@ -4468,7 +4468,7 @@ const FeatureEntry kFeatureEntries[] = {
- password_manager::features::kForceInitialSyncWhenDecryptionFails)},
+ {"pulseaudio-loopback-for-cast",
+ flag_descriptions::kPulseaudioLoopbackForCastName,
+ flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux,
+@@ -5821,6 +5841,16 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kWaylandSessionManagementName,
+ flag_descriptions::kWaylandSessionManagementDescription, kOsLinux,
+ FEATURE_VALUE_TYPE(features::kWaylandSessionManagement)},
++
++#if BUILDFLAG(IS_BSD)
++ {"audio-backend",
++ flag_descriptions::kAudioBackendName,
++ flag_descriptions::kAudioBackendDescription, kOsLinux,
++ FEATURE_WITH_PARAMS_VALUE_TYPE(
++ media::kAudioBackend,
++ kAudioBackendVariations,
++ "AudioBackend")},
++#endif
#endif // BUILDFLAG(IS_LINUX)
+ #if BUILDFLAG(ENABLE_VR)
+@@ -6709,7 +6739,7 @@ const FeatureEntry kFeatureEntries[] = {
+ "MlUrlScoring")},
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ {"contextual-search-box-uses-contextual-search-provider",
+ flag_descriptions::kContextualSearchBoxUsesContextualSearchProviderName,
+ flag_descriptions::
+@@ -7061,7 +7091,7 @@ const FeatureEntry kFeatureEntries[] = {
+ kNumSrpZpsRelatedSearches,
+ "PowerTools")},
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName,
+ flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop,
+ FEATURE_WITH_PARAMS_VALUE_TYPE(history_embeddings::kHistoryEmbeddings,
+@@ -7560,7 +7590,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)},
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- {"skip-undecryptable-passwords",
- flag_descriptions::kSkipUndecryptablePasswordsName,
- flag_descriptions::kSkipUndecryptablePasswordsDescription,
-@@ -5159,7 +5159,7 @@ const FeatureEntry kFeatureEntries[] = {
- "OmniboxBundledExperimentV1")},
+ {"cups-ipp-printing-backend",
+ flag_descriptions::kCupsIppPrintingBackendName,
+ flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop,
+@@ -7851,7 +7881,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kSupportToolScreenshotDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(features::kSupportToolScreenshot)},
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
-- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- {"omnibox-experimental-keyword-mode",
- flag_descriptions::kOmniboxExperimentalKeywordModeName,
- flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop,
-@@ -6582,7 +6582,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(features::kMouseSubframeNoImplicitCapture)},
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ {"wasm-tts-component-updater-enabled",
+ flag_descriptions::kWasmTtsComponentUpdaterEnabledName,
+ flag_descriptions::kWasmTtsComponentUpdaterEnabledDescription, kOsDesktop,
+@@ -8523,7 +8553,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(media::kGlobalMediaControlsUpdatedUI)},
+ #endif // !BUILDFLAG(IS_CHROMEOS)
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- {"global-media-controls-modern-ui",
- flag_descriptions::kGlobalMediaControlsModernUIName,
- flag_descriptions::kGlobalMediaControlsModernUIDescription,
-@@ -7495,7 +7495,7 @@ const FeatureEntry kFeatureEntries[] = {
- #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"enable-network-service-sandbox",
+ flag_descriptions::kEnableNetworkServiceSandboxName,
+ flag_descriptions::kEnableNetworkServiceSandboxDescription,
+@@ -9176,7 +9206,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(ash::features::kWallpaperGooglePhotosSharedAlbums)},
+ #endif // BUILDFLAG(IS_CHROMEOS)
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- {"quick-commands", flag_descriptions::kQuickCommandsName,
- flag_descriptions::kQuickCommandsDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(features::kQuickCommands)},
-@@ -7803,7 +7803,7 @@ const FeatureEntry kFeatureEntries[] = {
-
- #if BUILDFLAG(IS_WIN) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"enable-get-all-screens-media", flag_descriptions::kGetAllScreensMediaName,
+ flag_descriptions::kGetAllScreensMediaDescription, kOsCrOS | kOsLinux,
+ FEATURE_VALUE_TYPE(blink::features::kGetAllScreensMedia)},
+@@ -9201,7 +9231,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kGlobalVaapiLockDescription, kOsCrOS | kOsLinux,
+ FEATURE_VALUE_TYPE(media::kGlobalVaapiLock)},
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
{
"ui-debug-tools",
flag_descriptions::kUIDebugToolsName,
+@@ -9668,7 +9698,7 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"media-session-enter-picture-in-picture",
+ flag_descriptions::kMediaSessionEnterPictureInPictureName,
+ flag_descriptions::kMediaSessionEnterPictureInPictureDescription,
+@@ -9830,7 +9860,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kReduceTransferSizeUpdatedIPCDescription, kOsAll,
+ FEATURE_VALUE_TYPE(network::features::kReduceTransferSizeUpdatedIPC)},
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"reduce-user-agent-data-linux-platform-version",
+ flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName,
+ flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription,
+@@ -10334,7 +10364,7 @@ const FeatureEntry kFeatureEntries[] = {
+ kOsDesktop | kOsAndroid,
+ FEATURE_VALUE_TYPE(features::kProcessPerSiteUpToMainFrameThreshold)},
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"camera-mic-effects", flag_descriptions::kCameraMicEffectsName,
+ flag_descriptions::kCameraMicEffectsDescription,
+ static_cast<unsigned short>(kOsMac | kOsWin | kOsLinux),
+@@ -10458,7 +10488,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(chrome::android::kReadAloudTapToSeek)},
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ {"third-party-profile-management",
+ flag_descriptions::kThirdPartyProfileManagementName,
+ flag_descriptions::kThirdPartyProfileManagementDescription,
+@@ -10487,7 +10517,7 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"enable-user-navigation-capturing-pwa",
+ flag_descriptions::kPwaNavigationCapturingName,
+ flag_descriptions::kPwaNavigationCapturingDescription,
+@@ -11223,7 +11253,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kCanvasHibernationDescription, kOsAll,
+ FEATURE_VALUE_TYPE(blink::features::kCanvas2DHibernation)},
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"enable-history-sync-optin",
+ flag_descriptions::kEnableHistorySyncOptinName,
+ flag_descriptions::kEnableHistorySyncOptinDescription,
+@@ -11334,7 +11364,7 @@ const FeatureEntry kFeatureEntries[] = {
+ "HistoryOptInEducationalTipVariations")},
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ {"supervised-profile-safe-search",
+ flag_descriptions::kSupervisedProfileSafeSearchName,
+ flag_descriptions::kSupervisedProfileSafeSearchDescription,
+@@ -11586,7 +11616,7 @@ const FeatureEntry kFeatureEntries[] = {
+ segmentation_platform::features::kSegmentationSurveyPage)},
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"autofill-enable-buy-now-pay-later",
+ flag_descriptions::kAutofillEnableBuyNowPayLaterName,
+ flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, kOsDesktop,
+@@ -11687,7 +11717,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(
+ autofill::features::kAutofillEnableCardInfoRuntimeRetrieval)},
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"translation-api", flag_descriptions::kTranslationAPIName,
+ flag_descriptions::kTranslationAPIDescription, kOsMac | kOsWin | kOsLinux,
+ FEATURE_WITH_PARAMS_VALUE_TYPE(blink::features::kTranslationAPI,
+@@ -11721,7 +11751,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(
+ password_manager::features::kPasswordFormClientsideClassifier)},
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"contextual-cueing", flag_descriptions::kContextualCueingName,
+ flag_descriptions::kContextualCueingDescription,
+ kOsLinux | kOsMac | kOsWin,
+@@ -12053,7 +12083,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(ui::kUseNewEtc1Encoder)},
+ #endif // !BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"automatic-usb-detach", flag_descriptions::kAutomaticUsbDetachName,
+ flag_descriptions::kAutomaticUsbDetachDescription, kOsAndroid | kOsLinux,
+ FEATURE_VALUE_TYPE(features::kAutomaticUsbDetach)},
+@@ -12103,7 +12133,7 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // !BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"autofill-enable-amount-extraction-desktop",
+ flag_descriptions::kAutofillEnableAmountExtractionDesktopName,
+ flag_descriptions::kAutofillEnableAmountExtractionDesktopDescription,
+@@ -12123,7 +12153,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(blink::features::kClipboardContentsId)},
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"autofill-enable-amount-extraction-allowlist-desktop",
+ flag_descriptions::kAutofillEnableAmountExtractionAllowlistDesktopName,
+ flag_descriptions::
+@@ -12241,7 +12271,7 @@ const FeatureEntry kFeatureEntries[] = {
+ apps::chrome_app_deprecation::kAllowUserInstalledChromeApps)},
+ #endif // 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)
+ {"chrome-web-store-navigation-throttle",
+ flag_descriptions::kChromeWebStoreNavigationThrottleName,
+ flag_descriptions::kChromeWebStoreNavigationThrottleDescription,
+@@ -12277,7 +12307,7 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"autofill-enable-amount-extraction-desktop-logging",
+ flag_descriptions::kAutofillEnableAmountExtractionDesktopLoggingName,
+ flag_descriptions::
+@@ -12300,7 +12330,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kEnableWebAppUpdateTokenParsingDescription, kOsAll,
+ FEATURE_VALUE_TYPE(features::kWebAppEnableUpdateTokenParsing)},
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"root-scrollbar-follows-browser-theme",
+ flag_descriptions::kRootScrollbarFollowsTheme,
+ flag_descriptions::kRootScrollbarFollowsThemeDescription,
+@@ -12329,7 +12359,7 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"local-network-access-check",
+ flag_descriptions::kLocalNetworkAccessChecksName,
+ flag_descriptions::kLocalNetworkAccessChecksDescription, kOsDesktop,
+@@ -12551,7 +12581,7 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"tab-group-home", tabs::flag_descriptions::kTabGroupHomeName,
+ tabs::flag_descriptions::kTabGroupHomeDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(tabs::kTabGroupHome)},
+@@ -12629,7 +12659,7 @@ const FeatureEntry kFeatureEntries[] = {
+ #endif // BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {"enable-site-search-allow-user-override-policy",
+ flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyName,
+ flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyDescription,
diff --git a/www/chromium/files/patch-chrome_browser_accessibility_page__colors.cc b/www/chromium/files/patch-chrome_browser_accessibility_page__colors.cc
new file mode 100644
index 000000000000..8f5326a830d9
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_accessibility_page__colors.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/accessibility/page_colors.cc.orig 2024-08-26 12:06:38 UTC
++++ chrome/browser/accessibility/page_colors.cc
+@@ -12,7 +12,7 @@
+ #include "components/sync_preferences/pref_service_syncable.h"
+ #include "ui/native_theme/native_theme.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #include "ui/linux/linux_ui_factory.h"
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -55,7 +55,7 @@ void PageColors::Init() {
+
+ void PageColors::OnPageColorsChanged() {
+ auto* native_theme = ui::NativeTheme::GetInstanceForNativeUi();
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Allow the Linux native theme to update its state for page colors.
+ if (auto* linux_ui_theme = ui::GetDefaultLinuxUiTheme()) {
+ if (auto* linux_native_theme = linux_ui_theme->GetNativeTheme()) {
diff --git a/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc b/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc
index 70b237a4f6d9..5e3a866918d1 100644
--- a/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc
+++ b/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc
@@ -1,8 +1,8 @@
---- chrome/browser/after_startup_task_utils.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/after_startup_task_utils.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/after_startup_task_utils.cc
-@@ -105,7 +105,7 @@ void SetBrowserStartupIsComplete() {
-
- g_startup_complete_flag.Get().Set();
+@@ -112,7 +112,7 @@ void SetBrowserStartupIsComplete() {
+ TRACE_EVENT_SCOPE_GLOBAL, "BrowserCount", browser_count);
+ GetStartupCompleteFlag().Set();
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc b/www/chromium/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc
new file mode 100644
index 000000000000..9ba74d63609f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/apps/app_service/publishers/extension_apps.cc.orig 2024-04-19 13:02:56 UTC
++++ chrome/browser/apps/app_service/publishers/extension_apps.cc
+@@ -23,7 +23,7 @@ ExtensionApps::ExtensionApps(AppServiceProxy* proxy)
+ ExtensionApps::~ExtensionApps() = default;
+
+ bool ExtensionApps::Accepts(const extensions::Extension* extension) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (extensions::IsExtensionUnsupportedDeprecatedApp(profile(),
+ extension->id())) {
+ return false;
diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc
index 6dd743db9c34..b0967133cdb3 100644
--- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc
+++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc
@@ -1,20 +1,65 @@
---- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2024-04-19 13:02:56 UTC
+++ chrome/browser/apps/platform_apps/platform_app_launch.cc
@@ -19,7 +19,7 @@
+ #include "extensions/common/constants.h"
#include "extensions/common/extension.h"
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+-#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/ui/browser.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/browser_window.h"
-@@ -124,7 +124,7 @@ bool OpenExtensionApplicationTab(Profile* profile, con
+@@ -86,7 +86,7 @@ bool OpenExtensionApplicationWindow(Profile* profile,
+ if (launch_container == LaunchContainer::kLaunchContainerTab)
+ return false;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (OpenDeprecatedApplicationPrompt(profile, app_id)) {
+ return false;
+ }
+@@ -118,7 +118,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof
+ if (launch_container != apps::LaunchContainer::kLaunchContainerTab)
+ return nullptr;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (OpenDeprecatedApplicationPrompt(profile, app_id)) {
+ return nullptr;
+ }
+@@ -134,7 +134,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof
+ return app_tab;
}
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
bool OpenDeprecatedApplicationPrompt(Profile* profile,
const std::string& app_id) {
if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id))
+@@ -170,7 +170,7 @@ bool OpenExtensionApplicationWithReenablePrompt(
+ if (!GetPlatformApp(profile, app_id))
+ return false;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (OpenDeprecatedApplicationPrompt(profile, app_id)) {
+ return false;
+ }
+@@ -192,7 +192,7 @@ content::WebContents* OpenExtensionAppShortcutWindow(P
+ ->enabled_extensions()
+ .GetAppByURL(url);
+ if (app) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (OpenDeprecatedApplicationPrompt(profile, app->id())) {
+ return nullptr;
+ }
+@@ -215,7 +215,7 @@ void RecordExtensionAppLaunchOnTabRestored(Profile* pr
+ if (!extension)
+ return;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (OpenDeprecatedApplicationPrompt(profile, extension->id())) {
+ return;
+ }
diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h
index 393b6f62495b..0e6a61cde5b2 100644
--- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h
+++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h
@@ -1,8 +1,8 @@
---- chrome/browser/apps/platform_apps/platform_app_launch.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/apps/platform_apps/platform_app_launch.h.orig 2024-06-17 12:56:06 UTC
+++ chrome/browser/apps/platform_apps/platform_app_launch.h
-@@ -36,7 +36,7 @@ bool OpenExtensionApplicationWindow(Profile* profile,
- // and false otherwise.
- bool OpenExtensionApplicationTab(Profile* profile, const std::string& app_id);
+@@ -38,7 +38,7 @@ bool OpenExtensionApplicationWindow(Profile* profile,
+ content::WebContents* OpenExtensionApplicationTab(Profile* profile,
+ const std::string& app_id);
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
index bea2cd828782..a710b0db67b5 100644
--- a/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
+++ b/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
@@ -1,11 +1,11 @@
---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2024-05-21 18:07:39 UTC
+++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
-@@ -90,7 +90,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
+@@ -88,7 +88,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
return metrics::OmniboxInputType::QUERY;
case ExternalProtocolHandler::UNKNOWN: {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Linux impl of GetApplicationNameForProtocol doesn't distinguish
+ // Linux impl of GetApplicationNameForScheme doesn't distinguish
// between URL schemes with handers and those without. This will
// make the default behaviour be search on Linux.
diff --git a/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc b/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc
deleted file mode 100644
index 6f088ee13b15..000000000000
--- a/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/background/background_mode_manager.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/background/background_mode_manager.cc
-@@ -894,7 +894,7 @@ gfx::ImageSkia GetStatusTrayIcon() {
- return gfx::ImageSkia();
-
- return family->CreateExact(size).AsImageSkia();
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
- IDR_PRODUCT_LOGO_128);
- #elif BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc b/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc
deleted file mode 100644
index 37083840f5bd..000000000000
--- a/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/background/background_mode_optimizer.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/browser/background/background_mode_optimizer.cc
-@@ -31,7 +31,7 @@ std::unique_ptr<BackgroundModeOptimizer> BackgroundMod
- switches::kKeepAliveForTest))
- return nullptr;
-
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart))
- return base::WrapUnique(new BackgroundModeOptimizer());
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc b/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc
new file mode 100644
index 000000000000..c34004f0c8b9
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/background/extensions/background_mode_manager.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/background/extensions/background_mode_manager.cc
+@@ -893,7 +893,7 @@ gfx::ImageSkia GetStatusTrayIcon() {
+ }
+
+ return family->CreateExact(size).AsImageSkia();
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ IDR_PRODUCT_LOGO_128);
+ #elif BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__optimizer.cc b/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__optimizer.cc
new file mode 100644
index 000000000000..6667da0ac5c1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__optimizer.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/background/extensions/background_mode_optimizer.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/background/extensions/background_mode_optimizer.cc
+@@ -31,7 +31,7 @@ std::unique_ptr<BackgroundModeOptimizer> BackgroundMod
+ return nullptr;
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart)) {
+ // Private ctor.
+ return base::WrapUnique(new BackgroundModeOptimizer());
diff --git a/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc
new file mode 100644
index 000000000000..e705413c540a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/background/glic/glic_status_icon.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/background/glic/glic_status_icon.cc
+@@ -86,7 +86,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control
+ if (!status_icon_) {
+ return;
+ }
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Set a vector icon for proper themeing on Linux.
+ status_icon_->SetIcon(
+ GlicVectorIconManager::GetVectorIcon(IDR_GLIC_BUTTON_VECTOR_ICON));
+@@ -128,7 +128,7 @@ GlicStatusIcon::~GlicStatusIcon() {
+
+ context_menu_ = nullptr;
+ if (status_icon_) {
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ status_icon_->RemoveObserver(this);
+ #endif
+ std::unique_ptr<StatusIcon> removed_icon =
+@@ -234,7 +234,7 @@ void GlicStatusIcon::UpdateHotkey(const ui::Accelerato
+ }
+
+ void GlicStatusIcon::UpdateVisibilityOfExitInContextMenu() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (context_menu_) {
+ const bool is_visible = BrowserList::GetInstance()->empty();
+ const std::optional<size_t> index =
+@@ -284,7 +284,7 @@ std::unique_ptr<StatusIconMenuModel> GlicStatusIcon::C
+ menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_SETTINGS,
+ l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_SETTINGS));
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ menu->AddSeparator(ui::NORMAL_SEPARATOR);
+ menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_EXIT,
+ l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_EXIT));
diff --git a/www/chromium/files/patch-chrome_browser_browser__features.cc b/www/chromium/files/patch-chrome_browser_browser__features.cc
index f752e5299fe7..9789ae5d2925 100644
--- a/www/chromium/files/patch-chrome_browser_browser__features.cc
+++ b/www/chromium/files/patch-chrome_browser_browser__features.cc
@@ -1,11 +1,29 @@
---- chrome/browser/browser_features.cc.orig 2022-03-25 21:59:56 UTC
+--- chrome/browser/browser_features.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/browser_features.cc
-@@ -29,7 +29,7 @@ const base::Feature kColorProviderRedirectionForThemeP
+@@ -75,7 +75,7 @@ BASE_FEATURE(kClearUserDataUponProfileDestruction,
+ "ClearUserDataUponProfileDestruction",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Enables usage of os_crypt_async::SecretPortalKeyProvider. Once
+ // `kSecretPortalKeyProviderUseForEncryption` is enabled, this flag cannot be
+ // disabled without losing data.
+@@ -94,7 +94,7 @@ BASE_FEATURE(kUseFreedesktopSecretKeyProvider,
// the browser exits.
- const base::Feature kDestroyProfileOnBrowserClose{
- "DestroyProfileOnBrowserClose",
+ BASE_FEATURE(kDestroyProfileOnBrowserClose,
+ "DestroyProfileOnBrowserClose",
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- };
+ base::FEATURE_ENABLED_BY_DEFAULT);
#else
+ base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -232,7 +232,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlockedWarning,
+ "SandboxExternalProtocolBlockedWarning",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If true, encrypt new data with the key provided by SecretPortalKeyProvider.
+ // Otherwise, it will only decrypt existing data.
+ BASE_FEATURE(kSecretPortalKeyProviderUseForEncryption,
diff --git a/www/chromium/files/patch-chrome_browser_browser__features.h b/www/chromium/files/patch-chrome_browser_browser__features.h
new file mode 100644
index 000000000000..d65bb867aeb8
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_browser__features.h
@@ -0,0 +1,20 @@
+--- chrome/browser/browser_features.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/browser_features.h
+@@ -38,7 +38,7 @@ BASE_DECLARE_FEATURE(kCertificateTransparencyAskBefore
+ BASE_DECLARE_FEATURE(kCertVerificationNetworkTime);
+ BASE_DECLARE_FEATURE(kClearUserDataUponProfileDestruction);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kDbusSecretPortal);
+ BASE_DECLARE_FEATURE(kUseFreedesktopSecretKeyProvider);
+ #endif
+@@ -101,7 +101,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed
+ BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlocked);
+ BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlockedWarning);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kSecretPortalKeyProviderUseForEncryption);
+ BASE_DECLARE_FEATURE(kUseFreedesktopSecretKeyProviderForEncryption);
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
index 07fe0677fcd3..c2a2cf579ab0 100644
--- a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
@@ -1,29 +1,47 @@
---- chrome/browser/browser_process_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/browser_process_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/browser_process_impl.cc
-@@ -210,7 +210,7 @@
+@@ -256,7 +256,7 @@
#include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/error_reporting/chrome_js_error_report_processor.h" // nogncheck
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/browser_features.h"
+ #include "components/os_crypt/async/browser/fallback_linux_key_provider.h"
+ #include "components/os_crypt/async/browser/freedesktop_secret_key_provider.h"
+@@ -268,7 +268,7 @@
+ #include "chrome/browser/safe_browsing/safe_browsing_service.h"
#endif
-@@ -1166,7 +1166,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // How often to check if the persistent instance of Chrome needs to restart
+ // to install an update.
+ static const int kUpdateCheckIntervalHours = 6;
+@@ -1168,7 +1168,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim
+ GoogleUpdateSettings::GetCollectStatsConsent());
+ registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true);
- ApplyMetricsReportingPolicy();
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- ChromeJsErrorReportProcessor::Create();
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ os_crypt_async::SecretPortalKeyProvider::RegisterLocalPrefs(registry);
#endif
+ }
+@@ -1436,7 +1436,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
+ local_state())));
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
+ if (cmd_line->GetSwitchValueASCII(password_manager::kPasswordStore) !=
+ "basic") {
+@@ -1720,7 +1720,7 @@ void BrowserProcessImpl::Unpin() {
+ }
-@@ -1418,7 +1418,7 @@ void BrowserProcessImpl::Unpin() {
// Mac is currently not supported.
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
bool BrowserProcessImpl::IsRunningInBackground() const {
// Check if browser is in the background.
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.h b/www/chromium/files/patch-chrome_browser_browser__process__impl.h
index cf6f1932bf97..fc5d863712f9 100644
--- a/www/chromium/files/patch-chrome_browser_browser__process__impl.h
+++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.h
@@ -1,11 +1,11 @@
---- chrome/browser/browser_process_impl.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/browser_process_impl.h.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/browser_process_impl.h
-@@ -358,7 +358,7 @@ class BrowserProcessImpl : public BrowserProcess,
+@@ -416,7 +416,7 @@ class BrowserProcessImpl : public BrowserProcess,
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<BatteryMetrics> battery_metrics_;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::RepeatingTimer autoupdate_timer_;
// Gets called by autoupdate timer to see if browser needs restart and can be
diff --git a/www/chromium/files/patch-chrome_browser_browser__resources.grd b/www/chromium/files/patch-chrome_browser_browser__resources.grd
deleted file mode 100644
index 9b1896d38d86..000000000000
--- a/www/chromium/files/patch-chrome_browser_browser__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/browser_resources.grd.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/browser_resources.grd
-@@ -124,7 +124,7 @@
- <if expr="chromeos_ash">
- <include name="IDR_PLUGIN_DB_JSON" file="resources\plugin_metadata\plugins_chromeos.json" type="BINDATA" />
- </if>
-- <if expr="is_linux or chromeos_lacros">
-+ <if expr="is_posix or chromeos_lacros">
- <include name="IDR_PLUGIN_DB_JSON" file="resources\plugin_metadata\plugins_linux.json" type="BINDATA" />
- </if>
- <if expr="chromeos_ash">
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc
new file mode 100644
index 000000000000..b47c86aa1ff6
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/chrome_browser_field_trials.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/chrome_browser_field_trials.cc
+@@ -38,7 +38,7 @@
+ #include "chromeos/ash/services/multidevice_setup/public/cpp/first_run_field_trial.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/nix/xdg_util.h"
+ #include "ui/base/ui_base_features.h"
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -118,7 +118,7 @@ void ChromeBrowserFieldTrials::RegisterSyntheticTrials
+ #endif // BUILDFLAG(IS_ANDROID)
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Linux/Desktop platform variants, such as ozone/wayland, some features
+ // might need to be disabled as per OzonePlatform's runtime properties.
+ // OzonePlatform selection and initialization, in turn, depend on Chrome flags
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.h b/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.h
new file mode 100644
index 000000000000..34f3d97dc933
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.h
@@ -0,0 +1,11 @@
+--- chrome/browser/chrome_browser_field_trials.h.orig 2024-11-14 07:57:23 UTC
++++ chrome/browser/chrome_browser_field_trials.h
+@@ -33,7 +33,7 @@ class ChromeBrowserFieldTrials : public variations::Pl
+ const variations::EntropyProviders& entropy_providers,
+ base::FeatureList* feature_list) override;
+ void RegisterSyntheticTrials() override;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void RegisterFeatureOverrides(base::FeatureList* feature_list) override;
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc
index 03193cbce1e5..d91fb3607a88 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc
@@ -1,71 +1,29 @@
---- chrome/browser/chrome_browser_interface_binders.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/chrome_browser_interface_binders.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/chrome_browser_interface_binders.cc
-@@ -111,13 +111,13 @@
- #endif // BUILDFLAG(FULL_SAFE_BROWSING)
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_ASH)
-+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/ui/webui/connectors_internals/connectors_internals.mojom.h"
- #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h"
- #endif
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h"
- #include "ui/webui/resources/cr_components/app_management/app_management.mojom.h"
- #endif
-@@ -180,7 +180,7 @@
- #endif // BUILDFLAG(IS_ANDROID)
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/ui/webui/discards/discards.mojom.h"
- #include "chrome/browser/ui/webui/discards/discards_ui.h"
- #include "chrome/browser/ui/webui/discards/site_data.mojom.h"
-@@ -758,7 +758,7 @@ void PopulateChromeFrameBinders(
- #endif // BUILDFLAG(ENABLE_SPEECH_SERVICE)
+@@ -80,7 +80,7 @@
+ #endif // BUILDFLAG(ENABLE_UNHANDLED_TAP)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (!render_frame_host->GetParent()) {
- map->Add<chrome::mojom::DraggableRegions>(
- base::BindRepeating(&DraggableRegionsHostImpl::CreateIfAllowed));
-@@ -766,7 +766,7 @@ void PopulateChromeFrameBinders(
- #endif
+ #include "chrome/browser/screen_ai/screen_ai_service_router.h"
+ #include "chrome/browser/screen_ai/screen_ai_service_router_factory.h"
+ #include "chrome/browser/ui/web_applications/sub_apps_service_impl.h"
+@@ -363,7 +363,7 @@ void BindMediaFoundationPreferences(
+ #endif // BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) &&
- render_frame_host->IsInPrimaryMainFrame()) {
- map->Add<blink::mojom::SubAppsService>(
-@@ -821,14 +821,14 @@ void PopulateChromeWebUIFrameBinders(
- SegmentationInternalsUI>(map);
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_ASH)
-+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- RegisterWebUIControllerInterfaceBinder<
- connectors_internals::mojom::PageHandler,
- enterprise_connectors::ConnectorsInternalsUI>(map);
- #endif
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- RegisterWebUIControllerInterfaceBinder<
- app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map);
- #endif
-@@ -1177,7 +1177,7 @@ void PopulateChromeWebUIFrameBinders(
- #endif
+ void BindScreenAIAnnotator(
+ content::RenderFrameHost* frame_host,
+ mojo::PendingReceiver<screen_ai::mojom::ScreenAIAnnotator> receiver) {
+@@ -522,7 +522,7 @@ void PopulateChromeFrameBinders(
+ #endif // BUILDFLAG(ENABLE_SPEECH_SERVICE)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider,
- DiscardsUI>(map);
-
+ if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) &&
+ !render_frame_host->GetParentOrOuterDocument()) {
+ // The service binder will reject non-primary main frames, but we still need
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc
new file mode 100644
index 000000000000..4084d2ee4ef6
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc
@@ -0,0 +1,70 @@
+--- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/chrome_browser_interface_binders_webui.cc
+@@ -48,20 +48,20 @@
+ #include "content/public/browser/web_ui_controller_interface_binder.h"
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/connectors_internals/connectors_internals.mojom.h"
+ #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h"
+ #include "ui/webui/resources/cr_components/app_management/app_management.mojom.h"
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/discards/discards.mojom.h"
+ #include "chrome/browser/ui/webui/discards/discards_ui.h"
+ #include "chrome/browser/ui/webui/discards/site_data.mojom.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h"
+ #include "chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_ui.h"
+ #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin.mojom.h"
+@@ -460,7 +460,7 @@ void PopulateChromeWebUIFrameBinders(
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ RegisterWebUIControllerInterfaceBinder<
+ connectors_internals::mojom::PageHandler,
+ enterprise_connectors::ConnectorsInternalsUI>(map);
+@@ -471,7 +471,7 @@ void PopulateChromeWebUIFrameBinders(
+ policy::DlpInternalsUI>(map);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ RegisterWebUIControllerInterfaceBinder<
+ app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map);
+
+@@ -609,14 +609,14 @@ void PopulateChromeWebUIFrameBinders(
+ HistoryClustersSidePanelUI, NewTabPageUI, BookmarksSidePanelUI>(map);
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ RegisterWebUIControllerInterfaceBinder<whats_new::mojom::PageHandlerFactory,
+ WhatsNewUI>(map);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+ RegisterWebUIControllerInterfaceBinder<
+ browser_command::mojom::CommandHandlerFactory,
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ WhatsNewUI,
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+ NewTabPageUI>(map);
+@@ -1154,7 +1154,7 @@ void PopulateChromeWebUIFrameBinders(
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD)
+ RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider,
+ DiscardsUI>(map);
+
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
index 6f586fa6e47c..103089671434 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
@@ -1,52 +1,115 @@
---- chrome/browser/chrome_browser_main.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/chrome_browser_main.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/chrome_browser_main.cc
-@@ -236,11 +236,11 @@
+@@ -150,7 +150,7 @@
+ #endif
+
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "sql/database.h"
+ #endif
+
+@@ -176,11 +176,11 @@
+ #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
+ #endif // BUILDFLAG(IS_CHROMEOS)
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/first_run/upgrade_util_linux.h"
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "components/crash/core/app/breakpad_linux.h"
- #include "components/crash/core/app/crashpad.h"
- #endif
-@@ -276,7 +276,7 @@
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/headless/headless_mode_metrics.h" // nogncheck
+ #include "chrome/browser/headless/headless_mode_util.h" // nogncheck
#include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h"
- #include "chrome/browser/metrics/desktop_session_duration/touch_mode_stats_tracker.h"
- #include "chrome/browser/profiles/profile_activity_metrics_recorder.h"
-@@ -1024,7 +1024,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+@@ -191,7 +191,7 @@
+ #include "ui/gfx/switches.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/first_run/upgrade_util.h"
+ #endif
+
+@@ -269,7 +269,7 @@
+ #include "chrome/browser/chrome_process_singleton.h"
+ #include "chrome/browser/ui/startup/startup_browser_creator.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/nix/xdg_util.h"
+ #endif
+ #endif // BUILDFLAG(ENABLE_PROCESS_SINGLETON)
+@@ -292,7 +292,7 @@
+
+ namespace {
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ constexpr base::FilePath::CharType kMediaHistoryDatabaseName[] =
+ FILE_PATH_LITERAL("Media History");
+
+@@ -443,7 +443,7 @@ void ProcessSingletonNotificationCallbackImpl(
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Set the global activation token sent as a command line switch by another
+ // browser process. This also removes the switch after use to prevent any side
+ // effects of leaving it in the command line after this point.
+@@ -1006,7 +1006,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
browser_creator_->AddFirstRunTabs(master_prefs_->new_tabs);
}
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
// Create directory for user-level Native Messaging manifest files. This
// makes it less likely that the directory will be created by third-party
// software with incorrect owner or permission. See crbug.com/725513 .
-@@ -1037,7 +1037,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- }
- #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- // Set the product channel for crash reports.
- if (!crash_reporter::IsCrashpadEnabled()) {
- breakpad::SetChannelCrashKey(
-@@ -1059,7 +1059,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+@@ -1051,7 +1051,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+
+ #endif // BUILDFLAG(IS_MAC)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
metrics::DesktopSessionDurationTracker::Initialize();
ProfileActivityMetricsRecorder::Initialize();
TouchModeStatsTracker::Initialize(
+@@ -1247,7 +1247,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile*
+ #endif // BUILDFLAG(IS_WIN)
+
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Delete the media history database if it still exists.
+ // TODO(crbug.com/40177301): Remove this.
+ base::ThreadPool::PostTask(
+@@ -1295,7 +1295,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile*
+ *UrlLanguageHistogramFactory::GetForBrowserContext(profile));
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (headless::IsHeadlessMode()) {
+ headless::ReportHeadlessActionMetrics();
+ }
+@@ -1404,7 +1404,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl(
+ // In headless mode provide alternate SelectFileDialog factory overriding
+ // any platform specific SelectFileDialog implementation that may have been
+ // set.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (headless::IsHeadlessMode()) {
+ headless::HeadlessSelectFileDialogFactory::SetUp();
+ }
+@@ -1949,7 +1949,7 @@ bool ChromeBrowserMainParts::ProcessSingletonNotificat
+
+ // Drop the request if headless mode is in effect or the request is from
+ // a headless Chrome process.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (headless::IsHeadlessMode() ||
+ command_line.HasSwitch(switches::kHeadless)) {
+ return false;
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc
index 009b0cbbe1e2..05371e9791c2 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc
@@ -1,11 +1,11 @@
---- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/chrome_browser_main_extra_parts_linux.cc
-@@ -120,7 +120,7 @@ ChromeBrowserMainExtraPartsLinux::ChromeBrowserMainExt
- ChromeBrowserMainExtraPartsLinux::~ChromeBrowserMainExtraPartsLinux() = default;
+@@ -60,7 +60,7 @@ void ChromeBrowserMainExtraPartsLinux::PostBrowserStar
- void ChromeBrowserMainExtraPartsLinux::PreEarlyInitialization() {
+ // static
+ void ChromeBrowserMainExtraPartsLinux::InitOzonePlatformHint() {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // On the desktop, we fix the platform name if necessary.
- // See https://crbug.com/1246928.
- auto* const command_line = base::CommandLine::ForCurrentProcess();
+ base::CommandLine* const command_line =
+ base::CommandLine::ForCurrentProcess();
+ std::unique_ptr<base::Environment> env = base::Environment::Create();
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc
new file mode 100644
index 000000000000..8f2af9288018
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/chrome_browser_main_extra_parts_ozone.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/chrome_browser_main_extra_parts_ozone.cc
+@@ -28,7 +28,7 @@ void ChromeBrowserMainExtraPartsOzone::PostCreateMainM
+ }
+
+ void ChromeBrowserMainExtraPartsOzone::PostMainMessageLoopRun() {
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun();
+ #endif
+ }
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc
index 4393081b8a6f..03bb56d75603 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc
@@ -1,13 +1,15 @@
---- chrome/browser/chrome_browser_main_linux.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/chrome_browser_main_linux.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/chrome_browser_main_linux.cc
-@@ -57,13 +57,15 @@ ChromeBrowserMainPartsLinux::~ChromeBrowserMainPartsLi
- }
+@@ -24,7 +24,7 @@
+ #include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
+ #include "ui/base/l10n/l10n_util.h"
- void ChromeBrowserMainPartsLinux::PostCreateMainMessageLoop() {
--#if BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // No-op: Ash and Lacros Bluetooth DBusManager initialization depend on
- // FeatureList, and is done elsewhere.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/ozone/public/ozone_platform.h"
+ #endif
+
+@@ -65,7 +65,9 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag
#endif // BUILDFLAG(IS_CHROMEOS)
#if !BUILDFLAG(IS_CHROMEOS)
@@ -17,8 +19,17 @@
// Set up crypt config. This needs to be done before anything starts the
// network service, as the raw encryption key needs to be shared with the
-@@ -123,7 +125,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() {
- #endif // defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS)
+@@ -91,7 +93,7 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag
+ ChromeBrowserMainPartsPosix::PostCreateMainMessageLoop();
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() {
+ ChromeBrowserMainPartsPosix::PostMainMessageLoopRun();
+ ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun();
+@@ -129,7 +131,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() {
+ #endif // BUILDFLAG(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS)
void ChromeBrowserMainPartsLinux::PostDestroyThreads() {
-#if BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.h b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.h
new file mode 100644
index 000000000000..6ef1f1fc63ae
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.h
@@ -0,0 +1,11 @@
+--- chrome/browser/chrome_browser_main_linux.h.orig 2025-02-19 07:43:18 UTC
++++ chrome/browser/chrome_browser_main_linux.h
+@@ -31,7 +31,7 @@ class ChromeBrowserMainPartsLinux : public ChromeBrows
+
+ // ChromeBrowserMainPartsPosix overrides.
+ void PostCreateMainMessageLoop() override;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void PostMainMessageLoopRun() override;
+ #endif
+ void PreProfileInit() override;
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc
index 78f929dfa12f..0d62e8fa4feb 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc
@@ -1,11 +1,11 @@
---- chrome/browser/chrome_browser_main_posix.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/chrome_browser_main_posix.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/chrome_browser_main_posix.cc
-@@ -72,7 +72,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa
+@@ -81,7 +81,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa
+ // ExitHandler takes care of deleting itself.
+ new ExitHandler();
} else {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
switch (signal) {
case SIGINT:
case SIGHUP:
diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
index 37b58f44eb8d..f75ed139169f 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
@@ -1,119 +1,133 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/chrome_content_browser_client.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/chrome_content_browser_client.cc
-@@ -380,7 +380,7 @@
+@@ -468,7 +468,7 @@
#include "components/user_manager/user_manager.h"
#include "services/service_manager/public/mojom/interface_provider_spec.mojom.h"
#include "storage/browser/file_system/external_mount_points.h"
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/chrome_browser_main_linux.h"
+ #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
#elif BUILDFLAG(IS_ANDROID)
- #include "base/android/application_status_listener.h"
-@@ -456,17 +456,17 @@
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
- #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h"
- #endif
+@@ -563,7 +563,7 @@
+ #include "services/network/public/mojom/permissions_policy/permissions_policy_feature.mojom.h"
+ #endif // !BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "components/crash/core/app/crash_switches.h"
#include "components/crash/core/app/crashpad.h"
#endif
-
--#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
- #if !BUILDFLAG(IS_ANDROID)
- #include "base/debug/leak_annotations.h"
- #include "components/crash/core/app/breakpad_linux.h"
-@@ -474,12 +474,12 @@
+@@ -572,7 +572,7 @@
#include "components/crash/content/browser/crash_handler_host_linux.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/ui/webui/app_settings/web_app_settings_navigation_throttle.h"
+ #include "chrome/browser/enterprise/chrome_browser_main_extra_parts_enterprise.h"
#endif
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_CHROMEOS_ASH)
-+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/enterprise/connectors/device_trust/navigation_throttle.h"
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ||
- // BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -503,11 +503,11 @@
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
+@@ -580,7 +580,7 @@
+ #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/chrome_browser_main_extra_parts_linux.h"
- #elif defined(USE_OZONE)
+ #elif BUILDFLAG(IS_OZONE)
#include "chrome/browser/chrome_browser_main_extra_parts_ozone.h"
-@@ -898,7 +898,7 @@ blink::mojom::AutoplayPolicy GetAutoplayPolicyForWebCo
- int GetCrashSignalFD(const base::CommandLine& command_line) {
- return crashpad::CrashHandlerHost::Get()->GetDeathSignalSocket();
- }
--#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
-+#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
- breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost(
- const std::string& process_type) {
- base::FilePath dumps_path;
-@@ -1418,7 +1418,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
- #elif BUILDFLAG(IS_CHROMEOS_LACROS)
- main_parts = std::make_unique<ChromeBrowserMainPartsLacros>(
+@@ -1398,7 +1398,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre
+ registry->RegisterBooleanPref(prefs::kDeviceNativeClientForceAllowedCache,
+ false);
+ #endif // BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ registry->RegisterBooleanPref(prefs::kOutOfProcessSystemDnsResolutionEnabled,
+ true);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
+@@ -1617,7 +1617,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
+ #elif BUILDFLAG(IS_CHROMEOS)
+ main_parts = std::make_unique<ash::ChromeBrowserMainPartsAsh>(
is_integration_test, &startup_data_);
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
main_parts = std::make_unique<ChromeBrowserMainPartsLinux>(
is_integration_test, &startup_data_);
#elif BUILDFLAG(IS_ANDROID)
-@@ -1452,7 +1452,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
- std::make_unique<ChromeBrowserMainExtraPartsViewsLacros>());
- // 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)
+@@ -1648,7 +1648,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
+ // Construct additional browser parts. Stages are called in the order in
+ // which they are added.
+ #if defined(TOOLKIT_VIEWS)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
main_parts->AddParts(
std::make_unique<ChromeBrowserMainExtraPartsViewsLinux>());
#else
-@@ -1473,7 +1473,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
- main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsLacros>());
+@@ -1665,7 +1665,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
+ main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsAsh>());
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsLinux>());
- #elif defined(USE_OZONE)
+ #elif BUILDFLAG(IS_OZONE)
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsOzone>());
-@@ -2242,6 +2242,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+@@ -1684,7 +1684,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
+
+ chrome::AddMetricsExtraParts(main_parts.get());
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ main_parts->AddParts(
+ std::make_unique<
+ enterprise_util::ChromeBrowserMainExtraPartsEnterprise>());
+@@ -2628,7 +2628,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial(
+ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
+ base::CommandLine* command_line,
+ int child_process_id) {
++#ifdef notyet
+ crash_keys::AppendStringAnnotationsCommandLineSwitch(command_line);
++#endif
+ #if BUILDFLAG(IS_MAC)
+ std::unique_ptr<metrics::ClientInfo> client_info =
+ GoogleUpdateSettings::LoadMetricsClientInfo();
+@@ -2637,7 +2639,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+ client_info->client_id);
+ }
#elif BUILDFLAG(IS_POSIX)
- #if BUILDFLAG(IS_ANDROID)
- bool enable_crash_reporter = true;
-+#elif BUILDFLAG(IS_BSD)
-+ bool enable_crash_reporter = false;
- #else
- bool enable_crash_reporter = false;
- if (crash_reporter::IsCrashpadEnabled()) {
-@@ -2557,7 +2559,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
- ThreadProfilerConfiguration::Get()->AppendCommandLineSwitchForChildProcess(
- command_line);
+-#if !BUILDFLAG(IS_ANDROID)
++#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD)
+ pid_t pid;
+ if (crash_reporter::GetHandlerSocket(nullptr, &pid)) {
+ command_line->AppendSwitchASCII(
+@@ -3005,7 +3007,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
+ // Opt into a hardened stack canary mitigation if it hasn't already been
+ // force-disabled.
+ if (!browser_command_line.HasSwitch(switches::kChangeStackGuardOnFork)) {
+@@ -3994,7 +3996,7 @@ bool UpdatePreferredColorScheme(WebPreferences* web_pr
+ return old_preferred_color_scheme != web_prefs->preferred_color_scheme;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Sets the `root_scrollbar_theme_color` web pref if the user has enabled a
+ // custom colored frame for the UI.
+ void UpdateRootScrollbarThemeColor(Profile* profile,
+@@ -4631,7 +4633,7 @@ void ChromeContentBrowserClient::OverrideWebPreference
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- // TODO(https://crbug.com/1316129): Re-enable for Lacros.
- // Processes may only query perf_event_open with the BPF sandbox disabled.
- if (browser_command_line.HasSwitch(switches::kEnableThreadInstructionCount) &&
-@@ -3971,7 +3973,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
+ UpdatePreferredColorScheme(web_prefs, main_frame_site.GetSiteURL(),
+ web_contents, GetWebTheme());
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ UpdateRootScrollbarThemeColor(profile, web_contents, web_prefs);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+
+@@ -4956,7 +4958,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
}
}
@@ -122,29 +136,12 @@
void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
-@@ -4398,14 +4400,14 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
- &throttles);
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- MaybeAddThrottle(
- WebAppSettingsNavigationThrottle::MaybeCreateThrottleFor(handle),
- &throttles);
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
-
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_CHROMEOS_ASH)
-+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- MaybeAddThrottle(enterprise_connectors::DeviceTrustNavigationThrottle::
- MaybeCreateThrottleFor(handle),
- &throttles);
-@@ -4438,7 +4440,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
-
- // 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))
- MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
- MaybeCreateThrottleFor(handle),
+@@ -7120,7 +7122,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS
+ bool ChromeContentBrowserClient::ShouldRunOutOfProcessSystemDnsResolution() {
+ // This enterprise policy is supported on Android, but the feature will not be
+ // launched there.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // This is possibly called before `g_browser_process` is initialized.
+ PrefService* local_state;
+ if (g_browser_process) {
diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h
index 295332910843..f0a2c6fd2ed0 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h
+++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h
@@ -1,9 +1,9 @@
---- chrome/browser/chrome_content_browser_client.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/chrome_content_browser_client.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/chrome_content_browser_client.h
-@@ -421,7 +421,7 @@ class ChromeContentBrowserClient : public content::Con
- void OverridePageVisibilityState(
- content::RenderFrameHost* render_frame_host,
- content::PageVisibilityState* visibility_state) override;
+@@ -577,7 +577,7 @@ class ChromeContentBrowserClient : public content::Con
+ bool IsPluginAllowedToUseDevChannelAPIs(
+ content::BrowserContext* browser_context,
+ const GURL& url) override;
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
void GetAdditionalMappedFilesForChildProcess(
diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc
new file mode 100644
index 000000000000..0e9b92fa33a5
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/chrome_content_browser_client_navigation_throttles.cc
+@@ -123,7 +123,7 @@
+ #include "chrome/browser/captive_portal/captive_portal_service_factory.h"
+ #endif // BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
+
+-#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/browser_switcher/browser_switcher_navigation_throttle.h"
+ #include "chrome/browser/enterprise/profile_management/oidc_auth_response_capture_navigation_throttle.h"
+ #include "chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.h"
+@@ -407,7 +407,7 @@ void CreateAndAddChromeThrottlesForNavigation(
+ TypedNavigationUpgradeThrottle::MaybeCreateAndAdd(registry);
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ WebAppSettingsNavigationThrottle::MaybeCreateAndAdd(registry);
+ profile_management::ProfileManagementNavigationThrottle::MaybeCreateAndAdd(
+ registry);
+@@ -425,7 +425,7 @@ void CreateAndAddChromeThrottlesForNavigation(
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ enterprise_connectors::DeviceTrustNavigationThrottle::MaybeCreateAndAdd(
+ registry);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ||
+@@ -457,7 +457,7 @@ void CreateAndAddChromeThrottlesForNavigation(
+ }
+ #endif // BUILDFLAG(SAFE_BROWSING_AVAILABLE)
+
+-#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::BrowserSwitcherNavigationThrottle::MaybeCreateAndAdd(
+ registry);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_collaboration_messaging_messaging__backend__service__factory.cc b/www/chromium/files/patch-chrome_browser_collaboration_messaging_messaging__backend__service__factory.cc
new file mode 100644
index 000000000000..ccc64fc33650
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_collaboration_messaging_messaging__backend__service__factory.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/collaboration/messaging/messaging_backend_service_factory.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/collaboration/messaging/messaging_backend_service_factory.cc
+@@ -102,7 +102,7 @@ MessagingBackendServiceFactory::BuildServiceInstanceFo
+ // This configuration object allows us to control platform specific behavior.
+ MessagingBackendConfiguration configuration;
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ configuration.clear_chip_on_tab_selection = false;
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc b/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc
new file mode 100644
index 000000000000..e7f059c0acd7
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/component_updater/iwa_key_distribution_component_installer.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/component_updater/iwa_key_distribution_component_installer.cc
+@@ -77,7 +77,7 @@ bool IsOnDemandUpdateSupported() {
+
+ namespace component_updater {
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kIwaKeyDistributionComponent,
+ "IwaKeyDistributionComponent",
+ #if BUILDFLAG(IS_CHROMEOS)
+@@ -102,7 +102,7 @@ bool IwaKeyDistributionComponentInstallerPolicy::IsSup
+ // the main IWA feature.
+ #if BUILDFLAG(IS_WIN)
+ return base::FeatureList::IsEnabled(features::kIsolatedWebApps);
+-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(kIwaKeyDistributionComponent);
+ #else
+ return false;
diff --git a/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h b/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h
new file mode 100644
index 000000000000..2ea48944aab1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h
@@ -0,0 +1,11 @@
+--- chrome/browser/component_updater/iwa_key_distribution_component_installer.h.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/component_updater/iwa_key_distribution_component_installer.h
+@@ -27,7 +27,7 @@ class IwaKeyDistributionInfoProvider;
+
+ namespace component_updater {
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kIwaKeyDistributionComponent);
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-chrome_browser_component__updater_registration.cc b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc
new file mode 100644
index 000000000000..c47015903a39
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc
@@ -0,0 +1,35 @@
+--- chrome/browser/component_updater/registration.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/component_updater/registration.cc
+@@ -102,7 +102,7 @@
+ #endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "components/component_updater/installer_policies/amount_extraction_heuristic_regexes_component_installer.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS)
+@@ -115,7 +115,7 @@
+ #include "chrome/browser/component_updater/lacros_component_remover.h"
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#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/component_updater/wasm_tts_engine_component_installer.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -263,12 +263,12 @@ void RegisterComponentsForUpdate() {
+ RegisterCookieReadinessListComponent(cus);
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ RegisterAmountExtractionHeuristicRegexesComponent(cus);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (features::IsWasmTtsComponentUpdaterEnabled()) {
+ RegisterWasmTtsEngineComponent(cus);
+ }
diff --git a/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc b/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc
new file mode 100644
index 000000000000..7b0728bdadce
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/component_updater/wasm_tts_engine_component_installer.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/component_updater/wasm_tts_engine_component_installer.cc
+@@ -9,7 +9,7 @@
+ #include "base/logging.h"
+ #include "content/public/browser/browser_thread.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 "chrome/browser/accessibility/embedded_a11y_extension_loader.h"
+ #include "chrome/common/extensions/extension_constants.h"
+ #include "ui/accessibility/accessibility_features.h"
+@@ -41,7 +41,7 @@ constexpr std::array<uint8_t, 32> kWasmTtsEnginePublic
+
+ const char kWasmTtsEngineManifestName[] = "WASM TTS Engine";
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class WasmTTSEngineDirectory {
+ public:
+ static WasmTTSEngineDirectory* Get() {
+@@ -111,7 +111,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR
+ VLOG(1) << "Component ready, version " << version.GetString() << " in "
+ << install_dir.value();
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (features::IsWasmTtsComponentUpdaterEnabled() &&
+ !features::IsWasmTtsEngineAutoInstallDisabled()) {
+ // Instead of installing the component extension as soon as it is ready,
+@@ -166,7 +166,7 @@ void RegisterWasmTtsEngineComponent(ComponentUpdateSer
+
+ void WasmTtsEngineComponentInstallerPolicy::GetWasmTTSEngineDirectory(
+ base::OnceCallback<void(const base::FilePath&)> callback) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ WasmTTSEngineDirectory* wasm_directory = WasmTTSEngineDirectory::Get();
+ wasm_directory->Get(std::move(callback));
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc b/www/chromium/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc
new file mode 100644
index 000000000000..c3ca1b36768c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/component_updater/widevine_cdm_component_installer.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/component_updater/widevine_cdm_component_installer.cc
+@@ -41,7 +41,7 @@
+ #include "third_party/widevine/cdm/buildflags.h"
+ #include "third_party/widevine/cdm/widevine_cdm_common.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/path_service.h"
+ #include "chrome/common/chrome_paths.h"
+ #include "chrome/common/media/component_widevine_cdm_hint_file_linux.h"
+@@ -73,7 +73,7 @@ static_assert(std::size(kWidevineSha2Hash) == crypto::
+ const char ImageLoaderComponentName[] = "WidevineCdm";
+ #endif
+
+-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
+ // On Linux and ChromeOS the Widevine CDM is loaded at startup before the
+ // zygote is locked down. As a result there is no need to register the CDM
+ // with Chrome as it can't be used until Chrome is restarted.
+@@ -101,7 +101,7 @@ void RegisterWidevineCdmWithChrome(const base::Version
+ }
+ #endif // !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // On Linux and ChromeOS the Widevine CDM is loaded at startup before the
+ // zygote is locked down. To locate the Widevine CDM at startup, a hint file
+ // is used. Update the hint file with the new Widevine CDM path.
+@@ -392,7 +392,7 @@ void WidevineCdmComponentInstallerPolicy::UpdateCdmPat
+ return;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ VLOG(1) << "Updating hint file with Widevine CDM " << cdm_version;
+
+ // This is running on a thread that allows IO, so simply update the hint file.
diff --git a/www/chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc b/www/chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc
deleted file mode 100644
index 69a0309f6183..000000000000
--- a/www/chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/crash_upload_list/crash_upload_list.cc.orig 2022-06-17 14:20:10 UTC
-+++ chrome/browser/crash_upload_list/crash_upload_list.cc
-@@ -50,7 +50,7 @@ scoped_refptr<UploadList> CreateCrashUploadList() {
- // which isn't compatible with CrashUploadListCrashpad. crash_sender continues
- // to log uploads in CrashUploadList::kReporterLogFilename.
- // Linux is handled below.
--#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX))
-+#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
- if (crash_reporter::IsCrashpadEnabled()) {
- return new CrashUploadListCrashpad();
- }
diff --git a/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc b/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
index 8b9b9115d38e..9a0d5f0fc543 100644
--- a/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
+++ b/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
@@ -1,6 +1,6 @@
---- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc
-@@ -69,7 +69,7 @@ void ChromeProtocolHandlerRegistryDelegate::CheckDefau
+@@ -68,7 +68,7 @@ void ChromeProtocolHandlerRegistryDelegate::CheckDefau
// If true default protocol handlers will be removed if the OS level
// registration for a protocol is no longer Chrome.
bool ChromeProtocolHandlerRegistryDelegate::ShouldRemoveHandlersNotInOS() {
diff --git a/www/chromium/files/patch-chrome_browser_defaults.cc b/www/chromium/files/patch-chrome_browser_defaults.cc
index d03a43578178..327623f2fde4 100644
--- a/www/chromium/files/patch-chrome_browser_defaults.cc
+++ b/www/chromium/files/patch-chrome_browser_defaults.cc
@@ -1,7 +1,7 @@
---- chrome/browser/defaults.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/defaults.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/defaults.cc
-@@ -52,7 +52,7 @@ const bool kSyncAutoStarts = true;
- const bool kSyncAutoStarts = false;
+@@ -31,7 +31,7 @@ const bool kAlwaysCreateTabbedBrowserOnSessionRestore
+ const bool kShowHelpMenuItemIcon = false;
#endif
-#if BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_dev__ui__browser__resources.grd b/www/chromium/files/patch-chrome_browser_dev__ui__browser__resources.grd
deleted file mode 100644
index a9cf58e1eece..000000000000
--- a/www/chromium/files/patch-chrome_browser_dev__ui__browser__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/dev_ui_browser_resources.grd.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/dev_ui_browser_resources.grd
-@@ -39,7 +39,7 @@ This file specifies browser resources for developer-fa
- <include name="IDR_PREDICTORS_JS" file="${root_gen_dir}\chrome\browser\resources\predictors\predictors.js" use_base_dir="false" type="BINDATA" />
- <include name="IDR_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_JS" file="${root_gen_dir}\chrome\browser\resources\predictors\resource_prefetch_predictor.js" use_base_dir="false" type="BINDATA" />
-
-- <if expr="is_android or is_linux or chromeos_ash or chromeos_lacros">
-+ <if expr="is_android or is_posix or chromeos_ash or chromeos_lacros">
- <include name="IDR_SANDBOX_INTERNALS_HTML" file="resources\sandbox_internals\sandbox_internals.html" preprocess="true" type="BINDATA" />
- <include name="IDR_SANDBOX_INTERNALS_JS" file="${root_gen_dir}\chrome\browser\resources\sandbox_internals\tsc\sandbox_internals.js" use_base_dir="false" type="BINDATA" />
- </if>
diff --git a/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc b/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc
index e5e00061d6ab..6430e200c973 100644
--- a/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc
@@ -1,11 +1,11 @@
---- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/device_identity/device_oauth2_token_service_factory.cc
-@@ -28,7 +28,7 @@ std::unique_ptr<DeviceOAuth2TokenStore> CreatePlatform
+@@ -26,7 +26,7 @@ std::unique_ptr<DeviceOAuth2TokenStore> CreatePlatform
+ #if BUILDFLAG(IS_CHROMEOS)
return std::make_unique<chromeos::DeviceOAuth2TokenStoreChromeOS>(
local_state);
- #elif 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)
+-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return std::make_unique<DeviceOAuth2TokenStoreDesktop>(local_state);
#else
NOTREACHED();
diff --git a/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc b/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
deleted file mode 100644
index 6b9f8c54bad4..000000000000
--- a/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/browser/devtools/devtools_eye_dropper.cc
-@@ -186,7 +186,7 @@ void DevToolsEyeDropper::UpdateCursor() {
- // magnified projection only with centered hotspot.
- // Mac Retina requires cursor to be > 120px in order to render smoothly.
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const float kCursorSize = 63;
- const float kDiameter = 63;
- const float kHotspotOffset = 32;
diff --git a/www/chromium/files/patch-chrome_browser_devtools_features.cc b/www/chromium/files/patch-chrome_browser_devtools_features.cc
new file mode 100644
index 000000000000..f89d9de69779
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_devtools_features.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/devtools/features.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/devtools/features.cc
+@@ -164,7 +164,7 @@ BASE_FEATURE(kDevToolsNewPermissionDialog,
+ "DevToolsNewPermissionDialog",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If enabled, DevTools does not accept remote debugging connections unless
+ // using a non-default user data dir via the --user-data-dir switch.
+ BASE_FEATURE(kDevToolsDebuggingRestrictions,
diff --git a/www/chromium/files/patch-chrome_browser_devtools_features.h b/www/chromium/files/patch-chrome_browser_devtools_features.h
new file mode 100644
index 000000000000..8496bb3def7f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_devtools_features.h
@@ -0,0 +1,11 @@
+--- chrome/browser/devtools/features.h.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/devtools/features.h
+@@ -92,7 +92,7 @@ BASE_DECLARE_FEATURE(kDevToolsAiGeneratedTimelineLabel
+
+ BASE_DECLARE_FEATURE(kDevToolsNewPermissionDialog);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kDevToolsDebuggingRestrictions);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc b/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc
new file mode 100644
index 000000000000..703521dd27a1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/devtools/remote_debugging_server.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/devtools/remote_debugging_server.cc
+@@ -109,7 +109,7 @@ IsRemoteDebuggingAllowed(const std::optional<bool>& is
+ RemoteDebuggingServer::NotStartedReason::kDisabledByPolicy);
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(features::kDevToolsDebuggingRestrictions) &&
+ is_default_user_data_dir.value_or(true)) {
+ return base::unexpected(
diff --git a/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h b/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
index 43c1038a8248..62fe3d689a00 100644
--- a/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
+++ b/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
@@ -1,6 +1,6 @@
---- chrome/browser/diagnostics/diagnostics_writer.h.orig 2022-02-07 13:39:41 UTC
+--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/diagnostics/diagnostics_writer.h
-@@ -14,6 +14,8 @@ namespace diagnostics {
+@@ -16,6 +16,8 @@ namespace diagnostics {
// Console base class used internally.
class SimpleConsole;
diff --git a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
index 45628b84695c..cbfd429fc181 100644
--- a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
+++ b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
@@ -1,16 +1,7 @@
---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -1540,7 +1540,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
- target_info->is_filetype_handled_safely)
- DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (item->GetOriginalMimeType() == "application/x-x509-user-cert")
- DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
- #endif
-@@ -1592,7 +1592,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
- bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile(
+@@ -1922,7 +1922,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
+ bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferredForFile(
const base::FilePath& path) {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
@@ -18,7 +9,7 @@
if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) {
return !download_prefs_->ShouldOpenPdfInSystemReader();
}
-@@ -1699,7 +1699,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow
+@@ -2058,7 +2058,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow
content::CheckDownloadAllowedCallback check_download_allowed_cb) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -27,21 +18,12 @@
// Don't download pdf if it is a file URL, as that might cause an infinite
// download loop if Chrome is not the system pdf viewer.
if (url.SchemeIsFile() && download_prefs_->ShouldOpenPdfInSystemReader()) {
-@@ -1741,7 +1741,7 @@ std::unique_ptr<download::DownloadItemRenameHandler>
- ChromeDownloadManagerDelegate::GetRenameHandlerForDownload(
- download::DownloadItem* download_item) {
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
-- BUILDFLAG(IS_MAC)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- return enterprise_connectors::FileSystemRenameHandler::CreateIfNeeded(
- download_item);
- #else
-@@ -1757,7 +1757,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl
+@@ -2140,7 +2140,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl
DCHECK(download_item->IsSavePackageDownload());
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
-- BUILDFLAG(IS_MAC)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- absl::optional<enterprise_connectors::AnalysisSettings> settings =
- safe_browsing::DeepScanningRequest::ShouldUploadBinary(download_item);
-
+ #if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_MAC)) && \
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \
+ BUILDFLAG(SAFE_BROWSING_AVAILABLE)
+ std::optional<enterprise_connectors::AnalysisSettings> settings =
+ safe_browsing::ShouldUploadBinaryForDeepScanning(download_item);
diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.cc b/www/chromium/files/patch-chrome_browser_download_download__commands.cc
index 64002dd0fec3..945383043a0c 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__commands.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__commands.cc
@@ -1,20 +1,20 @@
---- chrome/browser/download/download_commands.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/download/download_commands.cc.orig 2025-03-05 08:14:56 UTC
+++ chrome/browser/download/download_commands.cc
-@@ -26,7 +26,7 @@
+@@ -27,7 +27,7 @@
#include "ui/base/clipboard/scoped_clipboard_writer.h"
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
-- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
-@@ -167,7 +167,7 @@ void DownloadCommands::ExecuteCommand(Command command)
+@@ -177,7 +177,7 @@ void DownloadCommands::ExecuteCommand(Command command)
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
Browser* DownloadCommands::GetBrowser() const {
if (!model_)
diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.h b/www/chromium/files/patch-chrome_browser_download_download__commands.h
index 39e9bf4a1ce9..b0cbfb893cc3 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__commands.h
+++ b/www/chromium/files/patch-chrome_browser_download_download__commands.h
@@ -1,11 +1,11 @@
---- chrome/browser/download/download_commands.h.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/download/download_commands.h.orig 2024-06-17 12:56:06 UTC
+++ chrome/browser/download/download_commands.h
-@@ -53,7 +53,7 @@ class DownloadCommands {
+@@ -66,7 +66,7 @@ class DownloadCommands {
void ExecuteCommand(Command command);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
-- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
bool IsDownloadPdf() const;
bool CanOpenPdfInSystemViewer() const;
Browser* GetBrowser() const;
diff --git a/www/chromium/files/patch-chrome_browser_download_download__file__picker.cc b/www/chromium/files/patch-chrome_browser_download_download__file__picker.cc
index 571caf3b35c3..f2bee5115058 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__file__picker.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__file__picker.cc
@@ -1,20 +1,20 @@
---- chrome/browser/download/download_file_picker.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/download/download_file_picker.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/download/download_file_picker.cc
-@@ -16,7 +16,7 @@
- #include "content/public/browser/download_manager.h"
+@@ -18,7 +18,7 @@
#include "content/public/browser/web_contents.h"
+ #include "ui/shell_dialogs/selected_file_info.h"
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
#include "ui/aura/window.h"
-@@ -76,7 +76,7 @@ DownloadFilePicker::DownloadFilePicker(DownloadItem* i
- // dialog in Linux. See SelectFileImpl() in select_file_dialog_linux_gtk.cc.
- // Here we make owning_window host to browser current active window
- // if it is null. https://crbug.com/1301898
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+@@ -83,7 +83,7 @@ DownloadFilePicker::DownloadFilePicker(download::Downl
+ // dialog in Linux (See SelectFileImpl() in select_file_dialog_linux_gtk.cc).
+ // and windows.Here we make owning_window host to browser current active
+ // window if it is null. https://crbug.com/1301898
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
if (!owning_window || !owning_window->GetHost()) {
owning_window = BrowserList::GetInstance()
->GetLastActive()
diff --git a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc
index 43b19db0fed8..b36398cd3df6 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc
@@ -1,6 +1,6 @@
---- chrome/browser/download/download_item_model.cc.orig 2022-07-28 04:43:52 UTC
+--- chrome/browser/download/download_item_model.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/download/download_item_model.cc
-@@ -704,7 +704,7 @@ bool DownloadItemModel::IsCommandChecked(
+@@ -772,7 +772,7 @@ bool DownloadItemModel::IsCommandChecked(
download_crx_util::IsExtensionDownload(*download_);
case DownloadCommands::ALWAYS_OPEN_TYPE:
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -9,7 +9,7 @@
if (download_commands->CanOpenPdfInSystemViewer()) {
DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
return prefs->ShouldOpenPdfInSystemReader();
-@@ -744,7 +744,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand
+@@ -820,7 +820,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand
DownloadCommands::ALWAYS_OPEN_TYPE);
DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -18,3 +18,12 @@
if (download_commands->CanOpenPdfInSystemViewer()) {
prefs->SetShouldOpenPdfInSystemReader(!is_checked);
SetShouldPreferOpeningInBrowser(is_checked);
+@@ -1210,7 +1210,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe
+ return;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (download_->GetOriginalMimeType() == "application/x-x509-user-cert") {
+ SetShouldPreferOpeningInBrowser(true);
+ return;
diff --git a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
index 6c02c285ce32..7b23d163ccc3 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
@@ -1,25 +1,25 @@
---- chrome/browser/download/download_prefs.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/download/download_prefs.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/download/download_prefs.cc
-@@ -13,6 +13,7 @@
- #include "base/callback_helpers.h"
+@@ -11,6 +11,7 @@
+ #include <vector>
+
#include "base/check.h"
- #include "base/cxx17_backports.h"
+#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/files/file_util.h"
- #include "base/no_destructor.h"
-@@ -60,6 +61,10 @@
- #include "chrome/browser/ui/pdf/adobe_reader_info_win.h"
+ #include "base/functional/bind.h"
+@@ -61,6 +62,10 @@
+ #include "components/safe_browsing/content/common/file_type_policies.h"
#endif
-+#if BUILDFLAG(IS_OPENBSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
+#endif
+
using content::BrowserContext;
using content::BrowserThread;
using content::DownloadManager;
-@@ -70,7 +75,7 @@ namespace {
+@@ -74,7 +79,7 @@ namespace {
// Consider downloads 'dangerous' if they go to the home directory on Linux and
// to the desktop on any platform.
bool DownloadPathIsDangerous(const base::FilePath& download_path) {
@@ -28,8 +28,8 @@
base::FilePath home_dir = base::GetHomeDir();
if (download_path == home_dir) {
return true;
-@@ -168,7 +173,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
- #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -180,7 +185,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
+ #endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
@@ -37,16 +37,16 @@
should_open_pdf_in_system_reader_ =
prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader);
#endif
-@@ -291,7 +296,7 @@ void DownloadPrefs::RegisterProfilePrefs(
- registry->RegisterTimePref(prefs::kDownloadLastCompleteTime,
- /*default_value=*/base::Time());
+@@ -307,7 +312,7 @@ void DownloadPrefs::RegisterProfilePrefs(
+ registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory,
+ default_download_path);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false);
#endif
#if BUILDFLAG(IS_ANDROID)
-@@ -496,7 +501,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
+@@ -480,7 +485,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -55,7 +55,7 @@
void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) {
if (should_open_pdf_in_system_reader_ == should_open)
return;
-@@ -528,7 +533,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
+@@ -506,7 +511,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
void DownloadPrefs::ResetAutoOpenByUser() {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -64,7 +64,7 @@
SetShouldOpenPdfInSystemReader(false);
#endif
auto_open_by_user_.clear();
-@@ -559,7 +564,7 @@ void DownloadPrefs::SaveAutoOpenState() {
+@@ -543,7 +548,7 @@ void DownloadPrefs::SaveAutoOpenState() {
bool DownloadPrefs::CanPlatformEnableAutoOpenForPdf() const {
#if BUILDFLAG(IS_CHROMEOS)
return false; // There is no UI for auto-open on ChromeOS.
@@ -73,7 +73,7 @@
return ShouldOpenPdfInSystemReader();
#else
return false;
-@@ -678,7 +683,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa
+@@ -625,7 +630,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa
#else
// If the stored download directory is an absolute path, we presume it's
// correct; there's not really much more validation we can do here.
diff --git a/www/chromium/files/patch-chrome_browser_download_download__prefs.h b/www/chromium/files/patch-chrome_browser_download_download__prefs.h
index 11d432acfbc2..a68cb8042f12 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__prefs.h
+++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.h
@@ -1,6 +1,6 @@
---- chrome/browser/download/download_prefs.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/download/download_prefs.h.orig 2025-01-15 09:18:26 UTC
+++ chrome/browser/download/download_prefs.h
-@@ -125,7 +125,7 @@ class DownloadPrefs {
+@@ -107,7 +107,7 @@ class DownloadPrefs {
void DisableAutoOpenByUserBasedOnExtension(const base::FilePath& file_name);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -9,7 +9,7 @@
// Store the user preference to disk. If |should_open| is true, also disable
// the built-in PDF plugin. If |should_open| is false, enable the PDF plugin.
void SetShouldOpenPdfInSystemReader(bool should_open);
-@@ -186,7 +186,7 @@ class DownloadPrefs {
+@@ -171,7 +171,7 @@ class DownloadPrefs {
std::unique_ptr<policy::URLBlocklist> auto_open_allowed_by_urls_;
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.cc
new file mode 100644
index 000000000000..e97709652b0b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.cc
@@ -0,0 +1,47 @@
+--- chrome/browser/enterprise/browser_management/browser_management_service.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/enterprise/browser_management/browser_management_service.cc
+@@ -50,7 +50,7 @@ GetManagementStatusProviders(Profile* profile) {
+
+ BrowserManagementService::BrowserManagementService(Profile* profile)
+ : ManagementService(GetManagementStatusProviders(profile)) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+ FROM_HERE,
+ base::BindOnce(&BrowserManagementService::UpdateManagementIconForProfile,
+@@ -74,7 +74,7 @@ BrowserManagementService::BrowserManagementService(Pro
+ }
+
+ ui::ImageModel* BrowserManagementService::GetManagementIconForProfile() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return management_icon_for_profile_.IsEmpty() ? nullptr
+ : &management_icon_for_profile_;
+ #else
+@@ -83,7 +83,7 @@ ui::ImageModel* BrowserManagementService::GetManagemen
+ }
+
+ gfx::Image* BrowserManagementService::GetManagementIconForBrowser() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return management_icon_for_browser_.IsEmpty() ? nullptr
+ : &management_icon_for_browser_;
+ #else
+@@ -96,7 +96,7 @@ void BrowserManagementService::TriggerPolicyStatusChan
+ OnPolicyStatusChanged();
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void BrowserManagementService::SetBrowserManagementIconForTesting(
+ const gfx::Image& management_icon) {
+ CHECK_IS_TEST();
+@@ -171,7 +171,7 @@ void BrowserManagementService::SetManagementIconForBro
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+ void BrowserManagementService::OnPolicyStatusChanged() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ NotifyEnterpriseLabelUpdated();
+ #endif
+ }
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.h b/www/chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.h
new file mode 100644
index 000000000000..d366a7518bbf
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.h
@@ -0,0 +1,20 @@
+--- chrome/browser/enterprise/browser_management/browser_management_service.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/enterprise/browser_management/browser_management_service.h
+@@ -41,7 +41,7 @@ class BrowserManagementService : public ManagementServ
+
+ void TriggerPolicyStatusChangedForTesting() override;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void SetBrowserManagementIconForTesting(
+ const gfx::Image& management_icon) override;
+ #endif
+@@ -50,7 +50,7 @@ class BrowserManagementService : public ManagementServ
+ // PolicyStatusProvider::Observer:
+ void OnPolicyStatusChanged() override;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Starts listening to changes to policies that affect the enterprise label
+ // and pill.
+ void StartListeningToPrefChanges(Profile* profile);
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc
new file mode 100644
index 000000000000..bca66636d073
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc
+@@ -151,7 +151,7 @@ AnalysisServiceSettings::AnalysisServiceSettings(
+ const char* verification_key = kKeyWindowsVerification;
+ #elif BUILDFLAG(IS_MAC)
+ const char* verification_key = kKeyMacVerification;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char* verification_key = kKeyLinuxVerification;
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc
new file mode 100644
index 000000000000..1e930d3c73a5
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/enterprise/connectors/common.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/enterprise/connectors/common.cc
+@@ -17,7 +17,7 @@
+ #include "components/user_manager/user.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
+ #include "components/prefs/pref_service.h"
+ #endif
+@@ -192,7 +192,7 @@ std::string GetProfileEmail(Profile* profile) {
+ std::string email =
+ GetProfileEmail(IdentityManagerFactory::GetForProfile(profile));
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (email.empty()) {
+ email = profile->GetPrefs()->GetString(
+ enterprise_signin::prefs::kProfileUserEmail);
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc
new file mode 100644
index 000000000000..d1d2fac11c1f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/enterprise/connectors/connectors_service.cc
+@@ -449,7 +449,7 @@ policy::PolicyScope ConnectorsService::GetPolicyScope(
+ bool ConnectorsService::ConnectorsEnabled() const {
+ Profile* profile = Profile::FromBrowserContext(context_);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On desktop, the guest profile is actually the primary OTR profile of
+ // the "regular" guest profile. The regular guest profile is never used
+ // directly by users. Also, user are not able to create child OTR profiles
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc
index 4bef52efb9e8..150a80908e89 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc
@@ -1,29 +1,29 @@
---- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2024-08-26 12:06:38 UTC
+++ chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc
-@@ -12,7 +12,7 @@
- #include "components/keyed_service/content/browser_context_dependency_manager.h"
+@@ -10,7 +10,7 @@
+ #include "chrome/browser/profiles/profile.h"
#include "components/keyed_service/core/keyed_service.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#include "chrome/browser/browser_process.h"
- #include "chrome/browser/enterprise/connectors/device_trust/browser/browser_device_trust_connector_service.h"
+ #include "chrome/browser/enterprise/connectors/device_trust/browser/signing_key_policy_observer.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
-@@ -37,7 +37,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi
+@@ -40,7 +40,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi
bool DeviceTrustConnectorServiceFactory::ServiceIsCreatedWithBrowserContext()
const {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- return IsDeviceTrustConnectorFeatureEnabled();
+ return true;
#else
return false;
-@@ -58,7 +58,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil
-
- DeviceTrustConnectorService* service = nullptr;
+@@ -84,7 +84,7 @@ DeviceTrustConnectorServiceFactory::BuildServiceInstan
+ std::unique_ptr<DeviceTrustConnectorService> service =
+ std::make_unique<DeviceTrustConnectorService>(profile->GetPrefs());
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- if (IsDeviceTrustConnectorFeatureEnabled()) {
- auto* key_manager = g_browser_process->browser_policy_connector()
- ->chrome_browser_cloud_management_controller()
+ auto* key_manager = g_browser_process->browser_policy_connector()
+ ->chrome_browser_cloud_management_controller()
+ ->GetDeviceTrustKeyManager();
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc
index bec828731e01..eab13c42e7cb 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc
@@ -1,11 +1,29 @@
---- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc
-@@ -23,7 +23,7 @@
+@@ -22,7 +22,7 @@
#include "components/policy/core/common/management/management_service.h"
#include "content/public/browser/browser_context.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#include "chrome/browser/browser_process.h"
- #include "chrome/browser/enterprise/connectors/device_trust/attestation/desktop/desktop_attestation_service.h"
- #include "chrome/browser/policy/chrome_browser_policy_connector.h"
+ #include "chrome/browser/enterprise/connectors/device_trust/attestation/browser/browser_attestation_service.h"
+ #include "chrome/browser/enterprise/connectors/device_trust/attestation/browser/device_attester.h"
+@@ -53,7 +53,7 @@ bool IsProfileManaged(Profile* profile) {
+ return management_service && management_service->IsManaged();
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ policy::CloudPolicyStore* GetUserCloudPolicyStore(Profile* profile) {
+ policy::CloudPolicyManager* user_policy_manager =
+ profile->GetCloudPolicyManager();
+@@ -105,7 +105,7 @@ DeviceTrustServiceFactory::DeviceTrustServiceFactory()
+ DependsOn(DeviceTrustConnectorServiceFactory::GetInstance());
+ DependsOn(policy::ManagementServiceFactory::GetInstance());
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Depends on this service via the SignalsService having a dependency on it.
+ DependsOn(enterprise_signals::SignalsAggregatorFactory::GetInstance());
+ // Depends on this service via the ProfileAttester having a dependency on it
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc
index 40dcf1b73df7..341bf2cad072 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc
@@ -1,20 +1,20 @@
---- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2024-10-22 08:31:56 UTC
+++ chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc
-@@ -13,7 +13,7 @@
+@@ -19,7 +19,7 @@
#if BUILDFLAG(IS_WIN)
#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/win_key_rotation_command.h"
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/linux_key_rotation_command.h"
- #endif // BUILDFLAG(IS_WIN)
-
-@@ -43,7 +43,7 @@ std::unique_ptr<KeyRotationCommand> KeyRotationCommand
- scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory) {
+ #elif BUILDFLAG(IS_MAC)
+ #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/mac_key_rotation_command.h"
+@@ -53,7 +53,7 @@ std::unique_ptr<KeyRotationCommand> KeyRotationCommand
+ policy::DeviceManagementService* device_management_service) {
#if BUILDFLAG(IS_WIN)
return std::make_unique<WinKeyRotationCommand>();
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return std::make_unique<LinuxKeyRotationCommand>(
- std::move(url_loader_factory));
- #else
+ return std::make_unique<LinuxKeyRotationCommand>(url_loader_factory);
+ #elif BUILDFLAG(IS_MAC)
+ if (IsDTCKeyRotationUploadedBySharedAPI()) {
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc
index 8268b3ffef16..e8a0f825946c 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc
@@ -1,4 +1,4 @@
---- chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/key_persistence_delegate_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/key_persistence_delegate_factory.cc.orig 2025-01-15 09:18:26 UTC
+++ chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/key_persistence_delegate_factory.cc
@@ -13,7 +13,7 @@
#include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/win_key_persistence_delegate.h"
@@ -9,7 +9,7 @@
#include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/linux_key_persistence_delegate.h"
#endif
-@@ -44,7 +44,7 @@ KeyPersistenceDelegateFactory::CreateKeyPersistenceDel
+@@ -45,7 +45,7 @@ KeyPersistenceDelegateFactory::CreateKeyPersistenceDel
return std::make_unique<WinKeyPersistenceDelegate>();
#elif BUILDFLAG(IS_MAC)
return std::make_unique<MacKeyPersistenceDelegate>();
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc
index 39515bf1e22a..748d09c6d1e2 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc
@@ -1,20 +1,20 @@
---- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc
-@@ -15,7 +15,7 @@
- #include "chrome/browser/profiles/profile.h"
- #include "components/policy/core/common/management/management_service.h"
+@@ -23,7 +23,7 @@
+ #include "chrome/browser/enterprise/connectors/connectors_service.h"
+ #endif // BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS)
-#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/check.h"
#include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h"
- #include "chrome/browser/policy/chrome_browser_policy_connector.h"
-@@ -52,7 +52,7 @@ std::unique_ptr<SignalsService> CreateSignalsService(
- decorators.push_back(
- std::make_unique<ContentSignalsDecorator>(policy_blocklist_service));
+ #include "chrome/browser/enterprise/core/dependency_factory_impl.h"
+@@ -63,7 +63,7 @@ std::unique_ptr<SignalsService> CreateSignalsService(P
+ profile, ConnectorsServiceFactory::GetForBrowserContext(profile))));
+ #endif // BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- policy::CloudPolicyStore* store = nullptr;
- // Managed device.
+ policy::CloudPolicyManager* browser_policy_manager = nullptr;
+ if (management_service->HasManagementAuthority(
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc
new file mode 100644
index 000000000000..a0dce50c23cf
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc.orig 2024-08-26 12:06:38 UTC
++++ chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc
+@@ -13,7 +13,7 @@ namespace enterprise_connectors {
+
+ BrowserCrashEventRouter::BrowserCrashEventRouter(
+ content::BrowserContext* context) {
+-#if !BUILDFLAG(IS_CHROMEOS)
++#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
+ CrashReportingContext* crash_reporting_context =
+ CrashReportingContext::GetInstance();
+ Profile* profile = Profile::FromBrowserContext(context);
+@@ -23,7 +23,7 @@ BrowserCrashEventRouter::BrowserCrashEventRouter(
+ }
+
+ BrowserCrashEventRouter::~BrowserCrashEventRouter() {
+-#if !BUILDFLAG(IS_CHROMEOS)
++#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
+ CrashReportingContext* crash_reporting_context =
+ CrashReportingContext::GetInstance();
+ crash_reporting_context->RemoveProfile(this);
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc
new file mode 100644
index 000000000000..f20b4a68911c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/enterprise/connectors/reporting/crash_reporting_context.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/enterprise/connectors/reporting/crash_reporting_context.cc
+@@ -28,7 +28,7 @@
+
+ namespace enterprise_connectors {
+
+-#if !BUILDFLAG(IS_CHROMEOS)
++#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
+
+ namespace {
+
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc
new file mode 100644
index 000000000000..1382503940d2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc
+@@ -52,7 +52,7 @@
+ #include "base/strings/utf_string_conversions.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h"
+ #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
+ #include "components/device_signals/core/browser/signals_aggregator.h"
+@@ -157,7 +157,7 @@ void RealtimeReportingClient::ReportPastEvent(const st
+ /*include_profile_user_name=*/false);
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ void AddCrowdstrikeSignalsToEvent(
+ base::Value::Dict& event,
+@@ -193,7 +193,7 @@ std::string RealtimeReportingClient::GetProfileUserNam
+ username_ =
+ identity_manager_ ? GetProfileEmail(identity_manager_) : std::string();
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (username_.empty()) {
+ username_ = Profile::FromBrowserContext(context_)->GetPrefs()->GetString(
+ enterprise_signin::prefs::kProfileUserEmail);
+@@ -245,7 +245,7 @@ std::string RealtimeReportingClient::GetBrowserClientI
+ return client_id;
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet)
+ void RealtimeReportingClient::MaybeCollectDeviceSignalsAndReportEvent(
+ ::chrome::cros::reporting::proto::Event event,
+ policy::CloudPolicyClient* client,
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h
new file mode 100644
index 000000000000..f8dbce911536
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h
@@ -0,0 +1,29 @@
+--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h
+@@ -19,7 +19,7 @@
+ #include "components/keyed_service/core/keyed_service.h"
+ #include "components/policy/core/common/cloud/cloud_policy_client.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 "components/device_signals/core/browser/signals_types.h"
+ #endif
+
+@@ -116,7 +116,7 @@ class RealtimeReportingClient : public RealtimeReporti
+ const std::string& dm_token) override;
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet)
+ // DEPRECATED: Use MaybeCollectDeviceSignalsAndReportEvent(Event, ...).
+ void MaybeCollectDeviceSignalsAndReportEventDeprecated(
+ base::Value::Dict event,
+@@ -166,7 +166,7 @@ class RealtimeReportingClient : public RealtimeReporti
+ base::WeakPtrFactory<RealtimeReportingClient> weak_ptr_factory_{this};
+ };
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Populate event dict with CrowdStrike signal values. If those signals are
+ // available in `response`, this function returns a Dict with the following
+ // fields added:
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc b/www/chromium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc
new file mode 100644
index 000000000000..ce799e41d54c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc
@@ -0,0 +1,13 @@
+--- chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.orig 2024-06-17 12:56:06 UTC
++++ chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
+@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileAttributes>& Ge
+ // TODO(crbug.com/40267996): Add actual domains with attribute names.
+ profile_attributes->insert(std::make_pair(
+ "supported.test",
+- SAMLProfileAttributes("placeholderName", "placeholderDomain",
+- "placeholderToken")));
++ SAMLProfileAttributes(SAMLProfileAttributes{"placeholderName", "placeholderDomain",
++ "placeholderToken"})));
+
+ // Extract domains and attributes from the command line switch.
+ const base::CommandLine& command_line =
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc
index 255d96a1e284..92373602e9f8 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc
@@ -1,4 +1,4 @@
---- chrome/browser/enterprise/remote_commands/cbcm_remote_commands_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/enterprise/remote_commands/cbcm_remote_commands_factory.cc.orig 2023-12-10 06:10:27 UTC
+++ chrome/browser/enterprise/remote_commands/cbcm_remote_commands_factory.cc
@@ -11,7 +11,7 @@
#include "chrome/browser/profiles/profile_manager.h"
@@ -6,15 +6,15 @@
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/enterprise/connectors/device_trust/device_trust_features.h"
#include "chrome/browser/enterprise/remote_commands/rotate_attestation_credential_job.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
-@@ -31,7 +31,7 @@ CBCMRemoteCommandsFactory::BuildJobForType(
+ #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
+@@ -30,7 +30,7 @@ CBCMRemoteCommandsFactory::BuildJobForType(
g_browser_process->profile_manager());
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- if (enterprise_connectors::IsDeviceTrustConnectorFeatureEnabled() &&
- type == enterprise_management::
+ if (type == enterprise_management::
RemoteCommand_Type_BROWSER_ROTATE_ATTESTATION_CREDENTIAL) {
+ return std::make_unique<RotateAttestationCredentialJob>(
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc
new file mode 100644
index 000000000000..a6a6430f017c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/enterprise/reporting/cloud_profile_reporting_service.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/enterprise/reporting/cloud_profile_reporting_service.cc
+@@ -34,7 +34,7 @@
+ #include "extensions/buildflags/buildflags.h"
+ #include "services/network/public/cpp/shared_url_loader_factory.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 "chrome/browser/enterprise/signals/signals_aggregator_factory.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -113,7 +113,7 @@ void CloudProfileReportingService::CreateReportSchedul
+ params.profile_request_generator =
+ std::make_unique<ChromeProfileRequestGenerator>(
+ profile_->GetPath(), &delegate_factory,
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ enterprise_signals::SignalsAggregatorFactory::GetForProfile(
+ profile_));
+ #else
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service__factory.cc
new file mode 100644
index 000000000000..7c672ac5f5f6
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service__factory.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/enterprise/reporting/cloud_profile_reporting_service_factory.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/enterprise/reporting/cloud_profile_reporting_service_factory.cc
+@@ -10,7 +10,7 @@
+ #include "components/enterprise/browser/reporting/report_scheduler.h"
+ #include "services/network/public/cpp/shared_url_loader_factory.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+
+@@ -48,7 +48,7 @@ CloudProfileReportingServiceFactory::CloudProfileRepor
+ ProfileSelections::BuildForRegularProfile()) {
+ DependsOn(enterprise::ProfileIdServiceFactory::GetInstance());
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Depends on this service because
+ // `CloudProfileReportingService.profile_request_generator_` has a dependency
+ // on it.
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc b/www/chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc
new file mode 100644
index 000000000000..efc9569428b5
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/enterprise/signals/context_info_fetcher.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/enterprise/signals/context_info_fetcher.cc
+@@ -181,6 +181,8 @@ std::vector<std::string> ContextInfoFetcher::GetOnSecu
+ SettingValue ContextInfoFetcher::GetOSFirewall() {
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+ return device_signals::GetOSFirewall();
++#elif BUILDFLAG(IS_OPENBSD)
++ return SettingValue::ENABLED;
+ #elif BUILDFLAG(IS_CHROMEOS)
+ return GetChromeosFirewall();
+ #else
+@@ -200,7 +202,7 @@ ScopedUfwConfigPathForTesting::~ScopedUfwConfigPathFor
+ #endif // BUILDFLAG(IS_LINUX)
+
+ std::vector<std::string> ContextInfoFetcher::GetDnsServers() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ return device_signals::GetSystemDnsServers();
+ #else
+ return std::vector<std::string>();
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc b/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc
index cef049635caf..2c9e37aee9f4 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc
@@ -1,4 +1,4 @@
---- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/enterprise/signals/device_info_fetcher.cc
@@ -10,7 +10,7 @@
#include "chrome/browser/enterprise/signals/device_info_fetcher_mac.h"
@@ -9,12 +9,12 @@
#include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h"
#endif
-@@ -70,7 +70,7 @@ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher::
- return std::make_unique<DeviceInfoFetcherMac>();
- #elif BUILDFLAG(IS_WIN)
- return std::make_unique<DeviceInfoFetcherWin>();
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- return std::make_unique<DeviceInfoFetcherLinux>();
- #else
- return std::make_unique<StubDeviceFetcher>();
+@@ -76,7 +76,7 @@ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher::
+ return CreateInstanceInternal();
+ }
+
+-#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) && \
++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) && \
+ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+ // static
+ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher::CreateInstanceInternal() {
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc b/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc
deleted file mode 100644
index 63eec68ffcfc..000000000000
--- a/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc
+++ /dev/null
@@ -1,78 +0,0 @@
---- chrome/browser/enterprise/signals/device_info_fetcher_linux.cc.orig 2022-02-07 13:39:41 UTC
-+++ chrome/browser/enterprise/signals/device_info_fetcher_linux.cc
-@@ -4,12 +4,23 @@
-
- #include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h"
-
-+#include "build/build_config.h"
-+
- #if defined(USE_GIO)
- #include <gio/gio.h>
- #endif // defined(USE_GIO)
- #include <sys/stat.h>
-+#if !defined(OS_BSD)
- #include <sys/sysmacros.h>
-+#endif
-
-+#if defined(OS_BSD)
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <ifaddrs.h>
-+#include <net/if_dl.h>
-+#endif
-+
- #include <string>
-
- #include "base/environment.h"
-@@ -118,6 +129,7 @@ SettingValue GetScreenlockSecured() {
- // Implements the logic from the native host installation script. First find the
- // root device identifier, then locate its parent and get its type.
- SettingValue GetDiskEncrypted() {
-+#if !defined(OS_BSD)
- struct stat info;
- // First figure out the device identifier. Fail fast if this fails.
- if (stat("/", &info) != 0)
-@@ -139,11 +151,35 @@ SettingValue GetDiskEncrypted() {
- }
- return SettingValue::UNKNOWN;
- }
-+#endif
- return SettingValue::DISABLED;
- }
-
- std::vector<std::string> GetMacAddresses() {
- std::vector<std::string> result;
-+#if defined(OS_BSD)
-+ struct ifaddrs* ifa = nullptr;
-+
-+ if (getifaddrs(&ifa) != 0)
-+ return result;
-+
-+ struct ifaddrs* interface = ifa;
-+ for (; interface != nullptr; interface = interface->ifa_next) {
-+ if (interface->ifa_addr == nullptr ||
-+ interface->ifa_addr->sa_family != AF_LINK) {
-+ continue;
-+ }
-+ struct sockaddr_dl* sdl =
-+ reinterpret_cast<struct sockaddr_dl*>(interface->ifa_addr);
-+ if (!sdl || sdl->sdl_alen != 6)
-+ continue;
-+ char* link_address = static_cast<char*>(LLADDR(sdl));
-+ result.push_back(base::StringPrintf(
-+ "%02x:%02x:%02x:%02x:%02x:%02x", link_address[0] & 0xff,
-+ link_address[1] & 0xff, link_address[2] & 0xff, link_address[3] & 0xff,
-+ link_address[4] & 0xff, link_address[5] & 0xff));
-+ }
-+#else
- base::DirReaderPosix reader("/sys/class/net");
- if (!reader.IsValid())
- return result;
-@@ -166,6 +202,7 @@ std::vector<std::string> GetMacAddresses() {
- &address);
- result.push_back(address);
- }
-+#endif
- return result;
- }
-
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h b/www/chromium/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h
new file mode 100644
index 000000000000..3d1947147df1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h
@@ -0,0 +1,11 @@
+--- chrome/browser/enterprise/signin/enterprise_signin_service.h.orig 2024-08-26 12:06:38 UTC
++++ chrome/browser/enterprise/signin/enterprise_signin_service.h
+@@ -9,7 +9,7 @@
+
+ #include "build/build_config.h"
+
+-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN))
++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))
+ #error EnterpriseSigninService should only be built on desktop platforms.
+ #endif // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN))
+
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signin_interstitials_managed__profile__required__page.cc b/www/chromium/files/patch-chrome_browser_enterprise_signin_interstitials_managed__profile__required__page.cc
new file mode 100644
index 000000000000..a7d58bbd898d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_signin_interstitials_managed__profile__required__page.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/enterprise/signin/interstitials/managed_profile_required_page.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/enterprise/signin/interstitials/managed_profile_required_page.cc
+@@ -94,7 +94,7 @@ void ManagedProfileRequiredPage::CommandReceived(const
+
+ switch (cmd) {
+ case security_interstitials::CMD_DONT_PROCEED:
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (ManagedProfileRequiredNavigationThrottle::IsBlockingNavigations(
+ web_contents()->GetBrowserContext())) {
+ ManagedProfileRequiredNavigationThrottle::ShowBlockedWindow(
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc b/www/chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc
new file mode 100644
index 000000000000..d94a8cc5ff77
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/enterprise/util/managed_browser_utils.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/enterprise/util/managed_browser_utils.cc
+@@ -213,7 +213,7 @@ void SetUserAcceptedAccountManagement(Profile* profile
+ // The updated consent screen also ask the user for consent to share device
+ // signals.
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (accepted && base::FeatureList::IsEnabled(
+ features::kEnterpriseUpdatedProfileCreationScreen)) {
+ profile->GetPrefs()->SetBoolean(
+@@ -225,7 +225,7 @@ void SetUserAcceptedAccountManagement(Profile* profile
+ profile_manager->GetProfileAttributesStorage()
+ .GetProfileAttributesWithPath(profile->GetPath());
+ if (entry) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ SetEnterpriseProfileLabel(profile);
+ #endif
+ entry->SetUserAcceptedAccountManagement(accepted);
+@@ -344,7 +344,7 @@ bool CanShowEnterpriseProfileUI(Profile* profile) {
+ }
+
+ bool CanShowEnterpriseBadgingForNTPFooter(Profile* profile) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ auto* management_service =
+ policy::ManagementServiceFactory::GetForProfile(profile);
diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
index c422c1a6d7ef..2468ea83d223 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
+++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
@@ -1,13 +1,13 @@
---- chrome/browser/extensions/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/extensions/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/extensions/BUILD.gn
-@@ -1296,6 +1296,10 @@ static_library("extensions") {
- deps += [ "//chrome/services/printing/public/mojom" ]
- }
+@@ -1479,6 +1479,10 @@ source_set("extensions") {
+ deps += [ "//chrome/services/printing/public/mojom" ]
+ }
-+ if (is_bsd) {
-+ sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ]
-+ }
++ if (is_bsd) {
++ sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ]
++ }
+
- if (enable_service_discovery) {
- sources += [
- "api/mdns/mdns_api.cc",
+ if (enable_pdf) {
+ deps += [
+ "//chrome/browser/pdf",
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
index 6ddb4b1c7de4..9db1d37817f4 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
@@ -1,4 +1,4 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc
@@ -24,7 +24,7 @@
#include "base/win/registry.h"
@@ -9,7 +9,7 @@
#include "base/environment.h"
#include "base/nix/xdg_util.h"
#endif
-@@ -256,7 +256,7 @@ base::FilePath GetEndpointVerificationDir() {
+@@ -264,7 +264,7 @@ base::FilePath GetEndpointVerificationDir() {
bool got_path = false;
#if BUILDFLAG(IS_WIN)
got_path = base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path);
@@ -18,7 +18,7 @@
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() {
+@@ -275,7 +275,7 @@ base::FilePath GetEndpointVerificationDir() {
if (!got_path)
return path;
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc
new file mode 100644
index 000000000000..82dd2b1604b2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc.orig 2022-11-30 08:12:58 UTC
++++ 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/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h
new file mode 100644
index 000000000000..070f82493f62
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h.orig 2024-02-23 21:04:38 UTC
++++ 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 <optional>
+ #include <vector>
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc
index 38cc6a034c09..c12e349ee015 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc
@@ -1,6 +1,33 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
-@@ -168,7 +168,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction::
+@@ -40,7 +40,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 <optional>
+
+ #include "base/strings/string_util.h"
+@@ -156,7 +156,7 @@ api::enterprise_reporting_private::ContextInfo ToConte
+ }
+
+ bool AllowClientCertificateReportingForUsers() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(
+ enterprise_signals::features::kAllowClientCertificateReportingForUsers);
+ #else
+@@ -169,7 +169,7 @@ bool IsProfilePrefManaged(Profile* profile, std::strin
+ return pref && pref->IsManaged();
+ }
+
+-#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) {
+@@ -231,7 +231,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction::
// getPersistentSecret
@@ -9,3 +36,12 @@
EnterpriseReportingPrivateGetPersistentSecretFunction::
EnterpriseReportingPrivateGetPersistentSecretFunction() = default;
+@@ -671,7 +671,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/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h
index fdafe702d58a..048a9551288c 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h
@@ -1,6 +1,15 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h
-@@ -52,7 +52,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction :
+@@ -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;
};
@@ -9,3 +18,12 @@
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/chromium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/www/chromium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
index 86eb1466c079..96341b4fa00b 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
@@ -1,14 +1,14 @@
---- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2023-09-13 12:11:42 UTC
+++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc
-@@ -21,6 +21,7 @@ static base::LazyInstance<scoped_refptr<StorageDeviceL
+@@ -20,6 +20,7 @@ static base::LazyInstance<scoped_refptr<StorageDeviceL
void RemovableStorageProvider::GetAllDevices(DeviceListReadyCallback callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
if (g_test_device_list.Get().get() != nullptr) {
- base::ThreadTaskRunnerHandle::Get()->PostTask(
+ base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask(
FROM_HERE,
-@@ -34,6 +35,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis
+@@ -33,6 +34,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN},
base::BindOnce(&RemovableStorageProvider::PopulateDeviceList),
std::move(callback));
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc b/www/chromium/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc
new file mode 100644
index 000000000000..c9db7cee9df4
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/messaging/launch_context_posix.cc.orig 2024-11-14 07:57:23 UTC
++++ chrome/browser/extensions/api/messaging/launch_context_posix.cc
+@@ -84,7 +84,7 @@ std::optional<LaunchContext::ProcessState> LaunchConte
+
+ options.current_directory = command_line.GetProgram().DirName();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || 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/chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc b/www/chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc
deleted file mode 100644
index 657717257a26..000000000000
--- a/www/chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc.orig 2022-02-28 16:54:41 UTC
-+++ 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/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc
new file mode 100644
index 000000000000..94e200529eb7
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc
+@@ -634,7 +634,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/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
new file mode 100644
index 000000000000..481c02106e4b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
@@ -0,0 +1,13 @@
+--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+@@ -326,7 +326,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, "android") == 0) {
+ info->os = extensions::api::runtime::PlatformOs::kAndroid;
+ } else {
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
index 505f6a6b3b18..6280f7f7b71f 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
@@ -1,20 +1,29 @@
---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -186,7 +186,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+@@ -196,7 +196,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+ (*s_allowlist)[autofill::prefs::kAutofillPaymentCardBenefits] =
+ settings_api::PrefType::kBoolean;
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ (*s_allowlist)[autofill::prefs::kAutofillBnplEnabled] =
+ settings_api::PrefType::kBoolean;
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+@@ -214,7 +214,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+ (*s_allowlist)[tab_groups::prefs::kAutoPinNewTabGroups] =
+ settings_api::PrefType::kBoolean;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
(*s_allowlist)[::prefs::kUseCustomChromeFrame] =
- settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ settings_api::PrefType::kBoolean;
#endif
-@@ -200,7 +200,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
- settings_api::PrefType::PREF_TYPE_NUMBER;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- (*s_allowlist)[::prefs::kUsesSystemTheme] =
- settings_api::PrefType::PREF_TYPE_BOOLEAN;
+@@ -228,7 +228,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+ (*s_allowlist)[::prefs::kCurrentThemeID] = settings_api::PrefType::kString;
+ (*s_allowlist)[::prefs::kPinnedActions] = settings_api::PrefType::kList;
+ (*s_allowlist)[::prefs::kPolicyThemeColor] = settings_api::PrefType::kNumber;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ (*s_allowlist)[::prefs::kSystemTheme] = settings_api::PrefType::kNumber;
#endif
+ (*s_allowlist)[::prefs::kHomePage] = settings_api::PrefType::kUrl;
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc
new file mode 100644
index 000000000000..b4463d62ed95
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/extensions/api/tabs/tabs_api.cc
+@@ -945,7 +945,7 @@ ExtensionFunction::ResponseAction WindowsCreateFunctio
+ // created as minimized.
+ // TODO(crbug.com/40254339): Remove this workaround when linux is fixed.
+ // TODO(crbug.com/40254339): Find a fix for wayland as well.
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
+ if (new_window->initial_show_state() ==
+ ui::mojom::WindowShowState::kMinimized) {
+ new_window->window()->Minimize();
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
index 643e85fb5537..9dad62a236f8 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
@@ -1,6 +1,6 @@
---- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2024-11-14 07:57:23 UTC
+++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc
-@@ -29,7 +29,7 @@
+@@ -28,7 +28,7 @@
#include "extensions/browser/process_manager.h"
#include "extensions/common/error_utils.h"
@@ -9,7 +9,7 @@
#include "extensions/common/permissions/permissions_data.h"
#endif
-@@ -38,7 +38,7 @@ namespace {
+@@ -37,7 +37,7 @@ namespace {
bool CanEnableAudioDebugRecordingsFromExtension(
const extensions::Extension* extension) {
bool enabled_by_permissions = false;
@@ -18,7 +18,7 @@
if (extension) {
enabled_by_permissions =
extension->permissions_data()->active_permissions().HasAPIPermission(
-@@ -580,7 +580,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi
+@@ -575,7 +575,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi
ExtensionFunction::ResponseAction
WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() {
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc
new file mode 100644
index 000000000000..51c91f333671
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
+@@ -911,7 +911,7 @@ void WebstorePrivateBeginInstallWithManifest3Function:
+ #if BUILDFLAG(IS_CHROMEOS)
+ 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/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
deleted file mode 100644
index 38d3f2c79b14..000000000000
--- a/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/extensions/browser_context_keyed_service_factories.cc
-@@ -53,7 +53,7 @@
- #include "extensions/browser/api/networking_private/networking_private_delegate_factory.h"
- #include "ppapi/buildflags/buildflags.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
-
-@@ -132,7 +132,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
- #endif
- extensions::SettingsPrivateEventRouterFactory::GetInstance();
- extensions::SettingsOverridesAPI::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/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc b/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc
new file mode 100644
index 000000000000..0e29da45b7f2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/extensions/component_extensions_allowlist/allowlist.cc
+@@ -48,7 +48,7 @@ bool IsComponentExtensionAllowlisted(const std::string
+ #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ #endif // BUILDFLAG(IS_CHROMEOS)
+ extension_misc::kReadingModeGDocsHelperExtensionId,
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ extension_misc::kTTSEngineExtensionId,
+ extension_misc::kComponentUpdaterTTSEngineExtensionId,
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+@@ -85,7 +85,7 @@ bool IsComponentExtensionAllowlisted(int manifest_reso
+ case IDR_NETWORK_SPEECH_SYNTHESIS_MANIFEST:
+ case IDR_NETWORK_SPEECH_SYNTHESIS_MANIFEST_MV3:
+ case IDR_READING_MODE_GDOCS_HELPER_MANIFEST:
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ case IDR_TTS_ENGINE_MANIFEST:
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+ case IDR_WEBSTORE_MANIFEST:
diff --git a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc
index f7956a996d22..882dfca58565 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc
@@ -1,15 +1,15 @@
---- chrome/browser/extensions/external_provider_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/extensions/external_provider_impl.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/extensions/external_provider_impl.cc
-@@ -821,7 +821,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+@@ -828,7 +828,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+
+ #endif // BUILDFLAG(IS_CHROMEOS)
if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
provider_list->push_back(std::make_unique<ExternalProviderImpl>(
service,
base::MakeRefCounted<ExternalPrefLoader>(
-@@ -849,7 +849,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+@@ -856,7 +856,7 @@ void ExternalProviderImpl::CreateExternalProviders(
bundled_extension_creation_flags));
// Define a per-user source of external extensions.
diff --git a/www/chromium/files/patch-chrome_browser_feedback_system__logs_about__system__logs__fetcher.cc b/www/chromium/files/patch-chrome_browser_feedback_system__logs_about__system__logs__fetcher.cc
new file mode 100644
index 000000000000..8156dee230e9
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_feedback_system__logs_about__system__logs__fetcher.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc
+@@ -38,7 +38,7 @@
+ #include "chrome/browser/ash/system_logs/ui_hierarchy_log_source.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/feedback/system_logs/log_sources/ozone_platform_state_dump_source.h"
+ #endif
+
+@@ -85,7 +85,7 @@ SystemLogsFetcher* BuildAboutSystemLogsFetcher(content
+ fetcher->AddSource(std::make_unique<KeyboardInfoLogSource>());
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ fetcher->AddSource(std::make_unique<OzonePlatformStateDumpSource>());
+ #endif // BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-chrome_browser_feedback_system__logs_chrome__system__logs__fetcher.cc b/www/chromium/files/patch-chrome_browser_feedback_system__logs_chrome__system__logs__fetcher.cc
new file mode 100644
index 000000000000..a104f24e4610
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_feedback_system__logs_chrome__system__logs__fetcher.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/feedback/system_logs/chrome_system_logs_fetcher.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/feedback/system_logs/chrome_system_logs_fetcher.cc
+@@ -45,7 +45,7 @@
+ #include "services/network/public/cpp/shared_url_loader_factory.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/feedback/system_logs/log_sources/ozone_platform_state_dump_source.h"
+ #endif
+
+@@ -102,7 +102,7 @@ SystemLogsFetcher* BuildChromeSystemLogsFetcher(Profil
+ fetcher->AddSource(std::make_unique<UiHierarchyLogSource>(scrub_data));
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ fetcher->AddSource(std::make_unique<OzonePlatformStateDumpSource>());
+ #endif // BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
index b543e2d173fe..f46250d3a64d 100644
--- a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
+++ b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
@@ -1,11 +1,11 @@
---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
-@@ -224,7 +224,7 @@ const struct {
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"),
- kDontBlockChildren},
+@@ -341,7 +341,7 @@ GenerateBlockedPath() {
+ FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"),
+ BlockType::kDontBlockChildren},
#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // On Linux also block access to devices via /dev, as well as security
- // sensitive data in /sys and /proc.
- {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), kBlockAllChildren},
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // On Linux also block access to devices via /dev.
+ {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), BlockType::kBlockAllChildren},
+ // And security sensitive data in /proc and /sys.
diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run__dialog.h b/www/chromium/files/patch-chrome_browser_first__run_first__run__dialog.h
index 3accb34d0e25..ff55075997c3 100644
--- a/www/chromium/files/patch-chrome_browser_first__run_first__run__dialog.h
+++ b/www/chromium/files/patch-chrome_browser_first__run_first__run__dialog.h
@@ -1,11 +1,11 @@
---- chrome/browser/first_run/first_run_dialog.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/first_run/first_run_dialog.h.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/first_run/first_run_dialog.h
-@@ -12,7 +12,7 @@
+@@ -9,7 +9,7 @@
+ #include "build/build_config.h"
+
// Hide this function on platforms where the dialog does not exist.
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- class Profile;
+ namespace first_run {
diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h
index 306e49626ec7..0dd89ae59be7 100644
--- a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h
+++ b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h
@@ -1,6 +1,6 @@
---- chrome/browser/first_run/first_run_internal.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/first_run/first_run_internal.h.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/first_run/first_run_internal.h
-@@ -56,7 +56,7 @@ FirstRunState DetermineFirstRunState(bool has_sentinel
+@@ -53,7 +53,7 @@ FirstRunState DetermineFirstRunState(bool has_sentinel
bool force_first_run,
bool no_first_run);
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
index 5211293e72de..5369ef1ca1b1 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
@@ -1,47 +1,183 @@
---- chrome/browser/flag_descriptions.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/flag_descriptions.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/flag_descriptions.cc
-@@ -5867,7 +5867,7 @@ const char kSideSearchDSESupportDescription[] =
- // Random platform combinations -----------------------------------------------
+@@ -659,7 +659,7 @@ const char kAutofillEnableAllowlistForBmoCardCategoryB
+ "Autofill suggestions on the allowlisted merchant websites.";
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ const char kAutofillEnableAmountExtractionAllowlistDesktopName[] =
+ "Enable loading and querying the checkout amount extraction allowlist on "
+ "Chrome Desktop";
+@@ -683,7 +683,7 @@ const char kAutofillEnableAmountExtractionDesktopLoggi
+ // BUILDFLAG(IS_CHROMEOS)
- const char kDesktopDetailedLanguageSettingsName[] =
- "Detailed Language Settings (Desktop)";
-@@ -5888,7 +5888,7 @@ const char kWebShareDescription[] =
- "platforms.";
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ const char kAutofillEnableBuyNowPayLaterName[] =
+ "Enable buy now pay later on Autofill";
+ const char kAutofillEnableBuyNowPayLaterDescription[] =
+@@ -1116,7 +1116,7 @@ const char kDevicePostureDescription[] =
+ "Enables Device Posture API (foldable devices)";
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
-+#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
- const char kOzonePlatformHintChoiceDefault[] = "Default";
- const char kOzonePlatformHintChoiceAuto[] = "Auto";
- const char kOzonePlatformHintChoiceX11[] = "X11";
-@@ -5900,7 +5900,7 @@ const char kOzonePlatformHintDescription[] =
- "\"X11\". \"Auto\" selects Wayland if possible, X11 otherwise. ";
- #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ const char kDocumentPictureInPictureAnimateResizeName[] =
+ "Document Picture-in-Picture Animate Resize";
+ const char kDocumentPictureInPictureAnimateResizeDescription[] =
+@@ -1250,7 +1250,7 @@ const char kContextMenuEmptySpaceDescription[] =
+ "space, a context menu containing page-related items will be shown.";
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ const char kContextualCueingName[] = "Contextual cueing";
+ const char kContextualCueingDescription[] =
+ "Enables the contextual cueing system to support showing actions.";
+@@ -1633,7 +1633,7 @@ const char kEnableIsolatedWebAppDevModeName[] =
+ const char kEnableIsolatedWebAppDevModeDescription[] =
+ "Enables the installation of unverified Isolated Web Apps";
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kEnableIwaKeyDistributionComponentName[] =
+ "Enable the Iwa Key Distribution component";
+ const char kEnableIwaKeyDistributionComponentDescription[] =
+@@ -3596,7 +3596,7 @@ const char kReduceTransferSizeUpdatedIPCDescription[]
+ "When enabled, the network service will send TransferSizeUpdatedIPC IPC "
+ "only when DevTools is attached or the request is for an ad request.";
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- const char kCleanUndecryptablePasswordsLinuxName[] =
- "Cleanup local undecryptable passwords during initial sync flow";
- const char kCleanUndecryptablePasswordsLinuxDescription[] =
-@@ -5913,7 +5913,7 @@ const char kForcePasswordInitialSyncWhenDecryptionFail
- "storage and requests initial sync.";
+ const char kReduceUserAgentDataLinuxPlatformVersionName[] =
+ "Reduce Linux platform version Client Hint";
+ const char kReduceUserAgentDataLinuxPlatformVersionDescription[] =
+@@ -3628,7 +3628,7 @@ const char kRetainOmniboxOnFocusDescription[] =
+ "exhibit a change in behavior.";
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kRootScrollbarFollowsTheme[] = "Make scrollbar follow theme";
+ const char kRootScrollbarFollowsThemeDescription[] =
+ "If enabled makes the root scrollbar follow the browser's theme color.";
+@@ -3887,7 +3887,7 @@ const char kDefaultSiteInstanceGroupsDescription[] =
+ "SiteInstance.";
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ const char kPwaNavigationCapturingName[] = "Desktop PWA Link Capturing";
+ const char kPwaNavigationCapturingDescription[] =
+ "Enables opening links from Chrome in an installed PWA. Currently under "
+@@ -4123,7 +4123,7 @@ const char kTranslateForceTriggerOnEnglishDescription[
+ "Force the Translate Triggering on English pages experiment to be enabled "
+ "with the selected language model active.";
+
+-#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 kEnableHistorySyncOptinName[] = "History Sync Opt-in";
+ const char kEnableHistorySyncOptinDescription[] =
+ "Enables the History Sync Opt-in screen on Desktop platforms. The screen "
+@@ -5840,7 +5840,7 @@ const char kTranslateOpenSettingsDescription[] =
+ "Add an option to the translate bubble menu to open language settings.";
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ const char kWasmTtsComponentUpdaterEnabledName[] =
+ "Enable Wasm TTS Extension Component";
+ const char kWasmTtsComponentUpdaterEnabledDescription[] =
+@@ -7871,7 +7871,7 @@ const char kTetheringExperimentalFunctionalityDescript
+
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kGetAllScreensMediaName[] = "GetAllScreensMedia API";
+ const char kGetAllScreensMediaDescription[] =
+ "When enabled, the getAllScreensMedia API for capturing multiple screens "
+@@ -8100,7 +8100,7 @@ const char kEnableArmHwdrmDescription[] = "Enable HW b
+
+ // Linux -----------------------------------------------------------------------
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kOzonePlatformHintChoiceDefault[] = "Default";
+ const char kOzonePlatformHintChoiceAuto[] = "Auto";
+ const char kOzonePlatformHintChoiceX11[] = "X11";
+@@ -8150,6 +8150,18 @@ const char kWaylandUiScalingDescription[] =
+ "Enable experimental support for text scaling in the Wayland backend "
+ "backed by full UI scaling. Requires #wayland-per-window-scaling to be "
+ "enabled too.";
++
++#if BUILDFLAG(IS_BSD)
++const char kAudioBackendName[] =
++ "Audio Backend";
++const char kAudioBackendDescription[] =
++#if BUILDFLAG(IS_OPENBSD)
++ "Select the desired audio backend to use. The default is sndio.";
++#elif BUILDFLAG(IS_FREEBSD)
++ "Select the desired audio backend to use. The default will automatically "
++ "enumerate through the supported backends.";
++#endif
++#endif
#endif // BUILDFLAG(IS_LINUX)
+ // Random platform combinations -----------------------------------------------
+@@ -8162,7 +8174,7 @@ const char kZeroCopyVideoCaptureDescription[] =
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ const char kFollowingFeedSidepanelName[] = "Following feed in the sidepanel";
+ const char kFollowingFeedSidepanelDescription[] =
+ "Enables the following feed in the sidepanel.";
+@@ -8205,7 +8217,7 @@ const char kGroupPromoPrototypeName[] = "Group Promo P
+ const char kGroupPromoPrototypeDescription[] =
+ "Enables prototype for group promo.";
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ const char kEnableNetworkServiceSandboxName[] =
+ "Enable the network service sandbox.";
+ const char kEnableNetworkServiceSandboxDescription[] =
+@@ -8226,7 +8238,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti
+ "Bluetooth";
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- const char kSkipUndecryptablePasswordsName[] =
- "Skip undecryptable passwords to use the available decryptable "
- "passwords.";
-@@ -6028,7 +6028,7 @@ const char kElasticOverscrollDescription[] =
-
- #if BUILDFLAG(IS_WIN) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(ENABLE_PRINTING)
+ const char kCupsIppPrintingBackendName[] = "CUPS IPP Printing Backend";
+ const char kCupsIppPrintingBackendDescription[] =
+@@ -8369,7 +8381,7 @@ const char kElementCaptureDescription[] =
+ "media track into a track capturing just a specific DOM element.";
+ #endif // !BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
const char kUIDebugToolsName[] = "Debugging tools for UI";
const char kUIDebugToolsDescription[] =
"Enables additional keyboard shortcuts to help debugging.";
+@@ -8420,7 +8432,7 @@ const char kComposeUpfrontInputModesDescription[] =
+ "Enables upfront input modes in the Compose dialog";
+ #endif // BUILDFLAG(ENABLE_COMPOSE)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ const char kThirdPartyProfileManagementName[] =
+ "Third party profile management";
+ const char kThirdPartyProfileManagementDescription[] =
+@@ -8538,7 +8550,7 @@ const char kSupervisedUserBlockInterstitialV3Name[] =
+ const char kSupervisedUserBlockInterstitialV3Description[] =
+ "Enables URL filter interstitial V3 for Family Link users.";
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ const char kSupervisedProfileHideGuestName[] = "Supervised Profile Hide Guest";
+ const char kSupervisedProfileHideGuestDescription[] =
+ "Hides Guest Profile entry points for supervised users";
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h
index 33cc38e7e4fd..7a867c777655 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h
@@ -1,38 +1,174 @@
---- chrome/browser/flag_descriptions.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/flag_descriptions.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/flag_descriptions.h
-@@ -3370,7 +3370,7 @@ extern const char kSideSearchDSESupportDescription[];
- // Random platform combinations -----------------------------------------------
+@@ -413,7 +413,7 @@ extern const char
+ kAutofillEnableAllowlistForBmoCardCategoryBenefitsDescription[];
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ extern const char kAutofillEnableAmountExtractionAllowlistDesktopName[];
+ extern const char kAutofillEnableAmountExtractionAllowlistDesktopDescription[];
+ extern const char kAutofillEnableAmountExtractionDesktopName[];
+@@ -424,7 +424,7 @@ extern const char kAutofillEnableAmountExtractionDeskt
+ // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ extern const char kAutofillEnableBuyNowPayLaterName[];
+ extern const char kAutofillEnableBuyNowPayLaterDescription[];
+
+@@ -656,7 +656,7 @@ extern const char kContextMenuEmptySpaceName[];
+ extern const char kContextMenuEmptySpaceDescription[];
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#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 kContextualCueingName[];
+ extern const char kContextualCueingDescription[];
+ extern const char kGlicZeroStateSuggestionsName[];
+@@ -847,7 +847,7 @@ extern const char kDevicePostureName[];
+ extern const char kDevicePostureDescription[];
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ extern const char kDocumentPictureInPictureAnimateResizeName[];
+ extern const char kDocumentPictureInPictureAnimateResizeDescription[];
+
+@@ -1006,7 +1006,7 @@ extern const char kEnableIsolatedWebAppAllowlistDescri
+ extern const char kEnableIsolatedWebAppDevModeName[];
+ extern const char kEnableIsolatedWebAppDevModeDescription[];
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extern const char kEnableIwaKeyDistributionComponentName[];
+ extern const char kEnableIwaKeyDistributionComponentDescription[];
+ #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+@@ -2079,7 +2079,7 @@ extern const char kRetainOmniboxOnFocusName[];
+ extern const char kRetainOmniboxOnFocusDescription[];
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extern const char kRootScrollbarFollowsTheme[];
+ extern const char kRootScrollbarFollowsThemeDescription[];
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+@@ -2226,7 +2226,7 @@ extern const char kDefaultSiteInstanceGroupsName[];
+ extern const char kDefaultSiteInstanceGroupsDescription[];
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ extern const char kPwaNavigationCapturingName[];
+ extern const char kPwaNavigationCapturingDescription[];
+ #endif
+@@ -2386,7 +2386,7 @@ extern const char kTouchTextEditingRedesignDescription
+ extern const char kTranslateForceTriggerOnEnglishName[];
+ extern const char kTranslateForceTriggerOnEnglishDescription[];
+
+-#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 kEnableHistorySyncOptinName[];
+ extern const char kEnableHistorySyncOptinDescription[];
+
+@@ -2641,7 +2641,7 @@ extern const char kReduceAcceptLanguageDescription[];
+ extern const char kReduceTransferSizeUpdatedIPCName[];
+ extern const char kReduceTransferSizeUpdatedIPCDescription[];
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extern const char kReduceUserAgentDataLinuxPlatformVersionName[];
+ extern const char kReduceUserAgentDataLinuxPlatformVersionDescription[];
+ #endif // #if BUILDFLAG(IS_LINUX)
+@@ -3430,7 +3430,7 @@ extern const char kTranslateOpenSettingsName[];
+ extern const char kTranslateOpenSettingsDescription[];
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ extern const char kWasmTtsComponentUpdaterEnabledName[];
+ extern const char kWasmTtsComponentUpdaterEnabledDescription[];
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+@@ -4630,7 +4630,7 @@ extern const char kTetheringExperimentalFunctionalityD
+
+ #endif // #if BUILDFLAG(IS_CHROMEOS)
- extern const char kDesktopDetailedLanguageSettingsName[];
- extern const char kDesktopDetailedLanguageSettingsDescription[];
-@@ -3386,7 +3386,7 @@ extern const char kWebShareName[];
- extern const char kWebShareDescription[];
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extern const char kGetAllScreensMediaName[];
+ extern const char kGetAllScreensMediaDescription[];
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+@@ -4765,7 +4765,7 @@ extern const char kEnableArmHwdrmDescription[];
+
+ // Linux ---------------------------------------------------------------------
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
extern const char kOzonePlatformHintChoiceDefault[];
extern const char kOzonePlatformHintChoiceAuto[];
extern const char kOzonePlatformHintChoiceX11[];
-@@ -3402,7 +3402,7 @@ extern const char kForcePasswordInitialSyncWhenDecrypt
- extern const char kForcePasswordInitialSyncWhenDecryptionFailsDescription[];
+@@ -4796,6 +4796,9 @@ extern const char kWaylandTextInputV3Description[];
+
+ extern const char kWaylandUiScalingName[];
+ extern const char kWaylandUiScalingDescription[];
++
++extern const char kAudioBackendName[];
++extern const char kAudioBackendDescription[];
#endif // BUILDFLAG(IS_LINUX)
+ // Random platform combinations -----------------------------------------------
+@@ -4810,7 +4813,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa
+ extern const char kWebBluetoothConfirmPairingSupportDescription[];
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- extern const char kSkipUndecryptablePasswordsName[];
- extern const char kSkipUndecryptablePasswordsDescription[];
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
-@@ -3483,7 +3483,7 @@ extern const char kElasticOverscrollDescription[];
-
- #if BUILDFLAG(IS_WIN) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(ENABLE_PRINTING)
+ extern const char kCupsIppPrintingBackendName[];
+ extern const char kCupsIppPrintingBackendDescription[];
+@@ -4823,7 +4826,7 @@ extern const char kScreenlockReauthCardDescription[];
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ extern const char kFollowingFeedSidepanelName[];
+ extern const char kFollowingFeedSidepanelDescription[];
+
+@@ -4840,7 +4843,7 @@ extern const char kTaskManagerDesktopRefreshName[];
+ extern const char kTaskManagerDesktopRefreshDescription[];
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ extern const char kEnableNetworkServiceSandboxName[];
+ extern const char kEnableNetworkServiceSandboxDescription[];
+
+@@ -4932,7 +4935,7 @@ extern const char kElementCaptureName[];
+ extern const char kElementCaptureDescription[];
+ #endif // !BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
extern const char kUIDebugToolsName[];
extern const char kUIDebugToolsDescription[];
#endif
+@@ -4971,7 +4974,7 @@ extern const char kComposeUpfrontInputModesName[];
+ extern const char kComposeUpfrontInputModesDescription[];
+ #endif // BUILDFLAG(ENABLE_COMPOSE)
+
+-#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 kThirdPartyProfileManagementName[];
+ extern const char kThirdPartyProfileManagementDescription[];
+
+@@ -5045,7 +5048,7 @@ extern const char kEnablePolicyPromotionBannerDescript
+ extern const char kSupervisedUserBlockInterstitialV3Name[];
+ extern const char kSupervisedUserBlockInterstitialV3Description[];
+
+-#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 kSupervisedProfileHideGuestName[];
+ extern const char kSupervisedProfileHideGuestDescription[];
+
diff --git a/www/chromium/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc b/www/chromium/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc
new file mode 100644
index 000000000000..7d62c4ed8008
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/gcm/gcm_profile_service_factory.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/gcm/gcm_profile_service_factory.cc
+@@ -110,7 +110,7 @@ GCMProfileServiceFactory::ScopedTestingFactoryInstalle
+ // 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 =
+@@ -153,7 +153,7 @@ std::unique_ptr<KeyedService>
+ GCMProfileServiceFactory::BuildServiceInstanceForBrowserContext(
+ 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/chromium/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc b/www/chromium/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc
new file mode 100644
index 000000000000..9e7b4dafc9e0
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/gcm/instance_id/instance_id_profile_service_factory.cc.orig 2025-02-19 07:43:18 UTC
++++ 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
+@@ -65,7 +65,7 @@ std::unique_ptr<KeyedService>
+ InstanceIDProfileServiceFactory::BuildServiceInstanceForBrowserContext(
+ 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/chromium/files/patch-chrome_browser_global__features.cc b/www/chromium/files/patch-chrome_browser_global__features.cc
new file mode 100644
index 000000000000..0fb41d80914c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_global__features.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/global_features.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/global_features.cc
+@@ -24,7 +24,7 @@
+ #include "chrome/browser/glic/host/glic_synthetic_trial_manager.h" // nogncheck
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // This causes a gn error on Android builds, because gn does not understand
+ // buildflags, so we include it only on platforms where it is used.
+ #include "chrome/browser/ui/webui/whats_new/whats_new_registrar.h"
+@@ -70,7 +70,7 @@ void GlobalFeatures::ReplaceGlobalFeaturesForTesting(
+
+ void GlobalFeatures::Init() {
+ system_permissions_platform_handle_ = CreateSystemPermissionsPlatformHandle();
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ whats_new_registry_ = CreateWhatsNewRegistry();
+ #endif
+
+@@ -120,7 +120,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle(
+ return system_permission_settings::PlatformHandle::Create();
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<whats_new::WhatsNewRegistry>
+ GlobalFeatures::CreateWhatsNewRegistry() {
+ return whats_new::CreateWhatsNewRegistry();
diff --git a/www/chromium/files/patch-chrome_browser_global__features.h b/www/chromium/files/patch-chrome_browser_global__features.h
new file mode 100644
index 000000000000..de0fbe47272a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_global__features.h
@@ -0,0 +1,38 @@
+--- chrome/browser/global_features.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/global_features.h
+@@ -15,7 +15,7 @@
+ namespace system_permission_settings {
+ class PlatformHandle;
+ } // namespace system_permission_settings
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ namespace whats_new {
+ class WhatsNewRegistry;
+ } // namespace whats_new
+@@ -63,7 +63,7 @@ class GlobalFeatures {
+ system_permissions_platform_handle() {
+ return system_permissions_platform_handle_.get();
+ }
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ whats_new::WhatsNewRegistry* whats_new_registry() {
+ return whats_new_registry_.get();
+ }
+@@ -103,7 +103,7 @@ class GlobalFeatures {
+
+ virtual std::unique_ptr<system_permission_settings::PlatformHandle>
+ CreateSystemPermissionsPlatformHandle();
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ virtual std::unique_ptr<whats_new::WhatsNewRegistry> CreateWhatsNewRegistry();
+ #endif
+
+@@ -113,7 +113,7 @@ class GlobalFeatures {
+
+ std::unique_ptr<system_permission_settings::PlatformHandle>
+ system_permissions_platform_handle_;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<whats_new::WhatsNewRegistry> whats_new_registry_;
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc
index 5cc3b96d020b..2d5a2a7c4f0b 100644
--- a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc
+++ b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc
@@ -1,29 +1,29 @@
---- chrome/browser/headless/headless_mode_util.cc.orig 2022-03-25 21:59:56 UTC
+--- chrome/browser/headless/headless_mode_util.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/headless/headless_mode_util.cc
-@@ -9,7 +9,7 @@
- // Native headless is currently available on Linux, Windows and Mac platforms.
- // More platforms will be added later, so avoid function level clutter by
- // providing stub implementations at the end of the file.
+@@ -10,7 +10,7 @@
+ // New headless mode is available on Linux, Windows and Mac platforms.
+ // More platforms will be added later, so avoid function level clutter
+ // by providing stub implementations at the end of the file.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- #include <cstdlib>
- #include <vector>
-@@ -17,7 +17,7 @@
#include "base/base_switches.h"
- #include "ui/gfx/switches.h"
+ #include "base/files/file_path.h"
+@@ -19,7 +19,7 @@
+ #include "chrome/common/chrome_switches.h"
+ #include "content/public/common/content_switches.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/ozone/public/ozone_switches.h"
+ #include "ui/gl/gl_switches.h" // nogncheck
+ #include "ui/ozone/public/ozone_switches.h" // nogncheck
#endif // BUILDFLAG(IS_LINUX)
+@@ -94,7 +94,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand
+ }
+ }
-@@ -51,7 +51,7 @@ void SetUpCommandLine(const base::CommandLine* command
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- ::switches::kNoErrorDialogs);
- }
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Native headless chrome on Linux relies on ozone/headless platform.
- base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
- ::switches::kOzonePlatform, switches::kHeadless);
+ // Headless mode on Linux relies on ozone/headless platform.
+ command_line->AppendSwitchASCII(::switches::kOzonePlatform,
+ switches::kHeadless);
diff --git a/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h b/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h
index cb20abe773a3..eb9d2e65790b 100644
--- a/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h
+++ b/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h
@@ -1,11 +1,11 @@
---- chrome/browser/intranet_redirect_detector.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/intranet_redirect_detector.h.orig 2024-06-17 12:56:06 UTC
+++ chrome/browser/intranet_redirect_detector.h
-@@ -27,7 +27,7 @@ class SimpleURLLoader;
+@@ -25,7 +25,7 @@ class SimpleURLLoader;
class PrefRegistrySimple;
#if !(BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA))
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD))
+- BUILDFLAG(IS_CHROMEOS))
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
#error "IntranetRedirectDetector should only be built on Desktop platforms."
#endif
diff --git a/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
index 1359e252c0eb..c1339afa9c32 100644
--- a/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
+++ b/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
@@ -1,10 +1,10 @@
---- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2022-02-07 13:39:41 UTC
+--- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc
@@ -39,10 +39,12 @@ void MTPDeviceMapService::RegisterMTPFileSystem(
// Note that this initializes the delegate asynchronously, but since
// the delegate will only be used from the IO thread, it is guaranteed
// to be created before use of it expects it to be there.
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
CreateMTPDeviceAsyncDelegate(
device_location, read_only,
base::BindOnce(&MTPDeviceMapService::AddAsyncDelegate,
diff --git a/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc
index b3fb3adedf5e..7faca10b2e88 100644
--- a/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc
+++ b/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc
@@ -1,6 +1,6 @@
---- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/media_galleries/media_file_system_registry.cc
-@@ -744,7 +744,12 @@ class MediaFileSystemRegistry::MediaFileSystemContextI
+@@ -582,7 +582,12 @@ class MediaFileSystemRegistry::MediaFileSystemContextI
// Constructor in 'private' section because depends on private class definition.
MediaFileSystemRegistry::MediaFileSystemRegistry()
: file_system_context_(new MediaFileSystemContextImpl) {
diff --git a/www/chromium/files/patch-chrome_browser_media_audio__service__util.cc b/www/chromium/files/patch-chrome_browser_media_audio__service__util.cc
index 4713f329eb17..5faa9431869e 100644
--- a/www/chromium/files/patch-chrome_browser_media_audio__service__util.cc
+++ b/www/chromium/files/patch-chrome_browser_media_audio__service__util.cc
@@ -1,20 +1,20 @@
---- chrome/browser/media/audio_service_util.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/media/audio_service_util.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/media/audio_service_util.cc
-@@ -21,7 +21,7 @@
+@@ -20,7 +20,7 @@
namespace {
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- bool GetPolicyOrFeature(const char* policy_name, const base::Feature& feature) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const base::Value* GetPolicy(const char* policy_name) {
const policy::PolicyMap& policies =
-@@ -40,7 +40,7 @@ bool GetPolicyOrFeature(const char* policy_name, const
+ g_browser_process->browser_policy_connector()
+@@ -39,7 +39,7 @@ bool GetPolicyOrFeature(const char* policy_name, const
+ } // namespace
+
bool IsAudioServiceSandboxEnabled() {
- // TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being
- // built with OS_CHROMEOS instead of OS_LINUX.
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return GetPolicyOrFeature(policy::key::kAudioSandboxEnabled,
features::kAudioServiceSandbox);
+ #else
diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn b/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn
index f92ee97ce131..48e101dedec0 100644
--- a/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn
+++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn
@@ -1,8 +1,8 @@
---- chrome/browser/media/router/discovery/BUILD.gn.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/media/router/discovery/BUILD.gn.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/media/router/discovery/BUILD.gn
@@ -79,7 +79,7 @@ static_library("discovery") {
- "media_sink_discovery_metrics.h",
]
+ configs += [ "//build/config/compiler:wexit_time_destructors" ]
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc
index 71650219d44a..8c6e97963ecb 100644
--- a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc
+++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc
@@ -1,6 +1,6 @@
---- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2024-09-30 07:45:04 UTC
+++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc
-@@ -5,11 +5,12 @@
+@@ -10,11 +10,12 @@
#include "chrome/browser/media/router/discovery/discovery_network_list.h"
#include <ifaddrs.h>
@@ -15,7 +15,7 @@
#include <algorithm>
-@@ -18,7 +19,7 @@
+@@ -23,7 +24,7 @@
#include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h"
#include "net/base/net_errors.h"
@@ -24,7 +24,7 @@
#include <netpacket/packet.h>
#else
#include <net/if_dl.h>
-@@ -27,7 +28,7 @@
+@@ -32,7 +33,7 @@
namespace media_router {
namespace {
@@ -33,7 +33,7 @@
using sll = struct sockaddr_ll;
#define SOCKET_ARP_TYPE(s) ((s)->sll_hatype)
#define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen)
-@@ -38,6 +39,12 @@ using sll = struct sockaddr_dl;
+@@ -43,6 +44,12 @@ using sll = struct sockaddr_dl;
#define SOCKET_ARP_TYPE(s) ((s)->sdl_type)
#define SOCKET_ADDRESS_LEN(s) ((s)->sdl_alen)
#define SOCKET_ADDRESS(s) (LLADDR(s))
diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc
index bf6fc5cf1a6f..639f940efa96 100644
--- a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc
@@ -1,26 +1,26 @@
---- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2021-04-14 18:40:53 UTC
+--- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2025-03-05 08:14:56 UTC
+++ chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc
@@ -9,7 +9,11 @@
- #include <sys/socket.h>
- #include <sys/types.h>
+
+ #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h"
+#include "build/build_config.h"
+
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
#include <linux/wireless.h>
+#endif
-
- #include "base/check.h"
- #include "base/files/scoped_file.h"
-@@ -20,6 +24,7 @@ namespace media_router {
+ #include <string.h>
+ #include <sys/ioctl.h>
+ #include <sys/socket.h>
+@@ -24,6 +28,7 @@ namespace media_router {
bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) {
DCHECK(ssid_out);
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0));
if (!ioctl_socket.is_valid()) {
// AF_INET is for IPv4, so it may fail for IPv6-only hosts even when there
-@@ -41,6 +46,7 @@ bool MaybeGetWifiSSID(const std::string& if_name, std:
+@@ -46,6 +51,7 @@ bool MaybeGetWifiSSID(const std::string& if_name, std:
ssid_out->assign(ssid);
return true;
}
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc
new file mode 100644
index 000000000000..19bc22f3eeff
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc
@@ -0,0 +1,47 @@
+--- chrome/browser/media/webrtc/chrome_screen_enumerator.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/media/webrtc/chrome_screen_enumerator.cc
+@@ -21,7 +21,7 @@
+ #if BUILDFLAG(IS_CHROMEOS)
+ #include "ash/shell.h"
+ #include "ui/aura/window.h"
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/functional/callback.h"
+ #include "content/public/browser/desktop_capture.h"
+ #endif
+@@ -32,7 +32,7 @@ base::LazyInstance<std::vector<raw_ptr<aura::Window, V
+ DestructorAtExit root_windows_for_testing_ = LAZY_INSTANCE_INITIALIZER;
+ } // namespace
+
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ namespace {
+ base::LazyInstance<std::unique_ptr<webrtc::DesktopCapturer>>::DestructorAtExit
+ g_desktop_capturer_for_testing = LAZY_INSTANCE_INITIALIZER;
+@@ -79,7 +79,7 @@ blink::mojom::StreamDevicesSetPtr EnumerateScreens(
+ return stream_devices_set;
+ }
+
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ blink::mojom::StreamDevicesSetPtr EnumerateScreens(
+ blink::mojom::MediaStreamType stream_type) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+@@ -130,7 +130,7 @@ void ChromeScreenEnumerator::SetRootWindowsForTesting(
+ root_windows_for_testing_.Get() = std::move(root_windows);
+ }
+
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void ChromeScreenEnumerator::SetDesktopCapturerForTesting(
+ std::unique_ptr<webrtc::DesktopCapturer> capturer) {
+ g_desktop_capturer_for_testing.Get() = std::move(capturer);
+@@ -143,7 +143,7 @@ void ChromeScreenEnumerator::EnumerateScreens(
+ ScreensCallback screens_callback) const {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ content::GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+ FROM_HERE, base::BindOnce(::EnumerateScreens, stream_type),
+ base::BindOnce(
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h b/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h
new file mode 100644
index 000000000000..e40e9e9fa28c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h
@@ -0,0 +1,20 @@
+--- chrome/browser/media/webrtc/chrome_screen_enumerator.h.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/media/webrtc/chrome_screen_enumerator.h
+@@ -18,7 +18,7 @@
+ namespace aura {
+ class Window;
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ namespace webrtc {
+ class DesktopCapturer;
+ }
+@@ -39,7 +39,7 @@ class ChromeScreenEnumerator : public media::ScreenEnu
+ #if BUILDFLAG(IS_CHROMEOS)
+ static void SetRootWindowsForTesting(
+ std::vector<raw_ptr<aura::Window, VectorExperimental>> root_windows);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ static void SetDesktopCapturerForTesting(
+ std::unique_ptr<webrtc::DesktopCapturer> capturer);
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc
new file mode 100644
index 000000000000..3452d716158d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2024-06-17 12:56:06 UTC
++++ chrome/browser/media/webrtc/desktop_media_picker_controller.cc
+@@ -89,7 +89,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur
+ #if BUILDFLAG(IS_MAC)
+ return request_source == Params::RequestSource::kCast ||
+ base::FeatureList::IsEnabled(media::kMacLoopbackAudioForScreenShare);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (request_source == Params::RequestSource::kCast) {
+ return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast);
+ } else {
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
deleted file mode 100644
index 5e7159774a61..000000000000
--- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
-@@ -40,7 +40,7 @@ const char kProduct[] = "Chrome";
- const char kProduct[] = "Chrome_Mac";
- #elif BUILDFLAG(IS_CHROMEOS_ASH)
- const char kProduct[] = "Chrome_ChromeOS";
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- const char kProduct[] = "Chrome_Linux";
- #elif BUILDFLAG(IS_ANDROID)
- const char kProduct[] = "Chrome_Android";
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
index be4c6b83e83f..eda0ae407386 100644
--- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
@@ -1,13 +1,11 @@
---- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/media/webrtc/webrtc_log_uploader.cc
-@@ -362,6 +362,10 @@ void WebRtcLogUploader::SetupMultipart(
- const char product[] = "Chrome_ChromeOS";
- #elif BUILDFLAG(IS_FUCHSIA)
- const char product[] = "Chrome_Fuchsia";
-+#elif defined(OS_OPENBSD)
-+ const char product[] = "Chrome_OpenBSD";
-+#elif defined(OS_FREEBSD)
-+ const char product[] = "Chrome_FreeBSD";
+@@ -101,7 +101,7 @@ std::string GetLogUploadProduct() {
+ const char product[] = "Chrome";
+ #elif BUILDFLAG(IS_MAC)
+ const char product[] = "Chrome_Mac";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #if !defined(ADDRESS_SANITIZER)
+ const char product[] = "Chrome_Linux";
#else
- #error Platform not supported.
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc
index 6d56e2f1ab3a..55b664967dee 100644
--- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc
@@ -1,7 +1,7 @@
---- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/media/webrtc/webrtc_logging_controller.cc
-@@ -24,10 +24,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;
-@@ -281,7 +281,7 @@ void WebRtcLoggingController::StartEventLogging(
+@@ -304,7 +304,7 @@ void WebRtcLoggingController::StartEventLogging(
web_app_id, callback);
}
@@ -22,7 +22,7 @@
void WebRtcLoggingController::GetLogsDirectory(
LogsDirectoryCallback callback,
LogsDirectoryErrorCallback error_callback) {
-@@ -327,7 +327,7 @@ void WebRtcLoggingController::GrantLogsDirectoryAccess
+@@ -350,7 +350,7 @@ void WebRtcLoggingController::GrantLogsDirectoryAccess
FROM_HERE,
base::BindOnce(std::move(callback), file_system.id(), registered_name));
}
@@ -30,4 +30,4 @@
+#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
void WebRtcLoggingController::OnRtpPacket(
- std::unique_ptr<uint8_t[]> packet_header,
+ base::HeapArray<uint8_t> packet_header,
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h
index 9232d0b58ff7..4bb826cdf7f2 100644
--- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h
@@ -1,6 +1,6 @@
---- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2024-01-30 07:53:34 UTC
+++ chrome/browser/media/webrtc/webrtc_logging_controller.h
-@@ -132,7 +132,7 @@ class WebRtcLoggingController
+@@ -133,7 +133,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.
-@@ -191,7 +191,7 @@ class WebRtcLoggingController
- bool success,
- const std::string& error_message);
+@@ -197,7 +197,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/chromium/files/patch-chrome_browser_memory__details.cc b/www/chromium/files/patch-chrome_browser_memory__details.cc
index 18dd4eaf463f..63cffb111fbc 100644
--- a/www/chromium/files/patch-chrome_browser_memory__details.cc
+++ b/www/chromium/files/patch-chrome_browser_memory__details.cc
@@ -1,16 +1,7 @@
---- chrome/browser/memory_details.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/memory_details.cc.orig 2025-01-15 09:18:26 UTC
+++ chrome/browser/memory_details.cc
-@@ -38,7 +38,7 @@
- #include "services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h"
- #include "ui/base/l10n/l10n_util.h"
-
--#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID)
-+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD)
- #include "content/public/browser/zygote_host/zygote_host_linux.h"
- #endif
-
-@@ -329,7 +329,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() {
- std::ref(process)));
+@@ -335,7 +335,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() {
+ });
}
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID)
diff --git a/www/chromium/files/patch-chrome_browser_memory__details__linux.cc b/www/chromium/files/patch-chrome_browser_memory__details__linux.cc
deleted file mode 100644
index e174124e6c99..000000000000
--- a/www/chromium/files/patch-chrome_browser_memory__details__linux.cc
+++ /dev/null
@@ -1,37 +0,0 @@
---- chrome/browser/memory_details_linux.cc.orig 2022-02-07 13:39:41 UTC
-+++ chrome/browser/memory_details_linux.cc
-@@ -13,6 +13,7 @@
- #include <set>
-
- #include "base/bind.h"
-+#include "base/command_line.h"
- #include "base/files/file_util.h"
- #include "base/process/process_iterator.h"
- #include "base/process/process_metrics.h"
-@@ -27,6 +28,7 @@
- #include "content/public/browser/browser_task_traits.h"
- #include "content/public/browser/browser_thread.h"
- #include "content/public/common/process_type.h"
-+#include "sandbox/policy/switches.h"
- #include "ui/base/l10n/l10n_util.h"
-
- using base::ProcessEntry;
-@@ -70,9 +72,18 @@ ProcessData GetProcessDataMemoryInformation(
-
- std::unique_ptr<base::ProcessMetrics> metrics(
- base::ProcessMetrics::CreateProcessMetrics(pid));
-+
-+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
-+ if (!command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) {
-+ pmi.num_open_fds = 0;
-+ pmi.open_fds_soft_limit = 0;
-+ goto out;
-+ }
-+
- pmi.num_open_fds = metrics->GetOpenFdCount();
- pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit();
-
-+out:
- process_data.processes.push_back(pmi);
- }
- return process_data;
diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
index e715e8096493..61509ed380e1 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
+++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
@@ -1,18 +1,33 @@
---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
-@@ -58,8 +58,10 @@
+@@ -85,7 +85,7 @@
+ #include "chrome/browser/flags/android/chrome_session_state.h"
+ #endif // BUILDFLAG(IS_ANDROID)
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
-+#if !BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #if defined(__GLIBC__)
#include <gnu/libc-version.h>
-+#endif
+ #endif // defined(__GLIBC__)
+@@ -110,7 +110,7 @@
+ #include "chrome/installer/util/taskbar_util.h"
+ #endif // BUILDFLAG(IS_WIN)
- #include "base/linux_util.h"
- #include "base/strings/string_split.h"
-@@ -223,7 +225,7 @@ void RecordStartupMetrics() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/metrics/pressure/pressure_metrics_reporter.h"
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -119,7 +119,7 @@
+ #include "components/user_manager/user_manager.h"
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "components/power_metrics/system_power_monitor.h"
+ #endif
+
+@@ -899,7 +899,7 @@ void RecordStartupMetrics() {
// Record whether Chrome is the default browser or not.
// Disabled on Linux due to hanging browser tests, see crbug.com/1216328.
@@ -21,3 +36,17 @@
shell_integration::DefaultWebClientState default_state =
shell_integration::GetDefaultBrowser();
base::UmaHistogramEnumeration("DefaultBrowser.State", default_state,
+@@ -1210,11 +1210,11 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserSt
+ std::make_unique<web_app::SamplingMetricsProvider>();
+ #endif // !BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ pressure_metrics_reporter_ = std::make_unique<PressureMetricsReporter>();
+ #endif // BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::trace_event::TraceLog::GetInstance()->AddEnabledStateObserver(
+ power_metrics::SystemPowerMonitor::GetInstance());
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h
new file mode 100644
index 000000000000..ac4d0bbfcdca
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h
@@ -0,0 +1,20 @@
+--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h.orig 2025-01-15 09:18:26 UTC
++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h
+@@ -29,7 +29,7 @@ class PowerMetricsReporter;
+ class ProcessMonitor;
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class PressureMetricsReporter;
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -126,7 +126,7 @@ class ChromeBrowserMainExtraPartsMetrics : public Chro
+ std::unique_ptr<web_app::SamplingMetricsProvider> web_app_metrics_provider_;
+ #endif // !BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Reports pressure metrics.
+ std::unique_ptr<PressureMetricsReporter> pressure_metrics_reporter_;
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
index 72f274cf1064..c024d5dac097 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
+++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
@@ -1,15 +1,74 @@
---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -789,7 +789,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+@@ -202,11 +202,11 @@
+ #include "chrome/browser/metrics/google_update_metrics_provider_mac.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "components/metrics/motherboard_metrics_provider.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/metrics/chrome_metrics_service_crash_reporter.h"
+ #endif
+
+@@ -238,7 +238,7 @@ const int kMaxHistogramGatheringWaitDuration = 60000;
+ // Needs to be kept in sync with the writer in
+ // third_party/crashpad/crashpad/handler/handler_main.cc.
+ const char kCrashpadHistogramAllocatorName[] = "CrashpadMetrics";
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::LazyInstance<ChromeMetricsServiceCrashReporter>::Leaky g_crash_reporter =
+ LAZY_INSTANCE_INITIALIZER;
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+@@ -542,7 +542,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg
+ #endif // BUILDFLAG(IS_CHROMEOS)
- // 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))
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ metrics::structured::StructuredMetricsService::RegisterPrefs(registry);
+
+ #if !BUILDFLAG(IS_CHROMEOS)
+@@ -624,7 +624,7 @@ std::string ChromeMetricsServiceClient::GetVersionStri
+ void ChromeMetricsServiceClient::OnEnvironmentUpdate(std::string* environment) {
+ // TODO(https://bugs.chromium.org/p/crashpad/issues/detail?id=135): call this
+ // on Mac when the Crashpad API supports it.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Register the environment with the crash reporter. Note that there is a
+ // window from startup to this point during which crash reports will not have
+ // an environment set.
+@@ -726,7 +726,7 @@ void ChromeMetricsServiceClient::Initialize() {
+ std::make_unique<metrics::dwa::DwaService>(this, local_state);
+ }
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ metrics::structured::Recorder::GetInstance()->SetUiTaskRunner(
+ base::SequencedTaskRunner::GetCurrentDefault());
+ #endif
+@@ -786,7 +786,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+ metrics_service_->RegisterMetricsProvider(
+ std::make_unique<metrics::CPUMetricsProvider>());
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ metrics_service_->RegisterMetricsProvider(
+ std::make_unique<metrics::MotherboardMetricsProvider>());
+ #endif
+@@ -875,7 +875,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+ std::make_unique<GoogleUpdateMetricsProviderMac>());
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
metrics_service_->RegisterMetricsProvider(
std::make_unique<DesktopPlatformFeaturesMetricsProvider>());
-@@ -878,7 +878,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+@@ -984,7 +984,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
std::make_unique<PowerMetricsProvider>());
#endif
@@ -17,13 +76,22 @@
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
metrics_service_->RegisterMetricsProvider(
metrics::CreateDesktopSessionMetricsProvider());
- metrics_service_->RegisterMetricsProvider(
-@@ -1057,7 +1057,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX)
+@@ -1175,7 +1175,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
+ }
#endif
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// This creates the DesktopProfileSessionDurationsServices if it didn't exist
// already.
+ metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext(
+@@ -1524,7 +1524,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri
+ recorder =
+ base::MakeRefCounted<metrics::structured::AshStructuredMetricsRecorder>(
+ cros_system_profile_provider_.get());
+-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+
+ // Make sure that Structured Metrics recording delegates have been created
+ // before the service is created. This is handled in other places for ChromeOS
diff --git a/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc b/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc
index 804cc8cb640a..4cac38be1df0 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc
+++ b/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc
@@ -1,11 +1,11 @@
---- chrome/browser/metrics/perf/cpu_identity.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/metrics/perf/cpu_identity.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/metrics/perf/cpu_identity.cc
-@@ -106,7 +106,7 @@ CPUIdentity GetCPUIdentity() {
+@@ -146,7 +146,7 @@ CPUIdentity GetCPUIdentity() {
result.release =
- #if BUILDFLAG(IS_CHROMEOS_ASH)
+ #if BUILDFLAG(IS_CHROMEOS)
base::SysInfo::KernelVersion();
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::SysInfo::OperatingSystemVersion();
#else
#error "Unsupported configuration"
diff --git a/www/chromium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc b/www/chromium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc
index 167de82c10fa..138b7d685e56 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc
+++ b/www/chromium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc
@@ -1,6 +1,6 @@
---- chrome/browser/metrics/power/process_metrics_recorder_util.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/metrics/power/process_metrics_recorder_util.cc.orig 2024-04-19 13:02:56 UTC
+++ chrome/browser/metrics/power/process_metrics_recorder_util.cc
-@@ -59,7 +59,7 @@ void RecordProcessHistograms(const char* histogram_suf
+@@ -65,7 +65,7 @@ void RecordProcessHistograms(const char* histogram_suf
const ProcessMonitor::Metrics& metrics) {
RecordAverageCPUUsage(histogram_suffix, metrics.cpu_usage);
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
diff --git a/www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc b/www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc
index 7e6199d7c063..208fbcd73480 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc
+++ b/www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc
@@ -1,7 +1,7 @@
---- chrome/browser/metrics/power/process_monitor.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/metrics/power/process_monitor.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/metrics/power/process_monitor.cc
@@ -64,7 +64,7 @@ ProcessMonitor::Metrics SampleMetrics(base::ProcessMet
- #endif
+ process_metrics.GetPlatformIndependentCPUUsage());
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
@@ -9,8 +9,8 @@
metrics.idle_wakeups = process_metrics.GetIdleWakeupsPerSecond();
#endif
#if BUILDFLAG(IS_MAC)
-@@ -81,7 +81,7 @@ void ScaleMetrics(ProcessMonitor::Metrics* metrics, do
- metrics->cpu_usage *= factor;
+@@ -82,7 +82,7 @@ void ScaleMetrics(ProcessMonitor::Metrics* metrics, do
+ }
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
@@ -18,8 +18,8 @@
metrics->idle_wakeups *= factor;
#endif
-@@ -130,7 +130,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me
- lhs.cpu_usage += rhs.cpu_usage;
+@@ -156,7 +156,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me
+ }
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
diff --git a/www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.h b/www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.h
index 0d2fcb7c1afe..65615ebb3c9b 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.h
+++ b/www/chromium/files/patch-chrome_browser_metrics_power_process__monitor.h
@@ -1,7 +1,7 @@
---- chrome/browser/metrics/power/process_monitor.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/metrics/power/process_monitor.h.orig 2024-04-19 13:02:56 UTC
+++ chrome/browser/metrics/power/process_monitor.h
-@@ -70,7 +70,7 @@ class ProcessMonitor : public content::BrowserChildPro
- double cpu_usage = 0.0;
+@@ -76,7 +76,7 @@ class ProcessMonitor : public content::BrowserChildPro
+ std::optional<double> cpu_usage;
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
diff --git a/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc
new file mode 100644
index 000000000000..dea31282ac27
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/net/profile_network_context_service.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/net/profile_network_context_service.cc
+@@ -135,7 +135,7 @@
+ #include "extensions/common/constants.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h"
+ #include "chrome/browser/policy/chrome_browser_policy_connector.h"
+ #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
+@@ -276,7 +276,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet
+ });
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<net::ClientCertStore> GetWrappedCertStore(
+ Profile* profile,
+ std::unique_ptr<net::ClientCertStore> platform_store) {
+@@ -1224,7 +1224,7 @@ ProfileNetworkContextService::CreateClientCertStore()
+ std::make_unique<net::ClientCertStoreNSS>(
+ base::BindRepeating(&CreateCryptoModuleBlockingPasswordDelegate,
+ kCryptoModulePasswordClientAuth));
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return GetWrappedCertStore(profile_, std::move(store));
+ #else
+ return store;
diff --git a/www/chromium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc
new file mode 100644
index 000000000000..fdc23610089e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/net/profile_network_context_service_factory.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/net/profile_network_context_service_factory.cc
+@@ -24,7 +24,7 @@
+ #include "chrome/browser/net/server_certificate_database_service_factory.h" // nogncheck
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h"
+ #endif
+
+@@ -68,7 +68,7 @@ ProfileNetworkContextServiceFactory::ProfileNetworkCon
+ #if BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
+ DependsOn(net::ServerCertificateDatabaseServiceFactory::GetInstance());
+ #endif
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ DependsOn(client_certificates::CertificateProvisioningServiceFactory::
+ GetInstance());
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc
index ec676e11d6dc..a2d97eee0cab 100644
--- a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc
+++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc
@@ -1,15 +1,24 @@
---- chrome/browser/net/system_network_context_manager.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/net/system_network_context_manager.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/net/system_network_context_manager.cc
-@@ -91,7 +91,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"
-@@ -173,7 +173,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
+@@ -140,7 +140,7 @@ SystemNetworkContextManager* g_system_network_context_
+ // received a failed launch for a sandboxed network service.
+ bool g_previously_failed_to_launch_sandboxed_service = false;
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Whether kerberos library loading will work in the network service due to the
+ // sandbox.
+ bool g_network_service_will_allow_gssapi_library_load = false;
+@@ -148,7 +148,7 @@ bool g_network_service_will_allow_gssapi_library_load
+ const char* kGssapiDesiredPref =
+ #if BUILDFLAG(IS_CHROMEOS)
+ prefs::kKerberosEnabled;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ prefs::kReceivedHttpAuthNegotiateHeader;
+ #endif
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+@@ -194,7 +194,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
auth_dynamic_params->basic_over_http_enabled =
local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled);
@@ -18,7 +27,57 @@
auth_dynamic_params->delegate_by_kdc_policy =
local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
-@@ -474,7 +474,7 @@ SystemNetworkContextManager::SystemNetworkContextManag
+@@ -209,7 +209,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
+ local_state->GetString(prefs::kAuthAndroidNegotiateAccountType);
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auth_dynamic_params->allow_gssapi_library_load =
+ local_state->GetBoolean(kGssapiDesiredPref);
+ #endif // BUILDFLAG(IS_CHROMEOS)
+@@ -219,7 +219,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
+
+ void OnNewHttpAuthDynamicParams(
+ network::mojom::HttpAuthDynamicParamsPtr& params) {
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // The kerberos library is incompatible with the network service sandbox, so
+ // if library loading is now enabled, the network service needs to be
+ // restarted. It will be restarted unsandboxed because is
+@@ -261,11 +261,11 @@ 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
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // The network service sandbox and the kerberos library are incompatible.
+ // If kerberos is enabled by policy, disable the network service sandbox.
+ if (g_network_service_will_allow_gssapi_library_load ||
+@@ -281,7 +281,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)
+@@ -527,7 +527,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) {}
+@@ -585,7 +585,7 @@ SystemNetworkContextManager::SystemNetworkContextManag
pref_change_registrar_.Add(prefs::kAllHttpAuthSchemesAllowedForOrigins,
auth_pref_callback);
@@ -27,12 +86,53 @@
pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy,
auth_pref_callback);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
-@@ -541,7 +541,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
- registry->RegisterStringPref(prefs::kAuthServerAllowlist, std::string());
+@@ -599,7 +599,7 @@ SystemNetworkContextManager::SystemNetworkContextManag
+ auth_pref_callback);
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ pref_change_registrar_.Add(kGssapiDesiredPref, auth_pref_callback);
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+
+@@ -670,7 +670,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
registry->RegisterStringPref(prefs::kAuthNegotiateDelegateAllowlist,
std::string());
+
-#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)
+@@ -695,11 +695,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)
+
+@@ -753,7 +753,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)
+
+@@ -975,7 +975,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab
+ break;
+ }
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!enabled) {
+ g_network_service_will_allow_gssapi_library_load = true;
+ }
diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h
new file mode 100644
index 000000000000..a7bca37bc021
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h
@@ -0,0 +1,20 @@
+--- chrome/browser/net/system_network_context_manager.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/net/system_network_context_manager.h
+@@ -198,7 +198,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:
+@@ -281,7 +281,7 @@ class SystemNetworkContextManager {
+ std::unique_ptr<NetworkAnnotationMonitor> network_annotation_monitor_;
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#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/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc
deleted file mode 100644
index a45f061b45f9..000000000000
--- a/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/new_tab_page/modules/drive/drive_service.cc.orig 2022-02-07 13:39:41 UTC
-+++ chrome/browser/new_tab_page/modules/drive/drive_service.cc
-@@ -28,7 +28,7 @@
- #include "services/network/public/cpp/resource_request.h"
-
- namespace {
--#if OS_LINUX
-+#if defined(OS_LINUX) || defined(OS_BSD)
- constexpr char kPlatform[] = "LINUX";
- #elif OS_WIN
- constexpr char kPlatform[] = "WINDOWS";
diff --git a/www/chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc
new file mode 100644
index 000000000000..9c0aa3afd6c5
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc.orig 2025-02-19 07:43:18 UTC
++++ chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc
+@@ -35,7 +35,7 @@
+ #include "services/network/public/cpp/resource_request.h"
+
+ namespace {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr char kPlatform[] = "LINUX";
+ #elif BUILDFLAG(IS_WIN)
+ constexpr char kPlatform[] = "WINDOWS";
diff --git a/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc b/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc
new file mode 100644
index 000000000000..31152f4d2ecd
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/new_tab_page/new_tab_page_util.cc
+@@ -29,7 +29,7 @@ bool IsOsSupportedForCart() {
+ }
+
+ bool IsOsSupportedForDrive() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return true;
+ #else
+ return false;
diff --git a/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
index cf7943370f20..4028e7e8279b 100644
--- a/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
@@ -1,15 +1,15 @@
---- chrome/browser/notifications/notification_display_service_impl.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/notifications/notification_display_service_impl.cc
-@@ -32,7 +32,7 @@
+@@ -31,7 +31,7 @@
#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)
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/send_tab_to_self/desktop_notification_handler.h"
#include "chrome/browser/sharing/sharing_notification_handler.h"
#endif
-@@ -65,7 +65,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer
+@@ -60,7 +60,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer
// static
void NotificationDisplayServiceImpl::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
@@ -18,7 +18,7 @@
registry->RegisterBooleanPref(prefs::kAllowSystemNotifications, true);
#endif
}
-@@ -81,7 +81,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
+@@ -76,7 +76,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
std::make_unique<PersistentNotificationHandler>());
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
@@ -27,12 +27,12 @@
AddNotificationHandler(
NotificationHandler::Type::SEND_TAB_TO_SELF,
std::make_unique<send_tab_to_self::DesktopNotificationHandler>(
-@@ -89,7 +89,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
+@@ -84,7 +84,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
#endif
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
-- BUILDFLAG(IS_WIN)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)) && \
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \
+ BUILDFLAG(SAFE_BROWSING_AVAILABLE)
AddNotificationHandler(
NotificationHandler::Type::TAILORED_SECURITY,
- std::make_unique<safe_browsing::TailoredSecurityNotificationHandler>());
diff --git a/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc b/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc
index 1d138c9c3cb0..d6a83db3a03e 100644
--- a/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc
+++ b/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc
@@ -1,6 +1,6 @@
---- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/notifications/notification_platform_bridge_delegator.cc
-@@ -57,7 +57,7 @@ bool SystemNotificationsEnabled(Profile* profile) {
+@@ -55,7 +55,7 @@ bool SystemNotificationsEnabled(Profile* profile) {
#elif BUILDFLAG(IS_WIN)
return NotificationPlatformBridgeWin::SystemNotificationEnabled();
#else
diff --git a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
new file mode 100644
index 000000000000..23ea9455b4fe
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/password_manager/chrome_password_manager_client.cc
+@@ -658,7 +658,7 @@ void ChromePasswordManagerClient::
+ bool ChromePasswordManagerClient::IsReauthBeforeFillingRequired(
+ device_reauth::DeviceAuthenticator* authenticator) {
+ #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (!GetLocalStatePrefs() || !GetPrefs() || !authenticator) {
+ return false;
+ }
+@@ -936,7 +936,7 @@ void ChromePasswordManagerClient::NotifyUserCredential
+ }
+
+ void ChromePasswordManagerClient::NotifyKeychainError() {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ PasswordsClientUIDelegate* manage_passwords_ui_controller =
+ PasswordsClientUIDelegateFromWebContents(web_contents());
+ if (manage_passwords_ui_controller) {
+@@ -2043,7 +2043,7 @@ void ChromePasswordManagerClient::HideFillingUI() {
+ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
+ const GURL& url) const {
+ #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (IsPasswordManagerForUrlDisallowedByPolicy(url)) {
+ return false;
+ }
+@@ -2082,7 +2082,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement
+ }
+
+ #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ bool ChromePasswordManagerClient::IsPasswordManagerForUrlDisallowedByPolicy(
+ const GURL& url) const {
+ if (!GetPrefs() || !GetPrefs()->HasPrefPath(
diff --git a/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc b/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc
index 5800a8f3fd1a..df2cdbc5a597 100644
--- a/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc
@@ -1,11 +1,11 @@
---- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/password_manager/password_reuse_manager_factory.cc
-@@ -94,7 +94,7 @@ KeyedService* PasswordReuseManagerFactory::BuildServic
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- std::unique_ptr<password_manager::PasswordStoreSigninNotifier> notifier =
- std::make_unique<password_manager::PasswordStoreSigninNotifierImpl>(
- IdentityManagerFactory::GetForProfile(profile));
+@@ -128,7 +128,7 @@ PasswordReuseManagerFactory::BuildServiceInstanceForBr
+ // Prepare password hash data for reuse detection.
+ reuse_manager->PreparePasswordHashData(GetSignInStateForMetrics(profile));
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<password_manager::PasswordReuseManagerSigninNotifier>
+ notifier = std::make_unique<
+ password_manager::PasswordReuseManagerSigninNotifierImpl>(
diff --git a/www/chromium/files/patch-chrome_browser_performance__manager_policies_high__pmf__discard__policy.cc b/www/chromium/files/patch-chrome_browser_performance__manager_policies_high__pmf__discard__policy.cc
deleted file mode 100644
index cc6e40bebaa5..000000000000
--- a/www/chromium/files/patch-chrome_browser_performance__manager_policies_high__pmf__discard__policy.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/performance_manager/policies/high_pmf_discard_policy.cc.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/performance_manager/policies/high_pmf_discard_policy.cc
-@@ -16,7 +16,7 @@
- #include "content/public/browser/browser_task_traits.h"
- #include "content/public/browser/browser_thread.h"
-
--#if !BUILDFLAG(IS_LINUX)
-+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
- #include "base/memory/memory_pressure_monitor.h"
- #endif
-
-@@ -121,7 +121,7 @@ void HighPMFDiscardPolicy::OnProcessMemoryMetricsAvail
-
- if (should_discard) {
- discard_attempt_in_progress_ = true;
--#if !BUILDFLAG(IS_LINUX)
-+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
- // Record the memory pressure level before discarding a tab.
- content::GetUIThreadTaskRunner({})->PostTask(
- FROM_HERE, base::BindOnce([]() {
diff --git a/www/chromium/files/patch-chrome_browser_platform__util__linux.cc b/www/chromium/files/patch-chrome_browser_platform__util__linux.cc
index 0e2e20a6d695..cedc29de275d 100644
--- a/www/chromium/files/patch-chrome_browser_platform__util__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_platform__util__linux.cc
@@ -1,10 +1,10 @@
---- chrome/browser/platform_util_linux.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/platform_util_linux.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/platform_util_linux.cc
-@@ -294,7 +294,9 @@ void RunCommand(const std::string& command,
-
- base::LaunchOptions options;
+@@ -302,7 +302,9 @@ void OnLaunchOptionsCreated(const std::string& command
+ argv.push_back(command);
+ argv.push_back(arg);
options.current_directory = working_directory;
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
options.allow_new_privs = true;
+#endif
// xdg-open can fall back on mailcap which eventually might plumb through
diff --git a/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc
index f30a67d6cc52..c423fdd7f157 100644
--- a/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc
+++ b/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc
@@ -1,6 +1,6 @@
---- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2022-10-24 13:33:33 UTC
+++ chrome/browser/policy/browser_signin_policy_handler.cc
-@@ -44,7 +44,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c
+@@ -45,7 +45,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c
policies.GetValue(policy_name(), base::Value::Type::INTEGER);
switch (static_cast<BrowserSigninMode>(value->GetInt())) {
case BrowserSigninMode::kForced:
diff --git a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc
index 3a6b435d8c1b..6b8c8c1dc680 100644
--- a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc
+++ b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc
@@ -1,6 +1,6 @@
---- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc
-@@ -47,7 +47,7 @@
+@@ -60,7 +60,7 @@
#include "chrome/browser/policy/browser_dm_token_storage_mac.h"
#endif // BUILDFLAG(IS_MAC)
@@ -9,16 +9,16 @@
#include "chrome/browser/policy/browser_dm_token_storage_linux.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -56,7 +56,7 @@
+@@ -69,7 +69,7 @@
#include "chrome/install_static/install_util.h"
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/enterprise/connectors/device_trust/device_trust_features.h"
+ #include "chrome/browser/enterprise/client_certificates/browser_context_delegate.h"
+ #include "chrome/browser/enterprise/client_certificates/cert_utils.h"
#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/device_trust_key_manager_impl.h"
- #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/key_rotation_launcher.h"
-@@ -89,7 +89,7 @@ void ChromeBrowserCloudManagementControllerDesktop::
+@@ -115,7 +115,7 @@ void ChromeBrowserCloudManagementControllerDesktop::
#if BUILDFLAG(IS_MAC)
storage_delegate = std::make_unique<BrowserDMTokenStorageMac>();
@@ -27,12 +27,21 @@
storage_delegate = std::make_unique<BrowserDMTokenStorageLinux>();
#elif BUILDFLAG(IS_WIN)
storage_delegate = std::make_unique<BrowserDMTokenStorageWin>();
-@@ -244,7 +244,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC
+@@ -286,7 +286,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC
std::unique_ptr<enterprise_connectors::DeviceTrustKeyManager>
ChromeBrowserCloudManagementControllerDesktop::CreateDeviceTrustKeyManager() {
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- if (enterprise_connectors::IsDeviceTrustConnectorFeatureEnabled()) {
- auto key_rotation_launcher =
- enterprise_connectors::KeyRotationLauncher::Create(
+ auto* browser_dm_token_storage = BrowserDMTokenStorage::Get();
+ auto* device_management_service = GetDeviceManagementService();
+ auto shared_url_loader_factory = GetSharedURLLoaderFactory();
+@@ -308,7 +308,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD
+ std::unique_ptr<client_certificates::CertificateProvisioningService>
+ ChromeBrowserCloudManagementControllerDesktop::
+ CreateCertificateProvisioningService() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ if (!certificate_store_) {
+ certificate_store_ =
+ std::make_unique<client_certificates::PrefsCertificateStore>(
diff --git a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
index 243527ebcbe5..0809f9f0139a 100644
--- a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
@@ -1,52 +1,193 @@
---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -188,7 +188,7 @@
+@@ -249,7 +249,7 @@
+ #include "components/spellcheck/browser/pref_names.h"
#endif // BUILDFLAG(ENABLE_SPELLCHECK)
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/web_applications/policy/web_app_settings_policy_handler.h"
+-#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/browser_switcher/browser_switcher_prefs.h"
+ #include "chrome/browser/enterprise/idle/action.h"
+ #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
+@@ -570,7 +570,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ prefs::kManagedDefaultSmartCardConnectSetting,
+ base::Value::Type::INTEGER },
#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::kDeletingUndecryptablePasswordsEnabled,
+ password_manager::prefs::kDeletingUndecryptablePasswordsEnabled,
+ base::Value::Type::BOOLEAN },
+@@ -939,7 +939,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::LIST },
+ #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \
+- || BUILDFLAG(IS_MAC)
++ || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ { key::kRequireOnlineRevocationChecksForLocalAnchors,
+ prefs::kCertRevocationCheckingRequiredLocalAnchors,
+ base::Value::Type::BOOLEAN },
+@@ -951,7 +951,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::LIST },
+ #endif // #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+ // || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ { key::kFullscreenAllowed,
+ prefs::kFullscreenAllowed,
+ base::Value::Type::BOOLEAN },
+@@ -1830,7 +1830,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::INTEGER},
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kGSSAPILibraryName,
+ prefs::kGSSAPILibraryName,
+ base::Value::Type::STRING },
+@@ -1889,7 +1889,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::BOOLEAN },
+ #endif // BUILDFLAG(IS_WIN)
-@@ -1566,7 +1566,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kNetworkServiceSandboxEnabled,
+ prefs::kNetworkServiceSandboxEnabled,
base::Value::Type::BOOLEAN },
- #endif // !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_CHROMEOS)
+@@ -1909,12 +1909,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ prefs::kTotalMemoryLimitMb,
+ base::Value::Type::INTEGER },
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kBackgroundModeEnabled,
+ prefs::kBackgroundModeEnabled,
+ base::Value::Type::BOOLEAN },
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kUnmanagedDeviceSignalsConsentFlowEnabled,
+ device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled,
+ base::Value::Type::BOOLEAN },
+@@ -1928,7 +1928,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ prefs::kLiveTranslateEnabled,
+ base::Value::Type::BOOLEAN },
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kDefaultBrowserSettingEnabled,
+ prefs::kDefaultBrowserSettingEnabled,
+ base::Value::Type::BOOLEAN },
+@@ -1940,7 +1940,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::BOOLEAN },
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \
+- || BUILDFLAG(IS_CHROMEOS)
++ || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ { key::kAutoplayAllowed,
+ prefs::kAutoplayAllowed,
+ base::Value::Type::BOOLEAN },
+@@ -2041,7 +2041,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::BOOLEAN },
+ #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ { key::kAlternativeBrowserPath,
+ browser_switcher::prefs::kAlternativeBrowserPath,
+ base::Value::Type::STRING },
+@@ -2142,7 +2142,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::BOOLEAN },
+ #endif // BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
{ key::kAuthNegotiateDelegateByKdcPolicy,
prefs::kAuthNegotiateDelegateByKdcPolicy,
base::Value::Type::BOOLEAN },
-@@ -1627,7 +1627,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -2216,7 +2216,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ ash::prefs::kUrlParameterToAutofillSAMLUsername,
+ base::Value::Type::STRING },
+ #endif // BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ { key::kNTPFooterExtensionAttributionEnabled,
+ prefs::kNTPFooterExtensionAttributionEnabled,
base::Value::Type::BOOLEAN },
- #endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
--#if BUILDFLAG(ENABLE_EXTENSIONS) && (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA))
-+#if BUILDFLAG(ENABLE_EXTENSIONS) && (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD))
- { key::kChromeAppsEnabled,
- extensions::pref_names::kChromeAppsEnabled,
+@@ -2248,7 +2248,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ prefs::kUiAutomationProviderEnabled,
+ base::Value::Type::BOOLEAN },
+ #endif // BUILDFLAG(IS_WIN)
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kOutOfProcessSystemDnsResolutionEnabled,
+ prefs::kOutOfProcessSystemDnsResolutionEnabled,
+ base::Value::Type::BOOLEAN },
+@@ -2285,7 +2285,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::INTEGER },
+ #endif
+ #if BUILDFLAG(ENABLE_EXTENSIONS)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kExtensionInstallTypeBlocklist,
+ extensions::pref_names::kExtensionInstallTypeBlocklist,
+ base::Value::Type::LIST},
+@@ -2308,7 +2308,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ { key::kTabCompareSettings,
+ optimization_guide::prefs::kProductSpecificationsEnterprisePolicyAllowed,
+ base::Value::Type::INTEGER},
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ { key::kChromeForTestingAllowed,
+ prefs::kChromeForTestingAllowed,
+ base::Value::Type::BOOLEAN },
+@@ -2382,7 +2382,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ policy_prefs::kBuiltInAIAPIsEnabled,
base::Value::Type::BOOLEAN },
-@@ -1945,7 +1945,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+ #endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ { key::kNTPFooterManagementNoticeEnabled,
+ prefs::kNTPFooterManagementNoticeEnabled,
+ base::Value::Type::BOOLEAN },
+@@ -2520,7 +2520,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+ // Policies for all platforms - End
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ handlers->AddHandler(std::make_unique<IntRangePolicyHandler>(
+ key::kMemorySaverModeSavings,
+ performance_manager::user_tuning::prefs::kMemorySaverModeAggressiveness,
+@@ -2794,7 +2794,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
key::kBrowsingDataLifetime, browsing_data::prefs::kBrowsingDataLifetime,
chrome_schema));
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ handlers->AddHandler(std::make_unique<GuestModePolicyHandler>());
handlers->AddHandler(std::make_unique<LocalSyncPolicyHandler>());
handlers->AddHandler(std::make_unique<ThemeColorPolicyHandler>());
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
-@@ -2300,7 +2300,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
- static_cast<int>(variations::RestrictionPolicy::ALL), false));
+@@ -2894,7 +2894,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+ std::vector<std::unique_ptr<ConfigurationPolicyHandler>>
+ signin_legacy_policies;
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_LINUX)
++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ signin_legacy_policies.push_back(std::make_unique<SimplePolicyHandler>(
+ key::kForceBrowserSignin, prefs::kForceBrowserSignin,
+ base::Value::Type::BOOLEAN));
+@@ -3264,7 +3264,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+ #endif
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(ENABLE_SPELLCHECK)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ handlers->AddHandler(std::make_unique<SpellcheckLanguagePolicyHandler>());
handlers->AddHandler(
- std::make_unique<web_app::WebAppSettingsPolicyHandler>(chrome_schema));
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
-@@ -2319,7 +2319,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
- policy::key::kSpellcheckLanguageBlocklist));
+ std::make_unique<SpellcheckLanguageBlocklistPolicyHandler>(
+@@ -3272,7 +3272,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
#endif // BUILDFLAG(ENABLE_SPELLCHECK)
-#if BUILDFLAG(IS_LINUX)
@@ -54,3 +195,12 @@
handlers->AddHandler(std::make_unique<SimplePolicyHandler>(
key::kAllowSystemNotifications, prefs::kAllowSystemNotifications,
base::Value::Type::BOOLEAN));
+@@ -3325,7 +3325,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+ std::vector<GenAiDefaultSettingsPolicyHandler::GenAiPolicyDetails>
+ gen_ai_default_policies;
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ gen_ai_default_policies.emplace_back(
+ key::kAutofillPredictionSettings,
+ optimization_guide::prefs::
diff --git a/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc b/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc
index 56bc422f9731..ca99ea425a85 100644
--- a/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc
+++ b/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc
@@ -1,6 +1,6 @@
---- chrome/browser/policy/device_management_service_configuration.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/policy/device_management_service_configuration.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/policy/device_management_service_configuration.cc
-@@ -21,7 +21,7 @@
+@@ -22,7 +22,7 @@
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
@@ -9,12 +9,3 @@
#include "chrome/browser/enterprise/connectors/common.h"
#include "chrome/browser/enterprise/connectors/connectors_service.h"
#endif
-@@ -100,7 +100,7 @@ DeviceManagementServiceConfiguration::GetReportingConn
- content::BrowserContext* context) const {
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
- ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
-- !BUILDFLAG(IS_ANDROID))
-+ !BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD)
- auto* service =
- enterprise_connectors::ConnectorsServiceFactory::GetForBrowserContext(
- context);
diff --git a/www/chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc b/www/chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc
new file mode 100644
index 000000000000..3bc5373b56f5
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/policy/policy_value_and_status_aggregator.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/policy/policy_value_and_status_aggregator.cc
+@@ -49,7 +49,7 @@
+ #include "chrome/browser/policy/value_provider/extension_policies_value_provider.h"
+ #endif // BUILDFLAG(ENABLE_EXTENSIONS)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "components/policy/core/common/cloud/profile_cloud_policy_manager.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
index fa298b162ad2..fbbf0601ee56 100644
--- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
+++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
@@ -1,37 +1,67 @@
---- chrome/browser/prefs/browser_prefs.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/prefs/browser_prefs.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/prefs/browser_prefs.cc
-@@ -438,14 +438,14 @@
- #include "components/os_crypt/os_crypt.h"
+@@ -324,7 +324,7 @@
+ #include "chrome/browser/devtools/devtools_window.h"
+ #endif // BUILDFLAG(ENABLE_DEVTOOLS_FRONTEND)
+
+-#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/ui/webui/whats_new/whats_new_ui.h"
+ #endif
+
+@@ -495,11 +495,11 @@
#endif
--#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/web_applications/url_handler_prefs.h"
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || 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))
+-#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/browser_switcher/browser_switcher_prefs.h"
+ #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
+ #endif
+@@ -527,7 +527,7 @@
+ #include "chrome/browser/sessions/session_service_log.h"
#endif
-@@ -1221,7 +1221,7 @@ void RegisterLocalState(PrefRegistrySimple* registry)
- #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
- #endif // BUILDFLAG(IS_WIN)
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- web_app::url_handler_prefs::RegisterLocalStatePrefs(registry);
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/color/system_theme.h"
+ #endif
+
+@@ -1714,7 +1714,7 @@ void RegisterLocalState(PrefRegistrySimple* registry)
+ on_device_translation::RegisterLocalStatePrefs(registry);
+ #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ WhatsNewUI::RegisterLocalStatePrefs(registry);
#endif
-@@ -1543,7 +1543,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
- // 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))
+@@ -1871,7 +1871,7 @@ void RegisterLocalState(PrefRegistrySimple* registry)
+ #endif // BUILDFLAG(ENABLE_PDF)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ registry->RegisterBooleanPref(prefs::kChromeForTestingAllowed, true);
+ #endif
+
+@@ -2235,12 +2235,12 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ device_signals::RegisterProfilePrefs(registry);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS)
+
+-#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);
+ enterprise_signin::RegisterProfilePrefs(registry);
#endif
diff --git a/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
index ea151f20f8b9..c79423bcf551 100644
--- a/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
+++ b/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
@@ -1,11 +1,11 @@
---- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/prefs/pref_service_incognito_allowlist.cc
-@@ -138,7 +138,7 @@ const char* const kPersistentPrefNames[] = {
+@@ -203,7 +203,7 @@ const char* const kPersistentPrefNames[] = {
+ prefs::kShowFullscreenToolbar,
+ #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)
+-#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/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc
index 0f457624265d..981de7b44b68 100644
--- a/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc
+++ b/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc
@@ -1,29 +1,29 @@
---- chrome/browser/printing/print_backend_service_manager.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/printing/print_backend_service_manager.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/printing/print_backend_service_manager.cc
-@@ -481,7 +481,7 @@ absl::optional<uint32_t> PrintBackendServiceManager::R
- query_clients_.insert(client_id);
- break;
- case ClientType::kQueryWithUi:
--#if !BUILDFLAG(IS_LINUX)
-+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
- if (!query_with_ui_clients_.empty())
- return absl::nullopt;
+@@ -35,7 +35,7 @@
+ #include "printing/printing_context.h"
+ #include "printing/printing_features.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "content/public/common/content_switches.h"
+ #include "ui/linux/linux_ui.h"
#endif
-@@ -706,7 +706,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate
- break;
+@@ -879,7 +879,7 @@ PrintBackendServiceManager::GetServiceFromBundle(
+ << remote_id << "`";
- case ClientType::kQueryWithUi:
+ std::vector<std::string> extra_switches;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // No need to update if there were other query with UI clients.
- if (query_with_ui_clients_.size() > 1)
- return absl::nullopt;
-@@ -763,7 +763,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate
+ if (auto* linux_ui = ui::LinuxUi::instance()) {
+ extra_switches = linux_ui->GetCmdLineFlagsForCopy();
+ }
+@@ -1065,7 +1065,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate
return kNoClientsRegisteredResetOnIdleTimeout;
case ClientType::kQueryWithUi:
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// No need to update if there were other query with UI clients.
- if (!query_with_ui_clients_.empty())
- return absl::nullopt;
+ if (HasQueryWithUiClientForRemoteId(remote_id)) {
+ return std::nullopt;
diff --git a/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc b/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc
deleted file mode 100644
index 66c0b9e4b39e..000000000000
--- a/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/printing/print_job_worker.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/printing/print_job_worker.cc
-@@ -209,7 +209,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value::
- crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>(
- print_backend->GetPrinterDriverInfo(printer_name));
-
--#if BUILDFLAG(IS_LINUX) && defined(USE_CUPS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_CUPS)
- PrinterBasicInfo basic_info;
- if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) ==
- mojom::ResultCode::kSuccess) {
diff --git a/www/chromium/files/patch-chrome_browser_printing_printer__query.cc b/www/chromium/files/patch-chrome_browser_printing_printer__query.cc
new file mode 100644
index 000000000000..0ff8137c63c5
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_printing_printer__query.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/printing/printer_query.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/printing/printer_query.cc
+@@ -342,7 +342,7 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Di
+ crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>(
+ printer_name, 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/chromium/files/patch-chrome_browser_process__singleton__posix.cc b/www/chromium/files/patch-chrome_browser_process__singleton__posix.cc
index 6eedca91938a..fc559d0aeaaa 100644
--- a/www/chromium/files/patch-chrome_browser_process__singleton__posix.cc
+++ b/www/chromium/files/patch-chrome_browser_process__singleton__posix.cc
@@ -1,15 +1,15 @@
---- chrome/browser/process_singleton_posix.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/process_singleton_posix.cc.orig 2024-09-30 07:45:04 UTC
+++ chrome/browser/process_singleton_posix.cc
-@@ -96,7 +96,7 @@
- #include "net/base/network_interfaces.h"
+@@ -102,7 +102,7 @@
#include "ui/base/l10n/l10n_util.h"
+ #include "ui/base/resource/scoped_startup_resource_bundle.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/process_singleton_dialog_linux.h"
#endif
-@@ -350,7 +350,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo
+@@ -360,7 +360,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo
if (g_disable_prompt)
return g_user_opted_unlock_in_use_profile;
diff --git a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
index 222f3898df6a..f86f86bfe42e 100644
--- a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
+++ b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
@@ -1,11 +1,137 @@
---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -414,7 +414,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -368,7 +368,7 @@
#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))
+
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/idle/idle_service_factory.h"
+ #endif
+
+@@ -410,7 +410,7 @@
+ #endif
+
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.h"
+ #include "chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.h"
+ #include "chrome/browser/enterprise/signals/user_permission_service_factory.h"
+@@ -418,7 +418,7 @@
+ #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_utils.h"
+ #endif
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/policy/messaging_layer/util/manual_test_heartbeat_event_factory.h"
+ #endif
+
+@@ -426,7 +426,7 @@
+ #include "chrome/browser/history_embeddings/history_embeddings_service_factory.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/browser_switcher/browser_switcher_service_factory.h"
+ #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h"
+ #include "chrome/browser/enterprise/client_certificates/certificate_store_factory.h"
+@@ -750,7 +750,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+ DiceBoundSessionCookieServiceFactory::GetInstance();
+ #endif
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ browser_switcher::BrowserSwitcherServiceFactory::GetInstance();
+ #endif
+ browser_sync::UserEventServiceFactory::GetInstance();
+@@ -805,13 +805,13 @@ void ChromeBrowserMainExtraPartsProfiles::
+ collaboration::CollaborationServiceFactory::GetInstance();
+ collaboration::messaging::MessagingBackendServiceFactory::GetInstance();
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ tab_groups::CollaborationMessagingObserverFactory::GetInstance();
+ #endif
+ commerce::ShoppingServiceFactory::GetInstance();
+ ConsentAuditorFactory::GetInstance();
+ ContentIndexProviderFactory::GetInstance();
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ contextual_cueing::ContextualCueingServiceFactory::GetInstance();
+ #endif
+ CookieControlsServiceFactory::GetInstance();
+@@ -873,31 +873,31 @@ void ChromeBrowserMainExtraPartsProfiles::
+ enterprise_connectors::ConnectorsServiceFactory::GetInstance();
+ enterprise_connectors::ReportingEventRouterFactory::GetInstance();
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ enterprise_connectors::DeviceTrustConnectorServiceFactory::GetInstance();
+ enterprise_connectors::DeviceTrustServiceFactory::GetInstance();
+ #endif
+-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) && \
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \
+ BUILDFLAG(ENTERPRISE_LOCAL_CONTENT_ANALYSIS) && \
+ BUILDFLAG(SAFE_BROWSING_AVAILABLE)
+ enterprise_connectors::LocalBinaryUploadServiceFactory::GetInstance();
+ #endif
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ enterprise_idle::IdleServiceFactory::GetInstance();
+ #endif
+ #if !BUILDFLAG(IS_CHROMEOS)
+ enterprise_reporting::CloudProfileReportingServiceFactory::GetInstance();
+ #endif
+ enterprise_reporting::LegacyTechServiceFactory::GetInstance();
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ enterprise_signals::SignalsAggregatorFactory::GetInstance();
+ #endif
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ enterprise_signals::UserPermissionServiceFactory::GetInstance();
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ enterprise_signin::EnterpriseSigninServiceFactory::GetInstance();
+ #endif
+ #if BUILDFLAG(ENABLE_SESSION_SERVICE)
+@@ -1029,7 +1029,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+ #if BUILDFLAG(IS_ANDROID)
+ MerchantViewerDataManagerFactory::GetInstance();
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance();
#endif
+ #if !BUILDFLAG(IS_ANDROID)
+@@ -1156,7 +1156,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+ #if BUILDFLAG(IS_CHROMEOS)
+ policy::PolicyCertServiceFactory::GetInstance();
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ policy::ProfileTokenPolicyWebSigninServiceFactory::GetInstance();
+ policy::UserPolicyOidcSigninServiceFactory::GetInstance();
+ #endif
+@@ -1202,7 +1202,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+ #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
+ ProfileStatisticsFactory::GetInstance();
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ ProfileTokenWebSigninInterceptorFactory::GetInstance();
+ OidcAuthenticationSigninInterceptorFactory::GetInstance();
+ #endif
+@@ -1222,7 +1222,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+ ReduceAcceptLanguageFactory::GetInstance();
+ RendererUpdaterFactory::GetInstance();
+ regional_capabilities::RegionalCapabilitiesServiceFactory::GetInstance();
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ reporting::ManualTestHeartbeatEventFactory::GetInstance();
+ #endif
+ #if !BUILDFLAG(IS_ANDROID)
diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
index df9ed9f6799f..dad6497ea5fa 100644
--- a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
@@ -1,17 +1,26 @@
---- chrome/browser/profiles/profile_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/profiles/profile_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/profiles/profile_impl.cc
-@@ -259,6 +259,10 @@
- #include "chrome/browser/spellchecker/spellcheck_service.h"
+@@ -269,6 +269,10 @@
+ #include "chrome/browser/safe_browsing/safe_browsing_service.h"
#endif
-+#if BUILDFLAG(IS_OPENBSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
+#endif
+
using bookmarks::BookmarkModel;
using content::BrowserThread;
using content::DownloadManagerDelegate;
-@@ -847,7 +851,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode)
+@@ -593,7 +597,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async
+ policy_provider = GetUserCloudPolicyManagerAsh();
+ #else // !BUILDFLAG(IS_CHROMEOS)
+ {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ProfileManager* profile_manager = g_browser_process->profile_manager();
+ ProfileAttributesEntry* entry =
+ profile_manager->GetProfileAttributesStorage()
+@@ -889,7 +893,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode)
}
base::FilePath ProfileImpl::last_selected_directory() {
diff --git a/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc b/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc
index 6eb8961c3863..3a29a1dca29f 100644
--- a/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc
+++ b/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc
@@ -1,6 +1,6 @@
---- chrome/browser/profiles/profiles_state.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/profiles/profiles_state.cc.orig 2025-03-05 08:14:56 UTC
+++ chrome/browser/profiles/profiles_state.cc
-@@ -178,7 +178,7 @@ bool IsGuestModeRequested(const base::CommandLine& com
+@@ -188,7 +188,7 @@ bool IsGuestModeRequested(const base::CommandLine& com
PrefService* local_state,
bool show_warning) {
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
@@ -9,3 +9,21 @@
DCHECK(local_state);
// Check if guest mode enforcement commandline switch or policy are provided.
+@@ -224,7 +224,7 @@ bool IsGuestModeEnabled() {
+ return false;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // If there are any supervised profiles, disable guest mode.
+ if (std::ranges::any_of(g_browser_process->profile_manager()
+ ->GetProfileAttributesStorage()
+@@ -240,7 +240,7 @@ bool IsGuestModeEnabled() {
+ }
+
+ bool IsGuestModeEnabled(const Profile& profile) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ ProfileAttributesEntry* profile_attributes =
+ g_browser_process->profile_manager()
+ ->GetProfileAttributesStorage()
diff --git a/www/chromium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.cc b/www/chromium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.cc
new file mode 100644
index 000000000000..aff313dad577
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/regional_capabilities/regional_capabilities_service_client.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/regional_capabilities/regional_capabilities_service_client.cc
+@@ -133,7 +133,7 @@ void RegionalCapabilitiesServiceClient::FetchCountryId
+ base::android::AttachCurrentThread(),
+ reinterpret_cast<intptr_t>(heap_callback.release()));
+ }
+-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void RegionalCapabilitiesServiceClient::FetchCountryId(
+ CountryIdCallback on_country_id_fetched) {
+ std::move(on_country_id_fetched).Run(variations_latest_country_id_);
diff --git a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc
index 4e1a5b590127..b42bc309272f 100644
--- a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc
+++ b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc
@@ -1,24 +1,24 @@
---- chrome/browser/renderer_preferences_util.cc.orig 2022-03-25 21:59:56 UTC
+--- chrome/browser/renderer_preferences_util.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/renderer_preferences_util.cc
-@@ -37,7 +37,7 @@
+@@ -40,7 +40,7 @@
#include "ui/views/controls/textfield/textfield.h"
#endif
--#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))
+-#if defined(USE_AURA) && BUILDFLAG(IS_LINUX)
++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
- #include "ui/views/linux_ui/linux_ui.h"
-@@ -159,7 +159,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
+ #include "ui/linux/linux_ui.h"
+@@ -180,7 +180,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
prefs->caret_blink_interval = views::Textfield::GetCaretBlinkInterval();
#endif
--#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))
- views::LinuxUI* linux_ui = views::LinuxUI::instance();
- if (linux_ui) {
+-#if defined(USE_AURA) && BUILDFLAG(IS_LINUX)
++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile);
+ if (linux_ui_theme) {
if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) {
-@@ -179,7 +179,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
+@@ -203,7 +203,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
diff --git a/www/chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json b/www/chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json
deleted file mode 100644
index 205bf0a491ba..000000000000
--- a/www/chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json
+++ /dev/null
@@ -1,31 +0,0 @@
---- chrome/browser/resources/plugin_metadata/plugins_linux.json.orig 2022-02-07 13:39:41 UTC
-+++ chrome/browser/resources/plugin_metadata/plugins_linux.json
-@@ -1,28 +1,5 @@
- {
- "x-version": 46,
-- "adobe-flash-player": {
-- "mime_types": [
-- "application/futuresplash",
-- "application/x-shockwave-flash"
-- ],
-- "matching_mime_types": [
-- "application/futuresplash"
-- ],
-- "versions": [
-- {
-- "version": "32.0.0.445",
-- "status": "up_to_date",
-- "reference": "https://helpx.adobe.com/security/products/flash-player/apsb20-58.html"
-- }
-- ],
-- "lang": "en-US",
-- "name": "Adobe Flash Player",
-- "help_url": "https://support.google.com/chrome/?p=plugin_flash",
-- "url": "https://support.google.com/chrome/answer/6258784",
-- "displayurl": true,
-- "group_name_matcher": "*Shockwave Flash*",
-- "plugin_is_deprecated": true
-- },
- "google-chrome-pdf": {
- "mime_types": [
- ],
diff --git a/www/chromium/files/patch-chrome_browser_resources_sandbox__internals_sandbox__internals.ts b/www/chromium/files/patch-chrome_browser_resources_sandbox__internals_sandbox__internals.ts
deleted file mode 100644
index 529bf50f38a8..000000000000
--- a/www/chromium/files/patch-chrome_browser_resources_sandbox__internals_sandbox__internals.ts
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/resources/sandbox_internals/sandbox_internals.ts.orig 2022-07-22 17:30:31 UTC
-+++ 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 chromeos_ash or chromeos_lacros">
-+// <if expr="is_posix or chromeos_ash or chromeos_lacros">
- import './strings.m.js';
-
- import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
-@@ -121,7 +121,7 @@ function androidHandler() {
- }
- // </if>
-
--// <if expr="is_linux or chromeos_ash or chromeos_lacros">
-+// <if expr="is_posix or chromeos_ash or chromeos_lacros">
-
- /**
- * 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 chromeos_ash or chromeos_lacros">
-+ // <if expr="is_posix or chromeos_ash or chromeos_lacros">
- linuxHandler();
- // </if>
- });
diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts
deleted file mode 100644
index 60dba63415d0..000000000000
--- a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts
-@@ -16,7 +16,7 @@ export interface AppearanceBrowserProxy {
-
- useDefaultTheme(): void;
-
-- // <if expr="is_linux">
-+ // <if expr="is_bsd">
- useSystemTheme(): void;
- // </if>
-
-@@ -44,7 +44,7 @@ export class AppearanceBrowserProxyImpl implements App
- chrome.send('useDefaultTheme');
- }
-
-- // <if expr="is_linux">
-+ // <if expr="is_bsd">
- useSystemTheme() {
- chrome.send('useSystemTheme');
- }
diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
deleted file mode 100644
index d407a2923519..000000000000
--- a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/resources/settings/appearance_page/appearance_page.html
-@@ -27,7 +27,7 @@
- <cr-link-row class="first" hidden="[[!pageVisibility.setTheme]]"
- label="$i18n{themes}" sub-label="[[themeSublabel_]]"
- on-click="openThemeUrl_" external></cr-link-row>
--<if expr="not is_linux">
-+<if expr="not is_posix">
- <template is="dom-if" if="[[prefs.extensions.theme.id.value]]">
- <div class="separator"></div>
- <cr-button id="useDefault" on-click="onUseDefaultTap_">
-@@ -35,7 +35,7 @@
- </cr-button>
- </template>
- </if>
--<if expr="is_linux">
-+<if expr="is_posix">
- <div class="settings-row continuation"
- hidden="[[!showThemesSecondary_(
- prefs.extensions.theme.id.value, useSystemTheme_)]]"
-@@ -109,7 +109,7 @@
- pref="{{prefs.bookmark_bar.show_on_all_tabs}}"
- label="$i18n{showBookmarksBar}">
- </settings-toggle-button>
--<if expr="is_linux">
-+<if expr="is_posix">
- <div class="hr" hidden="[[!pageVisibility.bookmarksBar]]"></div>
- <settings-toggle-button
- hidden="[[!showCustomChromeFrame_]]"
diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts
deleted file mode 100644
index e40e0db506b1..000000000000
--- a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts
+++ /dev/null
@@ -1,51 +0,0 @@
---- chrome/browser/resources/settings/appearance_page/appearance_page.ts.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/resources/settings/appearance_page/appearance_page.ts
-@@ -145,7 +145,7 @@ export class SettingsAppearancePageElement extends
- 'prefs.autogenerated.theme.policy.color.controlledBy)',
- },
-
-- // <if expr="is_linux">
-+ // <if expr="is_posix">
- /**
- * Whether to show the "Custom Chrome Frame" setting.
- */
-@@ -167,7 +167,7 @@ export class SettingsAppearancePageElement extends
- 'themeChanged_(' +
- 'prefs.extensions.theme.id.value, useSystemTheme_, isForcedTheme_)',
-
-- // <if expr="is_linux">
-+ // <if expr="is_posix">
- // NOTE: this pref only exists on Linux.
- 'useSystemThemePrefChanged_(prefs.extensions.theme.use_system.value)',
- // </if>
-@@ -186,7 +186,7 @@ export class SettingsAppearancePageElement extends
- private showReaderModeOption_: boolean;
- private isForcedTheme_: boolean;
-
-- // <if expr="is_linux">
-+ // <if expr="is_posix">
- private showCustomChromeFrame_: boolean;
- // </if>
-
-@@ -264,7 +264,7 @@ export class SettingsAppearancePageElement extends
- this.appearanceBrowserProxy_.useDefaultTheme();
- }
-
-- // <if expr="is_linux">
-+ // <if expr="is_posix">
- private useSystemThemePrefChanged_(useSystemTheme: boolean) {
- this.useSystemTheme_ = useSystemTheme;
- }
-@@ -325,10 +325,10 @@ export class SettingsAppearancePageElement extends
- }
-
- let i18nId;
-- // <if expr="is_linux">
-+ // <if expr="is_posix">
- i18nId = useSystemTheme ? 'systemTheme' : 'classicTheme';
- // </if>
-- // <if expr="not is_linux">
-+ // <if expr="not is_posix">
- i18nId = 'chooseFromWebStore';
- // </if>
- this.themeSublabel_ = this.i18n(i18nId);
diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css b/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css
index 3b36bfc5147a..8df7a08eb462 100644
--- a/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css
+++ b/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css
@@ -1,11 +1,11 @@
---- chrome/browser/resources/settings/autofill_page/passwords_shared.css.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/resources/settings/autofill_page/passwords_shared.css.orig 2022-10-24 13:33:33 UTC
+++ chrome/browser/resources/settings/autofill_page/passwords_shared.css
-@@ -70,7 +70,7 @@ cr-input.password-input::part(input),
+@@ -100,7 +100,7 @@ cr-input.password-input::part(input),
* necessary to prevent Chrome from using the operating system's font
* instead of the Material Design font.
* TODO(dbeam): why not font: inherit? */
--<if expr="is_linux or chromeos_ash or chromeos_lacros">
-+<if expr="is_posix or chromeos_ash or chromeos_lacros">
+-<if expr="is_linux or is_chromeos">
++<if expr="is_posix or is_chromeos">
font-family: 'DejaVu Sans Mono', monospace;
</if>
<if expr="is_win">
diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_route.ts b/www/chromium/files/patch-chrome_browser_resources_settings_route.ts
deleted file mode 100644
index 96f0e2a1f4af..000000000000
--- a/www/chromium/files/patch-chrome_browser_resources_settings_route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/resources/settings/route.ts.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/resources/settings/route.ts
-@@ -185,7 +185,7 @@ function createBrowserSettingsRoutes(): SettingsRoutes
-
- r.ACCESSIBILITY = r.ADVANCED.createSection('/accessibility', 'a11y');
-
-- // <if expr="is_linux">
-+ // <if expr="is_posix">
- r.CAPTIONS = r.ACCESSIBILITY.createChild('/captions');
- // </if>
-
diff --git a/www/chromium/files/patch-chrome_browser_resources_signin_signin__shared.css b/www/chromium/files/patch-chrome_browser_resources_signin_signin__shared.css
index 87281547034e..1531cc39292f 100644
--- a/www/chromium/files/patch-chrome_browser_resources_signin_signin__shared.css
+++ b/www/chromium/files/patch-chrome_browser_resources_signin_signin__shared.css
@@ -1,11 +1,11 @@
---- chrome/browser/resources/signin/signin_shared.css.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/resources/signin/signin_shared.css.orig 2022-11-30 08:12:58 UTC
+++ chrome/browser/resources/signin/signin_shared.css
-@@ -37,7 +37,7 @@ cr-button + cr-button {
- margin-inline-start: 8px;
+@@ -54,7 +54,7 @@ a {
+ border-radius: var(--scrollbar-width);
}
--<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">
+-<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/chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html b/www/chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html
deleted file mode 100644
index 31df4ed9f6d6..000000000000
--- a/www/chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html
-@@ -298,7 +298,7 @@
- consent-confirmation autofocus>
- $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}
-@@ -308,7 +308,7 @@
- disabled="[[anyButtonClicked_]]" hidden="[[syncForced_]]">
- $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}
-@@ -356,7 +356,7 @@
- consent-confirmation>
- $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}
-@@ -366,7 +366,7 @@
- disabled="[[anyButtonClicked_]]" hidden="[[syncForced_]]">
- $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/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc
new file mode 100644
index 000000000000..8c222775573e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/safe_browsing/chrome_password_protection_service.cc
+@@ -1269,7 +1269,7 @@ std::string ChromePasswordProtectionService::GetOrgani
+ ReusedPasswordAccountType password_type) const {
+ if (base::FeatureList::IsEnabled(
+ safe_browsing::kEnterprisePasswordReuseUiRefresh)) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return GetPrefs()->GetString(prefs::kEnterpriseCustomLabelForProfile);
+ #else
+ return std::string();
diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc
new file mode 100644
index 000000000000..192f8b507a6a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc
+@@ -20,7 +20,7 @@
+ #include "components/safe_browsing/core/common/safebrowsing_switches.h"
+ #include "net/base/url_util.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 "chrome/browser/enterprise/connectors/analysis/local_binary_upload_service_factory.h"
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc
deleted file mode 100644
index 38567566017e..000000000000
--- a/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/safe_browsing/download_protection/file_analyzer.cc.orig 2022-06-17 14:20:10 UTC
-+++ chrome/browser/safe_browsing/download_protection/file_analyzer.cc
-@@ -20,7 +20,7 @@
- #include "content/public/browser/browser_thread.h"
- #include "url/gurl.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/safe_browsing/download_protection/document_analysis_service.h"
- #endif
-
-@@ -101,7 +101,7 @@ void FileAnalyzer::Start(const base::FilePath& target_
- } else if (inspection_type == DownloadFileType::DMG) {
- StartExtractDmgFeatures();
- #endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- } else if (inspection_type == DownloadFileType::OFFICE_DOCUMENT) {
- StartExtractDocumentFeatures();
- #endif
-@@ -289,7 +289,7 @@ void FileAnalyzer::OnDmgAnalysisFinished(
- }
- #endif // BUILDFLAG(IS_MAC)
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- void FileAnalyzer::StartExtractDocumentFeatures() {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
-
diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h b/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h
deleted file mode 100644
index b7a83e3882ac..000000000000
--- a/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/safe_browsing/download_protection/file_analyzer.h.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/safe_browsing/download_protection/file_analyzer.h
-@@ -17,7 +17,7 @@
- #include "components/safe_browsing/core/common/proto/csd.pb.h"
- #include "third_party/protobuf/src/google/protobuf/repeated_field.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- #include "chrome/services/file_util/public/cpp/sandboxed_document_analyzer.h"
- #endif
-
-@@ -112,7 +112,7 @@ class FileAnalyzer {
- const safe_browsing::ArchiveAnalyzerResults& archive_results);
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- void StartExtractDocumentFeatures();
- void OnDocumentAnalysisFinished(
- const DocumentAnalyzerResults& document_results);
-@@ -132,7 +132,7 @@ class FileAnalyzer {
- scoped_refptr<SandboxedDMGAnalyzer> dmg_analyzer_;
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- scoped_refptr<SandboxedDocumentAnalyzer> document_analyzer_;
- base::TimeTicks document_analysis_start_time_;
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
index fd15c8fa7cab..d0a42d73e87d 100644
--- a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
+++ b/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
@@ -1,6 +1,6 @@
---- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
-@@ -707,7 +707,7 @@ void IncidentReportingService::OnEnvironmentDataCollec
+@@ -693,7 +693,7 @@ void IncidentReportingService::OnEnvironmentDataCollec
// Process::Current().CreationTime() is missing on some platforms.
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc
new file mode 100644
index 000000000000..8d14509fa596
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc
+@@ -12,7 +12,7 @@
+ #include "content/public/browser/web_contents.h"
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/browser_finder.h"
+ #include "chrome/browser/ui/browser_window/public/browser_window_features.h"
+ #include "chrome/browser/ui/toasts/api/toast_id.h"
+@@ -59,7 +59,7 @@ SafeBrowsingPrefChangeHandler::~SafeBrowsingPrefChange
+ void SafeBrowsingPrefChangeHandler::
+ MaybeShowEnhancedProtectionSettingChangeNotification() {
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ if (!profile_ ||
+ !base::FeatureList::IsEnabled(safe_browsing::kEsbAsASyncedSetting)) {
+ return;
diff --git a/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc b/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc
new file mode 100644
index 000000000000..ac589c8f5382
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/screen_ai/screen_ai_install_state.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/screen_ai/screen_ai_install_state.cc
+@@ -30,7 +30,7 @@ bool IsDeviceCompatible() {
+ // TODO(crbug.com/381256355): Update when ScreenAI library is compatible with
+ // older CPUs.
+ static const bool device_compatible = base::CPU().has_sse42();
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Linux, the library is only built for X86 CPUs.
+ static constexpr bool device_compatible = false;
+ #else
diff --git a/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__service__handler__base.cc b/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__service__handler__base.cc
new file mode 100644
index 000000000000..5fd16bb70ed1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__service__handler__base.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/screen_ai/screen_ai_service_handler_base.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/screen_ai/screen_ai_service_handler_base.cc
+@@ -253,7 +253,7 @@ void ScreenAIServiceHandlerBase::LaunchIfNotRunning()
+ base::FilePath binary_path = state_instance->get_component_binary_path();
+ #if BUILDFLAG(IS_WIN)
+ std::vector<base::FilePath> preload_libraries = {binary_path};
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ std::vector<std::string> extra_switches = {
+ base::StringPrintf("--%s=%s", screen_ai::GetBinaryPathSwitch(),
+ binary_path.MaybeAsASCII().c_str())};
+@@ -268,7 +268,7 @@ void ScreenAIServiceHandlerBase::LaunchIfNotRunning()
+ .WithPreloadedLibraries(
+ preload_libraries,
+ content::ServiceProcessHostPreloadLibraries::GetPassKey())
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ .WithExtraCommandLineSwitches(extra_switches)
+ #endif // BUILDFLAG(IS_WIN)
+ .WithProcessCallback(
diff --git a/www/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc b/www/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc
deleted file mode 100644
index aab704eb461e..000000000000
--- a/www/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc
-@@ -16,7 +16,7 @@
- #include "components/send_tab_to_self/features.h"
-
- #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)
- #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h"
- #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h"
- #endif
-@@ -48,7 +48,7 @@ SendTabToSelfToolbarIconController*
- ReceivingUiHandlerRegistry::GetToolbarButtonControllerForProfile(
- Profile* profile) {
- #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)
- for (const std::unique_ptr<ReceivingUiHandler>& handler :
- applicable_handlers_) {
- auto* button_controller =
diff --git a/www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc b/www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc
deleted file mode 100644
index 5e174e544e28..000000000000
--- a/www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc
-@@ -17,7 +17,7 @@
- #include "components/send_tab_to_self/send_tab_to_self_model.h"
-
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
-- BUILDFLAG(IS_WIN)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h"
- #endif
-
-@@ -51,7 +51,7 @@ void SendTabToSelfClientService::EntriesAddedRemotely(
- const std::vector<const SendTabToSelfEntry*>& new_entries) {
- for (const std::unique_ptr<ReceivingUiHandler>& handler : GetHandlers()) {
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
-- BUILDFLAG(IS_WIN)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- // Only respond to notifications corresponding to this service's profile
- // for these OSes; mobile does not have a Profile.
- // Cast note: on desktop, handlers are guaranteed to be the derived class
diff --git a/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc
new file mode 100644
index 000000000000..591d50a7b636
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/sessions/session_restore.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/sessions/session_restore.cc
+@@ -108,7 +108,7 @@
+ #include "ui/wm/core/scoped_animation_disabler.h"
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#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/ui/webui/whats_new/whats_new_fetcher.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -1118,7 +1118,7 @@ class SessionRestoreImpl : public BrowserListObserver
+ bool is_first_tab = true;
+ for (const auto& startup_tab : startup_tabs) {
+ const GURL& url = startup_tab.url;
+-#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 == whats_new::GetWebUIStartupURL()) {
+ whats_new::StartWhatsNewFetch(browser);
+ continue;
diff --git a/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc b/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc
deleted file mode 100644
index 608073247f7b..000000000000
--- a/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/sharing/sharing_device_registration.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/sharing/sharing_device_registration.cc
-@@ -326,7 +326,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported(
-
- bool SharingDeviceRegistration::IsRemoteCopySupported() const {
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- return true;
- #else
- return false;
diff --git a/www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc
index 391bddbfef9b..07f0703aef08 100644
--- a/www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc
@@ -1,16 +1,16 @@
---- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/sharing/sharing_handler_registry_impl.cc
-@@ -24,7 +24,7 @@
+@@ -21,7 +21,7 @@
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/sharing/shared_clipboard/remote_copy_message_handler.h"
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) ||
- // BUILDFLAG(IS_CHROMEOS_LACROS)) BUILDFLAG(IS_CHROMEOS)
-@@ -77,7 +77,7 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl
- }
+ #endif
+
+@@ -72,7 +72,7 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl
+ #endif // !BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-chrome_browser_shortcuts_icon__badging.cc b/www/chromium/files/patch-chrome_browser_shortcuts_icon__badging.cc
new file mode 100644
index 000000000000..0d25cdec5842
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_shortcuts_icon__badging.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/shortcuts/icon_badging.cc.orig 2024-06-17 12:56:06 UTC
++++ chrome/browser/shortcuts/icon_badging.cc
+@@ -59,7 +59,7 @@ enum class BadgeSize {
+ constexpr ShortcutSize kSizesNeededForShortcutCreation[] = {
+ ShortcutSize::k16, ShortcutSize::k32, ShortcutSize::k128,
+ ShortcutSize::k256, ShortcutSize::k512};
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr ShortcutSize kSizesNeededForShortcutCreation[] = {ShortcutSize::k32,
+ ShortcutSize::k128};
+ #elif BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc b/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc
deleted file mode 100644
index b0450e07a72e..000000000000
--- a/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc
+++ /dev/null
@@ -1,21 +0,0 @@
---- chrome/browser/shutdown_signal_handlers_posix.cc.orig 2022-02-07 13:39:41 UTC
-+++ chrome/browser/shutdown_signal_handlers_posix.cc
-@@ -187,12 +187,18 @@ void InstallShutdownSignalHandlers(
- g_pipe_pid = getpid();
- g_shutdown_pipe_read_fd = pipefd[0];
- g_shutdown_pipe_write_fd = pipefd[1];
-+#if defined(OS_BSD)
-+ // PTHREAD_STACK_MIN causes chromium to crash under *BSD,
-+ // we request the default pthread stack size by specifying 0 here.
-+ const size_t kShutdownDetectorThreadStackSize = 0;
-+#else
- #if !defined(ADDRESS_SANITIZER)
- const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2;
- #else
- // ASan instrumentation bloats the stack frames, so we need to increase the
- // stack size to avoid hitting the guard page.
- const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4;
-+#endif
- #endif
- ShutdownDetector* detector = new ShutdownDetector(
- g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner);
diff --git a/www/chromium/files/patch-chrome_browser_signin_accounts__policy__manager.cc b/www/chromium/files/patch-chrome_browser_signin_accounts__policy__manager.cc
new file mode 100644
index 000000000000..5ac82fcc81df
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_signin_accounts__policy__manager.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/signin/accounts_policy_manager.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/signin/accounts_policy_manager.cc
+@@ -41,7 +41,7 @@
+ #include "chrome/browser/ui/webui/profile_helper.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 "components/policy/core/common/features.h"
+ #include "components/signin/public/identity_manager/accounts_mutator.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+@@ -209,7 +209,7 @@ void AccountsPolicyManager::Initialize() {
+ &AccountsPolicyManager::OnGoogleServicesUsernamePatternChanged,
+ weak_pointer_factory_.GetWeakPtr()));
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto* identity_manager = IdentityManagerFactory::GetForProfile(profile_);
+ identity_manager_observation_.Observe(identity_manager);
+ profile_pref_change_registrar_.Init(profile_->GetPrefs());
+@@ -224,7 +224,7 @@ void AccountsPolicyManager::Initialize() {
+ }
+
+ void AccountsPolicyManager::Shutdown() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ profile_pref_change_registrar_.RemoveAll();
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+ local_state_pref_registrar_.RemoveAll();
+@@ -332,7 +332,7 @@ void AccountsPolicyManager::OnUserConfirmedProfileDele
+ }
+ #endif // defined(TOOLKIT_VIEWS) && !BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void AccountsPolicyManager::OnRefreshTokensLoaded() {
+ RemoveUnallowedAccounts();
+ identity_manager_observation_.Reset();
diff --git a/www/chromium/files/patch-chrome_browser_signin_accounts__policy__manager.h b/www/chromium/files/patch-chrome_browser_signin_accounts__policy__manager.h
new file mode 100644
index 000000000000..1a21e6121435
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_signin_accounts__policy__manager.h
@@ -0,0 +1,29 @@
+--- chrome/browser/signin/accounts_policy_manager.h.orig 2025-01-15 09:18:26 UTC
++++ chrome/browser/signin/accounts_policy_manager.h
+@@ -13,7 +13,7 @@
+ #include "components/signin/public/base/signin_metrics.h"
+ #include "components/signin/public/identity_manager/identity_manager.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 "base/scoped_observation.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -64,7 +64,7 @@ class AccountsPolicyManager : public KeyedService,
+ }
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void RemoveUnallowedAccounts();
+
+ // IdentityManager::Observer implementation.
+@@ -85,7 +85,7 @@ class AccountsPolicyManager : public KeyedService,
+ bool hide_ui_for_testing_ = false;
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::ScopedObservation<signin::IdentityManager,
+ signin::IdentityManager::Observer>
+ identity_manager_observation_{this};
diff --git a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc
new file mode 100644
index 000000000000..6283e56cc7dd
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/signin/signin_util.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/signin/signin_util.cc
+@@ -80,7 +80,7 @@ CookiesMover::CookiesMover(base::WeakPtr<Profile> sour
+ CookiesMover::~CookiesMover() = default;
+
+ void CookiesMover::StartMovingCookies() {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ bool allow_cookies_to_be_moved = base::FeatureList::IsEnabled(
+ profile_management::features::kThirdPartyProfileManagement);
+ #else
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc b/www/chromium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc
new file mode 100644
index 000000000000..4a086d497e79
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/supervised_user/classify_url_navigation_throttle.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/supervised_user/classify_url_navigation_throttle.cc
+@@ -68,7 +68,7 @@ std::ostream& operator<<(std::ostream& stream,
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ bool ShouldShowReAuthInterstitial(
+ content::NavigationHandle& navigation_handle) {
+ Profile* profile = Profile::FromBrowserContext(
+@@ -229,7 +229,7 @@ void ClassifyUrlNavigationThrottle::OnInterstitialResu
+ }
+ case InterstitialResultCallbackActions::kCancelWithInterstitial: {
+ CHECK(navigation_handle());
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (ShouldShowReAuthInterstitial(*navigation_handle())) {
+ // Show the re-authentication interstitial if the user signed out of
+ // the content area, as parent's approval requires authentication.
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc
new file mode 100644
index 000000000000..b9b4a5af9db1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/supervised_user/supervised_user_browser_utils.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/supervised_user/supervised_user_browser_utils.cc
+@@ -40,7 +40,7 @@
+ #include "chrome/browser/ash/profiles/profile_helper.h"
+ #include "components/user_manager/user.h"
+ #include "components/user_manager/user_type.h"
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/supervised_user/supervised_user_verification_controller_client.h"
+ #include "chrome/browser/supervised_user/supervised_user_verification_page_blocked_sites.h"
+ #include "chrome/browser/supervised_user/supervised_user_verification_page_youtube.h"
+@@ -158,7 +158,7 @@ void AssertChildStatusOfTheUser(Profile* profile, bool
+ #endif
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ std::string CreateReauthenticationInterstitialForYouTube(
+ content::NavigationHandle& navigation_handle) {
+ content::WebContents* web_contents = navigation_handle.GetWebContents();
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h
new file mode 100644
index 000000000000..25dc67f21f8b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h
@@ -0,0 +1,11 @@
+--- chrome/browser/supervised_user/supervised_user_browser_utils.h.orig 2024-11-14 07:57:23 UTC
++++ chrome/browser/supervised_user/supervised_user_browser_utils.h
+@@ -52,7 +52,7 @@ std::string GetAccountGivenName(Profile& profile);
+ // of the user.
+ void AssertChildStatusOfTheUser(Profile* profile, bool is_child);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Returns the html content of the reauthentication interstitial for blocked
+ // sites. This interstitial is associated with the given NavigationHandle.
+ std::string CreateReauthenticationInterstitialForBlockedSites(
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc
new file mode 100644
index 000000000000..b2659af38afa
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc
+@@ -197,7 +197,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte
+ return;
+ }
+ }
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ CHECK(contents.value());
+ content::WebContents* web_contents = contents.value().get();
+ // Always invoke the parent permission dialog.
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc
new file mode 100644
index 000000000000..60a562b6e09d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/supervised_user/supervised_user_extensions_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/supervised_user/supervised_user_extensions_manager.cc
+@@ -350,7 +350,7 @@ void SupervisedUserExtensionsManager::
+ ActivateManagementPolicyAndUpdateRegistration() {
+ SetActiveForSupervisedUsers();
+ UpdateManagementPolicyRegistration();
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ MaybeMarkExtensionsLocallyParentApproved();
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+ }
+@@ -449,7 +449,7 @@ bool SupervisedUserExtensionsManager::ShouldBlockExten
+ return false;
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void SupervisedUserExtensionsManager::
+ MaybeMarkExtensionsLocallyParentApproved() {
+ supervised_user::LocallyParentApprovedExtensionsMigrationState
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h
new file mode 100644
index 000000000000..10d107927fda
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h
@@ -0,0 +1,11 @@
+--- chrome/browser/supervised_user/supervised_user_extensions_manager.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/supervised_user/supervised_user_extensions_manager.h
+@@ -154,7 +154,7 @@ class SupervisedUserExtensionsManager : public Extensi
+ // launched.
+ bool ShouldBlockExtension(const std::string& extension_id) const;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Triggers an one-time migration of the present extensions as parent-approved
+ // when the feature
+ // `kEnableSupervisedUserSkipParentApprovalToInstallExtensions` becomes
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc
new file mode 100644
index 000000000000..e2e36bef40ea
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc
@@ -0,0 +1,26 @@
+--- chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc
+@@ -33,12 +33,12 @@
+ #include "chrome/browser/supervised_user/child_accounts/child_account_service_android.h"
+ #include "components/signin/public/identity_manager/identity_manager.h"
+ #include "ui/android/view_android.h"
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/supervised_user/supervised_user_verification_controller_client.h"
+ #include "chrome/browser/supervised_user/supervised_user_verification_page.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ namespace {
+ bool IsYouTubeInfrastructureSubframe(content::NavigationHandle* handle) {
+ if (handle->GetNavigatingFrameType() != content::FrameType::kSubframe) {
+@@ -160,7 +160,7 @@ SupervisedUserGoogleAuthNavigationThrottle::ShouldProc
+ return content::NavigationThrottle::DEFER;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // When an unauthenticated supervised user tries to access YouTube, we force
+ // re-authentication with an interstitial so that YouTube can be subject to
+ // content restrictions. This interstitial is only available on Desktop
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc
new file mode 100644
index 000000000000..11fb99e085af
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc.orig 2025-01-15 09:18:26 UTC
++++ chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc
+@@ -14,7 +14,7 @@
+ #include "components/supervised_user/core/browser/supervised_user_service.h"
+ #include "content/public/browser/browser_context.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 "chrome/browser/supervised_user/linux_mac_windows/supervised_user_extensions_metrics_delegate_impl.h"
+ #endif
+
+@@ -62,7 +62,7 @@ SupervisedUserMetricsServiceFactory::BuildServiceInsta
+ std::unique_ptr<supervised_user::SupervisedUserMetricsService ::
+ SupervisedUserMetricsServiceExtensionDelegate>
+ extensions_metrics_delegate = nullptr;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extensions_metrics_delegate =
+ std::make_unique<SupervisedUserExtensionsMetricsDelegateImpl>(
+ extensions::ExtensionRegistry::Get(profile), profile);
diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc
new file mode 100644
index 000000000000..2678c8774eb1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/supervised_user/supervised_user_navigation_observer.cc.orig 2024-02-23 21:04:38 UTC
++++ chrome/browser/supervised_user/supervised_user_navigation_observer.cc
+@@ -47,7 +47,7 @@
+ #include "chrome/browser/supervised_user/android/supervised_user_web_content_handler_impl.h"
+ #elif BUILDFLAG(IS_CHROMEOS)
+ #include "chrome/browser/supervised_user/chromeos/supervised_user_web_content_handler_impl.h"
+-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/supervised_user/linux_mac_windows/supervised_user_web_content_handler_impl.h"
+ #endif
+
+@@ -67,7 +67,7 @@ std::unique_ptr<supervised_user::WebContentHandler> Cr
+ #elif BUILDFLAG(IS_ANDROID)
+ return std::make_unique<SupervisedUserWebContentHandlerImpl>(
+ web_contents, frame_id, navigation_id);
+-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return std::make_unique<SupervisedUserWebContentHandlerImpl>(
+ web_contents, frame_id, navigation_id);
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc
deleted file mode 100644
index bceba5d45c5e..000000000000
--- a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/sync/chrome_sync_client.cc.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/sync/chrome_sync_client.cc
-@@ -433,7 +433,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
-
- // Chrome prefers OS provided spell checkers where they exist. So only sync the
- // custom dictionary on platforms that typically don't provide one.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- // Dictionary sync is enabled by default.
- if (GetPrefService()->GetBoolean(spellcheck::prefs::kSpellCheckEnable)) {
- controllers.push_back(
diff --git a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc
new file mode 100644
index 000000000000..e96d944f1a86
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/sync/chrome_sync_controller_builder.cc
+@@ -280,7 +280,7 @@ ChromeSyncControllerBuilder::Build(syncer::SyncService
+ #if BUILDFLAG(ENABLE_SPELLCHECK)
+ // Chrome prefers OS provided spell checkers where they exist. So only sync
+ // the custom dictionary on platforms that typically don't provide one.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Dictionary sync is enabled by default.
+ if (spellcheck_service_.value()) {
+ controllers.push_back(
diff --git a/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc b/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc
index d3290a87107c..fa8e7788e185 100644
--- a/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc
@@ -1,11 +1,11 @@
---- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/sync/device_info_sync_client_impl.cc
-@@ -38,7 +38,7 @@ std::string DeviceInfoSyncClientImpl::GetSigninScopedD
- // in lacros-chrome once build flag switch of lacros-chrome is
- // complete.
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
+@@ -34,7 +34,7 @@ DeviceInfoSyncClientImpl::~DeviceInfoSyncClientImpl()
+ std::string DeviceInfoSyncClientImpl::GetSigninScopedDeviceId() const {
+ // Since the local sync backend is currently only supported on Windows, Mac and
+ // Linux don't even check the pref on other os-es.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
syncer::SyncPrefs prefs(profile_->GetPrefs());
if (prefs.IsLocalSyncEnabled()) {
return "local_device";
diff --git a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc
new file mode 100644
index 000000000000..23ddb5a14286
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/sync/sync_service_factory.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/sync/sync_service_factory.cc
+@@ -110,7 +110,7 @@
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_keyed_service.h"
+ #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_service_factory.h"
+ #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_utils.h"
+@@ -137,7 +137,7 @@ namespace {
+ tab_groups::TabGroupSyncService* GetTabGroupSyncService(Profile* profile) {
+ CHECK(profile);
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ tab_groups::TabGroupSyncService* service =
+ tab_groups::SavedTabGroupUtils::GetServiceForProfile(profile);
+ CHECK(service);
+@@ -381,7 +381,7 @@ std::unique_ptr<KeyedService> BuildSyncService(
+ bool local_sync_backend_enabled = false;
+ // Only check the local sync backend pref on the supported platforms of
+ // Windows, Mac and Linux.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ syncer::SyncPrefs prefs(profile->GetPrefs());
+ local_sync_backend_enabled = prefs.IsLocalSyncEnabled();
+ base::UmaHistogramBoolean("Sync.Local.Enabled2", local_sync_backend_enabled);
+@@ -520,7 +520,7 @@ SyncServiceFactory::SyncServiceFactory()
+ DependsOn(ProfilePasswordStoreFactory::GetInstance());
+ DependsOn(PowerBookmarkServiceFactory::GetInstance());
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ DependsOn(tab_groups::SavedTabGroupServiceFactory::GetInstance());
+ #elif BUILDFLAG(IS_ANDROID)
+ DependsOn(tab_groups::TabGroupSyncServiceFactory::GetInstance());
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc
index 2079cf64a819..c2f191e6e3fa 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc
@@ -1,6 +1,6 @@
---- chrome/browser/task_manager/sampling/task_group.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/task_manager/sampling/task_group.cc.orig 2025-03-05 08:14:56 UTC
+++ chrome/browser/task_manager/sampling/task_group.cc
-@@ -37,7 +37,7 @@ const int kBackgroundRefreshTypesMask =
+@@ -36,7 +36,7 @@ const int kBackgroundRefreshTypesMask =
#if BUILDFLAG(IS_WIN)
REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME |
#endif // BUILDFLAG(IS_WIN)
@@ -9,7 +9,7 @@
REFRESH_TYPE_FD_COUNT |
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
#if BUILDFLAG(ENABLE_NACL)
-@@ -122,7 +122,7 @@ TaskGroup::TaskGroup(
+@@ -117,7 +117,7 @@ TaskGroup::TaskGroup(
#if BUILDFLAG(ENABLE_NACL)
nacl_debug_stub_port_(nacl::kGdbDebugStubPortUnknown),
#endif // BUILDFLAG(ENABLE_NACL)
@@ -18,7 +18,7 @@
open_fd_count_(-1),
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
idle_wakeups_per_second_(-1),
-@@ -141,7 +141,7 @@ TaskGroup::TaskGroup(
+@@ -132,7 +132,7 @@ TaskGroup::TaskGroup(
weak_ptr_factory_.GetWeakPtr()),
base::BindRepeating(&TaskGroup::OnIdleWakeupsRefreshDone,
weak_ptr_factory_.GetWeakPtr()),
@@ -27,7 +27,7 @@
base::BindRepeating(&TaskGroup::OnOpenFdCountRefreshDone,
weak_ptr_factory_.GetWeakPtr()),
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-@@ -321,7 +321,7 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac
+@@ -302,7 +302,7 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac
}
#endif // BUILDFLAG(ENABLE_NACL)
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h
index 0cc1453db2f4..2eea6fa2ee81 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h
@@ -1,6 +1,6 @@
---- chrome/browser/task_manager/sampling/task_group.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/task_manager/sampling/task_group.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/task_manager/sampling/task_group.h
-@@ -42,7 +42,7 @@ constexpr int kUnsupportedVMRefreshFlags =
+@@ -41,7 +41,7 @@ inline constexpr int kUnsupportedVMRefreshFlags =
REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE |
REFRESH_TYPE_NACL | REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES |
REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY |
@@ -9,7 +9,7 @@
REFRESH_TYPE_FD_COUNT |
#endif
REFRESH_TYPE_HARD_FAULTS;
-@@ -148,7 +148,7 @@ class TaskGroup {
+@@ -144,7 +144,7 @@ class TaskGroup {
}
#endif // BUILDFLAG(ENABLE_NACL)
@@ -18,7 +18,7 @@
int open_fd_count() const { return open_fd_count_; }
void set_open_fd_count(int open_fd_count) { open_fd_count_ = open_fd_count; }
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-@@ -168,7 +168,7 @@ class TaskGroup {
+@@ -164,7 +164,7 @@ class TaskGroup {
void RefreshNaClDebugStubPort(int child_process_unique_id);
void OnRefreshNaClDebugStubPortDone(int port);
#endif
@@ -27,7 +27,7 @@
void OnOpenFdCountRefreshDone(int open_fd_count);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-@@ -240,7 +240,7 @@ class TaskGroup {
+@@ -235,7 +235,7 @@ class TaskGroup {
#if BUILDFLAG(ENABLE_NACL)
int nacl_debug_stub_port_;
#endif // BUILDFLAG(ENABLE_NACL)
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
index df5a800d54e6..5f2e5a908260 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
@@ -1,6 +1,6 @@
---- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2025-03-05 08:14:56 UTC
+++ chrome/browser/task_manager/sampling/task_group_sampler.cc
-@@ -44,7 +44,7 @@ TaskGroupSampler::TaskGroupSampler(
+@@ -45,7 +45,7 @@ TaskGroupSampler::TaskGroupSampler(
const OnCpuRefreshCallback& on_cpu_refresh,
const OnSwappedMemRefreshCallback& on_swapped_mem_refresh,
const OnIdleWakeupsCallback& on_idle_wakeups,
@@ -9,7 +9,7 @@
const OnOpenFdCountCallback& on_open_fd_count,
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
const OnProcessPriorityCallback& on_process_priority)
-@@ -54,7 +54,7 @@ TaskGroupSampler::TaskGroupSampler(
+@@ -55,7 +55,7 @@ TaskGroupSampler::TaskGroupSampler(
on_cpu_refresh_callback_(on_cpu_refresh),
on_swapped_mem_refresh_callback_(on_swapped_mem_refresh),
on_idle_wakeups_callback_(on_idle_wakeups),
@@ -18,7 +18,7 @@
on_open_fd_count_callback_(on_open_fd_count),
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
on_process_priority_callback_(on_process_priority) {
-@@ -86,7 +86,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
+@@ -85,7 +85,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
base::BindOnce(on_swapped_mem_refresh_callback_));
}
@@ -26,8 +26,8 @@
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS,
refresh_flags)) {
- base::PostTaskAndReplyWithResult(
-@@ -96,7 +96,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
+ blocking_pool_runner_->PostTaskAndReplyWithResult(
+@@ -95,7 +95,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
}
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -35,13 +35,13 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT,
refresh_flags)) {
- base::PostTaskAndReplyWithResult(
-@@ -146,7 +146,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() {
+ blocking_pool_runner_->PostTaskAndReplyWithResult(
+@@ -152,7 +152,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() {
return process_metrics_->GetIdleWakeupsPerSecond();
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
int TaskGroupSampler::RefreshOpenFdCount() {
- DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(worker_pool_sequenced_checker_);
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
index d1a7fe6608f4..48d1d3cda245 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
@@ -1,4 +1,4 @@
---- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2023-09-13 12:11:42 UTC
+++ chrome/browser/task_manager/sampling/task_group_sampler.h
@@ -31,7 +31,7 @@ class TaskGroupSampler : public base::RefCountedThread
using OnCpuRefreshCallback = base::RepeatingCallback<void(double)>;
@@ -8,8 +8,8 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
using OnOpenFdCountCallback = base::RepeatingCallback<void(int)>;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
- using OnProcessPriorityCallback = base::RepeatingCallback<void(bool)>;
-@@ -42,7 +42,7 @@ class TaskGroupSampler : public base::RefCountedThread
+ using OnProcessPriorityCallback =
+@@ -43,7 +43,7 @@ class TaskGroupSampler : public base::RefCountedThread
const OnCpuRefreshCallback& on_cpu_refresh,
const OnSwappedMemRefreshCallback& on_memory_refresh,
const OnIdleWakeupsCallback& on_idle_wakeups,
@@ -18,7 +18,7 @@
const OnOpenFdCountCallback& on_open_fd_count,
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
const OnProcessPriorityCallback& on_process_priority);
-@@ -62,7 +62,7 @@ class TaskGroupSampler : public base::RefCountedThread
+@@ -63,7 +63,7 @@ class TaskGroupSampler : public base::RefCountedThread
double RefreshCpuUsage();
int64_t RefreshSwappedMem();
int RefreshIdleWakeupsPerSecond();
@@ -26,8 +26,8 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
int RefreshOpenFdCount();
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
- bool RefreshProcessPriority();
-@@ -86,7 +86,7 @@ class TaskGroupSampler : public base::RefCountedThread
+ base::Process::Priority RefreshProcessPriority();
+@@ -87,7 +87,7 @@ class TaskGroupSampler : public base::RefCountedThread
const OnCpuRefreshCallback on_cpu_refresh_callback_;
const OnSwappedMemRefreshCallback on_swapped_mem_refresh_callback_;
const OnIdleWakeupsCallback on_idle_wakeups_callback_;
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
index 3d8d4a3acd73..8fda8549035a 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
@@ -1,6 +1,6 @@
---- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/task_manager/sampling/task_manager_impl.cc
-@@ -216,7 +216,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id,
+@@ -234,7 +234,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id,
}
int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const {
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h b/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h
index a2f4e51049f7..c31a1c12a19f 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h
+++ b/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h
@@ -1,6 +1,6 @@
---- chrome/browser/task_manager/task_manager_observer.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/task_manager/task_manager_observer.h.orig 2025-03-05 08:14:56 UTC
+++ chrome/browser/task_manager/task_manager_observer.h
-@@ -47,7 +47,7 @@ enum RefreshType {
+@@ -46,7 +46,7 @@ enum RefreshType {
// or backgrounded.
REFRESH_TYPE_PRIORITY = 1 << 13,
diff --git a/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc b/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc
index 8bb75a6947c3..d5b8996586fd 100644
--- a/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc
+++ b/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc
@@ -1,20 +1,11 @@
---- chrome/browser/themes/theme_helper.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/themes/theme_helper.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/themes/theme_helper.cc
-@@ -24,7 +24,7 @@
- #include "ui/native_theme/common_theme.h"
+@@ -16,7 +16,7 @@
+ #include "ui/gfx/image/image.h"
#include "ui/native_theme/native_theme.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/views/linux_ui/linux_ui.h"
+ #include "ui/linux/linux_ui.h"
#endif
-@@ -498,7 +498,7 @@ bool ThemeHelper::UseDarkModeColors(const CustomThemeS
-
- ui::NativeTheme const* native_theme =
- ui::NativeTheme::GetInstanceForNativeUi();
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- if (const auto* linux_ui = views::LinuxUI::instance()) {
- // We rely on the fact that the system theme is in use iff `theme_supplier`
- // is non-null, but this is cheating. In the future this might not hold
diff --git a/www/chromium/files/patch-chrome_browser_themes_theme__service.cc b/www/chromium/files/patch-chrome_browser_themes_theme__service.cc
index ee944889c1f2..4a6a92c74a54 100644
--- a/www/chromium/files/patch-chrome_browser_themes_theme__service.cc
+++ b/www/chromium/files/patch-chrome_browser_themes_theme__service.cc
@@ -1,4 +1,4 @@
---- chrome/browser/themes/theme_service.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/themes/theme_service.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/themes/theme_service.cc
@@ -72,7 +72,7 @@
#include "extensions/browser/extension_registry_observer.h"
@@ -6,33 +6,15 @@
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/views/linux_ui/linux_ui.h"
+ #include "ui/linux/linux_ui.h"
+ #include "ui/ozone/public/ozone_platform.h" // nogncheck
#endif
-
-@@ -489,7 +489,7 @@ ThemeService::BrowserThemeProvider::GetColorProviderCo
- native_theme = ui::NativeTheme::GetInstanceForDarkUI();
- } else {
- native_theme = ui::NativeTheme::GetInstanceForNativeUi();
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- if (const auto* linux_ui = views::LinuxUI::instance()) {
- native_theme =
- linux_ui->GetNativeTheme(delegate_->ShouldUseSystemTheme());
-@@ -611,7 +611,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier()
- }
-
- bool ThemeService::ShouldUseSystemTheme() const {
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return profile_->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme);
- #else
- return false;
-@@ -619,7 +619,7 @@ bool ThemeService::ShouldUseSystemTheme() const {
+@@ -331,7 +331,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier()
}
bool ThemeService::ShouldUseCustomFrame() const {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return profile_->GetPrefs()->GetBoolean(prefs::kUseCustomChromeFrame);
- #else
- return true;
+ if (!ui::OzonePlatform::GetInstance()
+ ->GetPlatformRuntimeProperties()
+ .supports_server_side_window_decorations) {
diff --git a/www/chromium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc b/www/chromium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc
new file mode 100644
index 000000000000..f79dc5be42c2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/themes/theme_service_aura_linux.cc.orig 2024-08-26 12:06:38 UTC
++++ chrome/browser/themes/theme_service_aura_linux.cc
+@@ -23,7 +23,7 @@ namespace {
+ ui::SystemTheme ValidateSystemTheme(ui::SystemTheme system_theme) {
+ switch (system_theme) {
+ case ui::SystemTheme::kDefault:
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ case ui::SystemTheme::kGtk:
+ case ui::SystemTheme::kQt:
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc b/www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc
index 90d412db52c8..321cbbbe3aaf 100644
--- a/www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc
@@ -1,29 +1,29 @@
---- chrome/browser/themes/theme_service_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/themes/theme_service_factory.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/themes/theme_service_factory.cc
@@ -25,7 +25,7 @@
+ #include "chrome/browser/themes/theme_helper_win.h"
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/themes/theme_service_aura_linux.h"
- #include "ui/views/linux_ui/linux_ui.h"
+ #include "ui/linux/linux_ui_factory.h"
#endif
-@@ -82,7 +82,7 @@ KeyedService* ThemeServiceFactory::BuildServiceInstanc
+@@ -105,7 +105,7 @@ ThemeServiceFactory::~ThemeServiceFactory() = default;
+ std::unique_ptr<KeyedService>
+ ThemeServiceFactory::BuildServiceInstanceForBrowserContext(
content::BrowserContext* profile) const {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
using ThemeService = ThemeServiceAuraLinux;
#endif
-@@ -96,7 +96,7 @@ void ThemeServiceFactory::RegisterProfilePrefs(
- user_prefs::PrefRegistrySyncable* registry) {
- // 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 default_uses_system_theme = false;
+@@ -117,7 +117,7 @@ ThemeServiceFactory::BuildServiceInstanceForBrowserCon
- const views::LinuxUI* linux_ui = views::LinuxUI::instance();
+ void ThemeServiceFactory::RegisterProfilePrefs(
+ user_prefs::PrefRegistrySyncable* registry) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ registry->RegisterIntegerPref(prefs::kSystemTheme,
+ static_cast<int>(ui::GetDefaultSystemTheme()));
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h
new file mode 100644
index 000000000000..cfb21d9103ec
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/actions/chrome_action_id.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/actions/chrome_action_id.h
+@@ -503,7 +503,7 @@
+ #if BUILDFLAG(IS_CHROMEOS)
+ #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \
+ E(kToggleMultitaskMenu, IDC_TOGGLE_MULTITASK_MENU)
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \
+ E(kUseSystemTitleBar, IDC_USE_SYSTEM_TITLE_BAR) \
+ E(kRestoreWindow, IDC_RESTORE_WINDOW)
diff --git a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc
new file mode 100644
index 000000000000..9cd89c3a2142
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc
+@@ -58,7 +58,7 @@ gfx::Rect GetPopupSizeForBnpl() {
+ DesktopPaymentsWindowManager::DesktopPaymentsWindowManager(
+ ContentAutofillClient* client)
+ : client_(CHECK_DEREF(client)) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ scoped_observation_.Observe(BrowserList::GetInstance());
+ #endif // BUILDFLAG(IS_LINUX)
+ }
+@@ -144,7 +144,7 @@ void DesktopPaymentsWindowManager::WebContentsDestroye
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void DesktopPaymentsWindowManager::OnBrowserSetLastActive(Browser* browser) {
+ // If there is an ongoing payments window manager pop-up flow, and the
+ // original tab's WebContents become active, activate the pop-up's
diff --git a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h
new file mode 100644
index 000000000000..d01abd876afc
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h
@@ -0,0 +1,38 @@
+--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h
+@@ -14,7 +14,7 @@
+ #include "components/autofill/core/browser/payments/payments_window_manager.h"
+ #include "content/public/browser/web_contents_observer.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/scoped_observation.h"
+ #include "chrome/browser/ui/browser_list.h"
+ #include "chrome/browser/ui/browser_list_observer.h"
+@@ -39,7 +39,7 @@ class PaymentsWindowUserConsentDialogControllerImpl;
+ // WebContents of the original tab that the pop-up is created in. If there is a
+ // pop-up currently present, `this` will observe the WebContents of that pop-up.
+ class DesktopPaymentsWindowManager : public PaymentsWindowManager,
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ public BrowserListObserver,
+ #endif // BUILDFLAG(IS_LINUX)
+ public content::WebContentsObserver {
+@@ -59,7 +59,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi
+ content::NavigationHandle* navigation_handle) override;
+ void WebContentsDestroyed() override;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // BrowserListObserver:
+ void OnBrowserSetLastActive(Browser* browser) override;
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -165,7 +165,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi
+ // Used in tests to notify the test infrastructure that the pop-up has closed.
+ base::RepeatingClosure popup_closed_closure_for_testing_;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::ScopedObservation<BrowserList, BrowserListObserver> scoped_observation_{
+ this};
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser.h b/www/chromium/files/patch-chrome_browser_ui_browser.h
index 27dd9c0640d3..61fb590b9476 100644
--- a/www/chromium/files/patch-chrome_browser_ui_browser.h
+++ b/www/chromium/files/patch-chrome_browser_ui_browser.h
@@ -1,7 +1,7 @@
---- chrome/browser/ui/browser.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/browser.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/browser.h
-@@ -282,7 +282,7 @@ class Browser : public TabStripModelObserver,
- int32_t restore_id = kDefaultRestoreId;
+@@ -300,7 +300,7 @@ class Browser : public TabStripModelObserver,
+ std::optional<int64_t> display_id;
#endif
-#if BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc
index 7c4696ba8336..bd6c6a084f9e 100644
--- a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc
@@ -1,38 +1,74 @@
---- chrome/browser/ui/browser_command_controller.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/browser_command_controller.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/browser_command_controller.cc
-@@ -97,7 +97,7 @@
+@@ -127,7 +127,7 @@
+ #include "components/user_manager/user_manager.h"
+ #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)
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/base/ime/text_edit_commands.h"
+ #include "ui/base/ime/text_input_flags.h"
+ #include "ui/linux/linux_ui.h"
+@@ -137,7 +137,7 @@
+ #include "ui/ozone/public/ozone_platform.h"
#endif
-@@ -320,7 +320,7 @@ bool BrowserCommandController::IsReservedCommandOrKey(
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/shortcuts/desktop_shortcuts_utils.h"
+ #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+
+@@ -363,7 +363,7 @@ bool BrowserCommandController::IsReservedCommandOrKey(
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// If this key was registered by the user as a content editing hotkey, then
// it is not reserved.
- ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
-@@ -556,7 +556,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
+ auto* linux_ui = ui::LinuxUi::instance();
+@@ -632,7 +632,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
+ break;
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
case IDC_MINIMIZE_WINDOW:
browser_->window()->Minimize();
break;
-@@ -1122,7 +1122,7 @@ void BrowserCommandController::InitCommandState() {
+@@ -849,7 +849,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
+ break;
+ case IDC_CREATE_SHORTCUT:
+ base::RecordAction(base::UserMetricsAction("CreateShortcut"));
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ chrome::CreateDesktopShortcutForActiveWebContents(browser_);
+ #else
+ web_app::CreateWebAppFromCurrentWebContents(
+@@ -1015,7 +1015,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
+ #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ case IDC_CHROME_WHATS_NEW:
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && \
+- (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX))
++ (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ ShowChromeWhatsNew(browser_);
+ break;
+ #else
+@@ -1392,7 +1392,7 @@ void BrowserCommandController::InitCommandState() {
+ command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_4, true);
+ command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_5, true);
#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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true);
command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true);
command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true);
+@@ -1747,7 +1747,7 @@ void BrowserCommandController::UpdateCommandsForTabSta
+ bool can_create_web_app = web_app::CanCreateWebApp(browser_);
+ command_updater_.UpdateCommandEnabled(IDC_INSTALL_PWA, can_create_web_app);
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ command_updater_.UpdateCommandEnabled(
+ IDC_CREATE_SHORTCUT,
+ shortcuts::CanCreateDesktopShortcut(current_web_contents));
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc b/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc
new file mode 100644
index 000000000000..c9a34d01198b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/browser_commands.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/browser_commands.cc
+@@ -2185,7 +2185,7 @@ void OpenUpdateChromeDialog(Browser* browser) {
+ } else if (UpgradeDetector::GetInstance()->is_outdated_install_no_au()) {
+ UpgradeDetector::GetInstance()->NotifyOutdatedInstallNoAutoUpdate();
+ } else {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(features::kFewerUpdateConfirmations)) {
+ chrome::AttemptRelaunch();
+ return;
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h b/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h
deleted file mode 100644
index e31a059d60d9..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/browser_dialogs.h.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/ui/browser_dialogs.h
-@@ -27,7 +27,7 @@
- #include "ui/base/models/dialog_model.h"
- #include "ui/gfx/native_widget_types.h"
-
--#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/web_applications/web_app_id.h"
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc b/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc
new file mode 100644
index 000000000000..9c3d5df4696e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/browser_ui_prefs.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/browser_ui_prefs.cc
+@@ -80,7 +80,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry
+ registry->RegisterTimePref(prefs::kPdfInfoBarLastShown, base::Time());
+ registry->RegisterIntegerPref(prefs::kPdfInfoBarTimesShown, 0);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ registry->RegisterStringPref(prefs::kEnterpriseCustomLabelForBrowser,
+ std::string());
+ registry->RegisterStringPref(prefs::kEnterpriseLogoUrlForBrowser,
+@@ -203,7 +203,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry
+ registry->RegisterDictionaryPref(prefs::kHttpsUpgradeFallbacks);
+ registry->RegisterDictionaryPref(prefs::kHttpsUpgradeNavigations);
+ registry->RegisterBooleanPref(prefs::kHttpsOnlyModeAutoEnabled, false);
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ registry->RegisterStringPref(prefs::kEnterpriseLogoUrlForProfile,
+ std::string());
+ registry->RegisterStringPref(prefs::kEnterpriseCustomLabelForProfile,
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc b/www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc
index d2d058b53690..ccf3a53e5f9d 100644
--- a/www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc
@@ -1,20 +1,20 @@
---- chrome/browser/ui/browser_view_prefs.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/ui/browser_view_prefs.cc.orig 2025-03-05 08:14:56 UTC
+++ chrome/browser/ui/browser_view_prefs.cc
-@@ -17,7 +17,7 @@ namespace {
+@@ -14,7 +14,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)
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
bool GetCustomFramePrefDefault() {
- #if defined(USE_OZONE)
- return ui::OzonePlatform::GetInstance()
-@@ -35,7 +35,7 @@ void RegisterBrowserViewProfilePrefs(
+ #if BUILDFLAG(IS_OZONE)
+ return ui::OzonePlatform::GetInstance()
+@@ -30,7 +30,7 @@ bool GetCustomFramePrefDefault() {
+
+ void RegisterBrowserViewProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame,
GetCustomFramePrefDefault());
#endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc
index babaefe684e0..0bc1586eae70 100644
--- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc
@@ -1,11 +1,29 @@
---- chrome/browser/ui/chrome_pages.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/chrome_pages.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/chrome_pages.cc
-@@ -568,7 +568,7 @@ void ShowBrowserSigninOrSettings(Browser* browser,
+@@ -85,7 +85,7 @@
+ #include "components/signin/public/identity_manager/identity_manager.h"
#endif
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- void ShowWebAppSettings(Browser* browser,
- const std::string& app_id,
- web_app::AppSettingsPageEntryPoint entry_point) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/web_applications/web_app_utils.h"
+ #endif
+
+@@ -382,7 +382,7 @@ void ShowChromeTips(Browser* browser) {
+ ShowSingletonTab(browser, GURL(kChromeTipsURL));
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void ShowChromeWhatsNew(Browser* browser) {
+ ShowSingletonTab(browser, GURL(kChromeUIWhatsNewURL));
+ }
+@@ -706,7 +706,7 @@ void ShowShortcutCustomizationApp(Profile* profile,
+ }
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void ShowWebAppSettingsImpl(Browser* browser,
+ Profile* profile,
+ const std::string& app_id,
diff --git a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h
index 6fdc2d8d1d80..7beb9033b7a3 100644
--- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h
+++ b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h
@@ -1,20 +1,20 @@
---- chrome/browser/ui/chrome_pages.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/chrome_pages.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/chrome_pages.h
-@@ -26,7 +26,7 @@
- #endif
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/web_applications/web_app_utils.h"
- #endif
+@@ -39,7 +39,7 @@ namespace signin {
+ enum class ConsentLevel;
+ } // namespace signin
-@@ -204,7 +204,7 @@ void ShowBrowserSigninOrSettings(Browser* browser,
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ namespace web_app {
+ enum class AppSettingsPageEntryPoint;
+ } // namespace web_app
+@@ -177,7 +177,7 @@ void ShowShortcutCustomizationApp(Profile* profile,
+ const std::string& category);
#endif
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Show chrome://app-settings/<app-id> page.
void ShowWebAppSettings(Browser* browser,
const std::string& app_id,
diff --git a/www/chromium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc b/www/chromium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc
index 98ed6d8a3d71..2827d02b32ad 100644
--- a/www/chromium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc
@@ -1,4 +1,4 @@
---- chrome/browser/ui/color/native_chrome_color_mixer.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/ui/color/native_chrome_color_mixer.cc.orig 2023-09-13 12:11:42 UTC
+++ chrome/browser/ui/color/native_chrome_color_mixer.cc
@@ -7,7 +7,7 @@
#include "build/build_config.h"
@@ -7,5 +7,5 @@
- !BUILDFLAG(IS_WIN)
+ !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD)
void AddNativeChromeColorMixer(ui::ColorProvider* provider,
- const ui::ColorProviderManager::Key& key) {}
+ const ui::ColorProviderKey& key) {}
#endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc b/www/chromium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
deleted file mode 100644
index fb0ba06d6b5e..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc
-@@ -16,7 +16,7 @@
-
- // NOTE(koz): Linux doesn't use the thick shadowed border, so we add padding
- // here.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const int ExclusiveAccessBubble::kPaddingPx = 8;
- #else
- const int ExclusiveAccessBubble::kPaddingPx = 15;
diff --git a/www/chromium/files/patch-chrome_browser_ui_managed__ui.cc b/www/chromium/files/patch-chrome_browser_ui_managed__ui.cc
new file mode 100644
index 000000000000..453b21e66d0e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_managed__ui.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/managed_ui.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/managed_ui.cc
+@@ -433,7 +433,7 @@ std::optional<std::string> GetDeviceManagerIdentity()
+ g_browser_process->platform_part()->browser_policy_connector_ash();
+ return connector->GetEnterpriseDomainManager();
+ #else
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(
+ features::kEnterpriseManagementDisclaimerUsesCustomLabel)) {
+ std::string custom_management_label =
+@@ -463,7 +463,7 @@ std::optional<std::string> GetAccountManagerIdentity(P
+ return std::nullopt;
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(
+ features::kEnterpriseManagementDisclaimerUsesCustomLabel)) {
+ std::string custom_management_label =
diff --git a/www/chromium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc b/www/chromium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc
new file mode 100644
index 000000000000..093dfeaa8af2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc
+@@ -1985,7 +1985,7 @@ const gfx::VectorIcon& GetSharingHubVectorIcon() {
+ return omnibox::kShareMacChromeRefreshIcon;
+ #elif BUILDFLAG(IS_WIN)
+ return omnibox::kShareWinChromeRefreshIcon;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return omnibox::kShareLinuxChromeRefreshIcon;
+ #else
+ return omnibox::kShareChromeRefreshIcon;
diff --git a/www/chromium/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc b/www/chromium/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc
new file mode 100644
index 000000000000..7093d3d5c14b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/passwords/bubble_controllers/relaunch_chrome_bubble_controller.cc.orig 2024-02-23 21:04:38 UTC
++++ chrome/browser/ui/passwords/bubble_controllers/relaunch_chrome_bubble_controller.cc
+@@ -44,7 +44,7 @@ std::u16string RelaunchChromeBubbleController::GetTitl
+ #if BUILDFLAG(IS_MAC)
+ ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_BRANDED
+ : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_NON_BRANDED
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_LINUX_BRANDED
+ : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_LINUX_NON_BRANDED
+ #endif
+@@ -57,7 +57,7 @@ std::u16string RelaunchChromeBubbleController::GetBody
+ #if BUILDFLAG(IS_MAC)
+ ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_BRANDED
+ : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_NON_BRANDED
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_LINUX_BRANDED
+ : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_LINUX_NON_BRANDED
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc b/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc
new file mode 100644
index 000000000000..87425c047593
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/ui/passwords/manage_passwords_ui_controller.cc
+@@ -104,7 +104,7 @@ namespace {
+
+ using Logger = autofill::SavePasswordProgressLogger;
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Should be kept in sync with constant declared in
+ // bubble_controllers/relaunch_chrome_bubble_controller.cc.
+ constexpr int kMaxNumberOfTimesKeychainErrorBubbleIsShown = 3;
+@@ -562,7 +562,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor
+ }
+
+ void ManagePasswordsUIController::OnKeychainError() {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ CHECK(!dialog_controller_);
+ PrefService* prefs =
+ Profile::FromBrowserContext(web_contents()->GetBrowserContext())
diff --git a/www/chromium/files/patch-chrome_browser_ui_prefs_prefs__tab__helper.cc b/www/chromium/files/patch-chrome_browser_ui_prefs_prefs__tab__helper.cc
new file mode 100644
index 000000000000..4eb8e8132d6c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_prefs_prefs__tab__helper.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/prefs/prefs_tab_helper.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/ui/prefs/prefs_tab_helper.cc
+@@ -66,7 +66,7 @@
+ #include <windows.h>
+ #endif
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If a font name in prefs default values starts with a comma, consider it's a
+ // comma-separated font list and resolve it to the first available font.
+ #define PREFS_FONT_LIST 1
diff --git a/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc b/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc
index 4ec56e573922..cfd4e31ac092 100644
--- a/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc
@@ -1,9 +1,9 @@
---- chrome/browser/ui/sad_tab.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/ui/sad_tab.cc.orig 2025-02-19 07:43:18 UTC
+++ chrome/browser/ui/sad_tab.cc
-@@ -175,7 +175,7 @@ std::vector<int> SadTab::GetSubMessages() {
- // Only show Incognito suggestion if not already in Incognito mode.
- if (!web_contents_->GetBrowserContext()->IsOffTheRecord())
+@@ -179,7 +179,7 @@ std::vector<int> SadTab::GetSubMessages() {
+ if (!web_contents_->GetBrowserContext()->IsOffTheRecord()) {
message_ids.insert(message_ids.begin(), IDS_SAD_TAB_RELOAD_INCOGNITO);
+ }
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Note: on macOS, Linux and ChromeOS, the first bullet is either one of
diff --git a/www/chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h b/www/chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h
new file mode 100644
index 000000000000..4c4eb52ca760
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h.orig 2024-06-17 12:56:06 UTC
++++ chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h
+@@ -36,7 +36,7 @@ class SharingHubBubbleController {
+ // Returns true if the omnibox icon should be shown.
+ virtual bool ShouldOfferOmniboxIcon() = 0;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // This method returns the set of first-party actions, which are actions
+ // internal to Chrome. Third-party actions (those outside Chrome) are
+ // currently not supported.
diff --git a/www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc b/www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc
deleted file mode 100644
index 73385d686af5..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/signin_view_controller.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/ui/signin_view_controller.cc
-@@ -262,7 +262,7 @@ void SigninViewController::ShowModalEnterpriseConfirma
- SkColor profile_color,
- signin::SigninChoiceCallback callback) {
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- CloseModalSignin();
- dialog_ = std::make_unique<SigninModalDialogImpl>(
- SigninViewControllerDelegate::CreateEnterpriseConfirmationDelegate(
diff --git a/www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h b/www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h
deleted file mode 100644
index 246febfc321f..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/signin_view_controller_delegate.h.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/ui/signin_view_controller_delegate.h
-@@ -75,7 +75,7 @@ class SigninViewControllerDelegate {
- #endif // BUILDFLAG(ENABLE_DICE_SUPPORT)
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- // Returns a platform-specific SigninViewContolllerDelegate instance that
- // displays the enterprise confirmation modal dialog. The returned object
- // should delete itself when the window it's managing is closed.
diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc
new file mode 100644
index 000000000000..a12645c7dbe2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/signin/signin_view_controller.cc
+@@ -444,7 +444,7 @@ void SigninViewController::ShowModalSyncConfirmationDi
+ GetOnModalDialogClosedCallback());
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void SigninViewController::ShowModalHistorySyncOptInDialog() {
+ CHECK(base::FeatureList::IsEnabled(switches::kEnableHistorySyncOptin));
+ CloseModalSignin();
+@@ -457,7 +457,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi
+ void SigninViewController::ShowModalManagedUserNoticeDialog(
+ std::unique_ptr<signin::EnterpriseProfileCreationDialogParams>
+ create_param) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ CloseModalSignin();
+ dialog_ = std::make_unique<SigninModalDialogImpl>(
+ SigninViewControllerDelegate::CreateManagedUserNoticeDelegate(
diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h
new file mode 100644
index 000000000000..439c5891f96d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/signin/signin_view_controller.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/signin/signin_view_controller.h
+@@ -150,7 +150,7 @@ class SigninViewController {
+ void ShowModalSyncConfirmationDialog(bool is_signin_intercept,
+ bool is_sync_promo);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Shows the modal history sync opt in dialog as a browser-modal dialog on top
+ // of the `browser_`'s window.
+ void ShowModalHistorySyncOptInDialog();
diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h
new file mode 100644
index 000000000000..222e0242949b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/signin/signin_view_controller_delegate.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/signin/signin_view_controller_delegate.h
+@@ -48,7 +48,7 @@ class SigninViewControllerDelegate {
+ SyncConfirmationStyle style,
+ bool is_sync_promo);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Returns a platform-specific SigninViewControllerDelegate instance that
+ // displays the modal history sync opt in dialog. The returned object should
+ // delete itself when the window it's managing is closed.
+@@ -87,7 +87,7 @@ class SigninViewControllerDelegate {
+ SignoutConfirmationCallback callback);
+ #endif // BUILDFLAG(ENABLE_DICE_SUPPORT)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Returns a platform-specific SigninViewContolllerDelegate instance that
+ // displays the managed user notice modal dialog. The returned object
+ // should delete itself when the window it's managing is closed.
diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
index 813b834db6e9..8c49c2a1b83d 100644
--- a/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/ui/startup/bad_flags_prompt.cc
-@@ -91,7 +91,7 @@ static const char* kBadFlags[] = {
+@@ -95,7 +95,7 @@ const char* const kBadFlags[] = {
+ extensions::switches::kExtensionsOnChromeURLs,
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Speech dispatcher is buggy, it can crash and it can make Chrome freeze.
// http://crbug.com/327295
switches::kEnableSpeechDispatcher,
diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc
index ec5e0ff2d8e5..b7e43507def3 100644
--- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc
@@ -1,15 +1,24 @@
---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/startup/startup_browser_creator.cc
-@@ -128,7 +128,7 @@
+@@ -134,7 +134,7 @@
#include "chrome/credential_provider/common/gcp_strings.h"
#endif // BUILDFLAG(IS_WIN)
-#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/headless/headless_mode_util.h"
#include "chrome/browser/ui/startup/web_app_info_recorder_utils.h"
- #endif
+ #include "components/headless/policy/headless_mode_policy.h"
+@@ -984,7 +984,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
+ TRACE_EVENT0("startup", "StartupBrowserCreator::ProcessCmdLineImpl");
+ ComputeAndRecordLaunchMode(command_line);
-@@ -1016,7 +1016,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (headless::IsHeadlessMode() &&
+ headless::HeadlessModePolicy::IsHeadlessModeDisabled(
+ g_browser_process->local_state())) {
+@@ -1087,7 +1087,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
silent_launch = true;
}
@@ -18,7 +27,7 @@
// Writes open and installed web apps to the specified file without
// launching a new browser window or tab.
if (base::FeatureList::IsEnabled(features::kListWebAppsSwitch) &&
-@@ -1206,7 +1206,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
+@@ -1304,7 +1304,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
CHECK_EQ(profile_info.mode, StartupProfileMode::kBrowserWindow)
<< "Failed launch with app: couldn't pick a profile";
std::string app_id = command_line.GetSwitchValueASCII(switches::kAppId);
@@ -26,4 +35,4 @@
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// If Chrome Apps are deprecated and |app_id| is a Chrome App, display the
// deprecation UI instead of launching the app.
- if (apps::OpenDeprecatedApplicationPrompt(privacy_safe_profile, app_id))
+ if (apps::OpenDeprecatedApplicationPrompt(privacy_safe_profile, app_id)) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc
index 146917347e2f..1a918056de7c 100644
--- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc
@@ -1,11 +1,29 @@
---- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/ui/startup/startup_browser_creator_impl.cc
-@@ -241,7 +241,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser(
+@@ -76,7 +76,7 @@
+ #include "components/app_restore/full_restore_utils.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/whats_new/whats_new_fetcher.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -208,7 +208,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser(
// at the state of the MessageLoop.
Browser::CreateParams params = Browser::CreateParams(profile_, false);
params.creation_source = Browser::CreationSource::kStartupCreator;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- params.startup_id = command_line_.GetSwitchValueASCII("desktop-startup-id");
+ params.startup_id =
+ command_line_->GetSwitchValueASCII("desktop-startup-id");
#endif
- browser = Browser::Create(params);
+@@ -238,7 +238,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser(
+ continue;
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Start the What's New fetch but don't add the tab at this point. The tab
+ // will open as the foreground tab only if the remote content can be
+ // retrieved successfully. This prevents needing to automatically close the
diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc
new file mode 100644
index 000000000000..3d24423ea634
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/startup/startup_tab_provider.cc
+@@ -63,7 +63,7 @@
+ #include "extensions/browser/extension_registry.h"
+ #endif // !BUILDFLAG(IS_ANDROID)
+
+-#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/headless/headless_mode_util.h"
+ #endif
+
+@@ -102,7 +102,7 @@ bool ValidateUrl(const GURL& url) {
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+ bool url_scheme_is_chrome = false;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // In Headless mode, allow any URL pattern that matches chrome:// scheme if
+ // the user explicitly allowed it.
+ if (headless::IsHeadlessMode() && url.SchemeIs(content::kChromeUIScheme)) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
index d0d8d5354dc3..696199c53244 100644
--- a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
@@ -1,21 +1,20 @@
---- chrome/browser/ui/tab_helpers.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/tab_helpers.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/tab_helpers.cc
-@@ -198,7 +198,7 @@
+@@ -218,7 +218,7 @@
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/autofill_assistant/common_dependencies_chrome.h"
- #include "chrome/browser/autofill_assistant/platform_dependencies_desktop.h"
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h"
-@@ -536,13 +536,13 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
+ #include "chrome/browser/ui/browser_finder.h"
+ #include "chrome/browser/ui/hats/hats_helper.h"
+@@ -706,12 +706,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
+ webapps::PreRedirectionURLObserver::CreateForWebContents(web_contents);
+ #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))
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents);
#endif
@@ -25,12 +24,3 @@
if (base::FeatureList::IsEnabled(
features::kHappinessTrackingSurveysForDesktopDemo) ||
base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) ||
-@@ -557,7 +557,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
- #endif
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (base::FeatureList::IsEnabled(
- autofill_assistant::features::kAutofillAssistantDesktop)) {
- autofill_assistant::CreateForWebContents(
diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc
new file mode 100644
index 000000000000..c791b36bb2e5
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/tabs/features.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/tabs/features.cc
+@@ -53,7 +53,7 @@ bool CanShowTabSearchPositionSetting() {
+ }
+ // Mac and other platforms will always have the tab search position in the
+ // correct location, cros/linux/win git the user the option to change.
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(kTabSearchPositionSetting);
+ #else
+ return false;
diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc
new file mode 100644
index 000000000000..92996c165205
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/tabs/tab_dialog_manager.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/tabs/tab_dialog_manager.cc
+@@ -83,7 +83,7 @@ bool SupportsGlobalScreenCoordinates() {
+ }
+
+ bool PlatformClipsChildrenToViewport() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return true;
+ #else
+ return false;
diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc
new file mode 100644
index 000000000000..459d29b1838a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/tabs/tab_features.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/tabs/tab_features.cc
+@@ -340,7 +340,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro
+ task_manager::WebContentsTags::CreateForTabContents(tab.GetContents());
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ inactive_window_mouse_event_controller_ =
+ std::make_unique<InactiveWindowMouseEventController>();
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc
new file mode 100644
index 000000000000..330721cdd694
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/tabs/tab_strip_prefs.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/tabs/tab_strip_prefs.cc
+@@ -21,7 +21,7 @@ namespace tabs {
+
+ bool GetDefaultTabSearchRightAligned() {
+ // These platforms are all left aligned, the others should be right.
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return false;
+ #else
+ return true;
diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
deleted file mode 100644
index 410884208108..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2022-04-21 18:48:31 UTC
-+++ chrome/browser/ui/task_manager/task_manager_columns.cc
-@@ -93,7 +93,7 @@ const TableColumnData kColumns[] = {
- std::size("100000") * kCharWidth, -1, true, false, false},
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- {IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
- std::size("999") * kCharWidth, -1, true, false, false},
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h
new file mode 100644
index 000000000000..6bca2d88332b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/task_manager/task_manager_columns.h.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/task_manager/task_manager_columns.h
+@@ -277,7 +277,7 @@ inline constexpr std::array kColumns = {
+ .default_visibility = false},
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ TableColumnData{.id = IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN,
+ .align = ui::TableColumn::RIGHT,
+ .width = -1,
diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
index db8f379cdb37..4f24e7558f74 100644
--- a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
@@ -1,15 +1,24 @@
---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/task_manager/task_manager_table_model.cc
-@@ -454,7 +454,7 @@ std::u16string TaskManagerTableModel::GetText(int row,
- ? stringifier_->backgrounded_string()
- : stringifier_->foregrounded_string();
+@@ -419,7 +419,7 @@ TaskManagerTableModel::~TaskManagerTableModel() {
+ // Note: system_total_time_ is used for both since there is no functional
+ // difference between browser & system (they are essentially the same tab).
+ // Instead, the data is routed to the platform appropriate bucket.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ task_manager::RecordTabSwitchEvent(CategoryRecord::kBrowser,
+ system_total_time_);
+ #elif BUILDFLAG(IS_CHROMEOS)
+@@ -560,7 +560,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r
+ ? stringifier_->backgrounded_string()
+ : stringifier_->foregrounded_string();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]);
return fd_count >= 0 ? base::FormatNumber(fd_count)
-@@ -621,7 +621,7 @@ int TaskManagerTableModel::CompareValues(int row1,
+@@ -723,7 +723,7 @@ int TaskManagerTableModel::CompareValues(size_t row1,
return BooleanCompare(is_proc1_bg, is_proc2_bg);
}
@@ -18,7 +27,7 @@
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
const int proc1_fd_count =
observed_task_manager()->GetOpenFdCount(tasks_[row1]);
-@@ -795,7 +795,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col
+@@ -1040,7 +1040,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col
type = REFRESH_TYPE_KEEPALIVE_COUNT;
break;
diff --git a/www/chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc b/www/chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc
new file mode 100644
index 000000000000..8d86dd76291a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/test/popup_browsertest.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/test/popup_browsertest.cc
+@@ -76,7 +76,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenLeftAndTopZeroCo
+ const display::Display display = GetDisplayNearestBrowser(popup);
+ gfx::Rect expected(popup->window()->GetBounds().size());
+ expected.AdjustToFit(display.work_area());
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/40815883) Desktop Linux window bounds are inaccurate.
+ expected.Outset(50);
+ EXPECT_TRUE(expected.Contains(popup->window()->GetBounds()))
+@@ -108,7 +108,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenClampedToCurrent
+ // The popup should be constrained to the opener's available display space.
+ EXPECT_EQ(display, GetDisplayNearestBrowser(popup));
+ gfx::Rect work_area(display.work_area());
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/40815883) Desktop Linux bounds flakily extend outside the
+ // work area on trybots, when opening with excessive width and height, e.g.:
+ // width=${screen.availWidth+300},height=${screen.availHeight+300} yields:
diff --git a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc b/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc
new file mode 100644
index 000000000000..72099c90af15
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/test/test_browser_ui.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/test/test_browser_ui.cc
+@@ -19,7 +19,7 @@
+ #include "ui/views/widget/widget.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 "content/public/common/content_switches.h"
+ #include "ui/base/test/skia_gold_matching_algorithm.h"
+ #include "ui/compositor/compositor.h"
+@@ -33,7 +33,7 @@
+ #endif
+
+ // TODO(crbug.com/40625383) support Mac for pixel tests.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #define SUPPORTS_PIXEL_TEST
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_ui_ui__features.cc b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc
new file mode 100644
index 000000000000..e5c96ff7b26b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/ui_features.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/ui_features.cc
+@@ -38,7 +38,7 @@ BASE_FEATURE(kCloseOmniboxPopupOnInactiveAreaClick,
+ "CloseOmniboxPopupOnInactiveAreaClick",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Enables the feature to remove the last confirmation dialog when relaunching
+ // to update Chrome.
+ BASE_FEATURE(kFewerUpdateConfirmations,
+@@ -359,7 +359,7 @@ BASE_FEATURE(kViewsJSAppModalDialog,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kUsePortalAccentColor,
+ "UsePortalAccentColor",
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-chrome_browser_ui_ui__features.h b/www/chromium/files/patch-chrome_browser_ui_ui__features.h
new file mode 100644
index 000000000000..f58df6b23b3d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.h
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/ui_features.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/ui_features.h
+@@ -28,7 +28,7 @@ BASE_DECLARE_FEATURE(kAllowEyeDropperWGCScreenCapture)
+
+ BASE_DECLARE_FEATURE(kCloseOmniboxPopupOnInactiveAreaClick);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kFewerUpdateConfirmations);
+ #endif
+
+@@ -225,7 +225,7 @@ BASE_DECLARE_FEATURE(kViewsFirstRunDialog);
+ BASE_DECLARE_FEATURE(kViewsJSAppModalDialog);
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kUsePortalAccentColor);
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc b/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc
index 1f0bb1f3a1cd..67daf648cbce 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/accelerator_table.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/views/accelerator_table.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/views/accelerator_table.cc
-@@ -61,11 +61,11 @@ const AcceleratorMapping kAcceleratorMap[] = {
+@@ -72,11 +72,11 @@ const AcceleratorMapping kAcceleratorMap[] = {
{ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE},
{ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB},
{ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB},
@@ -14,7 +14,7 @@
{ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT},
{ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
IDC_MOVE_TAB_PREVIOUS},
-@@ -93,7 +93,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
+@@ -104,7 +104,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
{ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6},
{ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7},
{ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7},
@@ -23,7 +23,7 @@
{ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0},
{ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0},
{ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1},
-@@ -138,7 +138,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
+@@ -156,7 +156,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
IDC_SHOW_AVATAR_MENU},
// Platform-specific key maps.
@@ -32,12 +32,3 @@
{ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK},
{ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD},
{ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME},
-@@ -238,7 +238,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
- {ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, IDC_TOGGLE_QUICK_COMMANDS},
- #endif // !BUILDFLAG(IS_CHROMEOS)
- #endif // !BUILDFLAG(IS_MAC)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- {ui::VKEY_S, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
- IDC_RUN_SCREEN_AI_VISUAL_ANNOTATIONS},
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
index 4e0a6bba92a4..beec656afb97 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
@@ -1,7 +1,7 @@
---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2025-01-15 09:18:26 UTC
+++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc
@@ -19,7 +19,7 @@
- #include "ui/gfx/image/image_skia.h"
+ #include "ui/menus/simple_menu_model.h"
#include "ui/views/widget/widget.h"
-#if BUILDFLAG(IS_LINUX)
@@ -9,7 +9,7 @@
#include "chrome/browser/shell_integration_linux.h"
#endif
-@@ -55,7 +55,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni
+@@ -49,7 +49,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni
const AppWindow::CreateParams& create_params,
views::Widget::InitParams* init_params,
views::Widget* widget) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
index 8bd455d0e7f3..1da388f6b7c2 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
@@ -1,20 +1,20 @@
---- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
-@@ -41,7 +41,7 @@
+@@ -39,7 +39,7 @@
+ #include "ui/wm/core/wm_state.h"
+ #endif // defined(USE_AURA)
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
-@@ -136,7 +136,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
+@@ -143,7 +143,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
+ return controller;
+ }));
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// On the Linux desktop, we want to prevent the user from logging in as root,
// so that we don't destroy the profile. Now that we have some minimal ui
// initialized, check to see if we're running as root and bail if we are.
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h
index b55489a351f9..84ca09c74b2c 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h
+++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h
@@ -1,16 +1,11 @@
---- chrome/browser/ui/views/chrome_views_delegate.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/views/chrome_views_delegate.h.orig 2025-01-15 09:18:26 UTC
+++ chrome/browser/ui/views/chrome_views_delegate.h
-@@ -51,11 +51,11 @@ class ChromeViewsDelegate : public views::ViewsDelegat
+@@ -52,7 +52,7 @@ class ChromeViewsDelegate : public views::ViewsDelegat
base::OnceClosure callback) override;
- // 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)
- bool WindowManagerProvidesTitleBar(bool maximized) override;
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool WindowManagerProvidesTitleBar(bool maximized) override;
gfx::ImageSkia* GetDefaultWindowIcon() const override;
#endif
-
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc b/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc
index 87a83c6e9198..bb568d3dd833 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/chrome_views_delegate_linux.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/views/chrome_views_delegate_linux.cc.orig 2024-05-21 18:07:39 UTC
+++ chrome/browser/ui/views/chrome_views_delegate_linux.cc
-@@ -23,7 +23,7 @@ bool IsDesktopEnvironmentUnity() {
+@@ -26,7 +26,7 @@ bool IsDesktopEnvironmentUnity() {
return desktop_env == base::nix::DESKTOP_ENVIRONMENT_UNITY;
}
@@ -9,8 +9,8 @@
int GetWindowIconResourceId() {
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
switch (chrome::GetChannel()) {
-@@ -52,7 +52,7 @@ views::NativeWidget* ChromeViewsDelegate::CreateNative
- return ::CreateNativeWidget(native_widget_type, params, delegate);
+@@ -80,7 +80,7 @@ views::NativeWidget* ChromeViewsDelegate::CreateNative
+ delegate);
}
-#if BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc
new file mode 100644
index 000000000000..7ddc659ec73a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/compose/compose_dialog_view.cc.orig 2025-01-15 09:18:26 UTC
++++ chrome/browser/ui/views/compose/compose_dialog_view.cc
+@@ -160,7 +160,7 @@ void ComposeDialogView::OnBeforeBubbleWidgetInit(
+ views::Widget::InitParams* params,
+ views::Widget* widget) const {
+ WebUIBubbleDialogView::OnBeforeBubbleWidgetInit(params, widget);
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // In linux, windows 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/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc
deleted file mode 100644
index 55cbb146ad8b..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/views/download/download_item_view.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/ui/views/download/download_item_view.cc
-@@ -188,7 +188,7 @@ bool UseNewWarnings() {
- }
-
- int GetFilenameStyle(const views::Label& label) {
--#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
-+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
- if (UseNewWarnings())
- return STYLE_EMPHASIZED;
- #endif
-@@ -196,7 +196,7 @@ int GetFilenameStyle(const views::Label& label) {
- }
-
- int GetFilenameStyle(const views::StyledLabel& label) {
--#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
-+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
- if (UseNewWarnings())
- return STYLE_EMPHASIZED;
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc
deleted file mode 100644
index 392853ba8894..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc.orig 2022-04-21 18:48:31 UTC
-+++ chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc
-@@ -157,7 +157,7 @@ EyeDropperView::EyeDropperView(content::RenderFrameHos
- // EyeDropper/WidgetDelegate.
- set_owned_by_client();
- SetPreferredSize(GetSize());
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Use TYPE_MENU for Linux to ensure that the eye dropper view is displayed
- // above the color picker.
- views::Widget::InitParams params(views::Widget::InitParams::TYPE_MENU);
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc b/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc
deleted file mode 100644
index 1ef2802c3c51..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc
-@@ -86,7 +86,7 @@ void EyeDropperView::MoveViewToFront() {
- }
-
- void EyeDropperView::CaptureInputIfNeeded() {
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // The eye dropper needs to capture input since it is not activated
- // in order to avoid dismissing the color picker.
- GetWidget()->GetNativeWindow()->SetCapture();
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc b/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc
deleted file mode 100644
index b48887d90b38..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/views/first_run_dialog.cc.orig 2022-06-17 14:20:10 UTC
-+++ chrome/browser/ui/views/first_run_dialog.cc
-@@ -34,7 +34,7 @@
-
- namespace {
-
--#if !BUILDFLAG(IS_MAC)
-+#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
- void InitCrashReporterIfEnabled(bool enabled) {
- if (!crash_reporter::IsCrashpadEnabled() && enabled)
- breakpad::InitCrashReporter(std::string());
-@@ -122,7 +122,7 @@ bool FirstRunDialog::Accept() {
-
- #if BUILDFLAG(IS_MAC)
- ChangeMetricsReportingState(report_crashes_->GetChecked());
--#else
-+#elif !BUILDFLAG(IS_BSD)
- ChangeMetricsReportingStateWithReply(
- report_crashes_->GetChecked(),
- base::BindOnce(&InitCrashReporterIfEnabled));
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
index 8383d8d732f7..7ee2e75debdd 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
@@ -1,52 +1,56 @@
---- chrome/browser/ui/views/frame/browser_frame.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/ui/views/frame/browser_frame.cc
-@@ -49,11 +49,11 @@
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- #include "ui/display/screen.h"
+@@ -52,7 +52,7 @@
+ #include "ui/aura/window.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/views/linux_ui/linux_ui.h"
+ #include "ui/display/screen.h"
+ #include "ui/linux/linux_ui.h"
#endif
+@@ -87,7 +87,7 @@ class ThemeChangedObserver : public views::WidgetObser
+ };
-@@ -62,7 +62,7 @@ namespace {
- bool IsUsingGtkTheme(Profile* profile) {
- // 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 IsUsingLinuxSystemTheme(Profile* profile) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme();
#else
return false;
-@@ -277,7 +277,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() {
+@@ -185,7 +185,7 @@ void BrowserFrame::InitBrowserFrame() {
+
+ Init(std::move(params));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ SelectNativeTheme();
+ #else
+ SetNativeTheme(ui::NativeTheme::GetInstanceForNativeUi());
+@@ -371,7 +371,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() {
+ chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace());
+ chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(),
IsVisibleOnAllWorkspaces());
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// If the window was sent to a different workspace, prioritize it if
// it was sent to the current workspace and deprioritize it
// otherwise. This is done by MoveBrowsersInWorkspaceToFront()
-@@ -398,7 +398,7 @@ void BrowserFrame::SelectNativeTheme() {
- return;
- }
+@@ -569,7 +569,7 @@ void BrowserFrame::OnMenuClosed() {
+ }
+ void BrowserFrame::SelectNativeTheme() {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- const views::LinuxUI* linux_ui = views::LinuxUI::instance();
- // Ignore GTK+ for web apps with window-controls-overlay as the
- // display_override so the web contents can blend with the overlay by using
-@@ -417,7 +417,7 @@ bool BrowserFrame::RegenerateFrameOnThemeChange(
+ // Use the regular NativeTheme instance if running incognito mode, regardless
+ // of system theme (gtk, qt etc).
+ ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi();
+@@ -610,7 +610,7 @@ void BrowserFrame::OnTouchUiChanged() {
+ bool BrowserFrame::RegenerateFrameOnThemeChange(
+ BrowserThemeChangeType theme_change_type) {
bool need_regenerate = false;
- // 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)
- // GTK and user theme changes can both change frame buttons, so the frame
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // System and user theme changes can both change frame buttons, so the frame
// always needs to be regenerated on Linux.
need_regenerate = true;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.h
new file mode 100644
index 000000000000..7240c51b69fa
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.h
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/frame/browser_frame.h.orig 2025-01-15 09:18:26 UTC
++++ chrome/browser/ui/views/frame/browser_frame.h
+@@ -66,7 +66,7 @@ class BrowserFrame : public views::Widget, public view
+
+ ~BrowserFrame() override;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Returns whether the frame is in a tiled state.
+ bool tiled() const { return tiled_; }
+ void set_tiled(bool tiled) { tiled_ = tiled; }
+@@ -227,7 +227,7 @@ class BrowserFrame : public views::Widget, public view
+ // contents for smoother dragging.
+ TabDragKind tab_drag_kind_ = TabDragKind::kNone;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool tiled_ = false;
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc
new file mode 100644
index 000000000000..c46c8487e59d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc
+@@ -55,7 +55,7 @@ gfx::Insets BrowserFrameViewLayoutLinux::RestoredFrame
+ OpaqueBrowserFrameViewLayout::RestoredFrameBorderInsets());
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const bool tiled = delegate_->IsTiled();
+ #else
+ const bool tiled = false;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc
new file mode 100644
index 000000000000..f465004df8cd
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.cc
+@@ -18,7 +18,7 @@ BrowserFrameViewLayoutLinuxNative::~BrowserFrameViewLa
+
+ ui::WindowFrameProvider* BrowserFrameViewLayoutLinuxNative::GetFrameProvider()
+ const {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const bool tiled = delegate_->IsTiled();
+ const bool maximized = delegate_->IsMaximized();
+ #else
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc
new file mode 100644
index 000000000000..29bf06a735bf
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/frame/browser_frame_view_linux.cc.orig 2024-11-14 07:57:23 UTC
++++ chrome/browser/ui/views/frame/browser_frame_view_linux.cc
+@@ -70,7 +70,7 @@ gfx::ShadowValues BrowserFrameViewLinux::GetShadowValu
+
+ void BrowserFrameViewLinux::PaintRestoredFrameBorder(
+ gfx::Canvas* canvas) const {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const bool tiled = frame()->tiled();
+ #else
+ const bool tiled = false;
+@@ -125,7 +125,7 @@ int BrowserFrameViewLinux::NonClientHitTest(const gfx:
+ }
+
+ float BrowserFrameViewLinux::GetRestoredCornerRadiusDip() const {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const bool tiled = frame()->tiled();
+ #else
+ const bool tiled = false;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc
index acec7ddb493f..0280c3d311eb 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc
@@ -1,20 +1,29 @@
---- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc
@@ -15,7 +15,7 @@
- #include "chrome/browser/ui/views/frame/glass_browser_frame_view.h"
+ #include "chrome/browser/ui/views/frame/browser_frame_view_win.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux.h"
#include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.h"
- #include "chrome/browser/ui/views/frame/browser_frame_view_linux.h"
+ #include "chrome/browser/ui/views/frame/browser_frame_view_linux_native.h"
@@ -33,7 +33,7 @@ namespace {
std::unique_ptr<OpaqueBrowserFrameView> CreateOpaqueBrowserFrameView(
BrowserFrame* frame,
BrowserView* browser_view) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- auto* linux_ui = views::LinuxUI::instance();
auto* profile = browser_view->browser()->profile();
+ auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile);
auto* theme_service_factory = ThemeServiceFactory::GetForProfile(profile);
+@@ -83,7 +83,7 @@ std::unique_ptr<BrowserNonClientFrameView> CreateBrows
+ BrowserFrame* frame,
+ BrowserView* browser_view) {
+ if (browser_view->browser()->is_type_picture_in_picture()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return std::make_unique<PictureInPictureBrowserFrameViewLinux>(
+ frame, browser_view);
+ #else
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
index 4a671eea4f4c..7897da458f14 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
@@ -1,11 +1,20 @@
---- chrome/browser/ui/views/frame/browser_view.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/views/frame/browser_view.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/views/frame/browser_view.cc
-@@ -1968,7 +1968,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra
- // CrOS cleanup is done.
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- contents_web_view_->SetFastResize(is_dragging);
- if (!is_dragging) {
- // When tab dragging is ended, we need to make sure the web contents get
+@@ -2740,7 +2740,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating
+ }
+
+ void BrowserView::TabDraggingStatusChanged(bool is_dragging) {
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ GetContentsWebView()->SetFastResize(is_dragging);
+ if (multi_contents_view_) {
+ multi_contents_view_->GetInactiveContentsView()->SetFastResize(is_dragging);
+@@ -6044,7 +6044,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() {
+ }
+
+ void BrowserView::MaybeShowSupervisedUserProfileSignInIPH() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!ShouldShowAvatarToolbarIPH()) {
+ return;
+ }
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
index 9e2f319ba90e..cea54b3aa06f 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2025-02-19 07:43:18 UTC
+++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
-@@ -53,7 +53,7 @@
+@@ -54,7 +54,7 @@
#include "ui/views/window/vector_icons/vector_icons.h"
#include "ui/views/window/window_shape.h"
@@ -9,16 +9,25 @@
#include "ui/views/controls/menu/menu_runner.h"
#endif
-@@ -542,7 +542,7 @@ OpaqueBrowserFrameView::FrameButtonStyle
+@@ -572,7 +572,7 @@ bool OpaqueBrowserFrameView::EverHasVisibleBackgroundT
+
+ OpaqueBrowserFrameView::FrameButtonStyle
OpaqueBrowserFrameView::GetFrameButtonStyle() const {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return FrameButtonStyle::kMdButton;
#else
return FrameButtonStyle::kImageButton;
-@@ -752,7 +752,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons
+@@ -591,7 +591,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh
+ return false;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool OpaqueBrowserFrameView::IsTiled() const {
+ return frame()->tiled();
+ }
+@@ -794,7 +794,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons
}
void OpaqueBrowserFrameView::WindowIconPressed() {
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h
index 83585943ccc7..416d29c93ad9 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h
@@ -1,6 +1,15 @@
---- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2025-01-15 09:18:26 UTC
+++ chrome/browser/ui/views/frame/opaque_browser_frame_view.h
-@@ -224,7 +224,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient
+@@ -110,7 +110,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient
+ FrameButtonStyle GetFrameButtonStyle() const override;
+ void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override;
+ bool ShouldDrawRestoredFrameShadow() const override;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool IsTiled() const override;
+ #endif
+ int WebAppButtonHeight() const override;
+@@ -227,7 +227,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient
// Background painter for the window frame.
std::unique_ptr<views::FrameBackground> frame_background_;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h
new file mode 100644
index 000000000000..be72ed0bfb28
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2025-01-15 09:18:26 UTC
++++ chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h
+@@ -9,7 +9,7 @@
+
+ #include "build/build_config.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/base/ui_base_types.h"
+ #endif
+
+@@ -92,7 +92,7 @@ class OpaqueBrowserFrameViewLayoutDelegate {
+ // Returns true if a client-side shadow should be drawn for restored windows.
+ virtual bool ShouldDrawRestoredFrameShadow() const = 0;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Returns whether the window is in a tiled state.
+ virtual bool IsTiled() const = 0;
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc
new file mode 100644
index 000000000000..1def07674bef
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc
+@@ -67,7 +67,7 @@
+
+ // Windows, Mac and CrOS do not clip child widgets to their parents, so we
+ // don't have to worry about resizing quite as much.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #define PLATFORM_CLIPS_CHILD_WINDOWS
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
index 9934192460ee..ba4a03c3d96b 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
@@ -1,29 +1,29 @@
---- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/ui/views/frame/system_menu_model_builder.cc
-@@ -76,7 +76,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser
+@@ -75,7 +75,7 @@ void SystemMenuModelBuilder::BuildMenu(ui::SimpleMenuM
+
+ void SystemMenuModelBuilder::BuildSystemMenuForBrowserWindow(
ui::SimpleMenuModel* model) {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
model->AddItemWithStringId(IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU);
model->AddItemWithStringId(IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU);
model->AddItemWithStringId(IDC_RESTORE_WINDOW, IDS_RESTORE_WINDOW_MENU);
-@@ -92,7 +92,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser
+@@ -101,7 +101,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser
+ model->AddSeparator(ui::NORMAL_SEPARATOR);
+ model->AddItemWithStringId(IDC_TASK_MANAGER_CONTEXT_MENU, IDS_TASK_MANAGER);
}
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
model->AddSeparator(ui::NORMAL_SEPARATOR);
bool supports_server_side_decorations = true;
- #if defined(USE_OZONE) && !BUILDFLAG(IS_CHROMEOS)
-@@ -146,7 +146,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo
+ #if BUILDFLAG(IS_OZONE) && !BUILDFLAG(IS_CHROMEOS)
+@@ -175,7 +175,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo
+ model->AddSeparator(ui::NORMAL_SEPARATOR);
+ model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER);
}
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
model->AddSeparator(ui::NORMAL_SEPARATOR);
model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE);
#endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
index f53f1ecaf5b6..28da5e167084 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
@@ -1,29 +1,29 @@
---- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc
-@@ -23,7 +23,7 @@
+@@ -20,7 +20,7 @@
+ #include "chromeos/ui/frame/desks/move_to_desks_menu_model.h"
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_service.h"
#endif
-@@ -40,7 +40,7 @@ SystemMenuModelDelegate::~SystemMenuModelDelegate() {}
+@@ -39,7 +39,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate(
+ SystemMenuModelDelegate::~SystemMenuModelDelegate() = default;
+
bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (command_id == IDC_USE_SYSTEM_TITLE_BAR) {
PrefService* prefs = browser_->profile()->GetPrefs();
return !prefs->GetBoolean(prefs::kUseCustomChromeFrame);
-@@ -62,7 +62,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c
+@@ -65,7 +65,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c
+ }
+
bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
bool is_maximized = browser_->window()->IsMaximized();
switch (command_id) {
case IDC_MAXIMIZE_WINDOW:
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc
new file mode 100644
index 000000000000..3a485c613160
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/frame/tab_strip_region_view.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/ui/views/frame/tab_strip_region_view.cc
+@@ -222,7 +222,7 @@ TabStripRegionView::TabStripRegionView(std::unique_ptr
+ new_tab_button_->GetViewAccessibility().SetName(
+ l10n_util::GetStringUTF16(IDS_ACCNAME_NEWTAB));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // The New Tab Button can be middle-clicked on Linux.
+ new_tab_button_->SetTriggerableEventFlags(
+ new_tab_button_->GetTriggerableEventFlags() |
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
index 7697ffc30943..ecb6392296d2 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/hung_renderer_view.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/views/hung_renderer_view.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/ui/views/hung_renderer_view.cc
-@@ -401,7 +401,7 @@ void HungRendererDialogView::ForceCrashHungRenderer()
+@@ -452,7 +452,7 @@ void HungRendererDialogView::ForceCrashHungRenderer()
content::RenderProcessHost* rph =
hung_pages_table_model_->GetRenderWidgetHost()->GetProcess();
if (rph) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_new__tab__footer_footer__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_new__tab__footer_footer__controller.cc
new file mode 100644
index 000000000000..dca33b2f538a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_new__tab__footer_footer__controller.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/new_tab_footer/footer_controller.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/new_tab_footer/footer_controller.cc
+@@ -55,7 +55,7 @@ NewTabFooterController::NewTabFooterController(Browser
+ base::BindRepeating(&NewTabFooterController::UpdateFooterVisibility,
+ weak_factory_.GetWeakPtr(),
+ /*log_on_load_metric=*/false));
+-#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_pref_change_registrar_.Init(g_browser_process->local_state());
+ local_state_pref_change_registrar_.Add(
+ prefs::kNTPFooterManagementNoticeEnabled,
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc
new file mode 100644
index 000000000000..789ef71b5c88
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/omnibox/omnibox_view_views.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/omnibox/omnibox_view_views.cc
+@@ -2175,7 +2175,7 @@ void OmniboxViewViews::MaybeAddSendTabToSelfItem(
+ }
+
+ void OmniboxViewViews::OnPopupOpened() {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // It's not great for promos to overlap the omnibox if the user opens the
+ // drop-down after showing the promo. This especially causes issues on Mac and
+ // Linux due to z-order/rendering issues, see crbug.com/1225046 and
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc b/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc
new file mode 100644
index 000000000000..957a08920b46
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/ui/views/passwords/password_bubble_view_base.cc
+@@ -42,7 +42,7 @@
+ #include "ui/base/metadata/metadata_impl_macros.h"
+ #include "ui/views/controls/button/button.h"
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/views/passwords/password_relaunch_chrome_view.h"
+ #endif
+
+@@ -175,7 +175,7 @@ PasswordBubbleViewBase* PasswordBubbleViewBase::Create
+ } else if (model_state ==
+ password_manager::ui::NOTIFY_RECEIVED_SHARED_CREDENTIALS) {
+ view = new SharedPasswordsNotificationView(web_contents, anchor_view);
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ } else if (model_state == password_manager::ui::KEYCHAIN_ERROR_STATE) {
+ view = new RelaunchChromeView(
+ web_contents, anchor_view,
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc
new file mode 100644
index 000000000000..76671ba6b16a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/profiles/avatar_toolbar_button.cc
+@@ -317,7 +317,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH()
+ }
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void AvatarToolbarButton::MaybeShowSupervisedUserSignInIPH() {
+ if (!base::FeatureList::IsEnabled(
+ feature_engagement::kIPHSupervisedUserProfileSigninFeature)) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h
new file mode 100644
index 000000000000..b437054a304d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/profiles/avatar_toolbar_button.h
+@@ -90,7 +90,7 @@ class AvatarToolbarButton : public ToolbarButton {
+ // Attempts showing the In-Produce-Help for profile Switching.
+ void MaybeShowProfileSwitchIPH();
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Attempts showing the In-Produce-Help when a supervised user signs-in in a
+ // profile.
+ void MaybeShowSupervisedUserSignInIPH();
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc
new file mode 100644
index 000000000000..b065e827a82a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
+@@ -46,7 +46,7 @@ void ProfileMenuCoordinator::Show(
+ browser.window()->NotifyFeaturePromoFeatureUsed(
+ feature_engagement::kIPHProfileSwitchFeature,
+ FeaturePromoFeatureUsedAction::kClosePromoIfPresent);
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ browser.window()->NotifyFeaturePromoFeatureUsed(
+ feature_engagement::kIPHSupervisedUserProfileSigninFeature,
+ FeaturePromoFeatureUsedAction::kClosePromoIfPresent);
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc
new file mode 100644
index 000000000000..1e154ec51e6d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/profiles/profile_menu_view.cc
+@@ -92,7 +92,7 @@
+ #include "ui/strings/grit/ui_strings.h"
+ #include "ui/views/accessibility/view_accessibility.h"
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
+ #endif
+
+@@ -418,7 +418,7 @@ void ProfileMenuView::OnSigninButtonClicked(
+ }
+ GetWidget()->CloseWithReason(views::Widget::ClosedReason::kUnspecified);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/404807488): Update the button and the dialog strings.
+ if (base::FeatureList::IsEnabled(switches::kEnableHistorySyncOptin)) {
+ browser()->signin_view_controller()->ShowModalHistorySyncOptInDialog();
+@@ -555,7 +555,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() {
+ case signin_util::SignedInState::kSignedOut:
+ case signin_util::SignedInState::kWebOnlySignedIn: {
+ std::string profile_user_display_name, profile_user_email;
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ profile_user_display_name = profile->GetPrefs()->GetString(
+ enterprise_signin::prefs::kProfileUserDisplayName);
+ profile_user_email = profile->GetPrefs()->GetString(
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc
index dca6a37abb19..ca5852764981 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
-@@ -606,7 +606,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo(
+@@ -464,7 +464,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo(
+ kIdentityImageBorder,
+ /*has_dotted_ring=*/false);
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// crbug.com/1161166: Orca does not read the accessible window title of the
// bubble, so we duplicate it in the top-level menu item. To be revisited
// after considering other options, including fixes on the AT side.
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc
new file mode 100644
index 000000000000..393855d2e4e3
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/profiles/profile_picker_view.cc
+@@ -84,7 +84,7 @@
+ #include "chrome/browser/global_keyboard_shortcuts_mac.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/shell_integration_linux.h"
+ #endif
+
+@@ -114,7 +114,7 @@ class ProfilePickerWidget : public views::Widget {
+ views::Widget::InitParams params(
+ views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET);
+ params.delegate = profile_picker_view_;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ params.wm_class_name = shell_integration_linux::GetProgramClassName();
+ params.wm_class_class = shell_integration_linux::GetProgramClassClass();
+ params.wayland_app_id = params.wm_class_class;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc
index 813a4e82c7ca..ae3cda6f09f4 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc
@@ -1,20 +1,73 @@
---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc
-@@ -140,7 +140,7 @@ SigninViewControllerDelegateViews::CreateProfileCustom
+@@ -62,14 +62,14 @@
+ #include "chrome/browser/ui/webui/signin/signout_confirmation/signout_confirmation_ui.h"
#endif // BUILDFLAG(ENABLE_DICE_SUPPORT)
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#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/ui/webui/signin/history_sync_optin/history_sync_optin_ui.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+
+ namespace {
+
+ const int kModalDialogWidth = 448;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const int kManagedUserNoticeConfirmationDialogWidth = 512;
+ const int kManagedUserNoticeConfirmationDialogHeight = 576;
+ const int kManagedUserNoticeConfirmationUpdatedDialogWidth = 780;
+@@ -138,7 +138,7 @@ SigninViewControllerDelegateViews::CreateSyncConfirmat
+ kSyncConfirmationDialogWidth, InitializeSigninWebDialogUI(true));
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<views::WebView>
+ SigninViewControllerDelegateViews::CreateHistorySyncOptInWebView(
+ Browser* browser) {
+@@ -224,7 +224,7 @@ SigninViewControllerDelegateViews::CreateSignoutConfir
+ }
+ #endif // BUILDFLAG(ENABLE_DICE_SUPPORT)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// static
std::unique_ptr<views::WebView>
- SigninViewControllerDelegateViews::CreateEnterpriseConfirmationWebView(
-@@ -419,7 +419,7 @@ SigninViewControllerDelegate::CreateProfileCustomizati
+ SigninViewControllerDelegateViews::CreateManagedUserNoticeConfirmationWebView(
+@@ -409,7 +409,7 @@ SigninViewControllerDelegateViews::SigninViewControlle
+
+ SetButtons(static_cast<int>(ui::mojom::DialogButton::kNone));
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On the local profile creation dialog, cancelling the dialog (for instance
+ // through the VKEY_ESCAPE accelerator) should delete the profile.
+ if (delete_profile_on_cancel) {
+@@ -501,7 +501,7 @@ void SigninViewControllerDelegateViews::DisplayModal()
+ content_view_->RequestFocus();
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void SigninViewControllerDelegateViews::DeleteProfileOnCancel() {
+ ProfileAttributesEntry* entry =
+ g_browser_process->profile_manager()
+@@ -541,7 +541,7 @@ SigninViewControllerDelegate::CreateSyncConfirmationDe
+ /*animate_on_resize=*/true);
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // static
+ SigninViewControllerDelegate*
+ SigninViewControllerDelegate::CreateSyncHistoryOptInDelegate(Browser* browser) {
+@@ -595,7 +595,7 @@ SigninViewControllerDelegate::CreateSignoutConfirmatio
+ }
#endif // BUILDFLAG(ENABLE_DICE_SUPPORT)
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// static
SigninViewControllerDelegate*
- SigninViewControllerDelegate::CreateEnterpriseConfirmationDelegate(
+ SigninViewControllerDelegate::CreateManagedUserNoticeDelegate(
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h
index 3cdb605a96fe..4148b24bc48d 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h
+++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h
@@ -1,11 +1,29 @@
---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h
-@@ -72,7 +72,7 @@ class SigninViewControllerDelegateViews
+@@ -57,7 +57,7 @@ class SigninViewControllerDelegateViews
+ SyncConfirmationStyle style,
+ bool is_sync_promo);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ static std::unique_ptr<views::WebView> CreateHistorySyncOptInWebView(
+ Browser* browser);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+@@ -78,7 +78,7 @@ class SigninViewControllerDelegateViews
+ SignoutConfirmationCallback callback);
#endif // BUILDFLAG(ENABLE_DICE_SUPPORT)
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- static std::unique_ptr<views::WebView> CreateEnterpriseConfirmationWebView(
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ static std::unique_ptr<views::WebView>
+ CreateManagedUserNoticeConfirmationWebView(
Browser* browser,
- const AccountInfo& account_info,
+@@ -149,7 +149,7 @@ class SigninViewControllerDelegateViews
+ std::optional<int> dialog_width,
+ InitializeSigninWebDialogUI initialize_signin_web_dialog_ui);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Deletes the ephemeral profile when cancelling the local profile creation
+ // dialog.
+ void DeleteProfileOnCancel();
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc
new file mode 100644
index 000000000000..7b05a8019709
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc
@@ -0,0 +1,47 @@
+--- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc
+@@ -193,7 +193,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() {
+
+ void UpdateSystemDnDDragImage(TabDragContext* attached_context,
+ const gfx::ImageSkia& image) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ VLOG(1) << __func__ << " image size=" << image.size().ToString();
+ aura::Window* root_window =
+ attached_context->GetWidget()->GetNativeWindow()->GetRootWindow();
+@@ -384,7 +384,7 @@ TabDragController::Liveness TabDragController::Init(
+ // synchronous on desktop Linux, so use that.
+ // - ChromeOS Ash
+ // Releasing capture on Ash cancels gestures so avoid it.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ ref->can_release_capture_ = false;
+ #endif
+ ref->start_point_in_screen_ =
+@@ -892,7 +892,7 @@ TabDragController::Liveness TabDragController::DragBro
+ CHECK_EQ(SetCapture(target_context), Liveness::ALIVE);
+ }
+
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ // EndMoveLoop is going to snap the window back to its original location.
+ // Hide it so users don't see this. Hiding a window in Linux aura causes
+ // it to lose capture so skip it.
+@@ -2024,7 +2024,7 @@ void TabDragController::CompleteDrag() {
+ }
+
+ // If source window was maximized - maximize the new window as well.
+-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC)
++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
+ // Keeping maximized state breaks snap to Grid on Windows when dragging
+ // tabs from maximized windows. TODO:(crbug.com/727051) Explore doing this
+ // for other desktop OS's. kMaximizedStateRetainedOnTabDrag in
+@@ -2441,7 +2441,7 @@ TabDragController::Liveness TabDragController::GetLoca
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Exclude windows which are pending deletion via Browser::TabStripEmpty().
+ // These windows can be returned in the Linux Aura port because the browser
+ // window which was used for dragging is not hidden once all of its tabs are
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc
deleted file mode 100644
index 2edc92cd28d5..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/tabs/new_tab_button.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/browser/ui/views/tabs/new_tab_button.cc
-@@ -59,7 +59,7 @@ NewTabButton::NewTabButton(TabStrip* tab_strip, Presse
- SetAnimateOnStateChange(true);
- // 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)
- SetTriggerableEventFlags(GetTriggerableEventFlags() |
- ui::EF_MIDDLE_MOUSE_BUTTON);
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc
index af33ce6bf360..6ba6877a4874 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/views/tabs/tab.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/ui/views/tabs/tab.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/browser/ui/views/tabs/tab.cc
-@@ -582,7 +582,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent&
- if (mouse_hovered_ || !GetWidget()->IsMouseEventsEnabled())
+@@ -644,7 +644,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent&
return;
+ }
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Move the hit test area for hovering up so that it is not overlapped by tab
// hover cards when they are shown.
- // TODO(crbug.com/978134): Once Linux/CrOS widget transparency is solved,
+ // TODO(crbug.com/41467565): Once Linux/CrOS widget transparency is solved,
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
deleted file mode 100644
index 7ef6da7a9116..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/ui/views/tabs/tab_drag_controller.cc
-@@ -480,7 +480,7 @@ void TabDragController::Init(TabDragContext* source_co
- // synchronous on desktop Linux, so use that.
- // - Chrome OS
- // Releasing capture on Ash cancels gestures so avoid it.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- can_release_capture_ = false;
- #endif
- start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y());
-@@ -1023,7 +1023,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- // EndMoveLoop is going to snap the window back to its original location.
- // Hide it so users don't see this. Hiding a window in Linux aura causes
- // it to lose capture so skip it.
-@@ -1979,7 +1979,7 @@ void TabDragController::CompleteDrag() {
- }
-
- // If source window was maximized - maximize the new window as well.
--#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC)
-+#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
- // Keeping maximized state breaks snap to Grid on Windows when dragging
- // tabs from maximized windows. TODO:(crbug.com/727051) Explore doing this
- // for other desktop OS's. kMaximizedStateRetainedOnTabDrag in
-@@ -2375,7 +2375,7 @@ TabDragController::Liveness TabDragController::GetLoca
- }
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- // Exclude windows which are pending deletion via Browser::TabStripEmpty().
- // These windows can be returned in the Linux Aura port because the browser
- // window which was used for dragging is not hidden once all of its tabs are
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc
new file mode 100644
index 000000000000..3137975c2d68
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc
+@@ -380,7 +380,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView(Tab* ta
+ // not become active. Setting this to false creates the need to explicitly
+ // hide the hovercard on press, touch, and keyboard events.
+ SetCanActivate(false);
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ set_accept_events(false);
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc
deleted file mode 100644
index 6b60931ed6e5..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/tabs/tab_hover_card_controller.cc.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/ui/views/tabs/tab_hover_card_controller.cc
-@@ -71,7 +71,7 @@ GetMemoryPressureOverride() {
- // Fetches the Omnibox drop-down widget, or returns null if the drop-down is
- // not visible.
- void FixWidgetStackOrder(views::Widget* widget, const Browser* browser) {
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Ensure the hover card Widget assumes the highest z-order to avoid occlusion
- // by other secondary UI Widgets (such as the omnibox Widget, see
- // crbug.com/1226536).
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc
new file mode 100644
index 000000000000..a40b3a551ca8
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/tabs/tab_strip_combo_button.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/tabs/tab_strip_combo_button.cc
+@@ -94,7 +94,7 @@ TabStripComboButton::TabStripComboButton(BrowserWindow
+ base::BindRepeating(&TabStripComboButton::OnNewTabButtonStateChanged,
+ base::Unretained(this))));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // The New Tab Button can be middle-clicked on Linux.
+ new_tab_button->SetTriggerableEventFlags(
+ new_tab_button->GetTriggerableEventFlags() | ui::EF_MIDDLE_MOUSE_BUTTON);
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc
new file mode 100644
index 000000000000..80f8ce5107db
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/tabs/tab_style_views.cc
+@@ -573,7 +573,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con
+ if (!IsHoverAnimationActive()) {
+ return base_opacity;
+ }
+- return std::lerp(base_opacity, GetHoverOpacity(), GetHoverAnimationValue());
++ return std::lerp(base_opacity, GetHoverOpacity(), static_cast<float>(GetHoverAnimationValue()));
+ }
+
+ TabActive TabStyleViewsImpl::GetApparentActiveState() const {
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc
new file mode 100644
index 000000000000..ec0d38e359dc
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/task_manager_search_bar_view.cc.orig 2025-02-19 07:43:18 UTC
++++ chrome/browser/ui/views/task_manager_search_bar_view.cc
+@@ -27,7 +27,7 @@ TaskManagerSearchBarView::TaskManagerSearchBarView(
+ const gfx::Insets& margins,
+ Delegate& delegate)
+ : delegate_(delegate)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ,
+ textfield_placeholder_color_id_(kColorTaskManagerSearchBarPlaceholderText)
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc
new file mode 100644
index 000000000000..f607ad0ca066
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/user_education/browser_user_education_service.cc
+@@ -1059,7 +1059,7 @@ void MaybeRegisterChromeFeaturePromos(
+ "Triggered when a shared tab becomes the active tab.")));
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // kIPHSupervisedUserProfileSigninFeature
+ registry.RegisterFeature(std::move(
+ FeaturePromoSpecification::CreateForCustomAction(
+@@ -1317,7 +1317,7 @@ void MaybeRegisterChromeFeaturePromos(
+ "Triggered to inform users of the availability of the "
+ "new translate screen feature on the Lens Overlay.")));
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // kIPHDesktopPWAsLinkCapturingLaunch:
+ registry.RegisterFeature(std::move(
+ FeaturePromoSpecification::CreateForCustomAction(
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc
new file mode 100644
index 000000000000..ba7968b3da66
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc
@@ -0,0 +1,83 @@
+--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc
+@@ -511,7 +511,7 @@ std::string GetFileExtension(FileExtension file_extens
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ SiteConfig GetSiteConfigurationFromAppName(const std::string& app_name) {
+ SiteConfig config;
+ bool is_app_found = false;
+@@ -2069,7 +2069,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc
+ if (app_name.empty()) {
+ app_name = GetSiteConfiguration(site).app_name;
+ }
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ASSERT_TRUE(override_registration_->test_override().IsShortcutCreated(
+ profile(), app_id, app_name));
+ ASSERT_TRUE(
+@@ -3389,7 +3389,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna
+ app_state->id, app_state->name);
+ ASSERT_TRUE(icon_color.has_value());
+ ASSERT_THAT(site_config.icon_color, testing::Eq(icon_color.value()));
+-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ASSERT_TRUE(override_registration_->test_override().IsRunOnOsLoginEnabled(
+ profile(), app_state->id, app_state->name));
+ #endif
+@@ -3404,7 +3404,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis
+ GetAppBySiteMode(after_state_change_action_state_.get(), profile(), site);
+ ASSERT_TRUE(app_state);
+ base::ScopedAllowBlockingForTesting allow_blocking;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ASSERT_FALSE(override_registration_->test_override().IsRunOnOsLoginEnabled(
+ profile(), app_state->id, app_state->name));
+ #endif
+@@ -3414,7 +3414,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis
+ void WebAppIntegrationTestDriver::CheckSiteHandlesFile(
+ Site site,
+ FileExtension file_extension) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!BeforeStateCheckAction(__FUNCTION__)) {
+ return;
+ }
+@@ -3430,7 +3430,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile
+ void WebAppIntegrationTestDriver::CheckSiteNotHandlesFile(
+ Site site,
+ FileExtension file_extension) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!BeforeStateCheckAction(__FUNCTION__)) {
+ return;
+ }
+@@ -4255,7 +4255,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu
+ base::FilePath shortcut_dir,
+ const std::string& app_name,
+ const webapps::AppId& app_id) {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return override_registration_->test_override().GetShortcutPath(
+ profile(), shortcut_dir, app_id, app_name);
+ #else
+@@ -4455,7 +4455,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre
+ const webapps::AppId& id) {
+ base::ScopedAllowBlockingForTesting allow_blocking;
+ bool is_shortcut_and_icon_correct = false;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool is_shortcut_correct =
+ override_registration_->test_override().IsShortcutCreated(profile, id,
+ name);
+@@ -4499,7 +4499,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr
+ do_icon_colors_match =
+ (expected_icon_pixel_color == shortcut_pixel_color_apps_folder.value());
+ }
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ SkColor expected_icon_pixel_color =
+ GetSiteConfigurationFromAppName(name).icon_color;
+ std::optional<SkColor> actual_color_install_icon_size =
diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc b/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc
deleted file mode 100644
index 06b162d7df10..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/web_applications/app_browser_controller.cc.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/ui/web_applications/app_browser_controller.cc
-@@ -385,7 +385,7 @@ CustomThemeSupplier* AppBrowserController::GetThemeSup
- }
-
- bool AppBrowserController::ShouldUseSystemTheme() const {
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return browser_->profile()->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme);
- #else
- return false;
-@@ -393,7 +393,7 @@ bool AppBrowserController::ShouldUseSystemTheme() cons
- }
-
- bool AppBrowserController::ShouldUseCustomFrame() const {
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return browser_->profile()->GetPrefs()->GetBoolean(
- prefs::kUseCustomChromeFrame);
- #else
diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h
new file mode 100644
index 000000000000..8ad9eeb10923
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/web_applications/web_app_dialogs.h.orig 2025-01-15 09:18:26 UTC
++++ chrome/browser/ui/web_applications/web_app_dialogs.h
+@@ -21,7 +21,7 @@
+ #include "ui/gfx/native_widget_types.h"
+
+ static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+- BUILDFLAG(IS_CHROMEOS));
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD));
+
+ class GURL;
+ class Profile;
diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc
new file mode 100644
index 000000000000..18054983ad6b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc
+@@ -531,7 +531,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun
+ Browser* browser,
+ Profile* profile,
+ const std::string& app_id) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ WebAppProvider* provider = WebAppProvider::GetForWebApps(profile);
+ CHECK(provider);
+
+@@ -760,7 +760,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded(
+ }
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ const base::Feature& GetPromoFeatureEngagementFromBrowser(
+ const Browser* browser) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h
new file mode 100644
index 000000000000..abfdb47b38af
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.h
+@@ -231,7 +231,7 @@ class WebAppUiManagerImpl : public BrowserListObserver
+ UninstallCompleteCallback uninstall_complete_callback,
+ webapps::UninstallResultCode uninstall_code);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void ShowIPHPromoForAppsLaunchedViaLinkCapturing(const Browser* browser,
+ const webapps::AppId& app_id,
+ bool is_activated);
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc
deleted file mode 100644
index a323b2fda89f..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/webui/about_ui.cc.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/ui/webui/about_ui.cc
-@@ -622,7 +622,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,
-@@ -680,7 +680,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/chromium/files/patch-chrome_browser_ui_webui_about_about__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_about_about__ui.cc
new file mode 100644
index 000000000000..d192a16ffb1f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_about_about__ui.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/webui/about/about_ui.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/about/about_ui.cc
+@@ -416,7 +416,7 @@ using about_ui::AppendHeader;
+
+ namespace {
+
+-#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,
+@@ -446,7 +446,7 @@ TermsUIConfig::TermsUIConfig()
+ : AboutUIConfigBase(chrome::kChromeUITermsHost) {}
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ LinuxProxyConfigUI::LinuxProxyConfigUI()
+ : AboutUIConfigBase(chrome::kChromeUILinuxProxyConfigHost) {}
+ #endif
+@@ -496,7 +496,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/chromium/files/patch-chrome_browser_ui_webui_about_about__ui.h b/www/chromium/files/patch-chrome_browser_ui_webui_about_about__ui.h
new file mode 100644
index 000000000000..b51fd5a256b1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_about_about__ui.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/about/about_ui.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/about/about_ui.h
+@@ -43,7 +43,7 @@ class TermsUIConfig : public AboutUIConfigBase {
+ };
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // chrome://linux-proxy-config
+ class LinuxProxyConfigUI : public AboutUIConfigBase {
+ public:
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc
new file mode 100644
index 000000000000..97d2237b14cf
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/app_home/app_home_page_handler.cc
+@@ -62,7 +62,7 @@
+ #include "ui/base/window_open_disposition_utils.h"
+ #include "url/gurl.h"
+
+-static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX));
++static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD));
+
+ using content::WebUI;
+ using extensions::Extension;
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h
new file mode 100644
index 000000000000..681645e54952
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/app_home/app_home_page_handler.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/app_home/app_home_page_handler.h
+@@ -23,7 +23,7 @@
+ #include "mojo/public/cpp/bindings/receiver.h"
+ #include "mojo/public/cpp/bindings/remote.h"
+
+-static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX));
++static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD));
+
+ class Browser;
+ class ExtensionEnableFlow;
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_app__settings_web__app__settings__ui.h b/www/chromium/files/patch-chrome_browser_ui_webui_app__settings_web__app__settings__ui.h
new file mode 100644
index 000000000000..c9a6b86f7715
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_app__settings_web__app__settings__ui.h
@@ -0,0 +1,18 @@
+--- chrome/browser/ui/webui/app_settings/web_app_settings_ui.h.orig 2024-11-14 07:57:23 UTC
++++ chrome/browser/ui/webui/app_settings/web_app_settings_ui.h
+@@ -14,13 +14,13 @@
+ #include "ui/webui/mojo_web_ui_controller.h"
+ #include "ui/webui/resources/cr_components/app_management/app_management.mojom-forward.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 "chrome/common/webui_url_constants.h"
+ #include "content/public/browser/webui_config.h"
+ #include "content/public/common/url_constants.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class WebAppSettingsUI;
+
+ class WebAppSettingsUIConfig
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc
new file mode 100644
index 000000000000..33b4bd9f04ea
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.cc
+@@ -221,7 +221,7 @@ CertificateManagerPageHandler::GetCertSource(
+ CERTIFICATE_TRUST_TYPE_DISTRUSTED,
+ profile_, &remote_client_);
+ break;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ case certificate_manager_v2::mojom::CertificateSource::
+ kProvisionedClientCert:
+ source_ptr = CreateProvisionedClientCertSource(profile_);
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc
new file mode 100644
index 000000000000..7aaf7b187f85
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc
@@ -0,0 +1,65 @@
+--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc
+@@ -54,7 +54,7 @@
+ #include "net/ssl/client_cert_store_mac.h"
+ #endif // BUILDFLAG(IS_MAC)
+
+-#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/browser_process.h"
+ #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h"
+ #include "chrome/browser/policy/chrome_browser_policy_connector.h"
+@@ -177,7 +177,7 @@ class ClientCertStoreFactoryMac : public ClientCertSto
+ };
+ #endif
+
+-#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ std::unique_ptr<ClientCertStoreLoader> CreatePlatformClientCertLoader(
+ Profile* profile) {
+ #if BUILDFLAG(IS_WIN)
+@@ -192,7 +192,7 @@ std::unique_ptr<ClientCertStoreLoader> CreatePlatformC
+ }
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // ClientCertStore implementation that always returns an empty list. The
+ // CertificateProvisioningService implementation expects to wrap a platform
+ // cert store, but here we only want to get results from the provisioning
+@@ -368,7 +368,7 @@ class ClientCertSource : public CertificateManagerPage
+ std::optional<net::CertificateList> certs_;
+ };
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // ChromeOS currently can use either Kcer or NSS for listing client certs, and
+ // Linux uses NSS only. This interface provides an abstraction to hide that
+ // from WritableClientCertSource. Currently this class only handles reading
+@@ -1099,7 +1099,7 @@ CreatePlatformClientCertSource(
+ mojo::Remote<certificate_manager_v2::mojom::CertificateManagerPage>*
+ remote_client,
+ Profile* profile) {
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return std::make_unique<WritableClientCertSource>(remote_client, profile);
+ #else
+ return std::make_unique<ClientCertSource>(
+@@ -1107,7 +1107,7 @@ CreatePlatformClientCertSource(
+ #endif
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<CertificateManagerPageHandler::CertSource>
+ CreateProvisionedClientCertSource(Profile* profile) {
+ return std::make_unique<ClientCertSource>(
+@@ -1157,7 +1157,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow
+
+ return client_cert_policy_ == ClientCertificateManagementPermission::kAll;
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ClientCertManagementAccessControls::ClientCertManagementAccessControls(
+ Profile* profile) {}
+
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h
new file mode 100644
index 000000000000..7b28c8bc727e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.h.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.h
+@@ -19,7 +19,7 @@ CreatePlatformClientCertSource(
+ remote_client,
+ Profile* profile);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<CertificateManagerPageHandler::CertSource>
+ CreateProvisionedClientCertSource(Profile* profile);
+ #endif
+@@ -29,7 +29,7 @@ std::unique_ptr<CertificateManagerPageHandler::CertSou
+ CreateExtensionsClientCertSource(Profile* profile);
+ #endif
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class ClientCertManagementAccessControls {
+ public:
+ enum KeyStorage {
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc
new file mode 100644
index 000000000000..415b28486f88
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc
@@ -0,0 +1,85 @@
+--- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/chrome_web_ui_configs.cc
+@@ -148,7 +148,7 @@
+ #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h"
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h"
+ #include "chrome/browser/ui/webui/browser_switch/browser_switch_ui.h"
+ #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin_ui.h"
+@@ -156,19 +156,19 @@
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+ #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 // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
+ // BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/discards/discards_ui.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
+@@ -196,7 +196,7 @@
+ #include "chrome/browser/ui/webui/signin/signin_error_ui.h"
+ #endif // !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_ui.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -340,7 +340,7 @@ void RegisterChromeWebUIConfigs() {
+ map.AddWebUIConfig(std::make_unique<WebUIJsErrorUIConfig>());
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ map.AddWebUIConfig(std::make_unique<LinuxProxyConfigUI>());
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
+ // BUILDFLAG(IS_OPENBSD)
+@@ -370,7 +370,7 @@ void RegisterChromeWebUIConfigs() {
+ map.AddWebUIConfig(std::make_unique<ConflictsUIConfig>());
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ map.AddWebUIConfig(std::make_unique<BrowserSwitchUIConfig>());
+ map.AddWebUIConfig(std::make_unique<HistorySyncOptinUIConfig>());
+ map.AddWebUIConfig(std::make_unique<OnDeviceTranslationInternalsUIConfig>());
+@@ -379,20 +379,20 @@ void RegisterChromeWebUIConfigs() {
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ map.AddWebUIConfig(std::make_unique<SandboxInternalsUIConfig>());
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
+ // BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ map.AddWebUIConfig(
+ std::make_unique<enterprise_connectors::ConnectorsInternalsUIConfig>());
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD)
+ map.AddWebUIConfig(std::make_unique<DiscardsUIConfig>());
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
index b0fae317f67f..e7baae19468a 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
@@ -1,21 +1,12 @@
---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2022-08-02 06:45:26 UTC
+--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -305,7 +305,7 @@
- #include "chrome/browser/ui/webui/app_launcher_page_ui.h"
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.h"
- #endif
-
-@@ -330,17 +330,17 @@
+@@ -117,16 +117,16 @@
#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"
+ #include "chrome/browser/ui/webui/commerce/product_specifications_ui.h"
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -24,69 +15,26 @@
#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"
+-#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/ui/webui/whats_new/whats_new_ui.h"
#endif
-@@ -693,7 +693,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)
-@@ -1120,7 +1120,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
- #endif // !defined(USE_REAL_DBUS_CLIENTS)
- #endif // !defined(OFFICIAL_BUILD)
- #endif // BUILDFLAG(IS_CHROMEOS_ASH)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (url.host_piece() == chrome::kChromeUIWebUIJsErrorHost)
- return &NewWebUI<WebUIJsErrorUI>;
- #endif
-@@ -1178,7 +1178,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)
-@@ -1237,27 +1237,27 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+@@ -410,7 +410,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory::
+ return NewTabPageUI::GetFaviconResourceBytes(scale_factor);
}
- #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>;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (page_url.host_piece() == chrome::kChromeUIWhatsNewHost) {
+ return WhatsNewUI::GetFaviconResourceBytes(scale_factor);
}
- #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
+@@ -449,7 +449,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory::
+ }
+
#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 (base::FeatureList::IsEnabled(features::kDesktopPWAsWebAppSettingsPage) &&
- url.host_piece() == chrome::kChromeUIWebAppSettingsHost) {
- return &NewWebUI<WebAppSettingsUI>;
+ if (page_url.host_piece() == commerce::kChromeUICompareHost) {
+ return commerce::ProductSpecificationsUI::GetFaviconResourceBytes(
+ scale_factor);
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc
new file mode 100644
index 000000000000..6a928be33f93
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc
+@@ -81,7 +81,7 @@ connectors_internals::mojom::ClientIdentityPtr GetIden
+ }
+ #endif // BUILDFLAG(ENTERPRISE_CLIENT_CERTIFICATES)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string GetStringFromTimestamp(base::Time timestamp) {
+ return (timestamp == base::Time()) ? std::string()
+ : base::UnlocalizedTimeFormatWithPattern(
+@@ -190,7 +190,7 @@ void ConnectorsInternalsPageHandler::GetClientCertific
+
+ void ConnectorsInternalsPageHandler::GetSignalsReportingState(
+ GetSignalsReportingStateCallback callback) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto* profile_prefs = profile_->GetPrefs();
+
+ std::string last_upload_attempt_time_string =
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc
new file mode 100644
index 000000000000..09f96200046b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc
+@@ -7,7 +7,7 @@
+ #include "build/build_config.h"
+ #include "components/enterprise/buildflags/buildflags.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"
+@@ -39,7 +39,7 @@ namespace enterprise_connectors::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) {
+@@ -176,7 +176,7 @@ connectors_internals::mojom::CertificateMetadataPtr Co
+ } // 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/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc
deleted file mode 100644
index 7ba115f42964..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/ui/webui/connectors_internals/zero_trust_utils.cc.orig 2022-06-17 14:20:10 UTC
-+++ chrome/browser/ui/webui/connectors_internals/zero_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 "chrome/browser/browser_process.h"
- #include "chrome/browser/policy/chrome_browser_policy_connector.h"
- #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
-@@ -22,7 +22,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) {
-@@ -53,7 +53,7 @@ connectors_internals::mojom::KeyType AlgorithmToType(
- } // 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/chromium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc
new file mode 100644
index 000000000000..60a15121d8a4
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/webui/interstitials/interstitial_ui.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/interstitials/interstitial_ui.cc
+@@ -77,7 +77,7 @@
+ #include "components/security_interstitials/content/captive_portal_blocking_page.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/supervised_user/supervised_user_verification_controller_client.h"
+ #include "chrome/browser/supervised_user/supervised_user_verification_page_blocked_sites.h"
+ #include "chrome/browser/supervised_user/supervised_user_verification_page_youtube.h"
+@@ -413,7 +413,7 @@ std::unique_ptr<EnterpriseWarnPage> CreateEnterpriseWa
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<SupervisedUserVerificationPageForYouTube>
+ CreateSupervisedUserVerificationPageForYouTube(
+ content::WebContents* web_contents,
+@@ -640,7 +640,7 @@ void InterstitialHTMLSource::StartDataRequest(
+ interstitial_delegate = CreateInsecureFormPage(web_contents);
+ } else if (path_without_query == "/https_only") {
+ interstitial_delegate = CreateHttpsOnlyModePage(web_contents);
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ } else if (path_without_query == "/supervised-user-verify") {
+ interstitial_delegate = CreateSupervisedUserVerificationPageForYouTube(
+ web_contents, /*is_main_frame=*/true);
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc
new file mode 100644
index 000000000000..1a2a23e2d105
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc
@@ -0,0 +1,16 @@
+--- chrome/browser/ui/webui/management/management_ui.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/browser/ui/webui/management/management_ui.cc
+@@ -181,11 +181,11 @@ void ManagementUI::GetLocalizedStrings(
+ IDS_MANAGEMENT_FILE_TRANSFER_VISIBLE_DATA},
+ {kManagementReportFileEvents, IDS_MANAGEMENT_REPORT_FILE_EVENTS},
+ #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)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {kManagementDeviceSignalsDisclosure,
+ IDS_MANAGEMENT_DEVICE_SIGNALS_DISCLOSURE},
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc
new file mode 100644
index 000000000000..815960a09d92
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc
@@ -0,0 +1,17 @@
+--- chrome/browser/ui/webui/management/management_ui_constants.cc.orig 2024-11-14 07:57:23 UTC
++++ chrome/browser/ui/webui/management/management_ui_constants.cc
+@@ -89,12 +89,12 @@ const char kProfileReportingExtension[] = "profileRepo
+ const char kProfileReportingPolicy[] = "profileReportingPolicy";
+ const char kProfileReportingLearnMore[] = "profileReportingLearnMore";
+
+-#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)
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h
new file mode 100644
index 000000000000..6af7774f39c1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h
@@ -0,0 +1,19 @@
+--- chrome/browser/ui/webui/management/management_ui_constants.h.orig 2025-02-19 07:43:18 UTC
++++ chrome/browser/ui/webui/management/management_ui_constants.h
+@@ -7,14 +7,14 @@
+
+ #include "build/build_config.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)
+
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc
new file mode 100644
index 000000000000..8cfe7622ce14
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/ui/webui/management/management_ui_handler.cc
+@@ -58,7 +58,7 @@
+ #include "ui/base/l10n/l10n_util.h"
+ #include "ui/base/webui/web_ui_util.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 "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)
+@@ -359,7 +359,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value
+ 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)
+ auto device_signal_data = GetDeviceSignalGrantedMessage();
+ if (!device_signal_data.empty()) {
+ report_sources->Append(std::move(device_signal_data));
+@@ -381,7 +381,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value
+ 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)
+ auto device_signal_data = GetDeviceSignalGrantedMessage();
+ if (!device_signal_data.empty()) {
+ report_sources->Append(std::move(device_signal_data));
+@@ -567,7 +567,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/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h
new file mode 100644
index 000000000000..ed4fe91cb02c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/management/management_ui_handler.h
+@@ -29,7 +29,7 @@ namespace policy {
+ class PolicyService;
+ } // 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
+@@ -70,7 +70,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();
+ base::Value::Dict GetDeviceSignalGrantedMessage();
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc
deleted file mode 100644
index 3528efb3b7a3..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/ui/webui/ntp/app_launcher_handler.cc
-@@ -325,7 +325,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
-@@ -1434,7 +1434,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app:
- options.os_hooks[web_app::OsHookType::kUninstallationViaOsSettings] =
- web_app->CanUserUninstallWebApp();
-
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- options.os_hooks[web_app::OsHookType::kUrlHandlers] = true;
- #else
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc
new file mode 100644
index 000000000000..9b1f8e5dd826
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2025-01-15 09:18:26 UTC
++++ chrome/browser/ui/webui/password_manager/promo_cards_handler.cc
+@@ -28,7 +28,7 @@
+ #include "chrome/browser/ui/webui/password_manager/promo_cards/web_password_manager_promo.h"
+ #endif
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.h"
+ #endif
+
+@@ -71,7 +71,7 @@ std::vector<std::unique_ptr<PasswordPromoCardBase>> Ge
+ .get()));
+ #endif
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ promo_cards.push_back(
+ std::make_unique<RelaunchChromePromo>(profile->GetPrefs()));
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc b/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc
new file mode 100644
index 000000000000..b8ebcb47f522
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc.orig 2024-02-23 21:04:38 UTC
++++ chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc
+@@ -37,7 +37,7 @@ std::u16string RelaunchChromePromo::GetTitle() const {
+ return l10n_util::GetStringUTF16(
+ #if BUILDFLAG(IS_MAC)
+ IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_TITLE
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_TITLE_LINUX
+ #endif
+ );
+@@ -47,7 +47,7 @@ std::u16string RelaunchChromePromo::GetDescription() c
+ return l10n_util::GetStringUTF16(
+ #if BUILDFLAG(IS_MAC)
+ IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_DESCRIPTION
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_DESCRIPTION_LINUX
+ #endif
+ );
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc
new file mode 100644
index 000000000000..a349bf185a40
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/webui/searchbox/searchbox_handler.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/searchbox/searchbox_handler.cc
+@@ -120,7 +120,7 @@ const char* kMacShareIconResourceName =
+ #elif BUILDFLAG(IS_WIN)
+ const char* kWinShareIconResourceName =
+ "//resources/cr_components/searchbox/icons/win_share.svg";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char* kLinuxShareIconResourceName =
+ "//resources/cr_components/searchbox/icons/share.svg";
+ #else
+@@ -180,7 +180,7 @@ static void DefineChromeRefreshRealboxIcons() {
+ #elif BUILDFLAG(IS_WIN)
+ kWinShareIconResourceName =
+ "//resources/cr_components/searchbox/icons/win_share_cr23.svg";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ kLinuxShareIconResourceName =
+ "//resources/cr_components/searchbox/icons/share_cr23.svg";
+ #else
+@@ -634,7 +634,7 @@ std::string SearchboxHandler::ActionVectorIconToResour
+ 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/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
index 8a7eb21e2985..b46aa2088327 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
@@ -1,20 +1,11 @@
---- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/browser/ui/webui/settings/appearance_handler.cc
-@@ -29,7 +29,7 @@ void AppearanceHandler::RegisterMessages() {
+@@ -32,7 +32,7 @@ void AppearanceHandler::RegisterMessages() {
"useDefaultTheme",
- base::BindRepeating(&AppearanceHandler::HandleUseDefaultTheme,
- base::Unretained(this)));
+ base::BindRepeating(&AppearanceHandler::HandleUseTheme,
+ base::Unretained(this), ui::SystemTheme::kDefault));
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
web_ui()->RegisterMessageCallback(
- "useSystemTheme",
- base::BindRepeating(&AppearanceHandler::HandleUseSystemTheme,
-@@ -43,7 +43,7 @@ void AppearanceHandler::HandleUseDefaultTheme(const ba
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
- void AppearanceHandler::HandleUseSystemTheme(const base::Value::List& args) {
- if (profile_->IsChild())
- NOTREACHED();
+ "useGtkTheme",
+ base::BindRepeating(&AppearanceHandler::HandleUseTheme,
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
deleted file mode 100644
index 3e03fda7292c..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/webui/settings/appearance_handler.h.orig 2022-04-21 18:48:31 UTC
-+++ chrome/browser/ui/webui/settings/appearance_handler.h
-@@ -40,7 +40,7 @@ class AppearanceHandler : public SettingsPageUIHandler
-
- // 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)
- // Changes the UI theme of the browser to the system (GTK+) theme.
- void HandleUseSystemTheme(const base::Value::List& args);
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
index 7fa1bc8cc912..4149426a1653 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
@@ -1,47 +1,65 @@
---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -116,7 +116,7 @@
- #include "chrome/browser/ui/webui/settings/chromeos/constants/routes.mojom.h"
+@@ -139,7 +139,7 @@
+ #include "chrome/browser/ui/webui/settings/system_handler.h"
#endif
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/display/screen.h"
#endif
-@@ -137,7 +137,7 @@
- #include "chrome/browser/ui/webui/certificate_manager_localized_strings_provider.h"
- #endif
+@@ -154,7 +154,7 @@
+ #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ #endif // BUILDFLAG(IS_WIN)
-#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
-
-@@ -373,7 +373,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
- {"huge", IDS_SETTINGS_HUGE_FONT_SIZE},
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
- {"systemTheme", IDS_SETTINGS_SYSTEM_THEME},
- {"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME},
- {"classicTheme", IDS_SETTINGS_CLASSIC_THEME},
-@@ -381,7 +381,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
- #else
- {"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME},
+@@ -283,7 +283,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou
+ {"toastAlertLevelDescription",
+ IDS_SETTINGS_ACCESSIBILITY_TOAST_FREQUENCY_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",
+@@ -553,7 +553,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+ {"uiFeatureAlignLeft", IDS_SETTINGS_UI_FEATURE_ALIGN_LEFT},
+ {"uiFeatureAlignRight", IDS_SETTINGS_UI_FEATURE_ALIGN_RIGHT},
+ {"resetToDefault", IDS_SETTINGS_RESET_TO_DEFAULT},
+-#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},
+@@ -561,7 +561,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+ {"classicTheme", IDS_SETTINGS_CLASSIC_THEME},
+ {"useClassicTheme", IDS_SETTINGS_USE_CLASSIC_THEME},
#endif
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
- {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS},
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS},
#endif
#if BUILDFLAG(IS_MAC)
-@@ -402,7 +402,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+@@ -583,7 +583,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+ html_source->AddBoolean("tabSearchIsRightAlignedAtStartup",
+ tabs::GetTabSearchTrailingTabstrip(profile));
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance()
->GetPlatformRuntimeProperties()
.supports_server_side_window_decorations;
+@@ -1513,7 +1513,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource*
+ g_browser_process->GetApplicationLocale())
+ .spec();
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ html_source->AddString(
+ "syncDisconnectManagedProfileExplanation",
+ l10n_util::GetStringFUTF8(
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc
new file mode 100644
index 000000000000..a5d7e4950cde
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/ui/webui/signin/profile_picker_handler.cc
+@@ -165,7 +165,7 @@ base::Value::Dict CreateProfileEntry(const ProfileAttr
+ IDS_PROFILE_PICKER_PROFILE_CARD_LABEL, local_profile_name);
+ if (AccountInfo::IsManaged(entry->GetHostedDomain())) {
+ profile_entry.Set("avatarBadge", "cr:domain");
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ } else if (base::FeatureList::IsEnabled(
+ supervised_user::kShowKiteForSupervisedUsers) &&
+ entry->IsSupervised()) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc b/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc
new file mode 100644
index 000000000000..109de189f155
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc
+@@ -45,7 +45,7 @@
+ #include "ui/base/l10n/l10n_util.h"
+ #include "ui/base/webui/resource_path.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 "chrome/browser/ui/browser_navigator.h"
+ #include "chrome/browser/ui/browser_navigator_params.h"
+ #include "net/base/url_util.h"
+@@ -85,7 +85,7 @@ user_education::NewBadgeRegistry* GetNewBadgeRegistry(
+ }
+
+ whats_new::WhatsNewRegistry* GetWhatsNewRegistry() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return g_browser_process->GetFeatures()->whats_new_registry();
+ #else
+ return nullptr;
+@@ -821,7 +821,7 @@ void UserEducationInternalsPageHandlerImpl::ClearWhats
+ }
+
+ void UserEducationInternalsPageHandlerImpl::LaunchWhatsNewStaging() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ GURL url = net::AppendQueryParameter(GURL(chrome::kChromeUIWhatsNewURL),
+ "staging", "true");
+ NavigateParams params(profile_, url, ui::PAGE_TRANSITION_TYPED);
diff --git a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc
index e7a263bab4e9..75565d9ac98c 100644
--- a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc
@@ -1,6 +1,6 @@
---- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/ui/window_sizer/window_sizer.cc
-@@ -172,7 +172,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState(
+@@ -219,7 +219,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState(
browser, window_bounds, show_state);
}
diff --git a/www/chromium/files/patch-chrome_browser_upgrade__detector_version__history__client.cc b/www/chromium/files/patch-chrome_browser_upgrade__detector_version__history__client.cc
new file mode 100644
index 000000000000..6f46683174aa
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_upgrade__detector_version__history__client.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/upgrade_detector/version_history_client.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/upgrade_detector/version_history_client.cc
+@@ -175,7 +175,7 @@ GURL GetVersionReleasesUrl(base::Version version) {
+ #define CURRENT_PLATFORM "win"
+ #endif
+
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ #define CURRENT_PLATFORM "linux"
+
diff --git a/www/chromium/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc b/www/chromium/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc
new file mode 100644
index 000000000000..31b5b76c76ca
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/visited_url_ranking/visited_url_ranking_service_factory.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/visited_url_ranking/visited_url_ranking_service_factory.cc
+@@ -45,7 +45,7 @@
+ #include "components/visited_url_ranking/public/visited_url_ranking_service.h"
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/visited_url_ranking/desktop_tab_model_url_visit_data_fetcher.h"
+ #elif BUILDFLAG(IS_ANDROID)
+ #include "chrome/browser/visited_url_ranking/android_tab_model_url_visit_data_fetcher.h"
+@@ -119,7 +119,7 @@ VisitedURLRankingServiceFactory::BuildServiceInstanceF
+
+ std::map<Fetcher, std::unique_ptr<URLVisitDataFetcher>> data_fetchers;
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ data_fetchers.emplace(
+ Fetcher::kTabModel,
+ std::make_unique<visited_url_ranking::DesktopTabModelURLVisitDataFetcher>(
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc b/www/chromium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc
new file mode 100644
index 000000000000..34a86c58746a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/commands/launch_web_app_command.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/browser/web_applications/commands/launch_web_app_command.cc
+@@ -101,7 +101,7 @@ void LaunchWebAppCommand::StartWithLock(std::unique_pt
+ // OsIntegrationTestOverride can use the xdg install command to detect
+ // install.
+ SynchronizeOsOptions options;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ options.add_shortcut_to_desktop = true;
+ #endif
+ lock_->os_integration_manager().Synchronize(
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc b/www/chromium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc
new file mode 100644
index 000000000000..80efce56a6b2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/commands/set_user_display_mode_command.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/web_applications/commands/set_user_display_mode_command.cc
+@@ -56,7 +56,7 @@ void SetUserDisplayModeCommand::StartWithLock(
+ // OsIntegrationTestOverride can use the xdg install command to detect
+ // install.
+ SynchronizeOsOptions options;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ options.add_shortcut_to_desktop = true;
+ #endif
+ app_lock_->os_integration_manager().Synchronize(
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h b/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h
index f8dd0e3369d0..e71a34daeccb 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h
+++ b/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h
@@ -1,11 +1,11 @@
---- chrome/browser/web_applications/extension_status_utils.h.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/web_applications/extension_status_utils.h.orig 2024-09-30 07:45:04 UTC
+++ chrome/browser/web_applications/extension_status_utils.h
-@@ -43,7 +43,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo
+@@ -50,7 +50,7 @@ bool IsExtensionDefaultInstalled(content::BrowserConte
+ bool IsExternalExtensionUninstalled(content::BrowserContext* context,
const std::string& extension_id);
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- // Returns whether |extension_id| is a Chrome App and should be blocked by the
- // Chrome Apps Deprecation. Policy installed Chrome Apps are still allowed, and
- // all apps are allowed if the deprecation feature flag is not enabled.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If this method returns true, then |extension_id| will not be launchable.
+ //
+ // The eventual goal is that this method should return true for all hosted apps,
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc
index 37d543d1a4f9..f587fdcba7b4 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc
@@ -1,20 +1,20 @@
---- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/web_applications/extensions/extension_status_utils.cc
@@ -26,7 +26,7 @@ namespace {
+
const char* g_preinstalled_app_for_testing = nullptr;
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- base::Feature kChromeAppsDeprecationExcludeForceInstalls(
- "ChromeAppsDeprecationExcludeForceInstalls",
- base::FEATURE_DISABLED_BY_DEFAULT);
-@@ -100,7 +100,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(b/268221237): Remove this allow-list.
+ const char kDefaultAllowedExtensionIds[] =
+ "alhngdkjgnedakdlnamimgfihgkmenbh,"
+@@ -105,7 +105,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo
+ return prefs && prefs->IsExternalExtensionUninstalled(extension_id);
}
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context,
const std::string& extension_id) {
- if (!base::FeatureList::IsEnabled(features::kChromeAppsDeprecation))
+ if (testing::g_enable_chrome_apps_for_testing) {
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc
new file mode 100644
index 000000000000..5c54ea96019d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/os_integration/os_integration_manager.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/web_applications/os_integration/os_integration_manager.cc
+@@ -662,7 +662,7 @@ std::unique_ptr<ShortcutInfo> OsIntegrationManager::Bu
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const std::vector<WebAppShortcutsMenuItemInfo>& shortcuts_menu_item_infos =
+ app->shortcuts_menu_item_infos();
+ DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems);
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h
new file mode 100644
index 000000000000..0c8c0325709e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/os_integration/os_integration_test_override.h.orig 2024-06-17 12:56:06 UTC
++++ chrome/browser/web_applications/os_integration/os_integration_test_override.h
+@@ -99,7 +99,7 @@ class OsIntegrationTestOverride
+ virtual base::FilePath chrome_apps_folder() = 0;
+ virtual void EnableOrDisablePathOnLogin(const base::FilePath& file_path,
+ bool enable_on_login) = 0;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ virtual base::Environment* environment() = 0;
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc
new file mode 100644
index 000000000000..f15b08428f30
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc
+@@ -54,7 +54,7 @@ proto::os_state::RunOnOsLogin::Mode ConvertWebAppRunOn
+ // different from other platforms, see web_app_run_on_os_login_manager.h for
+ // more info.
+ bool DoesRunOnOsLoginRequireExecution() {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(features::kDesktopPWAsRunOnOsLogin);
+ #else
+ return false;
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc
new file mode 100644
index 000000000000..a6bba21078ae
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc
+@@ -199,7 +199,7 @@ void ShortcutSubManager::Execute(
+ return;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ // Protocol handler update detection. Shortcuts need to be updated in this
+ // case on Linux & Mac because the shortcut itself includes the protocol
+ // handling metadata.
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h
index a1594b05528e..9b3ac83248ce 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h
@@ -1,11 +1,11 @@
---- chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h.orig 2022-03-25 21:59:56 UTC
+--- chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h.orig 2023-12-10 06:10:27 UTC
+++ chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h
-@@ -44,7 +44,7 @@ void UnregisterFileHandlersWithOs(const AppId& app_id,
- Profile* profile,
+@@ -43,7 +43,7 @@ void UnregisterFileHandlersWithOs(const webapps::AppId
+ const base::FilePath& profile_path,
ResultCallback callback);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Exposed for testing purposes. Register the set of
// MIME-type-to-file-extensions mappings corresponding to |file_handlers|. File
- // I/O and a a callout to the Linux shell are performed asynchronously.
+ // I/O and callouts to the Linux shell are performed asynchronously.
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc
index b921cc1742c4..cd0347154641 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc
@@ -1,6 +1,6 @@
---- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2025-01-15 09:18:26 UTC
+++ chrome/browser/web_applications/os_integration/web_app_shortcut.cc
-@@ -44,7 +44,7 @@ namespace {
+@@ -71,7 +71,7 @@ namespace {
#if BUILDFLAG(IS_MAC)
const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512};
@@ -9,30 +9,12 @@
// Linux supports icons of any size. FreeDesktop Icon Theme Specification states
// that "Minimally you should install a 48x48 icon in the hicolor theme."
const int kDesiredIconSizesForShortcut[] = {16, 32, 48, 128, 256, 512};
-@@ -147,7 +147,7 @@ ScopedShortcutOverrideForTesting::~ScopedShortcutOverr
- }
- }
- }
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- directories = {&desktop};
- #endif
- for (base::ScopedTempDir* dir : directories) {
-@@ -191,7 +191,7 @@ std::unique_ptr<ScopedShortcutOverrideForTesting> Over
- scoped_override->chrome_apps_folder.CreateUniqueTempDirUnderPath(
- base_path);
- DCHECK(success);
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- bool success =
- scoped_override->desktop.CreateUniqueTempDirUnderPath(base_path);
- DCHECK(success);
-@@ -211,7 +211,7 @@ std::unique_ptr<ScopedShortcutOverrideForTesting> Over
- #elif BUILDFLAG(IS_MAC)
- bool success = scoped_override->chrome_apps_folder.CreateUniqueTempDir();
- DCHECK(success);
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- bool success = scoped_override->desktop.CreateUniqueTempDir();
- DCHECK(success);
- success = scoped_override->startup.CreateUniqueTempDir();
+@@ -253,7 +253,7 @@ std::unique_ptr<ShortcutInfo> BuildShortcutInfoWithout
+
+ // TODO(crbug.com/40257107): Implement tests on Linux for using shortcuts_menu
+ // actions.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const std::vector<WebAppShortcutsMenuItemInfo>& shortcuts_menu_item_infos =
+ CreateShortcutsMenuItemInfos(state.shortcut_menus());
+ DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems);
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h
index 0f2ee6457227..e5f9174dad34 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h
@@ -1,6 +1,6 @@
---- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2025-05-05 10:57:53 UTC
+++ chrome/browser/web_applications/os_integration/web_app_shortcut.h
-@@ -19,7 +19,7 @@
+@@ -22,7 +22,7 @@
#include "ui/gfx/image/image_family.h"
#include "url/gurl.h"
@@ -9,19 +9,10 @@
#include "chrome/browser/web_applications/os_integration/web_app_shortcut_linux.h"
#endif // BUILDFLAG(IS_LINUX)
-@@ -48,7 +48,7 @@ struct ScopedShortcutOverrideForTesting {
- #elif BUILDFLAG(IS_MAC)
- base::ScopedTempDir chrome_apps_folder;
- std::map<base::FilePath, bool> startup_enabled;
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- base::ScopedTempDir desktop;
- base::ScopedTempDir startup;
- #endif
-@@ -91,7 +91,7 @@ struct ShortcutInfo {
- std::set<std::string> file_handler_extensions;
- std::set<std::string> file_handler_mime_types;
- std::set<std::string> protocol_handlers;
+@@ -77,7 +77,7 @@ struct ShortcutInfo {
+ // the installed PWA experience and thus the icons are not designed to be
+ // displayed on an OS dock.
+ bool is_diy_app = false;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
std::set<DesktopActionInfo> actions;
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc
deleted file mode 100644
index 2d75aa220578..000000000000
--- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc.orig 2022-05-19 14:06:27 UTC
-+++ chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc
-@@ -379,7 +379,7 @@ std::unique_ptr<ShortcutInfo> WebAppShortcutManager::B
- }
- }
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- const std::vector<WebAppShortcutsMenuItemInfo>& shortcuts_menu_item_infos =
- app->shortcuts_menu_item_infos();
- DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems);
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc
new file mode 100644
index 000000000000..3aa180b6d795
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/policy/web_app_policy_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/web_applications/policy/web_app_policy_manager.cc
+@@ -111,7 +111,7 @@ namespace web_app {
+
+ BASE_FEATURE(kDesktopPWAsForceUnregisterOSIntegration,
+ "DesktopPWAsForceUnregisterOSIntegration",
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc b/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc
new file mode 100644
index 000000000000..07e313dd77c3
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc
@@ -0,0 +1,119 @@
+--- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2025-02-19 07:43:18 UTC
++++ chrome/browser/web_applications/test/os_integration_test_override_impl.cc
+@@ -45,7 +45,7 @@
+ #include "third_party/skia/include/core/SkBitmap.h"
+ #include "third_party/skia/include/core/SkColor.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/nix/xdg_util.h"
+ #endif
+
+@@ -130,7 +130,7 @@ std::vector<std::wstring> GetFileExtensionsForProgId(
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Performs a blocking read of app icons from the disk.
+ std::optional<SkBitmap> IconManagerReadIconForSize(
+ WebAppIconManager& icon_manager,
+@@ -315,7 +315,7 @@ bool OsIntegrationTestOverrideImpl::SimulateDeleteShor
+ GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name);
+ CHECK(base::PathExists(app_folder_shortcut_path));
+ return base::DeletePathRecursively(app_folder_shortcut_path);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FilePath desktop_shortcut_path =
+ GetShortcutPath(profile, desktop(), app_id, app_name);
+ LOG(INFO) << desktop_shortcut_path;
+@@ -362,7 +362,7 @@ bool OsIntegrationTestOverrideImpl::DeleteApplicationM
+ }
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool OsIntegrationTestOverrideImpl::DeleteDesktopDirOnLinux() {
+ if (desktop_.IsValid()) {
+ return desktop_.Delete();
+@@ -376,7 +376,7 @@ bool OsIntegrationTestOverrideImpl::IsRunOnOsLoginEnab
+ Profile* profile,
+ const webapps::AppId& app_id,
+ const std::string& app_name) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string shortcut_filename =
+ "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop";
+ return base::PathExists(startup().Append(shortcut_filename));
+@@ -431,7 +431,7 @@ bool OsIntegrationTestOverrideImpl::IsFileExtensionHan
+ is_file_handled =
+ shell_integration::CanApplicationHandleURL(app_path, test_file_url);
+ base::DeleteFile(test_file_path);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FilePath user_applications_dir = applications();
+ bool database_update_called = false;
+ for (const LinuxFileRegistration& command : linux_file_registration_) {
+@@ -481,7 +481,7 @@ std::optional<SkBitmap> OsIntegrationTestOverrideImpl:
+ return std::nullopt;
+ }
+ return GetIconFromShortcutFile(shortcut_path);
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ WebAppProvider* provider = WebAppProvider::GetForLocalAppsUnchecked(profile);
+ if (!provider) {
+ return std::nullopt;
+@@ -547,7 +547,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort
+ app_installed_profiles.end()) {
+ return shortcut_path;
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string shortcut_filename =
+ "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop";
+ base::FilePath shortcut_path = shortcut_dir.Append(shortcut_filename);
+@@ -572,7 +572,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated(
+ base::FilePath app_shortcut_path =
+ GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name);
+ return base::PathExists(app_shortcut_path);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FilePath desktop_shortcut_path =
+ GetShortcutPath(profile, desktop(), app_id, app_name);
+ return base::PathExists(desktop_shortcut_path);
+@@ -764,7 +764,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat
+ }
+ #endif // BUILDFLAG(IS_MAC)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FilePath OsIntegrationTestOverrideImpl::desktop() {
+ return desktop_.GetPath();
+ }
+@@ -815,7 +815,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri
+ success = chrome_apps_folder_.CreateUniqueTempDirUnderPath(
+ outer_temp_dir_.GetPath());
+ CHECK(success);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ success = desktop_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath());
+ CHECK(success);
+ success = startup_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath());
+@@ -828,7 +828,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri
+ CHECK(success);
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto callback = base::BindRepeating([](base::FilePath filename_in,
+ std::string xdg_command,
+ std::string file_contents) {
+@@ -900,7 +900,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr
+ EXPECT_TRUE(!startup_.IsValid() || startup_.Delete());
+ #elif BUILDFLAG(IS_MAC)
+ EXPECT_TRUE(!chrome_apps_folder_.IsValid() || DeleteChromeAppsDir());
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ EXPECT_TRUE(!desktop_.IsValid() || desktop_.Delete());
+ EXPECT_TRUE(!startup_.IsValid() || startup_.Delete());
+ EXPECT_TRUE(!xdg_data_home_dir_.IsValid() || xdg_data_home_dir_.Delete());
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h b/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h
new file mode 100644
index 000000000000..50a38db9973b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h
@@ -0,0 +1,38 @@
+--- chrome/browser/web_applications/test/os_integration_test_override_impl.h.orig 2025-02-19 07:43:18 UTC
++++ chrome/browser/web_applications/test/os_integration_test_override_impl.h
+@@ -40,7 +40,7 @@ class ShellLinkItem;
+
+ namespace web_app {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ struct LinuxFileRegistration {
+ base::FilePath file_name;
+ std::string xdg_command;
+@@ -122,7 +122,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra
+ bool DeleteApplicationMenuDirOnWin();
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool DeleteDesktopDirOnLinux();
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -250,7 +250,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra
+ base::FilePath chrome_apps_folder() override;
+ void EnableOrDisablePathOnLogin(const base::FilePath& file_path,
+ bool enable_on_login) override;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FilePath desktop();
+ base::FilePath startup();
+ base::FilePath applications();
+@@ -323,7 +323,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra
+ base::ScopedTempDir chrome_apps_folder_;
+ std::map<base::FilePath, bool> startup_enabled_;
+
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::ScopedTempDir desktop_;
+ base::ScopedTempDir startup_;
+ base::ScopedTempDir xdg_data_home_dir_;
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__helpers.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__helpers.cc
new file mode 100644
index 000000000000..be864e058154
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__helpers.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/web_app_helpers.cc.orig 2025-02-19 07:43:18 UTC
++++ chrome/browser/web_applications/web_app_helpers.cc
+@@ -145,7 +145,7 @@ bool IsValidWebAppUrl(const GURL& app_url) {
+ return false;
+
+ bool allow_extension_apps = true;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Stop allowing apps to be extension urls when the shortcuts are separated -
+ // they can be extension urls instead.
+ allow_extension_apps = false;
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__info.h b/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__info.h
new file mode 100644
index 000000000000..c28ff43cb03c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__info.h
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/web_app_install_info.h.orig 2025-02-19 07:43:18 UTC
++++ chrome/browser/web_applications/web_app_install_info.h
+@@ -38,7 +38,7 @@
+ #include "url/gurl.h"
+
+ static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+- BUILDFLAG(IS_CHROMEOS));
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD));
+
+ namespace web_app {
+
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc
deleted file mode 100644
index 8d4ec88a2bf9..000000000000
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/web_applications/web_app_provider.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/browser/web_applications/web_app_provider.cc
-@@ -274,7 +274,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile
- protocol_handler_manager.get());
-
- std::unique_ptr<UrlHandlerManager> url_handler_manager;
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- url_handler_manager = std::make_unique<UrlHandlerManagerImpl>(profile);
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc
index 39b7ecb0b197..079c5ea84035 100644
--- a/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc
+++ b/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc
@@ -1,11 +1,11 @@
---- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
-@@ -673,7 +673,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureCabl
- }
+@@ -578,7 +578,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureDisc
+ g_observer->ConfiguringCable(request_type);
}
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// No caBLEv1 on Linux. It tends to crash bluez.
- if (std::any_of(pairings_from_extension.begin(),
- pairings_from_extension.end(),
+ if (base::Contains(pairings_from_extension,
+ device::CableDiscoveryData::Version::V1,
diff --git a/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc b/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc
new file mode 100644
index 000000000000..bd45efaef0d3
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/webauthn/enclave_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/browser/webauthn/enclave_manager.cc
+@@ -687,7 +687,7 @@ base::flat_set<GaiaId> GetGaiaIDs(
+
+ std::string UserVerifyingLabelToString(crypto::UserVerifyingKeyLabel label) {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return label;
+ #else
+ return std::string("placeholder");
+@@ -697,7 +697,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer
+ std::optional<crypto::UserVerifyingKeyLabel> UserVerifyingKeyLabelFromString(
+ std::string saved_label) {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return saved_label;
+ #else
+ return std::nullopt;
diff --git a/www/chromium/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc b/www/chromium/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc
new file mode 100644
index 000000000000..c4f1b807af46
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/webauthn/gpm_user_verification_policy.cc.orig 2024-08-26 12:06:38 UTC
++++ chrome/browser/webauthn/gpm_user_verification_policy.cc
+@@ -17,7 +17,7 @@ bool GpmWillDoUserVerification(device::UserVerificatio
+ return platform_has_biometrics;
+ #elif BUILDFLAG(IS_MAC)
+ return platform_has_biometrics;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return false;
+ #else
+ // This default is for unit tests.
diff --git a/www/chromium/files/patch-chrome_browser_webauthn_password__credential__controller.cc b/www/chromium/files/patch-chrome_browser_webauthn_password__credential__controller.cc
new file mode 100644
index 000000000000..4b32bb40e936
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_webauthn_password__credential__controller.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/webauthn/password_credential_controller.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/webauthn/password_credential_controller.cc
+@@ -46,7 +46,7 @@ password_manager::PasswordManagerClient* GetPasswordMa
+ }
+
+ std::u16string GetAuthenticationMessage(std::string_view rp_id) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return u"";
+ #else
+ return l10n_util::GetStringFUTF16(IDS_PASSWORD_MANAGER_FILLING_REAUTH,
diff --git a/www/chromium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc b/www/chromium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc
new file mode 100644
index 000000000000..8a6c0b6258fd
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/webauthn/unexportable_key_utils.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/browser/webauthn/unexportable_key_utils.cc
+@@ -33,7 +33,7 @@ GetWebAuthnUnexportableKeyProvider() {
+ // If there is a scoped UnexportableKeyProvider configured, we always use
+ // that so that tests can still override the key provider.
+ const bool use_software_provider =
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ !crypto::internal::HasScopedUnexportableKeyProvider();
+ #else
+ false;
diff --git a/www/chromium/files/patch-chrome_common_channel__info.h b/www/chromium/files/patch-chrome_common_channel__info.h
index d90a2ca8726d..9d9370a08672 100644
--- a/www/chromium/files/patch-chrome_common_channel__info.h
+++ b/www/chromium/files/patch-chrome_common_channel__info.h
@@ -1,11 +1,20 @@
---- chrome/common/channel_info.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/common/channel_info.h.orig 2025-04-04 08:52:13 UTC
+++ chrome/common/channel_info.h
-@@ -107,7 +107,7 @@ std::string GetChannelSuffixForDataDir();
+@@ -11,7 +11,7 @@
+ #include "build/branding_buildflags.h"
+ #include "build/build_config.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ namespace base {
+ class Environment;
+ }
+@@ -99,7 +99,7 @@ void ClearChannelIdForTesting();
+ std::string GetChannelSuffixForDataDir();
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ 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)
// Returns the channel-specific filename of the desktop shortcut used to launch
- // the browser.
- std::string GetDesktopName(base::Environment* env);
diff --git a/www/chromium/files/patch-chrome_common_channel__info__posix.cc b/www/chromium/files/patch-chrome_common_channel__info__posix.cc
index 87afe0e0f846..56720d9b5906 100644
--- a/www/chromium/files/patch-chrome_common_channel__info__posix.cc
+++ b/www/chromium/files/patch-chrome_common_channel__info__posix.cc
@@ -1,11 +1,20 @@
---- chrome/common/channel_info_posix.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/common/channel_info_posix.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/common/channel_info_posix.cc
-@@ -93,7 +93,7 @@ std::string GetChannelSuffixForDataDir() {
+@@ -95,7 +95,7 @@ std::string GetChannelSuffixForDataDir() {
+ }
+ }
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string GetChannelSuffixForExtraFlagsEnvVarName() {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ const auto channel_state = GetChannelImpl();
+@@ -121,7 +121,7 @@ std::string GetChannelSuffixForExtraFlagsEnvVarName()
+ }
+ #endif // BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || 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/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc
index 727a781b7979..4c46706cda00 100644
--- a/www/chromium/files/patch-chrome_common_chrome__features.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__features.cc
@@ -1,16 +1,16 @@
---- chrome/common/chrome_features.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/common/chrome_features.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/common/chrome_features.cc
-@@ -102,7 +102,7 @@ const base::Feature kAsyncDns {
- };
+@@ -81,7 +81,7 @@ BASE_FEATURE(kUseAdHocSigningForWebAppShims,
+ #endif // BUILDFLAG(IS_MAC)
#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)
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Enables or disables the Autofill survey triggered by opening a prompt to
// save address info.
- const base::Feature kAutofillAddressSurvey{"AutofillAddressSurvey",
-@@ -117,7 +117,7 @@ const base::Feature kAutofillPasswordSurvey{"AutofillP
- base::FEATURE_DISABLED_BY_DEFAULT};
+ BASE_FEATURE(kAutofillAddressSurvey,
+@@ -99,7 +99,7 @@ BASE_FEATURE(kAutofillPasswordSurvey,
+ base::FEATURE_DISABLED_BY_DEFAULT);
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -18,57 +18,39 @@
// 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.
-@@ -293,7 +293,7 @@ const base::Feature kDesktopPWAsDetailedInstallDialog{
- // Enables or disables Desktop PWAs to be auto-started on OS login.
- const base::Feature kDesktopPWAsRunOnOsLogin {
- "DesktopPWAsRunOnOsLogin",
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -309,7 +309,7 @@ const base::Feature kDesktopPWAsWebBundles{"DesktopPWA
- base::FEATURE_DISABLED_BY_DEFAULT};
-
+@@ -249,7 +249,7 @@ BASE_FEATURE(kDesktopPWAsElidedExtensionsMenu,
+ BASE_FEATURE(kDesktopPWAsRunOnOsLogin,
+ "DesktopPWAsRunOnOsLogin",
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- // Serves web app settings at chrome://app-settings/<app-id>.
- const base::Feature kDesktopPWAsWebAppSettingsPage{
- "DesktopPWAsWebAppSettingsPage", base::FEATURE_ENABLED_BY_DEFAULT};
-@@ -329,7 +329,7 @@ const base::Feature kKeepForceInstalledPreinstalledApp
- const base::Feature kDnsOverHttps {
- "DnsOverHttps",
- #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_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -345,7 +345,7 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackPa
- 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
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
#else
- false
-@@ -624,7 +624,7 @@ const base::Feature kUpdateHistoryEntryPointsInIncogni
- const base::Feature kIPHInWebUIDemo{"IPHInWebUIDemo",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -282,7 +282,7 @@ BASE_FEATURE(kDisplayEdgeToEdgeFullscreen,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || 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.
+@@ -995,7 +995,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)
- COMPONENT_EXPORT(CHROME_FEATURES)
- const base::Feature kLinuxLowMemoryMonitor{"LinuxLowMemoryMonitor",
- base::FEATURE_DISABLED_BY_DEFAULT};
-@@ -637,7 +637,7 @@ constexpr base::FeatureParam<int> kLinuxLowMemoryMonit
+ BASE_FEATURE(kLinuxLowMemoryMonitor,
+ "LinuxLowMemoryMonitor",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -1008,7 +1008,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)
- const base::Feature kListWebAppsSwitch{"ListWebAppsSwitch",
- base::FEATURE_DISABLED_BY_DEFAULT};
- #endif
+ BASE_FEATURE(kListWebAppsSwitch,
+ "ListWebAppsSwitch",
+ base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-chrome_common_chrome__features.h b/www/chromium/files/patch-chrome_common_chrome__features.h
index c11bd7f7032c..d3a02a97ac4a 100644
--- a/www/chromium/files/patch-chrome_common_chrome__features.h
+++ b/www/chromium/files/patch-chrome_common_chrome__features.h
@@ -1,47 +1,45 @@
---- chrome/common/chrome_features.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/common/chrome_features.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/common/chrome_features.h
-@@ -89,7 +89,7 @@ extern const base::Feature kArcPiGhostWindow;
- COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns;
+@@ -50,13 +50,13 @@ BASE_DECLARE_FEATURE(kUseAdHocSigningForWebAppShims);
+ #endif // BUILDFLAG(IS_MAC)
#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)
- extern const base::Feature kAutofillAddressSurvey;
- COMPONENT_EXPORT(CHROME_FEATURES)
-@@ -98,7 +98,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kAutofillPasswordSurvey;
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || 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)
- extern const base::Feature kBackgroundModeAllowRestart;
+ BASE_DECLARE_FEATURE(kBackgroundModeAllowRestart);
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -223,7 +223,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kDesktopPWAsWebBundles;
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+@@ -150,7 +150,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsPreventClose);
COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kDesktopPWAsWebAppSettingsPage;
+ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kChromeAppsDeprecation);
COMPONENT_EXPORT(CHROME_FEATURES)
-@@ -437,7 +437,7 @@ extern const base::Feature kUpdateHistoryEntryPointsIn
+ BASE_DECLARE_FEATURE(kShortcutsNotApps);
+@@ -578,7 +578,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests);
COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kIPHInWebUIDemo;
+ BASE_DECLARE_FEATURE(kKAnonymityServiceStorage);
-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS)
- COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kLinuxLowMemoryMonitor;
++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kLinuxLowMemoryMonitor);
COMPONENT_EXPORT(CHROME_FEATURES)
-@@ -446,7 +446,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
+ extern const base::FeatureParam<int> kLinuxLowMemoryMonitorModerateLevel;
+@@ -586,7 +586,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)
- extern const base::Feature kListWebAppsSwitch;
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kListWebAppsSwitch);
#endif
+
diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.cc b/www/chromium/files/patch-chrome_common_chrome__paths.cc
index 940ec1a8352a..a26f97e94a41 100644
--- a/www/chromium/files/patch-chrome_common_chrome__paths.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__paths.cc
@@ -1,8 +1,17 @@
---- chrome/common/chrome_paths.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/common/chrome_paths.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/common/chrome_paths.cc
-@@ -49,14 +49,14 @@
+@@ -32,7 +32,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
- namespace {
+@@ -48,14 +48,14 @@ namespace {
+
+ std::optional<bool> g_override_using_default_data_directory_for_testing;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
@@ -18,39 +27,32 @@
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -183,7 +183,7 @@ bool PathProvider(int key, base::FilePath* result) {
- return false;
+@@ -212,7 +212,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;
- break;
-@@ -426,10 +426,12 @@ bool PathProvider(int key, base::FilePath* result) {
- if (!base::PathExists(cur)) // We don't want to create this
+ if (!GetUserDownloadsDirectorySafe(&cur)) {
return false;
+ }
+@@ -504,13 +504,13 @@ bool PathProvider(int key, base::FilePath* result) {
break;
+ }
+ #endif
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD)
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
case chrome::DIR_POLICY_FILES: {
- #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
- cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies"));
-+#elif BUILDFLAG(IS_FREEBSD)
-+ cur = base::FilePath(FILE_PATH_LITERAL("/usr/local/etc/chromium/policies"));
- #else
- cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies"));
+ cur = base::FilePath(policy::kPolicyPath);
+ break;
+ }
#endif
-@@ -441,7 +443,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)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
+ (BUILDFLAG(IS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING))
case chrome::DIR_USER_EXTERNAL_EXTENSIONS: {
- if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
- return false;
-@@ -449,7 +451,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) {
+@@ -520,7 +520,7 @@ bool PathProvider(int key, base::FilePath* result) {
break;
}
#endif
@@ -59,22 +61,22 @@
case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
cur = base::FilePath(kFilepathSinglePrefExtensions);
break;
-@@ -493,7 +495,7 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -558,7 +558,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)
+ #if BUILDFLAG(ENABLE_EXTENSIONS) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC))
++ (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)
-@@ -507,6 +509,9 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -572,6 +572,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"));
+ 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"));
+ cur = base::FilePath(
+ FILE_PATH_LITERAL("/etc/chromium/native-messaging-hosts"));
diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.h b/www/chromium/files/patch-chrome_common_chrome__paths.h
index 12f6569093fa..52b0f38757ed 100644
--- a/www/chromium/files/patch-chrome_common_chrome__paths.h
+++ b/www/chromium/files/patch-chrome_common_chrome__paths.h
@@ -1,15 +1,15 @@
---- chrome/common/chrome_paths.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/common/chrome_paths.h.orig 2025-04-04 08:52:13 UTC
+++ chrome/common/chrome_paths.h
@@ -56,7 +56,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)
+ // to set policies for chrome. This directory
+ // contains subdirectories.
+ #endif
+-#if BUILDFLAG(IS_CHROMEOS) || \
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \
+ (BUILDFLAG(IS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || BUILDFLAG(IS_MAC)
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
-@@ -64,7 +64,7 @@ enum {
+@@ -65,7 +65,7 @@ enum {
// create it.
#endif
@@ -18,12 +18,12 @@
DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension'
// definition manifest files that
// describe extensions which are to be
-@@ -117,7 +117,7 @@ enum {
- DIR_CHROMEOS_CUSTOM_WALLPAPERS, // Directory where custom wallpapers
- // reside.
+@@ -112,7 +112,7 @@ enum {
+
#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(ENABLE_EXTENSIONS) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC))
++ (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/chromium/files/patch-chrome_common_chrome__paths__internal.h b/www/chromium/files/patch-chrome_common_chrome__paths__internal.h
index a4d0a1e1465c..ad5a1cfe0f26 100644
--- a/www/chromium/files/patch-chrome_common_chrome__paths__internal.h
+++ b/www/chromium/files/patch-chrome_common_chrome__paths__internal.h
@@ -1,6 +1,6 @@
---- chrome/common/chrome_paths_internal.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/common/chrome_paths_internal.h.orig 2025-05-05 10:57:53 UTC
+++ chrome/common/chrome_paths_internal.h
-@@ -45,7 +45,7 @@ void GetUserCacheDirectory(const base::FilePath& profi
+@@ -53,7 +53,7 @@ void GetUserCacheDirectory(const base::FilePath& profi
// Get the path to the user's documents directory.
bool GetUserDocumentsDirectory(base::FilePath* result);
diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.cc b/www/chromium/files/patch-chrome_common_chrome__switches.cc
index 2e20ce7c0e08..f34b78586fb6 100644
--- a/www/chromium/files/patch-chrome_common_chrome__switches.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__switches.cc
@@ -1,15 +1,16 @@
---- chrome/common/chrome_switches.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/common/chrome_switches.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/common/chrome_switches.cc
-@@ -796,14 +796,14 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket-
+@@ -892,7 +892,7 @@ 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)
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon";
// Causes the browser to launch directly in guest mode.
- const char kGuest[] = "guest";
+@@ -921,7 +921,7 @@ const char kGlicDev[] = "glic-dev";
+ const char kGlicHostLogging[] = "glic-host-logging";
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.h b/www/chromium/files/patch-chrome_common_chrome__switches.h
index 7b130bd84741..bc899c2fadb7 100644
--- a/www/chromium/files/patch-chrome_common_chrome__switches.h
+++ b/www/chromium/files/patch-chrome_common_chrome__switches.h
@@ -1,17 +1,20 @@
---- chrome/common/chrome_switches.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/common/chrome_switches.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/common/chrome_switches.h
-@@ -251,12 +251,12 @@ extern const char kAllowNaClSocketAPI[];
+@@ -275,7 +275,7 @@ 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)
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
extern const char kEnableNewAppMenuIcon[];
extern const char kGuest[];
+ extern const char kForceNtpMobilePromo[];
+@@ -293,7 +293,7 @@ extern const char kGlicDev[];
+ extern const char kGlicHostLogging[];
#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[];
- #endif
+ extern const char kProfileManagementAttributes[];
diff --git a/www/chromium/files/patch-chrome_common_crash__keys.cc b/www/chromium/files/patch-chrome_common_crash__keys.cc
new file mode 100644
index 000000000000..b84744159f4e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_crash__keys.cc
@@ -0,0 +1,28 @@
+--- chrome/common/crash_keys.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/common/crash_keys.cc
+@@ -51,7 +51,9 @@ class CrashKeyWithName {
+ ~CrashKeyWithName() = delete;
+
+ std::string_view Name() const { return name_; }
++#if BUILDFLAG(USE_CRASHPAD_ANNOTATION)
+ std::string_view Value() const { return crash_key_.value(); }
++#endif
+ void Clear() { crash_key_.Clear(); }
+ void Set(std::string_view value) { crash_key_.Set(value); }
+
+@@ -196,6 +198,7 @@ void AllocateCrashKeyInBrowserAndChildren(std::string_
+ GetCommandLineStringAnnotations().emplace_back(std::string(key)).Set(value);
+ }
+
++#if BUILDFLAG(USE_CRASHPAD_ANNOTATION)
+ void AppendStringAnnotationsCommandLineSwitch(base::CommandLine* command_line) {
+ std::string string_annotations;
+ for (const auto& crash_key : GetCommandLineStringAnnotations()) {
+@@ -210,6 +213,7 @@ void AppendStringAnnotationsCommandLineSwitch(base::Co
+ }
+ command_line->AppendSwitchASCII(kStringAnnotationsSwitch, string_annotations);
+ }
++#endif
+
+ void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) {
+ SetStringAnnotations(command_line);
diff --git a/www/chromium/files/patch-chrome_common_extensions_extension__constants.cc b/www/chromium/files/patch-chrome_common_extensions_extension__constants.cc
new file mode 100644
index 000000000000..df318ec5cac1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_extensions_extension__constants.cc
@@ -0,0 +1,11 @@
+--- chrome/common/extensions/extension_constants.cc.orig 2025-04-04 08:52:13 UTC
++++ chrome/common/extensions/extension_constants.cc
+@@ -38,7 +38,7 @@ const char* const kBuiltInFirstPartyExtensionIds[] = {
+ kGoogleSpeechSynthesisExtensionId,
+ #endif // BUILDFLAG(IS_CHROMEOS)
+ kReadingModeGDocsHelperExtensionId,
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ kTTSEngineExtensionId,
+ kComponentUpdaterTTSEngineExtensionId,
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-chrome_common_extensions_extension__constants.h b/www/chromium/files/patch-chrome_common_extensions_extension__constants.h
new file mode 100644
index 000000000000..89a9b4015664
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_extensions_extension__constants.h
@@ -0,0 +1,11 @@
+--- chrome/common/extensions/extension_constants.h.orig 2025-07-02 06:08:04 UTC
++++ chrome/common/extensions/extension_constants.h
+@@ -311,7 +311,7 @@ inline constexpr char kReadingModeGDocsHelperExtension
+ inline constexpr base::FilePath::CharType
+ kReadingModeGDocsHelperManifestFilename[] =
+ FILE_PATH_LITERAL("reading_mode_gdocs_helper_manifest.json");
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ // The extension id of the google tts engine extension to use on-device natural
+ // Google voices.
+ inline constexpr char kTTSEngineExtensionId[] =
diff --git a/www/chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc b/www/chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc
new file mode 100644
index 000000000000..e16c9458ccdf
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc
@@ -0,0 +1,11 @@
+--- chrome/common/extensions/permissions/chrome_permission_message_rules.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/common/extensions/permissions/chrome_permission_message_rules.cc
+@@ -280,7 +280,7 @@ class USBDevicesFormatter : public ChromePermissionMes
+ int GetEnterpriseReportingPrivatePermissionMessageId() {
+ #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/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc b/www/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc
index 949e51e76efb..fd67989842e5 100644
--- a/www/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc
+++ b/www/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc
@@ -1,6 +1,6 @@
---- chrome/common/media/cdm_host_file_path.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/common/media/cdm_host_file_path.cc.orig 2025-01-15 09:18:26 UTC
+++ chrome/common/media/cdm_host_file_path.cc
-@@ -94,7 +94,7 @@ void AddCdmHostFilePaths(
+@@ -90,7 +90,7 @@ void AddCdmHostFilePaths(
cdm_host_file_paths->emplace_back(chrome_framework_path,
chrome_framework_sig_path);
@@ -8,4 +8,4 @@
+#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))
+ if (!base::PathService::Get(base::DIR_EXE, &chrome_exe_dir)) {
diff --git a/www/chromium/files/patch-chrome_common_media_cdm__registration.cc b/www/chromium/files/patch-chrome_common_media_cdm__registration.cc
new file mode 100644
index 000000000000..30396285b858
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_media_cdm__registration.cc
@@ -0,0 +1,56 @@
+--- chrome/common/media/cdm_registration.cc.orig 2025-07-02 06:08:04 UTC
++++ chrome/common/media/cdm_registration.cc
+@@ -34,7 +34,7 @@
+ #if BUILDFLAG(ENABLE_WIDEVINE)
+ #include "components/cdm/common/cdm_manifest.h"
+ #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/native_library.h"
+ #include "chrome/common/chrome_paths.h"
+ #include "chrome/common/media/component_widevine_cdm_hint_file_linux.h"
+@@ -59,7 +59,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, CDM registration is handled by Component
+ // Update (as the CDM can be loaded only when needed).
+@@ -125,7 +125,7 @@ std::unique_ptr<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 Component Updater picked a version of the Widevine
+ // CDM to be used last time it ran. (Component Updater may choose the bundled
+ // CDM if there is not a new version available for download.) If there is one
+@@ -167,7 +167,7 @@ void AddSoftwareSecureWidevine(std::vector<content::Cd
+ /*supports_sub_key_systems=*/false, kWidevineCdmDisplayName,
+ kWidevineCdmType, base::FilePath());
+
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // The Widevine CDM on Linux/ChromeOS needs to be registered (and loaded)
+ // before the zygote is locked down. The CDM can be found from the version
+ // bundled with Chrome (if BUNDLE_WIDEVINE_CDM = true) and/or the version
+@@ -434,7 +434,7 @@ void RegisterCdmInfo(std::vector<content::CdmInfo>* cd
+ }
+
+ #if BUILDFLAG(ENABLE_WIDEVINE) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+ std::vector<content::CdmInfo> GetSoftwareSecureWidevine() {
+ std::vector<content::CdmInfo> cdms;
+ AddSoftwareSecureWidevine(&cdms);
diff --git a/www/chromium/files/patch-chrome_common_media_cdm__registration.h b/www/chromium/files/patch-chrome_common_media_cdm__registration.h
new file mode 100644
index 000000000000..edb3dc3caee2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_media_cdm__registration.h
@@ -0,0 +1,11 @@
+--- chrome/common/media/cdm_registration.h.orig 2025-04-04 08:52:13 UTC
++++ chrome/common/media/cdm_registration.h
+@@ -15,7 +15,7 @@
+ void RegisterCdmInfo(std::vector<content::CdmInfo>* cdms);
+
+ #if BUILDFLAG(ENABLE_WIDEVINE) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+ // Returns the software secure Widevine CDM, if one exists.
+ std::vector<content::CdmInfo> GetSoftwareSecureWidevine();
+ #endif
diff --git a/www/chromium/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h b/www/chromium/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h
new file mode 100644
index 000000000000..9a8e5043664b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h
@@ -0,0 +1,11 @@
+--- chrome/common/media/component_widevine_cdm_hint_file_linux.h.orig 2025-04-04 08:52:13 UTC
++++ chrome/common/media/component_widevine_cdm_hint_file_linux.h
+@@ -14,7 +14,7 @@
+ #error "This file only applies when Widevine used."
+ #endif
+
+-#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/chromium/files/patch-chrome_common_pref__names.cc b/www/chromium/files/patch-chrome_common_pref__names.cc
deleted file mode 100644
index 8af3895a8b65..000000000000
--- a/www/chromium/files/patch-chrome_common_pref__names.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- chrome/common/pref_names.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/common/pref_names.cc
-@@ -1222,7 +1222,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- // Linux specific preference on whether we should match the system theme.
- const char kUsesSystemTheme[] = "extensions.theme.use_system";
- #endif
-@@ -1317,7 +1317,7 @@ const char kShowUpdatePromotionInfoBar[] =
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- // Boolean that is false if we should show window manager decorations. If
- // true, we draw a custom chrome frame (thicker title bar and blue border).
- const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame";
-@@ -1812,7 +1812,7 @@ const char kDownloadDirUpgraded[] = "download.director
- const char kDownloadLastCompleteTime[] = "download.last_complete_time";
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
-- BUILDFLAG(IS_MAC)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- const char kOpenPdfDownloadInSystemReader[] =
- "download.open_pdf_in_system_reader";
- #endif
-@@ -2113,7 +2113,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i
- // its isolation requirements.
- const char kWebAppsIsolationState[] = "web_apps.isolation_state";
-
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- // Dictionary that maps origins to web apps that can act as URL handlers.
- const char kWebAppsUrlHandlerInfo[] = "web_apps.url_handler_info";
-@@ -2243,7 +2243,7 @@ const char kAmbientAuthenticationInPrivateModesEnabled
- // requests.
- const char kBasicAuthOverHttpEnabled[] = "auth.basic_over_http_enabled";
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected
- // along with kAuthNegotiateDelegateAllowlist.
- const char kAuthNegotiateDelegateByKdcPolicy[] =
-@@ -3258,7 +3258,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto
- const char kSandboxExternalProtocolBlocked[] =
- "profile.sandbox_external_protocol_blocked";
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Boolean that indicates if system notifications are allowed to be used in
- // place of Chrome notifications.
- const char kAllowSystemNotifications[] = "system_notifications.allowed";
diff --git a/www/chromium/files/patch-chrome_common_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h
index 8b8e4cfa53be..13df9870ad50 100644
--- a/www/chromium/files/patch-chrome_common_pref__names.h
+++ b/www/chromium/files/patch-chrome_common_pref__names.h
@@ -1,56 +1,91 @@
---- chrome/common/pref_names.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/common/pref_names.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/common/pref_names.h
-@@ -382,7 +382,7 @@ extern const char kUseAshProxy[];
- #endif // BUILDFLAG(IS_CHROMEOS_LACROS)
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- extern const char kUsesSystemTheme[];
- #endif
- extern const char kCurrentThemePackFilename[];
-@@ -407,7 +407,7 @@ extern const char kShowUpdatePromotionInfoBar[];
+@@ -1334,7 +1334,7 @@ inline constexpr char kGeminiSettings[] = "browser.gem
+ inline constexpr char kAllowedDomainsForApps[] =
+ "settings.allowed_domains_for_apps";
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Linux specific preference on whether we should match the system theme.
+ inline constexpr char kSystemTheme[] = "extensions.theme.system_theme";
#endif
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- extern const char kUseCustomChromeFrame[];
+@@ -1504,7 +1504,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] =
+ "browser.show_update_promotion_info_bar";
#endif
- #if BUILDFLAG(ENABLE_PLUGINS)
-@@ -596,7 +596,7 @@ extern const char kDownloadAllowedURLsForOpenByPolicy[
- extern const char kDownloadDirUpgraded[];
- extern const char kDownloadLastCompleteTime[];
+
+-#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";
+@@ -2151,7 +2151,7 @@ inline constexpr char kDownloadDefaultDirectory[] =
+ inline constexpr char kDownloadDirUpgraded[] = "download.directory_upgrade";
+
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- extern const char kOpenPdfDownloadInSystemReader[];
+ inline constexpr char kOpenPdfDownloadInSystemReader[] =
+ "download.open_pdf_in_system_reader";
#endif
- #if BUILDFLAG(IS_ANDROID)
-@@ -707,7 +707,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps
- extern const char kWebAppsPreferences[];
- extern const char kWebAppsIsolationState[];
-
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- extern const char kWebAppsUrlHandlerInfo[];
- #endif
-@@ -846,7 +846,7 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[]
- extern const char kAmbientAuthenticationInPrivateModesEnabled[];
- extern const char kBasicAuthOverHttpEnabled[];
+@@ -2654,14 +2654,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";
+@@ -2753,7 +2753,7 @@ inline constexpr char kIsolatedWebAppInstallForceList[
+ inline constexpr char kIsolatedWebAppPendingInitializationCount[] =
+ "profile.isolated_web_app.install.pending_initialization_count";
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- extern const char kAuthNegotiateDelegateByKdcPolicy[];
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+ // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected
+ // along with kAuthNegotiateDelegateAllowlist.
+ inline constexpr char kAuthNegotiateDelegateByKdcPolicy[] =
+@@ -3271,7 +3271,7 @@ inline constexpr char kKioskChromeAppsForceAllowed[] =
+ #endif // BUILDFLAG(IS_CHROMEOS)
-@@ -1111,7 +1111,7 @@ extern const char kBlockAutoplayEnabled[];
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // Defines administrator-set availability of Chrome for Testing.
+ inline constexpr char kChromeForTestingAllowed[] = "chrome_for_testing.allowed";
#endif
- extern const char kSandboxExternalProtocolBlocked[];
+@@ -3797,7 +3797,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo
+ inline constexpr char kSandboxExternalProtocolBlocked[] =
+ "profile.sandbox_external_protocol_blocked";
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- extern const char kAllowSystemNotifications[];
+ // Boolean that indicates if system notifications are allowed to be used in
+ // place of Chrome notifications.
+ inline constexpr char kAllowSystemNotifications[] =
+@@ -3995,7 +3995,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] =
+ "policy.lens_desktop_ntp_search_enabled";
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // A dict mapping the edition name with the major version it was shown.
+ inline constexpr char kWhatsNewEditionUsed[] = "browser.whats_new.edition_used";
+ // A list containing the features of each module in order of when they
+@@ -4092,7 +4092,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ
+ "printing.oauth2_authorization_servers";
#endif
+-#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/chromium/files/patch-chrome_common_url__constants.cc b/www/chromium/files/patch-chrome_common_url__constants.cc
deleted file mode 100644
index 0a066eaaf812..000000000000
--- a/www/chromium/files/patch-chrome_common_url__constants.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/url_constants.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/common/url_constants.cc
-@@ -477,7 +477,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/chromium/files/patch-chrome_common_url__constants.h b/www/chromium/files/patch-chrome_common_url__constants.h
index a595b87cb079..b1ecc8fff477 100644
--- a/www/chromium/files/patch-chrome_common_url__constants.h
+++ b/www/chromium/files/patch-chrome_common_url__constants.h
@@ -1,11 +1,11 @@
---- chrome/common/url_constants.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/common/url_constants.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/common/url_constants.h
-@@ -447,7 +447,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)
+@@ -997,7 +997,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] =
+ inline constexpr char kPhoneHubPermissionLearnMoreURL[] =
+ "https://support.google.com/chromebook?p=multidevice";
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// "Learn more" URL for the chrome apps deprecation dialog.
- extern const char kChromeAppsDeprecationLearnMoreURL[];
+ inline constexpr char kChromeAppsDeprecationLearnMoreURL[] =
+ "https://support.google.com/chrome?p=chrome_app_deprecation";
diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.cc b/www/chromium/files/patch-chrome_common_webui__url__constants.cc
index e35cea15cbab..505a9ed754d6 100644
--- a/www/chromium/files/patch-chrome_common_webui__url__constants.cc
+++ b/www/chromium/files/patch-chrome_common_webui__url__constants.cc
@@ -1,68 +1,28 @@
---- chrome/common/webui_url_constants.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/common/webui_url_constants.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/common/webui_url_constants.cc
-@@ -454,18 +454,18 @@ const char kOsUIHelpAppURL[] = "os://help-app";
- const char kOsUIVersionURL[] = "os://version";
+@@ -193,21 +193,21 @@ base::span<const base::cstring_view> ChromeURLHosts()
+ kChromeUIAssistantOptInHost,
#endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const char kChromeUIWebUIJsErrorHost[] = "webuijserror";
- const char kChromeUIWebUIJsErrorURL[] = "chrome://webuijserror/";
- #endif
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_ASH)
-+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- const char kChromeUIConnectorsInternalsHost[] = "connectors-internals";
- #endif
-
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const char kChromeUIDiscardsHost[] = "discards";
- const char kChromeUIDiscardsURL[] = "chrome://discards/";
+ kChromeUIConnectorsInternalsHost,
+ #endif
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD)
+ kChromeUIDiscardsHost,
+ #endif
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ kChromeUIWebAppSettingsHost,
#endif
-@@ -480,14 +480,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr
+ #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID)
+ kChromeUILinuxProxyConfigHost,
#endif
-
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- const char kChromeUISandboxHost[] = "sandbox";
- #endif
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
- const char kChromeUIBrowserSwitchHost[] = "browser-switch";
- const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/";
- const char kChromeUIEnterpriseProfileWelcomeHost[] =
-@@ -502,7 +502,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro
- const char kChromeUIProfilePickerStartupQuery[] = "startup";
- #endif
-
--#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
-+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
- defined(TOOLKIT_VIEWS)) || \
- defined(USE_AURA)
- const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
-@@ -577,7 +577,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan
- #endif
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- const char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/";
- const char kChromeUIWebAppSettingsHost[] = "app-settings";
- #endif
-@@ -782,7 +782,7 @@ const char* const kChromeDebugURLs[] = {
- blink::kChromeUIGpuJavaCrashURL,
- kChromeUIJavaCrashURL,
- #endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- kChromeUIWebUIJsErrorURL,
+ kChromeUISandboxHost,
#endif
- kChromeUIQuitURL,
+ #if BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.h b/www/chromium/files/patch-chrome_common_webui__url__constants.h
index b2c295ad77bd..a41e27245484 100644
--- a/www/chromium/files/patch-chrome_common_webui__url__constants.h
+++ b/www/chromium/files/patch-chrome_common_webui__url__constants.h
@@ -1,57 +1,47 @@
---- chrome/common/webui_url_constants.h.orig 2022-07-22 17:30:31 UTC
+--- chrome/common/webui_url_constants.h.orig 2025-07-02 06:08:04 UTC
+++ chrome/common/webui_url_constants.h
-@@ -388,24 +388,24 @@ extern const char kOsUIHelpAppURL[];
- extern const char kOsUIVersionURL[];
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- extern const char kChromeUIWebUIJsErrorHost[];
- extern const char kChromeUIWebUIJsErrorURL[];
- #endif
+@@ -540,18 +540,18 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome
+ #endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_ASH)
-+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- extern const char kChromeUIConnectorsInternalsHost[];
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ inline constexpr char kChromeUIConnectorsInternalsHost[] =
+ "connectors-internals";
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- extern const char kChromeUIDiscardsHost[];
- extern const char kChromeUIDiscardsURL[];
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD)
+ inline constexpr char kChromeUIDiscardsHost[] = "discards";
+ inline constexpr char kChromeUIDiscardsURL[] = "chrome://discards/";
#endif
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- extern const char kChromeUIWebAppSettingsURL[];
- extern const char kChromeUIWebAppSettingsHost[];
- #endif
-@@ -420,14 +420,14 @@ extern const char kChromeUILinuxProxyConfigHost[];
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ inline constexpr char kChromeUIWebAppSettingsHost[] = "app-settings";
+ inline constexpr char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/";
+ inline constexpr char kChromeUIWhatsNewHost[] = "whats-new";
+@@ -563,11 +563,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[]
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- extern const char kChromeUISandboxHost[];
+ inline constexpr char kChromeUISandboxHost[] = "sandbox";
#endif
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- extern const char kChromeUIBrowserSwitchHost[];
- extern const char kChromeUIBrowserSwitchURL[];
- extern const char kChromeUIEnterpriseProfileWelcomeHost[];
-@@ -439,7 +439,7 @@ extern const char kChromeUIProfilePickerUrl[];
- extern const char kChromeUIProfilePickerStartupQuery[];
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ inline constexpr char kChromeUIBrowserSwitchHost[] = "browser-switch";
+ inline constexpr char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/";
+ inline constexpr char kChromeUIIntroDefaultBrowserSubPage[] = "default-browser";
+@@ -592,7 +592,7 @@ inline constexpr char kChromeUIHistorySyncOptinURL[] =
+ "chrome://history-sync-optin/";
#endif
-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
defined(TOOLKIT_VIEWS)) || \
defined(USE_AURA)
- extern const char kChromeUITabModalConfirmDialogHost[];
+ inline constexpr char kChromeUITabModalConfirmDialogHost[] =
diff --git a/www/chromium/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc b/www/chromium/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc
new file mode 100644
index 000000000000..c7f4870fe30d
--- /dev/null
+++ b/www/chromium/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc
@@ -0,0 +1,11 @@
+--- chrome/enterprise_companion/enterprise_companion_client.cc.orig 2025-03-05 08:14:56 UTC
++++ chrome/enterprise_companion/enterprise_companion_client.cc
+@@ -35,7 +35,7 @@ namespace {
+
+ #if BUILDFLAG(IS_MAC)
+ constexpr char kServerName[] = MAC_BUNDLE_IDENTIFIER_STRING ".service";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr char kServerName[] =
+ "/run/" COMPANY_SHORTNAME_STRING "/" PRODUCT_FULLNAME_STRING "/service.sk";
+ #elif BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-chrome_enterprise__companion_event__logger.cc b/www/chromium/files/patch-chrome_enterprise__companion_event__logger.cc
new file mode 100644
index 000000000000..6ba96cbb251f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_enterprise__companion_event__logger.cc
@@ -0,0 +1,11 @@
+--- chrome/enterprise_companion/event_logger.cc.orig 2025-05-05 10:57:53 UTC
++++ chrome/enterprise_companion/event_logger.cc
+@@ -126,7 +126,7 @@ proto::EnterpriseCompanionMetadata GetMetadata() {
+ metadata.set_application_arch(proto::ARM64);
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ metadata.set_os_platform(proto::LINUX);
+ #elif BUILDFLAG(IS_MAC)
+ metadata.set_os_platform(proto::MAC);
diff --git a/www/chromium/files/patch-chrome_enterprise__companion_lock.cc b/www/chromium/files/patch-chrome_enterprise__companion_lock.cc
new file mode 100644
index 000000000000..d552b9f60ce3
--- /dev/null
+++ b/www/chromium/files/patch-chrome_enterprise__companion_lock.cc
@@ -0,0 +1,20 @@
+--- chrome/enterprise_companion/lock.cc.orig 2024-08-26 12:06:38 UTC
++++ chrome/enterprise_companion/lock.cc
+@@ -17,7 +17,7 @@
+
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr char kLockName[] = "/" PRODUCT_FULLNAME_STRING ".lock";
+ #elif BUILDFLAG(IS_MAC)
+ constexpr char kLockName[] = MAC_BUNDLE_IDENTIFIER_STRING ".lock";
+@@ -42,7 +42,7 @@ CSecurityDesc GetAdminDaclSecurityDescriptor() {
+ namespace enterprise_companion {
+
+ std::unique_ptr<ScopedLock> CreateScopedLock(base::TimeDelta timeout) {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return named_system_lock::ScopedLock::Create(kLockName, timeout);
+ #elif BUILDFLAG(IS_WIN)
+ CSecurityAttributes sa =
diff --git a/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc b/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc
deleted file mode 100644
index ae502ab49cbe..000000000000
--- a/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/renderer/chrome_render_frame_observer.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/renderer/chrome_render_frame_observer.cc
-@@ -329,7 +329,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/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h b/www/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h
deleted file mode 100644
index 5c518b71e159..000000000000
--- a/www/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h.orig 2022-04-21 18:48:31 UTC
-+++ chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h
-@@ -16,7 +16,7 @@
- #include "mojo/public/cpp/bindings/struct_traits.h"
-
- #if !BUILDFLAG(FULL_SAFE_BROWSING) || \
-- (!BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_WIN))
-+ (!BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD))
- #error BUILDFLAG(FULL_SAFE_BROWSING) should be set and either OS_LINUX or OS_WIN defined.
- #endif
-
diff --git a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc
index 67810c0d7651..1934911d37a4 100644
--- a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc
+++ b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc
@@ -1,11 +1,47 @@
---- chrome/services/printing/print_backend_service_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/services/printing/print_backend_service_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/services/printing/print_backend_service_impl.cc
-@@ -604,7 +604,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings(
+@@ -48,7 +48,7 @@
+ #include "printing/backend/cups_connection_pool.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/no_destructor.h"
+ #include "ui/linux/linux_ui.h"
+ #include "ui/linux/linux_ui_delegate_stub.h"
+@@ -75,7 +75,7 @@ namespace printing {
+
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void InstantiateLinuxUiDelegate() {
+ // TODO(crbug.com/40561724) Until a real UI can be used in a utility process,
+ // need to use the stub version.
+@@ -84,7 +84,7 @@ void InstantiateLinuxUiDelegate() {
+ #endif
+
+ scoped_refptr<base::SequencedTaskRunner> GetPrintingTaskRunner() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Use task runner associated with equivalent of UI thread. Needed for calls
+ // made through `PrintDialogLinuxInterface` to properly execute.
+ CHECK(base::SequencedTaskRunner::HasCurrentDefault());
+@@ -467,7 +467,7 @@ void PrintBackendServiceImpl::Init(
+ // `InitCommon()`.
+ InitializeProcessForPrinting();
+ print_backend_ = PrintBackend::CreateInstance(locale);
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Test framework already initializes the UI, so this should not go in
+ // `InitCommon()`. Additionally, low-level Linux UI is not needed when tests
+ // are using `TestPrintingContext`.
+@@ -688,7 +688,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings(
crash_keys_ = std::make_unique<crash_keys::ScopedPrinterInfo>(
- print_backend_->GetPrinterDriverInfo(*printer_name));
+ *printer_name, print_backend_->GetPrinterDriverInfo(*printer_name));
--#if BUILDFLAG(IS_LINUX) && defined(USE_CUPS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_CUPS)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS)
// Try to fill in advanced settings based upon basic info options.
PrinterBasicInfo basic_info;
if (print_backend_->GetPrinterBasicInfo(*printer_name, &basic_info) ==
diff --git a/www/chromium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc b/www/chromium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc
index 93abb67c26c3..22cc612f4c4d 100644
--- a/www/chromium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc
+++ b/www/chromium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc
@@ -1,8 +1,8 @@
---- chrome/services/speech/audio_source_fetcher_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- chrome/services/speech/audio_source_fetcher_impl.cc.orig 2024-06-17 12:56:06 UTC
+++ chrome/services/speech/audio_source_fetcher_impl.cc
-@@ -69,7 +69,7 @@ void AudioSourceFetcherImpl::Start(
+@@ -132,7 +132,7 @@ void AudioSourceFetcherImpl::Start(
- // TODO(crbug.com/1185978): Check implementation / sandbox policy on Mac and
+ // TODO(crbug.com/40753481): Check implementation / sandbox policy on Mac and
// Windows.
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-chrome_services_system__signals_public_cpp_browser_system__signals__service__host__impl.cc b/www/chromium/files/patch-chrome_services_system__signals_public_cpp_browser_system__signals__service__host__impl.cc
deleted file mode 100644
index 8a03d8acf037..000000000000
--- a/www/chromium/files/patch-chrome_services_system__signals_public_cpp_browser_system__signals__service__host__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/services/system_signals/public/cpp/browser/system_signals_service_host_impl.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/services/system_signals/public/cpp/browser/system_signals_service_host_impl.cc
-@@ -12,7 +12,7 @@
- #include "content/public/browser/service_process_host.h" // nogncheck
- #elif BUILDFLAG(IS_MAC)
- #include "chrome/services/system_signals/mac/mac_system_signals_service.h"
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "chrome/services/system_signals/linux/linux_system_signals_service.h"
- #endif
-
-@@ -39,7 +39,7 @@ SystemSignalsServiceHostImpl::GetService() {
- return remote_service_.get();
- }
-
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
-
- device_signals::mojom::SystemSignalsService*
- SystemSignalsServiceHostImpl::GetService() {
diff --git a/www/chromium/files/patch-chrome_services_system__signals_public_cpp_browser_system__signals__service__host__impl.h b/www/chromium/files/patch-chrome_services_system__signals_public_cpp_browser_system__signals__service__host__impl.h
deleted file mode 100644
index bd95ae8d3441..000000000000
--- a/www/chromium/files/patch-chrome_services_system__signals_public_cpp_browser_system__signals__service__host__impl.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/services/system_signals/public/cpp/browser/system_signals_service_host_impl.h.orig 2022-07-22 17:30:31 UTC
-+++ chrome/services/system_signals/public/cpp/browser/system_signals_service_host_impl.h
-@@ -11,7 +11,7 @@
- #if BUILDFLAG(IS_WIN)
- #include "components/device_signals/core/common/mojom/system_signals.mojom.h"
- #include "mojo/public/cpp/bindings/remote.h"
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- #include <memory>
- #include "components/device_signals/core/common/mojom/system_signals.mojom-forward.h"
- #endif
-@@ -34,7 +34,7 @@ class SystemSignalsServiceHostImpl
- private:
- #if BUILDFLAG(IS_WIN)
- mojo::Remote<device_signals::mojom::SystemSignalsService> remote_service_;
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- std::unique_ptr<device_signals::mojom::SystemSignalsService> local_service_;
- #endif
- };
diff --git a/www/chromium/files/patch-chrome_test_BUILD.gn b/www/chromium/files/patch-chrome_test_BUILD.gn
deleted file mode 100644
index a396055a411f..000000000000
--- a/www/chromium/files/patch-chrome_test_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/BUILD.gn.orig 2022-07-22 17:30:31 UTC
-+++ chrome/test/BUILD.gn
-@@ -9557,7 +9557,7 @@ test("chrome_app_unittests") {
- "//components/heap_profiling/in_process",
- "//components/safe_browsing:buildflags",
- ]
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [ "//third_party/breakpad:client" ]
- }
- if (enable_gwp_asan) {
diff --git a/www/chromium/files/patch-chrome_test_base_scoped__channel__override__posix.cc b/www/chromium/files/patch-chrome_test_base_scoped__channel__override__posix.cc
new file mode 100644
index 000000000000..8b9b73a4daf3
--- /dev/null
+++ b/www/chromium/files/patch-chrome_test_base_scoped__channel__override__posix.cc
@@ -0,0 +1,11 @@
+--- chrome/test/base/scoped_channel_override_posix.cc.orig 2025-05-28 14:55:43 UTC
++++ chrome/test/base/scoped_channel_override_posix.cc
+@@ -43,7 +43,7 @@ std::string GetVersionExtra(ScopedChannelOverride::Cha
+ return "beta";
+ case ScopedChannelOverride::Channel::kDev:
+ return "unstable";
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ case ScopedChannelOverride::Channel::kCanary:
+ return "canary";
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc b/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc
index 59ffc8813111..a566027a861c 100644
--- a/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc
+++ b/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc
@@ -1,10 +1,10 @@
---- chrome/test/chromedriver/chrome_launcher.cc.orig 2022-03-25 21:59:56 UTC
+--- chrome/test/chromedriver/chrome_launcher.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/test/chromedriver/chrome_launcher.cc
-@@ -65,6 +65,7 @@
+@@ -74,6 +74,7 @@
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/wait.h>
#include <unistd.h>
#elif BUILDFLAG(IS_WIN)
- #include "chrome/test/chromedriver/keycode_text_conversion.h"
+ #include <windows.h>
diff --git a/www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
index ce32ad6feb3a..d1202e4d20c8 100644
--- a/www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
+++ b/www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
@@ -1,6 +1,6 @@
---- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2025-05-28 14:55:43 UTC
+++ chrome/test/chromedriver/chrome/chrome_finder.cc
-@@ -53,7 +53,7 @@ void GetApplicationDirs(std::vector<base::FilePath>* l
+@@ -59,7 +59,7 @@ void GetApplicationDirs(std::vector<base::FilePath>* l
installation_locations[i].Append(L"Chromium\\Application"));
}
}
@@ -9,12 +9,21 @@
void GetApplicationDirs(std::vector<base::FilePath>* locations) {
// TODO: Respect users' PATH variables.
// Until then, we use an approximation of the most common defaults.
-@@ -138,7 +138,7 @@ bool FindChrome(base::FilePath* browser_exe) {
- base::FilePath browser_exes_array[] = {
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
- base::FilePath(chrome::kBrowserProcessExecutablePath),
+@@ -126,7 +126,7 @@ std::vector<base::FilePath> GetChromeProgramNames() {
+ 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("google-chrome"),
base::FilePath(chrome::kBrowserProcessExecutablePath),
- base::FilePath("chromium"),
+ base::FilePath("chrome"), // Chrome for Testing or Google Chrome
+ base::FilePath("google-chrome"), base::FilePath("chromium"),
+@@ -142,7 +142,7 @@ std::vector<base::FilePath> GetHeadlessShellProgramNam
+ return {
+ #if BUILDFLAG(IS_WIN)
+ base::FilePath(FILE_PATH_LITERAL("chrome-headless-shell.exe")),
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::FilePath("chrome-headless-shell"),
+ #else
+ // it will compile but won't work on other OSes
diff --git a/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
index 656e8e79e233..a3ffb2e37b9e 100644
--- a/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
+++ b/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
@@ -1,6 +1,6 @@
---- chrome/test/chromedriver/key_converter_unittest.cc.orig 2022-03-25 21:59:56 UTC
+--- chrome/test/chromedriver/key_converter_unittest.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/test/chromedriver/key_converter_unittest.cc
-@@ -246,7 +246,7 @@ TEST(KeyConverter, ToggleModifiers) {
+@@ -248,7 +248,7 @@ TEST(KeyConverter, ToggleModifiers) {
CheckEventsReleaseModifiers(keys, key_events);
}
@@ -9,12 +9,12 @@
// Fails on bots: crbug.com/174962
#define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols
#else
-@@ -303,7 +303,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) {
+@@ -306,7 +306,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) {
TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKeyboard) {
ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US);
- const char kTextForKeys[] = {
+ const auto kTextForKeys = std::to_array<char>({
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- 0, 0, 0, 0, '\t', 0, '\r', '\r', 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, '\t', 0, '\r', '\r', 0, 0, 0, 0, 0,
#else
- 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0,
diff --git a/www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc b/www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc
index 1f0b694f1ee4..596e7b11a967 100644
--- a/www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc
+++ b/www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc
@@ -1,20 +1,20 @@
---- chrome/test/chromedriver/keycode_text_conversion_unittest.cc.orig 2022-03-25 21:59:56 UTC
+--- chrome/test/chromedriver/keycode_text_conversion_unittest.cc.orig 2025-04-04 08:52:13 UTC
+++ chrome/test/chromedriver/keycode_text_conversion_unittest.cc
@@ -64,7 +64,7 @@ std::string ConvertKeyCodeToTextNoError(ui::KeyboardCo
- // 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)
+ } // namespace
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Fails on bots: crbug.com/174962
#define MAYBE_KeyCodeToText DISABLED_KeyCodeToText
#else
-@@ -101,7 +101,7 @@ TEST(KeycodeTextConversionTest, MAYBE_KeyCodeToText) {
+@@ -98,7 +98,7 @@ TEST(KeycodeTextConversionTest, MAYBE_KeyCodeToText) {
+ ConvertKeyCodeToTextNoError(ui::VKEY_SHIFT, kShiftKeyModifierMask));
+ }
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Fails on bots: crbug.com/174962
#define MAYBE_CharToKeyCode DISABLED_CharToKeyCode
#else
diff --git a/www/chromium/files/patch-chrome_test_interaction_interaction__sequence__browser__util.cc b/www/chromium/files/patch-chrome_test_interaction_interaction__sequence__browser__util.cc
deleted file mode 100644
index 6f403e8839d8..000000000000
--- a/www/chromium/files/patch-chrome_test_interaction_interaction__sequence__browser__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/interaction/interaction_sequence_browser_util.cc.orig 2022-07-22 17:30:31 UTC
-+++ chrome/test/interaction/interaction_sequence_browser_util.cc
-@@ -52,7 +52,7 @@ class RenderFrameHost;
-
- namespace {
-
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- #define SUPPORTS_PIXEL_TESTS 1
- #else
- #define SUPPORTS_PIXEL_TESTS 0
diff --git a/www/chromium/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc b/www/chromium/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc
new file mode 100644
index 000000000000..759cce42ba71
--- /dev/null
+++ b/www/chromium/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc
@@ -0,0 +1,11 @@
+--- chrome/test/supervised_user/google_auth_state_waiter_mixin.cc.orig 2024-10-22 08:31:56 UTC
++++ chrome/test/supervised_user/google_auth_state_waiter_mixin.cc
+@@ -24,7 +24,7 @@ GoogleAuthStateWaiterMixin::GoogleAuthStateWaiterMixin
+ GoogleAuthStateWaiterMixin::~GoogleAuthStateWaiterMixin() = default;
+
+ void GoogleAuthStateWaiterMixin::SetUpOnMainThread() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ ChildAccountService* child_account_service =
+ ChildAccountServiceFactory::GetForProfile(
+ test_base_->browser()->profile());
diff --git a/www/chromium/files/patch-chrome_updater_app_app__install.cc b/www/chromium/files/patch-chrome_updater_app_app__install.cc
deleted file mode 100644
index 49758d18177d..000000000000
--- a/www/chromium/files/patch-chrome_updater_app_app__install.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/updater/app/app_install.cc.orig 2022-06-17 14:20:10 UTC
-+++ chrome/updater/app/app_install.cc
-@@ -197,7 +197,7 @@ void AppInstall::WakeCandidate() {
- update_service_internal, base::WrapRefCounted(this)));
- }
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // TODO(crbug.com/1276114) - implement.
- void AppInstall::WakeCandidateDone() {
- NOTIMPLEMENTED();
diff --git a/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc b/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc
index 141b761283b9..e855e7b73646 100644
--- a/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc
+++ b/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc
@@ -1,11 +1,11 @@
---- chrome/updater/app/app_uninstall.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/updater/app/app_uninstall.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/updater/app/app_uninstall.cc
-@@ -32,7 +32,7 @@
- #include "chrome/updater/win/setup/uninstall.h"
- #elif BUILDFLAG(IS_MAC)
- #include "chrome/updater/mac/setup/setup.h"
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "chrome/updater/linux/setup/setup.h"
- #endif
-
+@@ -181,7 +181,7 @@ void UninstallInThreadPool(UpdaterScope scope,
+ }
+ if (int result = UninstallOtherVersions(scope);
+ result != kErrorOk) {
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/366249606): Ignores the errors when uninstalls
+ // the other versions, because currently older Linux updater on
+ // CIPD exits with error `kErrorFailedToDeleteFolder`.
diff --git a/www/chromium/files/patch-chrome_updater_configurator.cc b/www/chromium/files/patch-chrome_updater_configurator.cc
index 5da57674da73..74b73c1460a4 100644
--- a/www/chromium/files/patch-chrome_updater_configurator.cc
+++ b/www/chromium/files/patch-chrome_updater_configurator.cc
@@ -1,11 +1,11 @@
---- chrome/updater/configurator.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/updater/configurator.cc.orig 2025-07-02 06:08:04 UTC
+++ chrome/updater/configurator.cc
-@@ -40,7 +40,7 @@
- #include "chrome/updater/win/net/network.h"
- #elif BUILDFLAG(IS_MAC)
- #include "chrome/updater/mac/net/network.h"
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "chrome/updater/linux/net/network.h"
- #endif
-
+@@ -91,7 +91,7 @@ Configurator::Configurator(scoped_refptr<UpdaterPrefs>
+ return std::nullopt;
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+ }()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Linux creating the NetworkFetcherFactory requires performing blocking IO
+ // to load an external library. This should be done when the configurator is
+ // created.
diff --git a/www/chromium/files/patch-chrome_updater_device__management_dm__client.cc b/www/chromium/files/patch-chrome_updater_device__management_dm__client.cc
deleted file mode 100644
index d86f1d18d3a7..000000000000
--- a/www/chromium/files/patch-chrome_updater_device__management_dm__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/updater/device_management/dm_client.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/updater/device_management/dm_client.cc
-@@ -36,7 +36,7 @@
- #include "chrome/updater/win/net/network.h"
- #elif BUILDFLAG(IS_MAC)
- #include "chrome/updater/mac/net/network.h"
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "chrome/updater/linux/net/network.h"
- #endif
-
diff --git a/www/chromium/files/patch-chrome_updater_device__management_dm__storage.cc b/www/chromium/files/patch-chrome_updater_device__management_dm__storage.cc
deleted file mode 100644
index 7cc6932e9745..000000000000
--- a/www/chromium/files/patch-chrome_updater_device__management_dm__storage.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/updater/device_management/dm_storage.cc.orig 2022-02-28 16:54:41 UTC
-+++ chrome/updater/device_management/dm_storage.cc
-@@ -70,7 +70,7 @@ bool DeleteObsoletePolicies(const base::FilePath& cach
-
- } // namespace
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // crbug.com/1276162 - implement.
- DMStorage::DMStorage(const base::FilePath& policy_cache_root)
- : policy_cache_root_(policy_cache_root) {
diff --git a/www/chromium/files/patch-chrome_updater_installer.cc b/www/chromium/files/patch-chrome_updater_installer.cc
deleted file mode 100644
index b6d6c0d7be9b..000000000000
--- a/www/chromium/files/patch-chrome_updater_installer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/updater/installer.cc.orig 2022-05-19 14:06:27 UTC
-+++ chrome/updater/installer.cc
-@@ -242,7 +242,7 @@ absl::optional<base::FilePath> Installer::GetCurrentIn
- return path->AppendASCII(pv_.GetString());
- }
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
-
- AppInstallerResult RunApplicationInstaller(
- const AppInfo& /*app_info*/,
diff --git a/www/chromium/files/patch-chrome_updater_lock.cc b/www/chromium/files/patch-chrome_updater_lock.cc
new file mode 100644
index 000000000000..ecd75e63de6c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_lock.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/lock.cc.orig 2024-07-30 11:12:21 UTC
++++ chrome/updater/lock.cc
+@@ -26,7 +26,7 @@ namespace updater {
+ std::unique_ptr<ScopedLock> CreateScopedLock(const std::string& name,
+ UpdaterScope scope,
+ base::TimeDelta timeout) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return named_system_lock::ScopedLock::Create(
+ base::StrCat({"/" PRODUCT_FULLNAME_STRING, name,
+ UpdaterScopeToString(scope), ".lock"}),
diff --git a/www/chromium/files/patch-chrome_updater_updater.cc b/www/chromium/files/patch-chrome_updater_updater.cc
deleted file mode 100644
index ef2077e3a396..000000000000
--- a/www/chromium/files/patch-chrome_updater_updater.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/updater/updater.cc.orig 2022-03-25 21:59:56 UTC
-+++ chrome/updater/updater.cc
-@@ -41,7 +41,7 @@
- #include "chrome/updater/win/win_util.h"
- #elif BUILDFLAG(IS_MAC)
- #include "chrome/updater/app/server/mac/server.h"
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "chrome/updater/app/server/linux/server.h"
- #endif
-
diff --git a/www/chromium/files/patch-chrome_updater_util.cc b/www/chromium/files/patch-chrome_updater_util.cc
deleted file mode 100644
index 4806e48563b4..000000000000
--- a/www/chromium/files/patch-chrome_updater_util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/updater/util.cc.orig 2022-06-17 14:20:10 UTC
-+++ chrome/updater/util.cc
-@@ -261,7 +261,7 @@ GURL AppendQueryParameter(const GURL& url,
- return url.ReplaceComponents(replacements);
- }
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
-
- // TODO(crbug.com/1276188) - implement the functions below.
- absl::optional<base::FilePath> GetUpdaterFolderPath(UpdaterScope scope) {
diff --git a/www/chromium/files/patch-chrome_updater_util_posix__util.cc b/www/chromium/files/patch-chrome_updater_util_posix__util.cc
new file mode 100644
index 000000000000..027078c4b3b3
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_util_posix__util.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/util/posix_util.cc.orig 2024-04-19 13:02:56 UTC
++++ chrome/updater/util/posix_util.cc
+@@ -20,7 +20,7 @@
+ #include "chrome/updater/updater_branding.h"
+ #include "chrome/updater/util/util.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/updater/util/linux_util.h"
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_utility_services.cc b/www/chromium/files/patch-chrome_utility_services.cc
index b650922a7624..35e58e5cfdc3 100644
--- a/www/chromium/files/patch-chrome_utility_services.cc
+++ b/www/chromium/files/patch-chrome_utility_services.cc
@@ -1,29 +1,29 @@
---- chrome/utility/services.cc.orig 2022-06-17 14:20:10 UTC
+--- chrome/utility/services.cc.orig 2025-05-05 10:57:53 UTC
+++ chrome/utility/services.cc
-@@ -74,7 +74,7 @@
- #include "chrome/services/file_util/file_util_service.h" // nogncheck
- #endif
+@@ -48,7 +48,7 @@
+ #include "chrome/services/system_signals/mac/mac_system_signals_service.h"
+ #endif // BUILDFLAG(IS_MAC)
--#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))
-+#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))
- #include "chrome/services/file_util/document_analysis_service.h" // nogncheck
- #endif
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/services/system_signals/linux/linux_system_signals_service.h"
+ #endif // BUILDFLAG(IS_LINUX)
-@@ -249,7 +249,7 @@ auto RunCupsIppParser(
+@@ -205,7 +205,7 @@ auto RunMacNotificationService(
}
- #endif
+ #endif // BUILDFLAG(IS_MAC)
--#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))
-+#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))
- auto RunDocumentAnalysis(
- mojo::PendingReceiver<chrome::mojom::DocumentAnalysisService> receiver) {
- return std::make_unique<DocumentAnalysisService>(std::move(receiver));
-@@ -432,7 +432,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
- services.Add(RunFileUtil);
- #endif
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto RunSystemSignalsService(
+ mojo::PendingReceiver<device_signals::mojom::SystemSignalsService>
+ receiver) {
+@@ -479,7 +479,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
+ services.Add(RunWindowsIconReader);
+ #endif // BUILDFLAG(IS_WIN)
--#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))
-+#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))
- services.Add(RunDocumentAnalysis);
- #endif
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ services.Add(RunSystemSignalsService);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc
index 3e4bf9065dd6..d35852ea340a 100644
--- a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc
+++ b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc
@@ -1,15 +1,15 @@
---- chromecast/browser/cast_browser_main_parts.cc.orig 2022-07-22 17:30:31 UTC
+--- chromecast/browser/cast_browser_main_parts.cc.orig 2025-07-02 06:08:04 UTC
+++ chromecast/browser/cast_browser_main_parts.cc
-@@ -91,7 +91,7 @@
- #include "ui/base/ui_base_switches.h"
- #include "ui/gl/gl_switches.h"
+@@ -100,7 +100,7 @@
+ #include "ui/ozone/public/ozone_platform.h"
+ #endif // BUILDFLAG(IS_OZONE)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <fontconfig/fontconfig.h>
#include <signal.h>
#include <sys/prctl.h>
-@@ -278,7 +278,7 @@ class CastViewsDelegate : public views::ViewsDelegate
+@@ -282,7 +282,7 @@ class CastViewsDelegate : public views::ViewsDelegate
#endif // defined(USE_AURA)
@@ -18,8 +18,8 @@
base::FilePath GetApplicationFontsDir() {
std::unique_ptr<base::Environment> env(base::Environment::Create());
-@@ -324,7 +324,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
- {cc::switches::kDisableThreadedAnimation, ""},
+@@ -327,7 +327,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
+ {switches::kDisableThreadedAnimation, ""},
#endif // BUILDFLAG(IS_ANDROID)
#endif // BUILDFLAG(IS_CAST_AUDIO_ONLY)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -27,12 +27,12 @@
#if defined(ARCH_CPU_X86_FAMILY)
// This is needed for now to enable the x11 Ozone platform to work with
// current Linux/NVidia OpenGL drivers.
-@@ -512,7 +512,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
+@@ -504,7 +504,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
views_delegate_ = std::make_unique<CastViewsDelegate>();
#endif // defined(USE_AURA)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
base::FilePath dir_font = GetApplicationFontsDir();
- const FcChar8 *dir_font_char8 = reinterpret_cast<const FcChar8*>(dir_font.value().data());
- if (!FcConfigAppFontAddDir(gfx::GetGlobalFontConfig(), dir_font_char8)) {
+ const FcChar8* dir_font_char8 =
+ reinterpret_cast<const FcChar8*>(dir_font.value().data());
diff --git a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc
index e397aeb17314..f736455c31eb 100644
--- a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc
+++ b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc
@@ -1,15 +1,6 @@
---- chromecast/browser/cast_content_browser_client.cc.orig 2022-06-17 14:20:10 UTC
+--- chromecast/browser/cast_content_browser_client.cc.orig 2025-04-04 08:52:13 UTC
+++ chromecast/browser/cast_content_browser_client.cc
-@@ -135,7 +135,7 @@
- #include "extensions/common/constants.h" // nogncheck
- #endif
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_OZONE)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(USE_OZONE)
- #include "chromecast/browser/webview/webview_controller.h"
- #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_OZONE)
-
-@@ -474,7 +474,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
+@@ -434,7 +434,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
switches::kAudioOutputChannels));
}
} else if (process_type == switches::kGpuProcess) {
@@ -18,12 +9,3 @@
// Necessary for accelerated 2d canvas. By default on Linux, Chromium
// assumes GLES2 contexts can be lost to a power-save mode, which breaks GPU
// canvas apps.
-@@ -870,7 +870,7 @@ CastContentBrowserClient::CreateThrottlesForNavigation
- handle, general_audience_browsing_service_.get()));
- }
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_OZONE)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(USE_OZONE)
- auto webview_throttle = WebviewController::MaybeGetNavigationThrottle(handle);
- if (webview_throttle) {
- throttles.push_back(std::move(webview_throttle));
diff --git a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc
deleted file mode 100644
index c93e5a2299f5..000000000000
--- a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chromecast/browser/cast_content_browser_client_receiver_bindings.cc.orig 2022-03-25 21:59:56 UTC
-+++ chromecast/browser/cast_content_browser_client_receiver_bindings.cc
-@@ -35,7 +35,7 @@
- #include "media/mojo/services/media_service.h" // nogncheck
- #endif // BUILDFLAG(ENABLE_CAST_RENDERER)
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_OZONE)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(USE_OZONE)
- #include "chromecast/browser/webview/js_channel_service.h"
- #include "chromecast/common/mojom/js_channel.mojom.h"
- #endif
-@@ -234,7 +234,7 @@ void CastContentBrowserClient::RunServiceInstance(
- void CastContentBrowserClient::BindHostReceiverForRenderer(
- content::RenderProcessHost* render_process_host,
- mojo::GenericPendingReceiver receiver) {
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_OZONE)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(USE_OZONE)
- if (auto r = receiver.As<::chromecast::mojom::JsChannelBindingProvider>()) {
- JsChannelService::Create(render_process_host, std::move(r),
- base::ThreadTaskRunnerHandle::Get());
diff --git a/www/chromium/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc b/www/chromium/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc
new file mode 100644
index 000000000000..a74d22743de4
--- /dev/null
+++ b/www/chromium/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc
@@ -0,0 +1,11 @@
+--- chromecast/cast_core/runtime/browser/runtime_application_service_impl.cc.orig 2025-04-04 08:52:13 UTC
++++ chromecast/cast_core/runtime/browser/runtime_application_service_impl.cc
+@@ -352,7 +352,7 @@ CastWebView::Scoped RuntimeApplicationServiceImpl::Cre
+ params->force_720p_resolution =
+ GetFlagEntry(feature::kCastCoreForce720p, config_.extra_features(),
+ /*default_value=*/false);
+-#if BUILDFLAG(ENABLE_CAST_RECEIVER) && BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(ENABLE_CAST_RECEIVER) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ // Starboard-based (linux) cast receivers may not render their UI at 720p, so
+ // we need to scale to the proper resolution. For example, a 4k TV may render
+ // the window at 1920x1080, so a scaling factor of 1.5 is necessary for a 720p
diff --git a/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc b/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc
deleted file mode 100644
index f70a32aef06a..000000000000
--- a/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chromecast/renderer/cast_content_renderer_client.cc.orig 2022-07-22 17:30:31 UTC
-+++ chromecast/renderer/cast_content_renderer_client.cc
-@@ -191,7 +191,7 @@ void CastContentRendererClient::RenderFrameCreated(
- dispatcher->OnRenderFrameCreated(render_frame);
- #endif
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_OZONE)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(USE_OZONE)
- // JsChannelBindings destroys itself when the RenderFrame is destroyed.
- JsChannelBindings::Create(render_frame);
- #endif
diff --git a/www/chromium/files/patch-components_BUILD.gn b/www/chromium/files/patch-components_BUILD.gn
new file mode 100644
index 000000000000..2b277a5e2219
--- /dev/null
+++ b/www/chromium/files/patch-components_BUILD.gn
@@ -0,0 +1,28 @@
+--- components/BUILD.gn.orig 2025-07-02 06:08:04 UTC
++++ components/BUILD.gn
+@@ -211,7 +211,6 @@ test("components_unittests") {
+ "//components/content_settings/core/browser:unit_tests",
+ "//components/content_settings/core/common:unit_tests",
+ "//components/country_codes:unit_tests",
+- "//components/crash/core/common:unit_tests",
+ "//components/cross_device/logging:unit_tests",
+ "//components/crx_file:unit_tests",
+ "//components/data_sharing:unit_tests",
+@@ -616,7 +615,7 @@ test("components_unittests") {
+ deps += [ "//components/cast:unit_tests" ]
+ }
+
+- if (!is_fuchsia) { #!iOS and!Fuchsia
++ if (!is_fuchsia && !is_bsd) { #!iOS and!Fuchsia
+ deps += [
+ "//components/crash/content/browser:unit_tests",
+ "//components/crash/core/app:unit_tests",
+@@ -780,7 +779,7 @@ test("components_unittests") {
+ deps += [ "//components/constrained_window:unit_tests" ]
+ }
+
+- if (is_win || is_linux || is_chromeos || is_mac) {
++ if (is_win || (is_linux && !is_bsd) || is_chromeos || is_mac) {
+ deps += [ "//components/stability_report:unit_tests" ]
+ }
+
diff --git a/www/chromium/files/patch-components_autofill__assistant_browser_autofill__assistant__impl.cc b/www/chromium/files/patch-components_autofill__assistant_browser_autofill__assistant__impl.cc
deleted file mode 100644
index f2e1fd2a6794..000000000000
--- a/www/chromium/files/patch-components_autofill__assistant_browser_autofill__assistant__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/autofill_assistant/browser/autofill_assistant_impl.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/autofill_assistant/browser/autofill_assistant_impl.cc
-@@ -121,7 +121,7 @@ void AutofillAssistantImpl::GetCapabilitiesByHashPrefi
- client_context.set_platform_type(ClientContextProto::PLATFORM_TYPE_ANDROID);
- #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)
- client_context.set_platform_type(ClientContextProto::PLATFORM_TYPE_DESKTOP);
- #endif
-
diff --git a/www/chromium/files/patch-components_autofill__assistant_browser_client__context.cc b/www/chromium/files/patch-components_autofill__assistant_browser_client__context.cc
deleted file mode 100644
index 2f292859d16f..000000000000
--- a/www/chromium/files/patch-components_autofill__assistant_browser_client__context.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/autofill_assistant/browser/client_context.cc.orig 2022-06-17 14:20:10 UTC
-+++ components/autofill_assistant/browser/client_context.cc
-@@ -20,7 +20,7 @@ ClientContextImpl::ClientContextImpl(const Client* cli
- proto_.set_platform_type(ClientContextProto::PLATFORM_TYPE_ANDROID);
- #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)
- proto_.set_platform_type(ClientContextProto::PLATFORM_TYPE_DESKTOP);
- #endif
-
diff --git a/www/chromium/files/patch-components_autofill__payments__strings.grdp b/www/chromium/files/patch-components_autofill__payments__strings.grdp
deleted file mode 100644
index 918a7001fc8b..000000000000
--- a/www/chromium/files/patch-components_autofill__payments__strings.grdp
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/autofill_payments_strings.grdp.orig 2022-07-22 17:30:31 UTC
-+++ components/autofill_payments_strings.grdp
-@@ -127,7 +127,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>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <then>
- <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar.">
- Do you want to save this card to your Google Account?
diff --git a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc
new file mode 100644
index 000000000000..e60d357bd42a
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc
@@ -0,0 +1,47 @@
+--- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ components/autofill/core/browser/data_manager/payments/payments_data_manager.cc
+@@ -472,7 +472,7 @@ void PaymentsDataManager::OnWebDataServiceRequestDone(
+
+ bool PaymentsDataManager::ShouldShowBnplSettings() const {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Check `kAutofillEnableBuyNowPayLater` only if the user has seen a BNPL
+ // suggestion before, or there are already linked issuers present, to avoid
+ // unnecessary feature flag checks. The linked issuer check is due to the fact
+@@ -983,7 +983,7 @@ void PaymentsDataManager::SetPrefService(PrefService*
+ &PaymentsDataManager::OnAutofillPaymentsCardBenefitsPrefChange,
+ base::Unretained(this)));
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ pref_registrar_.Add(
+ prefs::kAutofillBnplEnabled,
+ base::BindRepeating(&PaymentsDataManager::OnBnplEnabledPrefChange,
+@@ -1067,7 +1067,7 @@ void PaymentsDataManager::SetAutofillHasSeenIban() {
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ bool PaymentsDataManager::IsAutofillHasSeenBnplPrefEnabled() const {
+ return prefs::HasSeenBnpl(pref_service_);
+ }
+@@ -2060,7 +2060,7 @@ bool PaymentsDataManager::AreEwalletAccountsSupported(
+
+ bool PaymentsDataManager::AreBnplIssuersSupported() const {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return app_locale_ == "en-US" && GetCountryCodeForExperimentGroup() == "US" &&
+ base::FeatureList::IsEnabled(
+ features::kAutofillEnableBuyNowPayLaterSyncing);
+@@ -2093,7 +2093,7 @@ void PaymentsDataManager::ClearAllCreditCardBenefits()
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void PaymentsDataManager::OnBnplEnabledPrefChange() {
+ // On pref change to `false`, clearing BNPL issuers is implicitly handled by
+ // `GetBnplIssuers()`, since it returns an empty vector when
diff --git a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h
new file mode 100644
index 000000000000..39bd47289926
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h
@@ -0,0 +1,20 @@
+--- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2025-07-02 06:08:04 UTC
++++ components/autofill/core/browser/data_manager/payments/payments_data_manager.h
+@@ -365,7 +365,7 @@ class PaymentsDataManager : public AutofillWebDataServ
+ void SetAutofillHasSeenIban();
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Returns the value of the kAutofillHasSeenBnpl pref.
+ bool IsAutofillHasSeenBnplPrefEnabled() const;
+
+@@ -685,7 +685,7 @@ class PaymentsDataManager : public AutofillWebDataServ
+ void ClearAllCreditCardBenefits();
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Monitors the `kAutofillBnplEnabled` preference for changes and controls the
+ // clearing/loading of payment instruments accordingly. Will also log the
+ // `Autofill.SettingsPage.BnplToggled` metric.
diff --git a/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc
new file mode 100644
index 000000000000..f63dc61e3a3c
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc
@@ -0,0 +1,11 @@
+--- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ components/autofill/core/browser/foundations/browser_autofill_manager.cc
+@@ -740,7 +740,7 @@ BrowserAutofillManager::GetCreditCardAccessManager() c
+
+ payments::BnplManager* BrowserAutofillManager::GetPaymentsBnplManager() {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (!bnpl_manager_) {
+ bnpl_manager_ = std::make_unique<payments::BnplManager>(this);
+ }
diff --git a/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide.cc b/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide.cc
new file mode 100644
index 000000000000..947f4d1dedd7
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide.cc
@@ -0,0 +1,11 @@
+--- components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc.orig 2025-05-28 14:55:43 UTC
++++ components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide.cc
+@@ -232,7 +232,7 @@ void AutofillOptimizationGuide::OnDidParseForm(
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ auto bnpl_issuer_allowlist_can_be_loaded =
+ [&payments_data_manager](BnplIssuer::IssuerId issuer_id) {
+ return base::Contains(payments_data_manager.GetBnplIssuers(), issuer_id,
diff --git a/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc
new file mode 100644
index 000000000000..5246dc8a8727
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc
@@ -0,0 +1,38 @@
+--- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ components/autofill/core/browser/payments/amount_extraction_manager.cc
+@@ -109,7 +109,7 @@ AmountExtractionManager::GetEligibleFeatures(const Sug
+ }
+
+ if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+- BUILDFLAG(IS_CHROMEOS)) {
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) {
+ if (base::FeatureList::IsEnabled(
+ ::autofill::features::
+ kAutofillEnableAmountExtractionDesktopLogging)) {
+@@ -188,7 +188,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived
+ bnpl_manager->OnAmountExtractionReturned(parsed_extracted_amount);
+ }
+ if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+- BUILDFLAG(IS_CHROMEOS)) {
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) {
+ if (base::FeatureList::IsEnabled(
+ ::autofill::features::
+ kAutofillEnableAmountExtractionDesktopLogging)) {
+@@ -212,7 +212,7 @@ void AmountExtractionManager::OnTimeoutReached() {
+ autofill_metrics::AmountExtractionResult::kTimeout);
+ // TODO(crbug.com/378517983): Add BNPL flow action logic here.
+ if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+- BUILDFLAG(IS_CHROMEOS)) {
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) {
+ if (base::FeatureList::IsEnabled(
+ ::autofill::features::
+ kAutofillEnableAmountExtractionDesktopLogging)) {
+@@ -232,7 +232,7 @@ AmountExtractionManager::CheckEligiblilityForFeaturesR
+ // Check eligibility of BNPL feature.
+ // Currently, BNPL is only offered for desktop platforms.
+ if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+- BUILDFLAG(IS_CHROMEOS)) {
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) {
+ if (BnplManager* bnpl_manager = autofill_manager_->GetPaymentsBnplManager();
+ bnpl_manager && bnpl_manager->IsEligibleForBnpl()) {
+ eligible_features.insert(EligibleFeature::kBnpl);
diff --git a/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc
new file mode 100644
index 000000000000..cf9b5a65ab0a
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc
@@ -0,0 +1,11 @@
+--- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2025-05-28 14:55:43 UTC
++++ components/autofill/core/browser/payments/bnpl_manager.cc
+@@ -466,7 +466,7 @@ void BnplManager::MaybeUpdateSuggestionsWithBnpl(
+ .OnBnplSuggestionShown();
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ payments_autofill_client().GetPaymentsDataManager().SetAutofillHasSeenBnpl();
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc
deleted file mode 100644
index c55baf840559..000000000000
--- a/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- components/autofill/core/browser/personal_data_manager.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/autofill/core/browser/personal_data_manager.cc
-@@ -1983,7 +1983,8 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
-- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || \
-+ BUILDFLAG(IS_BSD)
- // This option should only be shown for users that have not enabled the Sync
- // Feature and that have server credit cards available.
- if (!sync_service_ || sync_service_->IsSyncFeatureEnabled() ||
diff --git a/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc b/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc
new file mode 100644
index 000000000000..8310a08bf8b7
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc
@@ -0,0 +1,11 @@
+--- components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc.orig 2025-07-02 06:08:04 UTC
++++ components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc
+@@ -1261,7 +1261,7 @@ bool AreMaskedBankAccountSupported() {
+
+ bool IsBnplIssuerSupported() {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(
+ features::kAutofillEnableBuyNowPayLaterSyncing);
+ #else
diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc
index 7903ec7d423a..0c520495559d 100644
--- a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc
+++ b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc
@@ -1,11 +1,11 @@
---- components/autofill/core/common/autofill_payments_features.cc.orig 2022-07-22 17:30:31 UTC
+--- components/autofill/core/common/autofill_payments_features.cc.orig 2025-07-02 06:08:04 UTC
+++ components/autofill/core/common/autofill_payments_features.cc
-@@ -223,7 +223,7 @@ const base::FeatureParam<int>
+@@ -326,7 +326,7 @@ BASE_FEATURE(kAutofillSyncEwalletAccounts,
+ #endif // BUILDFLAG(IS_ANDROID)
+
bool ShouldShowImprovedUserConsentForCreditCardSave() {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// The new user consent UI is fully launched on MacOS, Windows and Linux.
return true;
+ #else
diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc
new file mode 100644
index 000000000000..d22f8a1e7ba4
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc
@@ -0,0 +1,38 @@
+--- components/autofill/core/common/autofill_prefs.cc.orig 2025-07-02 06:08:04 UTC
++++ components/autofill/core/common/autofill_prefs.cc
+@@ -101,7 +101,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ registry->RegisterBooleanPref(
+ kAutofillBnplEnabled, true,
+ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
+@@ -280,7 +280,7 @@ bool IsFacilitatedPaymentsEwalletEnabled(const PrefSer
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void SetAutofillBnplEnabled(PrefService* prefs, bool value) {
+ prefs->SetBoolean(kAutofillBnplEnabled, value);
+ }
+@@ -289,7 +289,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v
+
+ bool IsAutofillBnplEnabled(const PrefService* prefs) {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return prefs->GetBoolean(kAutofillBnplEnabled);
+ #else
+ return false;
+@@ -298,7 +298,7 @@ bool IsAutofillBnplEnabled(const PrefService* prefs) {
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // If called, always sets the pref to true, and once true, it will follow the
+ // user around forever.
+ void SetAutofillHasSeenBnpl(PrefService* prefs) {
diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h
new file mode 100644
index 000000000000..d179d2dcb9fb
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h
@@ -0,0 +1,29 @@
+--- components/autofill/core/common/autofill_prefs.h.orig 2025-07-02 06:08:04 UTC
++++ components/autofill/core/common/autofill_prefs.h
+@@ -32,7 +32,7 @@ inline constexpr std::string_view kAutofillAblationSee
+ inline constexpr char kAutofillAiOptInStatus[] =
+ "autofill.autofill_ai.opt_in_status";
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Boolean that is true if BNPL on Autofill is enabled.
+ inline constexpr char kAutofillBnplEnabled[] = "autofill.bnpl_enabled";
+ // Boolean that is true if the user has ever seen a BNPL suggestion.
+@@ -220,7 +220,7 @@ void SetFacilitatedPaymentsEwallet(PrefService* prefs,
+ bool IsFacilitatedPaymentsEwalletEnabled(const PrefService* prefs);
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void SetAutofillBnplEnabled(PrefService* prefs, bool value);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS)
+@@ -228,7 +228,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v
+ bool IsAutofillBnplEnabled(const PrefService* prefs);
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void SetAutofillHasSeenBnpl(PrefService* prefs);
+
+ bool HasSeenBnpl(const PrefService* prefs);
diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc
deleted file mode 100644
index 9f96534f7fb4..000000000000
--- a/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/autofill/core/common/autofill_util.cc.orig 2022-02-28 16:54:41 UTC
-+++ components/autofill/core/common/autofill_util.cc
-@@ -154,7 +154,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value
-
- bool ShouldAutoselectFirstSuggestionOnArrowDown() {
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- return true;
- #else
- return false;
diff --git a/www/chromium/files/patch-components_cast__channel_cast__message__util.cc b/www/chromium/files/patch-components_cast__channel_cast__message__util.cc
deleted file mode 100644
index 5ae76b075f2d..000000000000
--- a/www/chromium/files/patch-components_cast__channel_cast__message__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/cast_channel/cast_message_util.cc.orig 2022-02-28 16:54:41 UTC
-+++ components/cast_channel/cast_message_util.cc
-@@ -168,7 +168,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/chromium/files/patch-components_commerce_core_commerce__feature__list.cc b/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc
new file mode 100644
index 000000000000..71ddede40ea4
--- /dev/null
+++ b/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc
@@ -0,0 +1,39 @@
+--- components/commerce/core/commerce_feature_list.cc.orig 2025-07-02 06:08:04 UTC
++++ components/commerce/core/commerce_feature_list.cc
+@@ -157,7 +157,8 @@ BASE_FEATURE(kPriceInsights,
+ "PriceInsights",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID) || \
++ BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kPriceInsightsRegionLaunched,
+ "PriceInsightsRegionLaunched",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -230,7 +231,7 @@ BASE_FEATURE(kEnableDiscountInfoApi,
+ const char kDiscountOnShoppyPageParam[] = "discount-on-shoppy-page";
+
+ #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)
+ const base::FeatureParam<bool> kDiscountOnShoppyPage{
+ &kEnableDiscountInfoApi, kDiscountOnShoppyPageParam, true};
+ #else
+@@ -239,7 +240,7 @@ const base::FeatureParam<bool> kDiscountOnShoppyPage{
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kEnableDiscountInfoApiRegionLaunched,
+ "EnableDiscountInfoApiRegionLaunched",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -254,7 +255,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi
+ const char kNonMerchantWideBehaviorParam[] = "non-merchant-wide-behavior";
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kDiscountDialogAutoPopupBehaviorSetting,
+ "DiscountDialogAutoPopupBehaviorSetting",
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-components_components__chromium__strings.grd b/www/chromium/files/patch-components_components__chromium__strings.grd
deleted file mode 100644
index d88e2bafa1a4..000000000000
--- a/www/chromium/files/patch-components_components__chromium__strings.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/components_chromium_strings.grd.orig 2022-07-22 17:30:31 UTC
-+++ components/components_chromium_strings.grd
-@@ -223,7 +223,7 @@
- </message>
- </if>
- <!-- The ChromeOS version of this string is defined in //components/error_page_strings.grdp. -->
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Linux instructions for disabling use of a proxy server.">
- Go to
- the Chromium menu &gt;
diff --git a/www/chromium/files/patch-components_components__google__chrome__strings.grd b/www/chromium/files/patch-components_components__google__chrome__strings.grd
deleted file mode 100644
index 779ac3540136..000000000000
--- a/www/chromium/files/patch-components_components__google__chrome__strings.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/components_google_chrome_strings.grd.orig 2022-07-22 17:30:31 UTC
-+++ components/components_google_chrome_strings.grd
-@@ -230,7 +230,7 @@
- </message>
- </if>
- <!-- The ChromeOS version of this string is defined in //components/error_page_strings.grdp. -->
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Linux instructions for disabling use of a proxy server.">
- Go to
- the Chrome menu &gt;
diff --git a/www/chromium/files/patch-components_constrained__window_constrained__window__views.cc b/www/chromium/files/patch-components_constrained__window_constrained__window__views.cc
new file mode 100644
index 000000000000..28e32aa3ee58
--- /dev/null
+++ b/www/chromium/files/patch-components_constrained__window_constrained__window__views.cc
@@ -0,0 +1,11 @@
+--- components/constrained_window/constrained_window_views.cc.orig 2025-07-02 06:08:04 UTC
++++ components/constrained_window/constrained_window_views.cc
+@@ -392,7 +392,7 @@ bool SupportsGlobalScreenCoordinates() {
+ }
+
+ bool PlatformClipsChildrenToViewport() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return true;
+ #else
+ return false;
diff --git a/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc
index ec6aa3e29ca0..64b99b1dbde8 100644
--- a/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc
+++ b/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc
@@ -1,4 +1,4 @@
---- components/content_settings/core/browser/website_settings_registry.cc.orig 2022-02-28 16:54:41 UTC
+--- components/content_settings/core/browser/website_settings_registry.cc.orig 2025-02-19 07:43:18 UTC
+++ components/content_settings/core/browser/website_settings_registry.cc
@@ -66,7 +66,7 @@ const WebsiteSettingsInfo* WebsiteSettingsRegistry::Re
#if BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-components_cookie__config_cookie__store__util.cc b/www/chromium/files/patch-components_cookie__config_cookie__store__util.cc
index d11bc58134db..311eeb2fa98c 100644
--- a/www/chromium/files/patch-components_cookie__config_cookie__store__util.cc
+++ b/www/chromium/files/patch-components_cookie__config_cookie__store__util.cc
@@ -1,9 +1,9 @@
---- components/cookie_config/cookie_store_util.cc.orig 2022-02-28 16:54:41 UTC
+--- components/cookie_config/cookie_store_util.cc.orig 2024-02-23 21:04:38 UTC
+++ components/cookie_config/cookie_store_util.cc
@@ -12,7 +12,7 @@
namespace cookie_config {
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
namespace {
diff --git a/www/chromium/files/patch-components_crash_content_browser_BUILD.gn b/www/chromium/files/patch-components_crash_content_browser_BUILD.gn
deleted file mode 100644
index 221f981f9392..000000000000
--- a/www/chromium/files/patch-components_crash_content_browser_BUILD.gn
+++ /dev/null
@@ -1,29 +0,0 @@
---- components/crash/content/browser/BUILD.gn.orig 2022-02-07 13:39:41 UTC
-+++ components/crash/content/browser/BUILD.gn
-@@ -21,7 +21,7 @@ source_set("browser") {
- "//content/public/common",
- ]
-
-- if (is_linux || is_chromeos || is_android) {
-+ if ((is_linux && !is_bsd) || is_chromeos || is_android) {
- # Want this file on both Linux and Android.
- sources += [
- "crash_handler_host_linux.cc",
-@@ -37,7 +37,7 @@ source_set("browser") {
-
- # This is not in the GYP build but this target includes breakpad client
- # headers, so add the dependency here.
-- if ((is_posix && !is_ios) || is_fuchsia) {
-+ if ((is_posix && !is_ios && !is_bsd) || is_fuchsia) {
- configs += [ "//third_party/breakpad:client_config" ]
- public_configs = [ "//third_party/breakpad:client_config" ]
- }
-@@ -59,7 +59,7 @@ source_set("browser") {
- "//components/crash/android:jni_headers",
- "//mojo/public/cpp/bindings",
- ]
-- } else {
-+ } else if (!is_bsd) {
- deps += [ "//third_party/breakpad:client" ]
- }
- }
diff --git a/www/chromium/files/patch-components_crash_core_app_BUILD.gn b/www/chromium/files/patch-components_crash_core_app_BUILD.gn
index 20e78250ae4a..3424a92d29d0 100644
--- a/www/chromium/files/patch-components_crash_core_app_BUILD.gn
+++ b/www/chromium/files/patch-components_crash_core_app_BUILD.gn
@@ -1,15 +1,6 @@
---- components/crash/core/app/BUILD.gn.orig 2022-02-28 16:54:41 UTC
+--- components/crash/core/app/BUILD.gn.orig 2025-05-05 10:57:53 UTC
+++ components/crash/core/app/BUILD.gn
-@@ -52,7 +52,7 @@ static_library("app") {
- "crashpad.h",
- ]
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "breakpad_linux.cc",
- "breakpad_linux.h",
-@@ -61,6 +61,10 @@ static_library("app") {
+@@ -70,6 +70,10 @@ static_library("app") {
]
}
@@ -20,7 +11,16 @@
defines = [ "CRASH_IMPLEMENTATION" ]
public_deps = [ ":lib" ]
-@@ -88,7 +92,7 @@ static_library("app") {
+@@ -83,7 +87,7 @@ static_library("app") {
+ "//third_party/crashpad/crashpad/util",
+ ]
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [ "crashpad_linux.cc" ]
+ data_deps = [ ":chrome_crashpad_handler" ]
+ }
+@@ -105,7 +109,7 @@ static_library("app") {
libs = [ "log" ]
}
@@ -29,16 +29,7 @@
deps += [
"//base:base_static",
"//components/crash/core/common",
-@@ -96,7 +100,7 @@ static_library("app") {
- ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [ "//third_party/breakpad:client" ]
- }
-
-@@ -216,11 +220,6 @@ if (is_mac || is_android || is_linux || is_chromeos) {
+@@ -237,11 +241,6 @@ if (is_mac || is_android || is_linux || is_chromeos) {
# define custom UserStreamDataSources.
executable("chrome_crashpad_handler") {
sources = [ "chrome_crashpad_handler.cc" ]
@@ -48,5 +39,5 @@
- "//third_party/crashpad/crashpad/handler",
- ]
- if (is_mac && (is_component_build || is_asan)) {
+ if (is_mac && (is_component_build || is_asan || is_ubsan_any)) {
ldflags = [
diff --git a/www/chromium/files/patch-components_crash_core_app_crashpad__handler__main.cc b/www/chromium/files/patch-components_crash_core_app_crashpad__handler__main.cc
new file mode 100644
index 000000000000..d2f32c734fb4
--- /dev/null
+++ b/www/chromium/files/patch-components_crash_core_app_crashpad__handler__main.cc
@@ -0,0 +1,20 @@
+--- components/crash/core/app/crashpad_handler_main.cc.orig 2024-01-30 07:53:34 UTC
++++ components/crash/core/app/crashpad_handler_main.cc
+@@ -10,7 +10,7 @@
+ #include "third_party/crashpad/crashpad/handler/handler_main.h"
+ #include "third_party/crashpad/crashpad/handler/user_stream_data_source.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #include "components/stability_report/user_stream_data_source_posix.h"
+ #endif
+
+@@ -31,7 +31,7 @@ __attribute__((visibility("default"), used)) int Crash
+ char* argv[]) {
+ crashpad::UserStreamDataSources user_stream_data_sources;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ user_stream_data_sources.push_back(
+ std::make_unique<stability_report::UserStreamDataSourcePosix>());
+ #endif
diff --git a/www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc b/www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc
index da10773c0ebf..c25771fc71f4 100644
--- a/www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc
+++ b/www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc
@@ -1,16 +1,26 @@
---- components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2022-02-07 13:39:41 UTC
+--- components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2025-02-19 07:43:18 UTC
+++ components/crash/core/browser/crash_upload_list_crashpad.cc
-@@ -51,9 +51,13 @@ std::vector<UploadList::UploadInfo> CrashUploadListCra
+@@ -37,7 +37,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) {
+@@ -51,9 +53,13 @@ CrashUploadListCrashpad::LoadUploadList() {
void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin,
const base::Time& end) {
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
crash_reporter::ClearReportsBetween(begin, end);
+#endif
}
void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) {
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
crash_reporter::RequestSingleCrashUpload(local_id);
+#endif
}
diff --git a/www/chromium/files/patch-components_crash_core_common_BUILD.gn b/www/chromium/files/patch-components_crash_core_common_BUILD.gn
index 61ecc8950ec9..ed890d4f07a4 100644
--- a/www/chromium/files/patch-components_crash_core_common_BUILD.gn
+++ b/www/chromium/files/patch-components_crash_core_common_BUILD.gn
@@ -1,6 +1,6 @@
---- components/crash/core/common/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- components/crash/core/common/BUILD.gn.orig 2023-05-31 08:12:17 UTC
+++ 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.
@@ -9,12 +9,3 @@
}
group("common") {
-@@ -190,7 +190,7 @@ source_set("unit_tests") {
- sources += [ "crash_key_breakpad_ios_unittest.cc" ]
- deps += [ "//third_party/breakpad:client" ]
- include_dirs = [ "//third_party/breakpad/breakpad/src/" ]
-- } else if (!is_mac && !is_win && !is_fuchsia && !is_android) {
-+ } else if (!is_mac && !is_win && !is_fuchsia && !is_android && !is_bsd) {
- include_dirs = [ "//third_party/breakpad/breakpad/src/" ]
- sources += [ "crash_key_breakpad_unittest.cc" ]
- }
diff --git a/www/chromium/files/patch-components_device__signals_core_browser_browser__utils.h b/www/chromium/files/patch-components_device__signals_core_browser_browser__utils.h
new file mode 100644
index 000000000000..9343582483ab
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_browser_browser__utils.h
@@ -0,0 +1,20 @@
+--- components/device_signals/core/browser/browser_utils.h.orig 2025-05-28 14:55:43 UTC
++++ components/device_signals/core/browser/browser_utils.h
+@@ -36,7 +36,7 @@ bool GetSiteIsolationEnabled();
+ // Returns the hostname of the current machine.
+ std::string GetHostName();
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Returns the hostname of the current machine.
+ std::vector<std::string> GetSystemDnsServers();
+
+@@ -44,7 +44,7 @@ std::vector<std::string> GetSystemDnsServers();
+ SettingValue GetOSFirewall();
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Returns the path to the ufw configuration file.
+ const char** GetUfwConfigPath();
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h b/www/chromium/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h
new file mode 100644
index 000000000000..83f41b5e8cd7
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h
@@ -0,0 +1,11 @@
+--- components/device_signals/core/browser/mock_signals_aggregator.h.orig 2023-07-16 15:47:57 UTC
++++ 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/chromium/files/patch-components_device__signals_core_browser_signals__aggregator.h b/www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator.h
new file mode 100644
index 000000000000..36f820a613b3
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator.h
@@ -0,0 +1,11 @@
+--- components/device_signals/core/browser/signals_aggregator.h.orig 2023-07-16 15:47:57 UTC
++++ 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/chromium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc b/www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc
new file mode 100644
index 000000000000..4b6e2d5d0ad0
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc
@@ -0,0 +1,11 @@
+--- components/device_signals/core/browser/signals_aggregator_impl.cc.orig 2025-02-19 07:43:18 UTC
++++ components/device_signals/core/browser/signals_aggregator_impl.cc
+@@ -64,7 +64,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/chromium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h b/www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h
new file mode 100644
index 000000000000..8d0c9a8ecb36
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h
@@ -0,0 +1,11 @@
+--- components/device_signals/core/browser/signals_aggregator_impl.h.orig 2025-04-04 08:52:13 UTC
++++ components/device_signals/core/browser/signals_aggregator_impl.h
+@@ -30,7 +30,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/chromium/files/patch-components_device__signals_core_browser_user__permission__service.h b/www/chromium/files/patch-components_device__signals_core_browser_user__permission__service.h
new file mode 100644
index 000000000000..70b9a8b68548
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_browser_user__permission__service.h
@@ -0,0 +1,11 @@
+--- components/device_signals/core/browser/user_permission_service.h.orig 2023-07-16 15:47:57 UTC
++++ 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/chromium/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc b/www/chromium/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc
new file mode 100644
index 000000000000..0b379b47a2a2
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc
@@ -0,0 +1,11 @@
+--- components/device_signals/core/browser/user_permission_service_impl.cc.orig 2024-07-30 11:12:21 UTC
++++ components/device_signals/core/browser/user_permission_service_impl.cc
+@@ -87,7 +87,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/chromium/files/patch-components_device__signals_core_browser_user__permission__service__impl.h b/www/chromium/files/patch-components_device__signals_core_browser_user__permission__service__impl.h
new file mode 100644
index 000000000000..ab0dfa7da42a
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_browser_user__permission__service__impl.h
@@ -0,0 +1,11 @@
+--- components/device_signals/core/browser/user_permission_service_impl.h.orig 2024-07-30 11:12:21 UTC
++++ components/device_signals/core/browser/user_permission_service_impl.h
+@@ -38,7 +38,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/chromium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc b/www/chromium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc
new file mode 100644
index 000000000000..8a9d3dc9ea51
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc
@@ -0,0 +1,78 @@
+--- components/device_signals/core/common/linux/platform_utils_linux.cc.orig 2025-05-28 14:55:43 UTC
++++ components/device_signals/core/common/linux/platform_utils_linux.cc
+@@ -4,12 +4,23 @@
+
+ #include "components/device_signals/core/common/platform_utils.h"
+
++#include "build/build_config.h"
++
+ #if defined(USE_GIO)
+ #include <gio/gio.h>
+ #endif // defined(USE_GIO)
+ #include <sys/stat.h>
++#if !BUILDFLAG(IS_BSD)
+ #include <sys/sysmacros.h>
++#endif
+
++#if BUILDFLAG(IS_BSD)
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <ifaddrs.h>
++#include <net/if_dl.h>
++#endif
++
+ #include <algorithm>
+ #include <optional>
+ #include <string>
+@@ -98,6 +109,7 @@ SettingValue GetScreenlockSecured() {
+ // Implements the logic from the native host installation script. First find the
+ // root device identifier, then locate its parent and get its type.
+ SettingValue GetDiskEncrypted() {
++#if !BUILDFLAG(IS_BSD)
+ struct stat info;
+ // First figure out the device identifier. Fail fast if this fails.
+ if (stat("/", &info) != 0) {
+@@ -120,11 +132,35 @@ SettingValue GetDiskEncrypted() {
+ }
+ return SettingValue::UNKNOWN;
+ }
++#endif
+ return SettingValue::DISABLED;
+ }
+
+ std::vector<std::string> GetMacAddresses() {
+ std::vector<std::string> result;
++#if BUILDFLAG(IS_BSD)
++ struct ifaddrs* ifa = nullptr;
++
++ if (getifaddrs(&ifa) != 0)
++ return result;
++
++ struct ifaddrs* interface = ifa;
++ for (; interface != nullptr; interface = interface->ifa_next) {
++ if (interface->ifa_addr == nullptr ||
++ interface->ifa_addr->sa_family != AF_LINK) {
++ continue;
++ }
++ struct sockaddr_dl* sdl =
++ reinterpret_cast<struct sockaddr_dl*>(interface->ifa_addr);
++ if (!sdl || sdl->sdl_alen != 6)
++ continue;
++ char* link_address = static_cast<char*>(LLADDR(sdl));
++ result.push_back(base::StringPrintf(
++ "%02x:%02x:%02x:%02x:%02x:%02x", link_address[0] & 0xff,
++ link_address[1] & 0xff, link_address[2] & 0xff, link_address[3] & 0xff,
++ link_address[4] & 0xff, link_address[5] & 0xff));
++ }
++#else
+ base::DirReaderPosix reader("/sys/class/net");
+ if (!reader.IsValid()) {
+ return result;
+@@ -149,6 +185,7 @@ std::vector<std::string> GetMacAddresses() {
+ &address);
+ result.push_back(address);
+ }
++#endif
+ return result;
+ }
+
diff --git a/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc b/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc
new file mode 100644
index 000000000000..16418c1fe4c9
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc
@@ -0,0 +1,11 @@
+--- components/device_signals/core/common/signals_features.cc.orig 2025-05-28 14:55:43 UTC
++++ components/device_signals/core/common/signals_features.cc
+@@ -43,7 +43,7 @@ bool IsBrowserSignalsReportingEnabled() {
+ }
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || 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/chromium/files/patch-components_device__signals_core_common_signals__features.h b/www/chromium/files/patch-components_device__signals_core_common_signals__features.h
new file mode 100644
index 000000000000..4b3a60a02309
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_common_signals__features.h
@@ -0,0 +1,11 @@
+--- components/device_signals/core/common/signals_features.h.orig 2025-05-28 14:55:43 UTC
++++ components/device_signals/core/common/signals_features.h
+@@ -29,7 +29,7 @@ bool IsProfileSignalsReportingEnabled();
+ bool IsBrowserSignalsReportingEnabled();
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kDeviceSignalsConsentDialog);
+
+ // Returns true if device signals consent dialog has been enabled for
diff --git a/www/chromium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc b/www/chromium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc
new file mode 100644
index 000000000000..c5dea15ace97
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc
@@ -0,0 +1,11 @@
+--- components/device_signals/core/system_signals/platform_delegate.cc.orig 2022-09-24 10:57:32 UTC
++++ 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/chromium/files/patch-components_device__signals_test_signals__contract.cc b/www/chromium/files/patch-components_device__signals_test_signals__contract.cc
new file mode 100644
index 000000000000..d69bafda3cef
--- /dev/null
+++ b/www/chromium/files/patch-components_device__signals_test_signals__contract.cc
@@ -0,0 +1,11 @@
+--- components/device_signals/test/signals_contract.cc.orig 2025-04-04 08:52:13 UTC
++++ components/device_signals/test/signals_contract.cc
+@@ -221,7 +221,7 @@ GetSignalsContract(bool is_av_signal_enabled) {
+ base::BindRepeating(VerifyUnset, names::kCrowdStrike);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ contract[names::kAllowScreenLock] =
+ base::BindRepeating(VerifyUnset, names::kAllowScreenLock);
+ contract[names::kImei] = base::BindRepeating(VerifyUnset, names::kImei);
diff --git a/www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc
index 6dc52dff9502..8ea108cff3b0 100644
--- a/www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc
+++ b/www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc
@@ -1,11 +1,11 @@
---- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2022-02-07 13:39:41 UTC
+--- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2024-09-30 07:45:04 UTC
+++ components/discardable_memory/service/discardable_shared_memory_manager.cc
-@@ -171,7 +171,7 @@ int64_t GetDefaultMemoryLimit() {
+@@ -172,7 +172,7 @@ uint64_t GetDefaultMemoryLimit() {
// Limits the number of FDs used to 32, assuming a 4MB allocation size.
- int64_t max_default_memory_limit = 128 * kMegabyte;
+ uint64_t max_default_memory_limit = 128 * kMegabyte;
#else
-- int64_t max_default_memory_limit = 512 * kMegabyte;
-+ int64_t max_default_memory_limit = 128 * kMegabyte;
+- uint64_t max_default_memory_limit = 512 * kMegabyte;
++ uint64_t max_default_memory_limit = 128 * kMegabyte;
#endif
// Use 1/8th of discardable memory on low-end devices.
diff --git a/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc b/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc
new file mode 100644
index 000000000000..6d5b1b90ad10
--- /dev/null
+++ b/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc
@@ -0,0 +1,56 @@
+--- components/embedder_support/user_agent_utils.cc.orig 2025-05-28 14:55:43 UTC
++++ components/embedder_support/user_agent_utils.cc
+@@ -318,7 +318,7 @@ std::string GetUserAgentPlatform() {
+ return "";
+ #elif BUILDFLAG(IS_MAC)
+ return "Macintosh; ";
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return "X11; "; // strange, but that's what Firefox uses
+ #elif BUILDFLAG(IS_ANDROID)
+ return "Linux; ";
+@@ -344,7 +344,7 @@ std::string GetUnifiedPlatform() {
+ return "Windows NT 10.0; Win64; x64";
+ #elif BUILDFLAG(IS_FUCHSIA)
+ return "Fuchsia";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return "X11; Linux x86_64";
+ #elif BUILDFLAG(IS_IOS)
+ if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) {
+@@ -601,6 +601,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
+@@ -660,7 +663,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(const Pr
+ base::StringPrintf("%d.%d.%d", major, minor, bugfix);
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/40245146): Remove this Blink feature
+ if (base::FeatureList::IsEnabled(
+ blink::features::kReduceUserAgentDataLinuxPlatformVersion)) {
+@@ -821,6 +824,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons
+ "Android %s", os_version.c_str()
+ #elif BUILDFLAG(IS_FUCHSIA)
+ "Fuchsia"
++#elif BUILDFLAG(IS_BSD)
++#if defined(__x86_64__)
++ "Linux x86_64; %s %s",
++#elif defined(__aarch64__)
++ "Linux aarch64; %s %s",
++#else
++ "Linux i686; %s %s",
++#endif
++ unixinfo.sysname, // e.g. Linux
++ cpu_type.c_str() // e.g. i686
+ #elif BUILDFLAG(IS_IOS)
+ "CPU %s OS %s like Mac OS X", cpu_type.c_str(),
+ os_version.c_str()
diff --git a/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc
index 48df9a6dfeae..8c8d17df3333 100644
--- a/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc
+++ b/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc
@@ -1,20 +1,29 @@
---- components/embedder_support/user_agent_utils_unittest.cc.orig 2022-06-17 14:20:10 UTC
+--- components/embedder_support/user_agent_utils_unittest.cc.orig 2025-05-28 14:55:43 UTC
+++ components/embedder_support/user_agent_utils_unittest.cc
-@@ -55,7 +55,7 @@ namespace {
- static constexpr char kChromeProductVersionRegex[] =
- "Chrome/([0-9]+).([0-9]+).([0-9]+).([0-9]+)";
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- std::string GetMachine() {
- struct utsname unixinfo;
- uname(&unixinfo);
-@@ -163,7 +163,7 @@ void CheckUserAgentStringOrdering(bool mobile_device)
- int value;
- ASSERT_TRUE(base::StringToInt(pieces[i], &value));
- }
+@@ -148,7 +148,7 @@ void CheckUserAgentStringOrdering(bool mobile_device)
+ ASSERT_EQ("CrOS", pieces[0]);
+ ASSERT_EQ("x86_64", pieces[1]);
+ ASSERT_EQ("14541.0.0", pieces[2]);
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Post-UA Reduction there is a single <unifiedPlatform> value for Linux:
// X11; Linux x86_64
ASSERT_EQ(2u, pieces.size());
- ASSERT_EQ("X11", pieces[0]);
+@@ -336,7 +336,7 @@ class UserAgentUtilsTest : public testing::Test,
+ "X11; CrOS x86_64 14541.0.0";
+ #elif BUILDFLAG(IS_FUCHSIA)
+ "Fuchsia";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ "X11; Linux x86_64";
+ #elif BUILDFLAG(IS_MAC)
+ "Macintosh; Intel Mac OS X 10_15_7";
+@@ -716,7 +716,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) {
+ #endif
+ #elif BUILDFLAG(IS_ANDROID)
+ EXPECT_EQ(metadata.platform, "Android");
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ EXPECT_EQ(metadata.platform, "Linux");
+ #elif BUILDFLAG(IS_FREEBSD)
+ EXPECT_EQ(metadata.platform, "FreeBSD");
diff --git a/www/chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc b/www/chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc
new file mode 100644
index 000000000000..bc9e20f6709d
--- /dev/null
+++ b/www/chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc
@@ -0,0 +1,20 @@
+--- components/enterprise/connectors/core/realtime_reporting_client_base.cc.orig 2025-07-02 06:08:04 UTC
++++ components/enterprise/connectors/core/realtime_reporting_client_base.cc
+@@ -191,7 +191,7 @@ void RealtimeReportingClientBase::ReportEvent(
+ *event.mutable_time() = ToProtoTimestamp(base::Time::Now());
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet)
+ MaybeCollectDeviceSignalsAndReportEvent(std::move(event), client, settings);
+ #else
+ // Regardless of collecting device signals or not, upload the security event
+@@ -240,7 +240,7 @@ void RealtimeReportingClientBase::ReportEventWithTimes
+ if (include_profile_user_name) {
+ event.Set(kKeyProfileUserName, GetProfileUserName());
+ }
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet)
+ MaybeCollectDeviceSignalsAndReportEventDeprecated(std::move(event), client,
+ name, settings, time);
+ #else
diff --git a/www/chromium/files/patch-components_enterprise_watermarking_watermark.cc b/www/chromium/files/patch-components_enterprise_watermarking_watermark.cc
new file mode 100644
index 000000000000..418e0e580df8
--- /dev/null
+++ b/www/chromium/files/patch-components_enterprise_watermarking_watermark.cc
@@ -0,0 +1,20 @@
+--- components/enterprise/watermarking/watermark.cc.orig 2025-02-19 07:43:18 UTC
++++ components/enterprise/watermarking/watermark.cc
+@@ -31,7 +31,7 @@ gfx::Font WatermarkFont() {
+ "Segoe UI",
+ #elif BUILDFLAG(IS_MAC)
+ "SF Pro Text",
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ "Ubuntu",
+ #elif BUILDFLAG(IS_CHROMEOS)
+ "Google Sans",
+@@ -47,7 +47,7 @@ const gfx::FontList& WatermarkFontList() {
+ }
+
+ gfx::Font::Weight WatermarkFontWeight() {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return gfx::Font::Weight::SEMIBOLD;
+ #else
+ return gfx::Font::Weight::MEDIUM;
diff --git a/www/chromium/files/patch-components_error__page_common_localized__error.cc b/www/chromium/files/patch-components_error__page_common_localized__error.cc
new file mode 100644
index 000000000000..7844d837d242
--- /dev/null
+++ b/www/chromium/files/patch-components_error__page_common_localized__error.cc
@@ -0,0 +1,11 @@
+--- components/error_page/common/localized_error.cc.orig 2025-02-19 07:43:18 UTC
++++ components/error_page/common/localized_error.cc
+@@ -901,7 +901,7 @@ void AddSuggestionsDetails(int error_code,
+ if (suggestions & SUGGEST_PROXY_CONFIG) {
+ // Custom body string.
+ std::u16string inner =
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ l10n_util::GetStringFUTF16(
+ IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM,
+ l10n_util::GetStringUTF16(IDS_SETTINGS_TITLE),
diff --git a/www/chromium/files/patch-components_eye__dropper_eye__dropper__view.cc b/www/chromium/files/patch-components_eye__dropper_eye__dropper__view.cc
new file mode 100644
index 000000000000..3caf694fff16
--- /dev/null
+++ b/www/chromium/files/patch-components_eye__dropper_eye__dropper__view.cc
@@ -0,0 +1,11 @@
+--- components/eye_dropper/eye_dropper_view.cc.orig 2025-05-28 14:55:43 UTC
++++ components/eye_dropper/eye_dropper_view.cc
+@@ -206,7 +206,7 @@ EyeDropperView::EyeDropperView(gfx::NativeView parent,
+ // EyeDropper/WidgetDelegate.
+ set_owned_by_client(OwnedByClientPassKey());
+ SetPreferredSize(GetSize());
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Use TYPE_MENU for Linux to ensure that the eye dropper view is displayed
+ // above the color picker.
+ views::Widget::InitParams params(
diff --git a/www/chromium/files/patch-components_feature__engagement_public_event__constants.cc b/www/chromium/files/patch-components_feature__engagement_public_event__constants.cc
index e2eaf62b7d02..7d0fe1c50202 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_event__constants.cc
+++ b/www/chromium/files/patch-components_feature__engagement_public_event__constants.cc
@@ -1,4 +1,4 @@
---- components/feature_engagement/public/event_constants.cc.orig 2022-02-28 16:54:41 UTC
+--- components/feature_engagement/public/event_constants.cc.orig 2024-11-14 07:57:23 UTC
+++ components/feature_engagement/public/event_constants.cc
@@ -11,7 +11,7 @@ namespace feature_engagement {
namespace events {
@@ -8,4 +8,4 @@
+ 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";
+ const char kReadingListItemAdded[] = "reading_list_item_added";
diff --git a/www/chromium/files/patch-components_feature__engagement_public_event__constants.h b/www/chromium/files/patch-components_feature__engagement_public_event__constants.h
index 1f0fc5c74a24..e921e0c981c1 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_event__constants.h
+++ b/www/chromium/files/patch-components_feature__engagement_public_event__constants.h
@@ -1,6 +1,6 @@
---- components/feature_engagement/public/event_constants.h.orig 2022-02-28 16:54:41 UTC
+--- components/feature_engagement/public/event_constants.h.orig 2023-09-13 12:11:42 UTC
+++ components/feature_engagement/public/event_constants.h
-@@ -13,7 +13,7 @@ namespace events {
+@@ -14,7 +14,7 @@ namespace events {
// Desktop
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc
index 6413065ac7db..3b623983a6d6 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc
@@ -1,21 +1,30 @@
---- components/feature_engagement/public/feature_configurations.cc.orig 2022-07-22 17:30:31 UTC
+--- components/feature_engagement/public/feature_configurations.cc.orig 2025-07-02 06:08:04 UTC
+++ components/feature_engagement/public/feature_configurations.cc
-@@ -35,7 +35,7 @@ FeatureConfig CreateAlwaysTriggerConfig(const base::Fe
- absl::optional<FeatureConfig> GetClientSideFeatureConfig(
+@@ -100,7 +100,7 @@ std::optional<FeatureConfig> CreateNewUserGestureInPro
+
+ std::optional<FeatureConfig> GetClientSideFeatureConfig(
const base::Feature* feature) {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+
+ // The IPH bubble for link capturing has a trigger set to ANY so that it
+ // always shows up. The per app specific guardrails are independently stored
+@@ -119,7 +119,7 @@ std::optional<FeatureConfig> GetClientSideFeatureConfi
+
+ #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
#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;
-@@ -889,7 +889,8 @@ absl::optional<FeatureConfig> GetClientSideFeatureConf
+ if (kIPHPasswordsManagementBubbleAfterSaveFeature.name == feature->name) {
+ FeatureConfig config;
+ config.valid = true;
+@@ -1885,7 +1885,8 @@ std::optional<FeatureConfig> GetClientSideFeatureConfi
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
- if (kIPHAutofillVirtualCardSuggestionFeature.name == feature->name) {
- // A config that allows the virtual card credit card suggestion IPH to be
- // shown when:
+
+ if (kIPHAutofillCreditCardBenefitFeature.name == feature->name) {
+ // The credit card benefit IPH appears up to three times over 10 years and
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc
index bdcff7224d75..357bf3681d78 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc
@@ -1,20 +1,29 @@
---- components/feature_engagement/public/feature_constants.cc.orig 2022-07-22 17:30:31 UTC
+--- components/feature_engagement/public/feature_constants.cc.orig 2025-07-02 06:08:04 UTC
+++ components/feature_engagement/public/feature_constants.cc
-@@ -23,7 +23,7 @@ const base::Feature kIPHDummyFeature{"IPH_Dummy",
- base::FEATURE_DISABLED_BY_DEFAULT};
+@@ -28,7 +28,7 @@ bool IsOnDeviceStorageEnabled() {
+ }
#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 base::Feature kIPHDesktopSharedHighlightingFeature{
- "IPH_DesktopSharedHighlighting", base::FEATURE_DISABLED_BY_DEFAULT};
- const base::Feature kIPHDesktopTabGroupsNewGroupFeature{
-@@ -298,7 +298,7 @@ const base::Feature kIPHFollowWhileBrowsingFeature{
- "IPH_FollowWhileBrowsing", base::FEATURE_DISABLED_BY_DEFAULT};
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ BASE_FEATURE(kEsbDownloadRowPromoFeature,
+ "EsbDownloadRowPromo",
+@@ -793,7 +793,7 @@ BASE_FEATURE(kDefaultBrowserTriggerCriteriaExperiment,
+
#endif // BUILDFLAG(IS_IOS)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
- const base::Feature kIPHAutofillVirtualCardSuggestionFeature{
- "IPH_AutofillVirtualCardSuggestion", base::FEATURE_ENABLED_BY_DEFAULT};
+ BASE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature,
+ "IPH_AutofillBnplAffirmOrZipSuggestion",
+@@ -943,7 +943,7 @@ BASE_FEATURE(kIPHScalableIphGamingFeature,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // This can be enabled by default, as the DesktopPWAsLinkCapturing
+ // flag is needed for the IPH linked to this feature to work, and
+ // use-cases to show the IPH are guarded by that flag.
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h
index 3a50e7f75ab7..1722652f0e15 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h
@@ -1,20 +1,29 @@
---- components/feature_engagement/public/feature_constants.h.orig 2022-07-22 17:30:31 UTC
+--- components/feature_engagement/public/feature_constants.h.orig 2025-07-02 06:08:04 UTC
+++ components/feature_engagement/public/feature_constants.h
-@@ -32,7 +32,7 @@ extern const base::Feature kIPHDummyFeature;
- extern const base::Feature kEnableIPH;
+@@ -30,7 +30,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDemoMode);
+ FEATURE_CONSTANTS_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)
- extern const base::Feature kIPHDesktopSharedHighlightingFeature;
- extern const base::Feature kIPHDesktopTabGroupsNewGroupFeature;
- extern const base::Feature kIPHFocusHelpBubbleScreenReaderPromoFeature;
-@@ -180,7 +180,7 @@ extern const base::Feature kIPHPasswordSuggestionsFeat
- extern const base::Feature kIPHFollowWhileBrowsingFeature;
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ FEATURE_CONSTANTS_DECLARE_FEATURE(kEsbDownloadRowPromoFeature);
+ #endif
+@@ -358,7 +358,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kDefaultBrowserTrigg
+
#endif // BUILDFLAG(IS_IOS)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
- extern const base::Feature kIPHAutofillVirtualCardSuggestionFeature;
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
+ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature);
+ FEATURE_CONSTANTS_DECLARE_FEATURE(
+@@ -419,7 +419,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphHelpA
+ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphGamingFeature);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunch);
+ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunchAppInTab);
+ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSupervisedUserProfileSigninFeature);
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc
index 26a4a21d51a2..7b3da6813e8e 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc
@@ -1,21 +1,29 @@
---- components/feature_engagement/public/feature_list.cc.orig 2022-07-22 17:30:31 UTC
+--- components/feature_engagement/public/feature_list.cc.orig 2025-07-02 06:08:04 UTC
+++ components/feature_engagement/public/feature_list.cc
-@@ -123,7 +123,7 @@ const base::Feature* const kAllFeatures[] = {
- &kIPHFollowWhileBrowsingFeature,
+@@ -189,7 +189,7 @@ const base::Feature* const kAllFeatures[] = {
+ &kIPHIOSGLICPromoFeature,
#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)
- &kIPHDesktopTabGroupsNewGroupFeature,
- &kIPHFocusHelpBubbleScreenReaderPromoFeature,
- &kIPHGMCCastStartStopFeature,
-@@ -145,7 +145,8 @@ const base::Feature* const kAllFeatures[] = {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ &kEsbDownloadRowPromoFeature,
+ #endif
+@@ -264,7 +264,7 @@ const base::Feature* const kAllFeatures[] = {
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
-+ BUILDFLAG(IS_BSD)
- &kIPHAutofillVirtualCardSuggestionFeature,
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
- // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ||
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ &kIPHAutofillAiOptInFeature,
+ &kIPHAutofillBnplAffirmOrZipSuggestionFeature,
+@@ -319,7 +319,7 @@ const base::Feature* const kAllFeatures[] = {
+ &kIPHScalableIphGamingFeature,
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ &kIPHDesktopPWAsLinkCapturingLaunch,
+ &kIPHDesktopPWAsLinkCapturingLaunchAppInTab,
+ &kIPHSupervisedUserProfileSigninFeature,
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h
index 3984de4f52dc..8e3bc8cac25e 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h
@@ -1,40 +1,58 @@
---- components/feature_engagement/public/feature_list.h.orig 2022-07-22 17:30:31 UTC
+--- components/feature_engagement/public/feature_list.h.orig 2025-07-02 06:08:04 UTC
+++ components/feature_engagement/public/feature_list.h
-@@ -228,7 +228,7 @@ DEFINE_VARIATION_PARAM(kIPHFollowWhileBrowsingFeature,
+@@ -336,7 +336,7 @@ DEFINE_VARIATION_PARAM(kIPHIOSGLICPromoFeature, "IPH_I
#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(kIPHDesktopTabGroupsNewGroupFeature,
- "IPH_DesktopTabGroupsNewGroup");
- DEFINE_VARIATION_PARAM(kIPHFocusModeFeature, "IPH_FocusMode");
-@@ -257,7 +257,8 @@ DEFINE_VARIATION_PARAM(kIPHIntentChipFeature, "IPH_Int
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ DEFINE_VARIATION_PARAM(kEsbDownloadRowPromoFeature, "EsbDownloadRowPromo");
+ #endif
+@@ -458,7 +458,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
- DEFINE_VARIATION_PARAM(kIPHAutofillVirtualCardSuggestionFeature,
- "IPH_AutofillVirtualCardSuggestion");
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
-@@ -364,7 +365,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
- VARIATION_ENTRY(kIPHPasswordSuggestionsFeature),
- VARIATION_ENTRY(kIPHFollowWhileBrowsingFeature),
+ DEFINE_VARIATION_PARAM(kIPHAutofillAiOptInFeature, "IPH_AutofillAiOptIn");
+ DEFINE_VARIATION_PARAM(kIPHAutofillBnplAffirmOrZipSuggestionFeature,
+ "IPH_AutofillBnplAffirmOrZipSuggestion");
+@@ -554,7 +555,7 @@ DEFINE_VARIATION_PARAM(kIPHScalableIphHelpAppBasedTenF
+ DEFINE_VARIATION_PARAM(kIPHScalableIphGamingFeature, "IPH_ScalableIphGaming");
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunch,
+ "IPH_DesktopPWAsLinkCapturingLaunch");
+ DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunchAppInTab,
+@@ -742,7 +743,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat
+ VARIATION_ENTRY(kIPHiOSWelcomeBackFeature),
+ VARIATION_ENTRY(kIPHIOSGLICPromoFeature),
#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(kIPHDesktopTabGroupsNewGroupFeature),
- VARIATION_ENTRY(kIPHFocusModeFeature),
- VARIATION_ENTRY(kIPHGlobalMediaControls),
-@@ -387,7 +388,8 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
+ VARIATION_ENTRY(kIPHAutofillEnableLoyaltyCardsFeature),
+ VARIATION_ENTRY(kIPHBatterySaverModeFeature),
+ VARIATION_ENTRY(kIPHCompanionSidePanelFeature),
+@@ -804,7 +805,8 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
- VARIATION_ENTRY(kIPHAutofillVirtualCardSuggestionFeature),
- #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
- // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ||
+ VARIATION_ENTRY(kIPHAutofillAiOptInFeature),
+ VARIATION_ENTRY(kIPHAutofillCreditCardBenefitFeature),
+ VARIATION_ENTRY(kIPHAutofillCardInfoRetrievalSuggestionFeature),
+@@ -857,7 +859,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat
+ VARIATION_ENTRY(kIPHScalableIphGamingFeature),
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunch),
+ VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunchAppInTab),
+ VARIATION_ENTRY(kIPHSupervisedUserProfileSigninFeature),
diff --git a/www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc b/www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc
index fe893d3cd63c..05d49cbe5e38 100644
--- a/www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc
+++ b/www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc
@@ -1,6 +1,6 @@
---- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2022-03-25 21:59:56 UTC
+--- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2024-09-30 07:45:04 UTC
+++ components/feed/core/v2/feed_network_impl_unittest.cc
-@@ -678,8 +678,8 @@ TEST_F(FeedNetworkTest, SendApiRequest_DecodesClientIn
+@@ -747,8 +747,8 @@ TEST_F(FeedNetworkTest, SendApiRequest_DecodesClientIn
EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, client_info.app_type());
EXPECT_EQ(feedwire::Version::RELEASE, client_info.app_version().build_type());
diff --git a/www/chromium/files/patch-components_feed_core_v2_proto__util.cc b/www/chromium/files/patch-components_feed_core_v2_proto__util.cc
index e33e80a5cd19..89112dbb99b7 100644
--- a/www/chromium/files/patch-components_feed_core_v2_proto__util.cc
+++ b/www/chromium/files/patch-components_feed_core_v2_proto__util.cc
@@ -1,6 +1,6 @@
---- components/feed/core/v2/proto_util.cc.orig 2022-04-21 18:48:31 UTC
+--- components/feed/core/v2/proto_util.cc.orig 2025-07-02 06:08:04 UTC
+++ components/feed/core/v2/proto_util.cc
-@@ -90,8 +90,8 @@ feedwire::Version GetPlatformVersionMessage() {
+@@ -92,8 +92,8 @@ feedwire::Version GetPlatformVersionMessage() {
int32_t major, minor, revision;
base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision);
@@ -11,7 +11,7 @@
result.set_revision(revision);
#if BUILDFLAG(IS_ANDROID)
result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int());
-@@ -106,8 +106,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf
+@@ -108,8 +108,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf
// Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH.
const std::vector<uint32_t>& numbers = chrome_info.version.components();
if (numbers.size() > 3) {
diff --git a/www/chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc b/www/chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc
index affbc249ee4a..24c72d1b4031 100644
--- a/www/chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc
+++ b/www/chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc
@@ -1,4 +1,4 @@
---- components/feed/core/v2/proto_util_unittest.cc.orig 2022-06-17 14:20:10 UTC
+--- components/feed/core/v2/proto_util_unittest.cc.orig 2025-07-02 06:08:04 UTC
+++ components/feed/core/v2/proto_util_unittest.cc
@@ -42,8 +42,8 @@ TEST(ProtoUtilTest, CreateClientInfo) {
feedwire::ClientInfo result = CreateClientInfo(request_metadata);
@@ -10,4 +10,4 @@
+ EXPECT_EQ(2, result.app_version().gminor());
EXPECT_EQ(3, result.app_version().build());
EXPECT_EQ(4, result.app_version().revision());
- EXPECT_FALSE(result.chrome_client_info().start_surface());
+
diff --git a/www/chromium/files/patch-components_feed_core_v2_test_proto__printer.cc b/www/chromium/files/patch-components_feed_core_v2_test_proto__printer.cc
index 131a8f272406..bd5454ca7845 100644
--- a/www/chromium/files/patch-components_feed_core_v2_test_proto__printer.cc
+++ b/www/chromium/files/patch-components_feed_core_v2_test_proto__printer.cc
@@ -1,6 +1,6 @@
---- components/feed/core/v2/test/proto_printer.cc.orig 2022-05-19 14:06:27 UTC
+--- components/feed/core/v2/test/proto_printer.cc.orig 2023-07-16 15:47:57 UTC
+++ components/feed/core/v2/test/proto_printer.cc
-@@ -157,8 +157,8 @@ class TextProtoPrinter {
+@@ -158,8 +158,8 @@ class TextProtoPrinter {
}
TextProtoPrinter& operator<<(const feedwire::Version& v) {
BeginMessage();
diff --git a/www/chromium/files/patch-components_flags__ui_flags__state.cc b/www/chromium/files/patch-components_flags__ui_flags__state.cc
deleted file mode 100644
index cd97ff23d6fc..000000000000
--- a/www/chromium/files/patch-components_flags__ui_flags__state.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/flags_ui/flags_state.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/flags_ui/flags_state.cc
-@@ -672,7 +672,7 @@ unsigned short FlagsState::GetCurrentPlatform() {
- return kOsCrOS;
- #elif BUILDFLAG(IS_CHROMEOS_LACROS)
- return kOsLacros;
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return kOsLinux;
- #elif BUILDFLAG(IS_ANDROID)
- return kOsAndroid;
diff --git a/www/chromium/files/patch-components_gcm__driver_gcm__desktop__utils.cc b/www/chromium/files/patch-components_gcm__driver_gcm__desktop__utils.cc
new file mode 100644
index 000000000000..a5053caa4239
--- /dev/null
+++ b/www/chromium/files/patch-components_gcm__driver_gcm__desktop__utils.cc
@@ -0,0 +1,11 @@
+--- components/gcm_driver/gcm_desktop_utils.cc.orig 2025-02-19 07:43:18 UTC
++++ components/gcm_driver/gcm_desktop_utils.cc
+@@ -32,7 +32,7 @@ GCMClient::ChromePlatform GetPlatform() {
+ return GCMClient::PLATFORM_ANDROID;
+ #elif BUILDFLAG(IS_CHROMEOS)
+ return GCMClient::PLATFORM_CROS;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return GCMClient::PLATFORM_LINUX;
+ #else
+ // For all other platforms, return as LINUX.
diff --git a/www/chromium/files/patch-components_gwp__asan_BUILD.gn b/www/chromium/files/patch-components_gwp__asan_BUILD.gn
index ebe0c373318b..c1d3ccf17770 100644
--- a/www/chromium/files/patch-components_gwp__asan_BUILD.gn
+++ b/www/chromium/files/patch-components_gwp__asan_BUILD.gn
@@ -1,11 +1,11 @@
---- components/gwp_asan/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- components/gwp_asan/BUILD.gn.orig 2025-05-05 10:57:53 UTC
+++ components/gwp_asan/BUILD.gn
-@@ -14,7 +14,7 @@ test("gwp_asan_unittests") {
- "//components/gwp_asan/common:unit_tests",
+@@ -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) {
+- if (is_win || is_mac || is_linux || is_chromeos || is_android || is_ios) {
++ if ((is_win || is_mac || is_linux || is_chromeos || is_android || is_ios) && !is_bsd) {
deps += [
"//components/gwp_asan/client:unit_tests",
"//components/gwp_asan/crash_handler:unit_tests",
diff --git a/www/chromium/files/patch-components_gwp__asan_buildflags_buildflags.gni b/www/chromium/files/patch-components_gwp__asan_buildflags_buildflags.gni
new file mode 100644
index 000000000000..b75aa63b069e
--- /dev/null
+++ b/www/chromium/files/patch-components_gwp__asan_buildflags_buildflags.gni
@@ -0,0 +1,14 @@
+--- components/gwp_asan/buildflags/buildflags.gni.orig 2025-05-05 10:57:53 UTC
++++ components/gwp_asan/buildflags/buildflags.gni
+@@ -10,10 +10,7 @@ import("//build/config/compiler/compiler.gni")
+ # Android component builds are disabled due to https://crbug.com/976399
+ # Android requires frame pointers for unwinding, unwind tables aren't shipped in
+ # official builds.
+-supported_platform =
+- is_linux || is_chromeos || is_mac || is_ios ||
+- (is_win && (current_cpu == "x64" || current_cpu == "arm64")) ||
+- (is_android && !is_component_build && enable_frame_pointers)
++supported_platform = false
+
+ declare_args() {
+ # Is GWP-ASan malloc/PartitionAlloc hooking enabled for chrome/ on a given
diff --git a/www/chromium/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc b/www/chromium/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc
new file mode 100644
index 000000000000..3c58337c4cec
--- /dev/null
+++ b/www/chromium/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc
@@ -0,0 +1,13 @@
+--- components/gwp_asan/client/guarded_page_allocator_posix.cc.orig 2023-09-13 12:11:42 UTC
++++ 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/chromium/files/patch-components_gwp__asan_client_gwp__asan.cc b/www/chromium/files/patch-components_gwp__asan_client_gwp__asan.cc
new file mode 100644
index 000000000000..e733ef46f884
--- /dev/null
+++ b/www/chromium/files/patch-components_gwp__asan_client_gwp__asan.cc
@@ -0,0 +1,11 @@
+--- components/gwp_asan/client/gwp_asan.cc.orig 2025-05-05 10:57:53 UTC
++++ components/gwp_asan/client/gwp_asan.cc
+@@ -76,7 +76,7 @@ namespace {
+ // 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;
diff --git a/www/chromium/files/patch-components_gwp__asan_client_gwp__asan__features.cc b/www/chromium/files/patch-components_gwp__asan_client_gwp__asan__features.cc
new file mode 100644
index 000000000000..584bc5882bb5
--- /dev/null
+++ b/www/chromium/files/patch-components_gwp__asan_client_gwp__asan__features.cc
@@ -0,0 +1,11 @@
+--- components/gwp_asan/client/gwp_asan_features.cc.orig 2024-01-30 07:53:34 UTC
++++ components/gwp_asan/client/gwp_asan_features.cc
+@@ -9,7 +9,7 @@
+ namespace gwp_asan::internal {
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || \
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \
+ (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS))
+ constexpr base::FeatureState kDefaultEnabled = base::FEATURE_ENABLED_BY_DEFAULT;
+ #else
diff --git a/www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc b/www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc
index aaee4975f5dc..83f9da6b0bf5 100644
--- a/www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc
+++ b/www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc
@@ -1,6 +1,6 @@
---- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2022-02-28 16:54:41 UTC
+--- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2025-05-05 10:57:53 UTC
+++ components/gwp_asan/crash_handler/crash_analyzer.cc
-@@ -26,7 +26,7 @@
+@@ -35,7 +35,7 @@
#include "third_party/crashpad/crashpad/snapshot/process_snapshot.h"
#include "third_party/crashpad/crashpad/util/process/process_memory.h"
@@ -9,7 +9,7 @@
#include <signal.h>
#elif BUILDFLAG(IS_APPLE)
#include <mach/exception_types.h>
-@@ -81,7 +81,7 @@ bool CrashAnalyzer::GetExceptionInfo(
+@@ -113,7 +113,7 @@ bool CrashAnalyzer::GetExceptionInfo(
crashpad::VMAddress CrashAnalyzer::GetAccessAddress(
const crashpad::ExceptionSnapshot& exception) {
diff --git a/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc b/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc
deleted file mode 100644
index 48dc68f31107..000000000000
--- a/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/invalidation/impl/invalidation_switches.cc.orig 2022-02-28 16:54:41 UTC
-+++ components/invalidation/impl/invalidation_switches.cc
-@@ -21,7 +21,7 @@ const int kDefaultInstanceIDTokenTTLSeconds = 14 * 24
- const base::Feature kSyncInstanceIDTokenTTL {
- "SyncInstanceIDTokenTTL",
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-components_live__caption_caption__util.cc b/www/chromium/files/patch-components_live__caption_caption__util.cc
index 4f676dab69e8..90d1b744149a 100644
--- a/www/chromium/files/patch-components_live__caption_caption__util.cc
+++ b/www/chromium/files/patch-components_live__caption_caption__util.cc
@@ -1,11 +1,11 @@
---- components/live_caption/caption_util.cc.orig 2022-07-22 17:30:31 UTC
+--- components/live_caption/caption_util.cc.orig 2025-05-28 14:55:43 UTC
+++ components/live_caption/caption_util.cc
-@@ -140,7 +140,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();
+@@ -141,7 +141,7 @@ bool IsHeadlessCaptionFeatureSupported() {
+ std::string GetCaptionSettingsUrl() {
+ #if BUILDFLAG(IS_CHROMEOS)
+ return "chrome://os-settings/audioAndCaptions";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return "chrome://settings/captions";
+ #elif BUILDFLAG(IS_WIN)
+ return base::win::GetVersion() >= base::win::Version::WIN10
diff --git a/www/chromium/files/patch-components_live__caption_caption__util.h b/www/chromium/files/patch-components_live__caption_caption__util.h
new file mode 100644
index 000000000000..e984458a8466
--- /dev/null
+++ b/www/chromium/files/patch-components_live__caption_caption__util.h
@@ -0,0 +1,11 @@
+--- components/live_caption/caption_util.h.orig 2024-03-22 08:19:40 UTC
++++ components/live_caption/caption_util.h
+@@ -15,7 +15,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/chromium/files/patch-components_media__router_common_media__source.cc b/www/chromium/files/patch-components_media__router_common_media__source.cc
new file mode 100644
index 000000000000..62a615b35871
--- /dev/null
+++ b/www/chromium/files/patch-components_media__router_common_media__source.cc
@@ -0,0 +1,11 @@
+--- components/media_router/common/media_source.cc.orig 2025-05-28 14:55:43 UTC
++++ components/media_router/common/media_source.cc
+@@ -58,7 +58,7 @@ bool IsSystemAudioCaptureSupported() {
+ if (!media::IsSystemLoopbackCaptureSupported()) {
+ return false;
+ }
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast);
+ #else
+ return true;
diff --git a/www/chromium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc b/www/chromium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc
new file mode 100644
index 000000000000..6e97488bb8f1
--- /dev/null
+++ b/www/chromium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc
@@ -0,0 +1,11 @@
+--- components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2025-02-19 07:43:18 UTC
++++ components/media_router/common/providers/cast/channel/cast_message_util.cc
+@@ -168,7 +168,7 @@ int GetVirtualConnectPlatformValue() {
+ return 4;
+ #elif BUILDFLAG(IS_CHROMEOS)
+ return 5;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return 6;
+ #else
+ return 0;
diff --git a/www/chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h b/www/chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h
new file mode 100644
index 000000000000..8bd9513ed9a1
--- /dev/null
+++ b/www/chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h
@@ -0,0 +1,15 @@
+--- components/media_router/common/providers/cast/channel/enum_table.h.orig 2025-02-19 07:43:18 UTC
++++ components/media_router/common/providers/cast/channel/enum_table.h
+@@ -368,7 +368,12 @@ class EnumTable {
+
+ private:
+ #ifdef ARCH_CPU_64_BITS
++#ifdef __cpp_lib_hardware_interference_size
+ alignas(std::hardware_destructive_interference_size)
++#else
++ static constexpr std::size_t hardware_destructive_interference_size = 64;
++ alignas(hardware_destructive_interference_size)
++#endif
+ #endif
+ std::initializer_list<Entry> data_;
+ bool is_sorted_;
diff --git a/www/chromium/files/patch-components_metrics_drive__metrics__provider.cc b/www/chromium/files/patch-components_metrics_drive__metrics__provider.cc
new file mode 100644
index 000000000000..853a28804499
--- /dev/null
+++ b/www/chromium/files/patch-components_metrics_drive__metrics__provider.cc
@@ -0,0 +1,20 @@
+--- components/metrics/drive_metrics_provider.cc.orig 2025-05-05 10:57:53 UTC
++++ components/metrics/drive_metrics_provider.cc
+@@ -21,7 +21,7 @@
+ namespace metrics {
+
+ namespace {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void RecordTriStateMetric(const char* name, std::optional<bool> sample) {
+ base::UmaHistogramEnumeration(
+ name, !sample.has_value()
+@@ -106,7 +106,7 @@ void DriveMetricsProvider::FillDriveMetrics(
+ drive->set_has_seek_penalty(*response.has_seek_penalty);
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ RecordTriStateMetric("UMA.DriveIsRemovableResult", response.is_removable);
+ #endif
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-components_metrics_drive__metrics__provider__linux.cc b/www/chromium/files/patch-components_metrics_drive__metrics__provider__linux.cc
deleted file mode 100644
index 1424924672d1..000000000000
--- a/www/chromium/files/patch-components_metrics_drive__metrics__provider__linux.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/metrics/drive_metrics_provider_linux.cc.orig 2021-04-14 18:40:59 UTC
-+++ components/metrics/drive_metrics_provider_linux.cc
-@@ -4,7 +4,13 @@
-
- #include "components/metrics/drive_metrics_provider.h"
-
-+#if defined(OS_BSD)
-+#include <sys/types.h>
-+#define MAJOR(dev) major(dev)
-+#define MINOR(dev) minor(dev)
-+#else
- #include <linux/kdev_t.h> // For MAJOR()/MINOR().
-+#endif
- #include <sys/stat.h>
- #include <string>
-
diff --git a/www/chromium/files/patch-components_metrics_dwa_dwa__service.cc b/www/chromium/files/patch-components_metrics_dwa_dwa__service.cc
new file mode 100644
index 000000000000..e0413d739385
--- /dev/null
+++ b/www/chromium/files/patch-components_metrics_dwa_dwa__service.cc
@@ -0,0 +1,11 @@
+--- components/metrics/dwa/dwa_service.cc.orig 2025-04-04 08:52:13 UTC
++++ components/metrics/dwa/dwa_service.cc
+@@ -162,7 +162,7 @@ void DwaService::RecordCoarseSystemInformation(
+ coarse_system_info->set_platform(::dwa::CoarseSystemInfo::PLATFORM_WINDOWS);
+ #elif BUILDFLAG(IS_MAC)
+ coarse_system_info->set_platform(::dwa::CoarseSystemInfo::PLATFORM_MACOS);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ coarse_system_info->set_platform(::dwa::CoarseSystemInfo::PLATFORM_LINUX);
+ #elif BUILDFLAG(IS_ANDROID)
+ // TODO(b/366276323): Populate set_platform using more granular
diff --git a/www/chromium/files/patch-components_metrics_metrics__log.cc b/www/chromium/files/patch-components_metrics_metrics__log.cc
new file mode 100644
index 000000000000..b3c42657cd0b
--- /dev/null
+++ b/www/chromium/files/patch-components_metrics_metrics__log.cc
@@ -0,0 +1,38 @@
+--- components/metrics/metrics_log.cc.orig 2025-07-02 06:08:04 UTC
++++ components/metrics/metrics_log.cc
+@@ -58,7 +58,7 @@
+ #include "base/win/current_module.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/environment.h"
+ #include "base/nix/xdg_util.h"
+ #endif
+@@ -154,7 +154,7 @@ void RecordCurrentTime(
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ metrics::SystemProfileProto::OS::XdgSessionType ToProtoSessionType(
+ base::nix::SessionType session_type) {
+ switch (session_type) {
+@@ -437,7 +437,7 @@ void MetricsLog::RecordCoreSystemProfile(
+ // OperatingSystemVersion refers to the ChromeOS release version.
+ #if BUILDFLAG(IS_CHROMEOS)
+ os->set_kernel_version(base::SysInfo::KernelVersion());
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Linux operating system version is copied over into kernel version to be
+ // consistent.
+ os->set_kernel_version(base::SysInfo::OperatingSystemVersion());
+@@ -454,7 +454,7 @@ void MetricsLog::RecordCoreSystemProfile(
+ os->set_build_number(base::SysInfo::GetIOSBuildNumber());
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<base::Environment> env = base::Environment::Create();
+ os->set_xdg_session_type(ToProtoSessionType(base::nix::GetSessionType(*env)));
+ os->set_xdg_current_desktop(
diff --git a/www/chromium/files/patch-components_metrics_motherboard.cc b/www/chromium/files/patch-components_metrics_motherboard.cc
new file mode 100644
index 000000000000..a639aaec5b72
--- /dev/null
+++ b/www/chromium/files/patch-components_metrics_motherboard.cc
@@ -0,0 +1,10 @@
+--- components/metrics/motherboard.cc.orig 2022-10-24 13:33:33 UTC
++++ components/metrics/motherboard.cc
+@@ -1,6 +1,7 @@
+ // Copyright 2022 The Chromium Authors
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
++// CHECK
+
+ #include "components/metrics/motherboard.h"
+
diff --git a/www/chromium/files/patch-components_named__mojo__ipc__server_connection__info.h b/www/chromium/files/patch-components_named__mojo__ipc__server_connection__info.h
new file mode 100644
index 000000000000..adb4fd894427
--- /dev/null
+++ b/www/chromium/files/patch-components_named__mojo__ipc__server_connection__info.h
@@ -0,0 +1,23 @@
+--- components/named_mojo_ipc_server/connection_info.h.orig 2025-04-04 08:52:13 UTC
++++ components/named_mojo_ipc_server/connection_info.h
+@@ -12,7 +12,10 @@
+ #include "base/win/scoped_handle.h"
+ #elif BUILDFLAG(IS_MAC)
+ #include <bsm/libbsm.h>
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
++#if BUILDFLAG(IS_OPENBSD)
++#include <sys/ucred.h>
++#endif
+ #include <sys/socket.h>
+ #endif
+
+@@ -29,7 +32,7 @@ struct ConnectionInfo {
+ base::ProcessId pid{};
+ #if BUILDFLAG(IS_MAC)
+ audit_token_t audit_token{};
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD)
+ ucred credentials{};
+ #endif
+ };
diff --git a/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc b/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc
new file mode 100644
index 000000000000..1d494b113ce9
--- /dev/null
+++ b/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc
@@ -0,0 +1,11 @@
+--- components/named_mojo_ipc_server/named_mojo_ipc_server_client_util.cc.orig 2024-10-22 08:31:56 UTC
++++ components/named_mojo_ipc_server/named_mojo_ipc_server_client_util.cc
+@@ -23,7 +23,7 @@ namespace named_mojo_ipc_server {
+ // static
+ mojo::PlatformChannelEndpoint ConnectToServer(
+ const mojo::NamedPlatformChannel::ServerName& server_name) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return mojo::NamedPlatformChannel::ConnectToServer(server_name);
+ #elif BUILDFLAG(IS_MAC)
+ mojo::PlatformChannelEndpoint endpoint =
diff --git a/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc b/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc
new file mode 100644
index 000000000000..278a5aed19e7
--- /dev/null
+++ b/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc
@@ -0,0 +1,12 @@
+--- components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc.orig 2025-04-04 08:52:13 UTC
++++ components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc
+@@ -89,7 +89,9 @@ void NamedMojoServerEndpointConnectorLinux::OnSocketRe
+ PLOG(ERROR) << "getsockopt failed.";
+ return;
+ }
++#if !BUILDFLAG(IS_OPENBSD)
+ info->pid = info->credentials.pid;
++#endif
+
+ mojo::PlatformChannelEndpoint endpoint(
+ mojo::PlatformHandle(std::move(connection_fd)));
diff --git a/www/chromium/files/patch-components_named__system__lock_BUILD.gn b/www/chromium/files/patch-components_named__system__lock_BUILD.gn
new file mode 100644
index 000000000000..662c32cc99de
--- /dev/null
+++ b/www/chromium/files/patch-components_named__system__lock_BUILD.gn
@@ -0,0 +1,20 @@
+--- components/named_system_lock/BUILD.gn.orig 2025-04-04 08:52:13 UTC
++++ components/named_system_lock/BUILD.gn
+@@ -5,7 +5,7 @@
+ static_library("named_system_lock") {
+ sources = [ "lock.h" ]
+ deps = [ "//base" ]
+- if (is_linux) {
++ if (!is_bsd && is_linux) {
+ sources += [ "lock_linux.cc" ]
+ } else if (is_mac) {
+ sources += [ "lock_mac.mm" ]
+@@ -20,7 +20,7 @@ source_set("unit_tests") {
+ sources = []
+
+ # Disable NamedSystemLockTest on unsupported platforms.
+- if (is_linux || is_win || is_mac) {
++ if (!is_bsd && (is_linux || is_win || is_mac)) {
+ sources += [ "lock_unittest.cc" ]
+ }
+
diff --git a/www/chromium/files/patch-components_named__system__lock_lock.h b/www/chromium/files/patch-components_named__system__lock_lock.h
new file mode 100644
index 000000000000..113783611cd1
--- /dev/null
+++ b/www/chromium/files/patch-components_named__system__lock_lock.h
@@ -0,0 +1,11 @@
+--- components/named_system_lock/lock.h.orig 2024-07-30 11:12:21 UTC
++++ components/named_system_lock/lock.h
+@@ -38,7 +38,7 @@ class ScopedLock {
+ // may acquire that lock. The lock name has different meanings per platform:
+ // Linux: A shared memory object name starting with `/`. E.g. `/MyApp.lock`.
+ // Mac: A bootstrap service name (see `man bootstrap_check_in`).
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ static std::unique_ptr<ScopedLock> Create(const std::string& name,
+ base::TimeDelta timeout);
+ #elif BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-components_named__system__lock_lock__unittest.cc b/www/chromium/files/patch-components_named__system__lock_lock__unittest.cc
new file mode 100644
index 000000000000..e5eaefad0463
--- /dev/null
+++ b/www/chromium/files/patch-components_named__system__lock_lock__unittest.cc
@@ -0,0 +1,29 @@
+--- components/named_system_lock/lock_unittest.cc.orig 2025-04-04 08:52:13 UTC
++++ components/named_system_lock/lock_unittest.cc
+@@ -18,7 +18,7 @@
+ #include "build/build_config.h"
+ #include "testing/gtest/include/gtest/gtest.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include <fcntl.h>
+ #include <sys/mman.h>
+
+@@ -45,7 +45,7 @@ class NamedSystemLockTest : public ::testing::Test {
+ const std::string lock_name_ = base::UnguessableToken::Create().ToString();
+
+ std::unique_ptr<ScopedLock> CreateLock() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ return ScopedLock::Create(lock_name_, base::Seconds(0));
+ #else
+ CSecurityAttributes sa;
+@@ -95,7 +95,7 @@ TEST_F(NamedSystemLockTest, TryLockInThreadSuccess) {
+ EXPECT_TRUE(CreateLock());
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ TEST_F(NamedSystemLockTest, SharedMemoryWrongPermissions) {
+ // Create a shared memory region with overpermissive perms.
+ int shm_fd = shm_open(lock_name_.c_str(), O_RDWR | O_CREAT | O_EXCL,
diff --git a/www/chromium/files/patch-components_neterror_resources_neterror.js b/www/chromium/files/patch-components_neterror_resources_neterror.js
deleted file mode 100644
index a2e3f1732075..000000000000
--- a/www/chromium/files/patch-components_neterror_resources_neterror.js
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/neterror/resources/neterror.js.orig 2022-07-22 17:30:31 UTC
-+++ components/neterror/resources/neterror.js
-@@ -130,7 +130,7 @@ function detailsButtonClick() {
-
- let primaryControlOnLeft = true;
- // clang-format off
--// <if expr="is_macosx or is_ios or is_linux or chromeos_ash or chromeos_lacros or is_android">
-+// <if expr="is_macosx or is_ios or is_bsd or chromeos_ash or chromeos_lacros or is_android">
- // clang-format on
- primaryControlOnLeft = false;
- // </if>
diff --git a/www/chromium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc b/www/chromium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc
deleted file mode 100644
index 321df4cb8adb..000000000000
--- a/www/chromium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/network_session_configurator/browser/network_session_configurator.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/network_session_configurator/browser/network_session_configurator.cc
-@@ -824,7 +824,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)
- return net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE;
- #else
- return net::URLRequestContextBuilder::HttpCacheParams::DISK_BLOCKFILE;
diff --git a/www/chromium/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc b/www/chromium/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc
deleted file mode 100644
index 18940d11e041..000000000000
--- a/www/chromium/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/network_session_configurator/browser/network_session_configurator_unittest.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/network_session_configurator/browser/network_session_configurator_unittest.cc
-@@ -833,7 +833,7 @@ TEST_F(NetworkSessionConfiguratorTest, HostRules) {
- }
-
- TEST_F(NetworkSessionConfiguratorTest, DefaultCacheBackend) {
--#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- EXPECT_EQ(net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE,
- ChooseCacheType());
- #elif BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-components_new__or__sad__tab__strings.grdp b/www/chromium/files/patch-components_new__or__sad__tab__strings.grdp
deleted file mode 100644
index e781a06fe05c..000000000000
--- a/www/chromium/files/patch-components_new__or__sad__tab__strings.grdp
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/new_or_sad_tab_strings.grdp.orig 2022-07-22 17:30:31 UTC
-+++ components/new_or_sad_tab_strings.grdp
-@@ -66,7 +66,7 @@
- Close other tabs or apps
- </message>
- </if>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Chrome tabs or programs running on their computer.">
- Close other tabs or programs
- </message>
-@@ -76,7 +76,7 @@
- Close other apps
- </message>
- </if>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_SAD_TAB_RELOAD_CLOSE_NOTABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other programs running on their computer (Linux).">
- Close other programs
- </message>
diff --git a/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc
new file mode 100644
index 000000000000..08f09641c572
--- /dev/null
+++ b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc
@@ -0,0 +1,11 @@
+--- components/optimization_guide/core/optimization_guide_features.cc.orig 2025-02-19 07:43:18 UTC
++++ components/optimization_guide/core/optimization_guide_features.cc
+@@ -136,7 +136,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution,
+ // Whether to use the on device model service in optimization guide.
+ BASE_FEATURE(kOptimizationGuideOnDeviceModel,
+ "OptimizationGuideOnDeviceModel",
+-#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);
diff --git a/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__util.cc b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__util.cc
new file mode 100644
index 000000000000..bfd5088276d5
--- /dev/null
+++ b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__util.cc
@@ -0,0 +1,11 @@
+--- components/optimization_guide/core/optimization_guide_util.cc.orig 2024-11-14 07:57:23 UTC
++++ components/optimization_guide/core/optimization_guide_util.cc
+@@ -37,7 +37,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_UNDEFINED;
diff --git a/www/chromium/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc b/www/chromium/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc
new file mode 100644
index 000000000000..22691d376adb
--- /dev/null
+++ b/www/chromium/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc
@@ -0,0 +1,12 @@
+--- components/os_crypt/async/browser/secret_portal_key_provider.cc.orig 2024-10-22 08:31:56 UTC
++++ components/os_crypt/async/browser/secret_portal_key_provider.cc
+@@ -5,7 +5,9 @@
+ #include "components/os_crypt/async/browser/secret_portal_key_provider.h"
+
+ #include <fcntl.h>
++#if BUILDFLAG(IS_LINUX)
+ #include <linux/limits.h>
++#endif
+
+ #include <array>
+ #include <utility>
diff --git a/www/chromium/files/patch-components_os__crypt_keyring__util__linux.cc b/www/chromium/files/patch-components_os__crypt_keyring__util__linux.cc
deleted file mode 100644
index cdd0ece66b48..000000000000
--- a/www/chromium/files/patch-components_os__crypt_keyring__util__linux.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- components/os_crypt/keyring_util_linux.cc.orig 2022-04-21 18:48:31 UTC
-+++ 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/chromium/files/patch-components_os__crypt_libsecret__util__linux.cc b/www/chromium/files/patch-components_os__crypt_libsecret__util__linux.cc
deleted file mode 100644
index 2a3b51e501c6..000000000000
--- a/www/chromium/files/patch-components_os__crypt_libsecret__util__linux.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- components/os_crypt/libsecret_util_linux.cc.orig 2022-06-17 14:20:10 UTC
-+++ 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/chromium/files/patch-components_os__crypt_os__crypt.h b/www/chromium/files/patch-components_os__crypt_os__crypt.h
deleted file mode 100644
index 46c6f7a3d8d4..000000000000
--- a/www/chromium/files/patch-components_os__crypt_os__crypt.h
+++ /dev/null
@@ -1,72 +0,0 @@
---- components/os_crypt/os_crypt.h.orig 2022-07-22 17:30:31 UTC
-+++ components/os_crypt/os_crypt.h
-@@ -15,7 +15,7 @@
- #include "build/build_config.h"
- #include "build/chromecast_buildflags.h"
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- class KeyStorageLinux;
- #endif // BUILDFLAG(IS_LINUX)
-
-@@ -24,7 +24,7 @@ class PrefRegistrySimple;
- class PrefService;
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
- namespace crypto {
- class SymmetricKey;
- }
-@@ -37,7 +37,7 @@ struct Config;
- // Temporary interface due to OSCrypt refactor. See OSCryptImpl for descriptions
- // of what each function does.
- namespace OSCrypt {
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- COMPONENT_EXPORT(OS_CRYPT)
- void SetConfig(std::unique_ptr<os_crypt::Config> config);
- #endif // BUILDFLAG(IS_LINUX)
-@@ -82,7 +82,7 @@ COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyForTesting(b
- COMPONENT_EXPORT(OS_CRYPT) void SetLegacyEncryptionForTesting(bool legacy);
- COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting();
- #endif // BUILDFLAG(IS_WIN)
--#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
-+#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)
- COMPONENT_EXPORT(OS_CRYPT)
- void UseMockKeyStorageForTesting(
- base::OnceCallback<std::unique_ptr<KeyStorageLinux>()>
-@@ -109,7 +109,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl {
- // Returns singleton instance of OSCryptImpl.
- static OSCryptImpl* GetInstance();
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Set the configuration of OSCryptImpl.
- // This method, or SetRawEncryptionKey(), must be called before using
- // EncryptString() and DecryptString().
-@@ -201,7 +201,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl {
- void ResetStateForTesting();
- #endif
-
--#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
-+#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)
- // For unit testing purposes, inject methods to be used.
- // |storage_provider_factory| provides the desired |KeyStorage|
- // implementation. If the provider returns |nullptr|, a hardcoded password
-@@ -226,13 +226,13 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl {
- crypto::SymmetricKey* GetEncryptionKey();
- #endif // BUILDFLAG(IS_APPLE)
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
- // This lock is used to make the GetEncryptionKey and
- // GetRawEncryptionKey methods thread-safe.
- static base::Lock& GetLock();
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE)
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Create the KeyStorage. Will be null if no service is found. A Config must
- // be set before every call to this method.
- std::unique_ptr<KeyStorageLinux> CreateKeyStorage();
diff --git a/www/chromium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc b/www/chromium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc
new file mode 100644
index 000000000000..1e6502041dea
--- /dev/null
+++ b/www/chromium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc
@@ -0,0 +1,27 @@
+--- components/os_crypt/sync/libsecret_util_linux.cc.orig 2024-10-22 08:31:56 UTC
++++ components/os_crypt/sync/libsecret_util_linux.cc
+@@ -185,16 +185,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/40467093): 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/chromium/files/patch-components_os__crypt_sync_os__crypt.h b/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h
new file mode 100644
index 000000000000..b71296e7b06e
--- /dev/null
+++ b/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h
@@ -0,0 +1,63 @@
+--- components/os_crypt/sync/os_crypt.h.orig 2025-07-02 06:08:04 UTC
++++ components/os_crypt/sync/os_crypt.h
+@@ -22,7 +22,7 @@ class AppleKeychain;
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class KeyStorageLinux;
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -38,7 +38,7 @@ struct Config;
+ // Temporary interface due to OSCrypt refactor. See OSCryptImpl for descriptions
+ // of what each function does.
+ namespace OSCrypt {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(OS_CRYPT)
+ void SetConfig(std::unique_ptr<os_crypt::Config> config);
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -83,7 +83,7 @@ COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyForTesting(b
+ COMPONENT_EXPORT(OS_CRYPT) void SetLegacyEncryptionForTesting(bool legacy);
+ COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting();
+ #endif // BUILDFLAG(IS_WIN)
+-#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(OS_CRYPT)
+ void UseMockKeyStorageForTesting(
+ base::OnceCallback<std::unique_ptr<KeyStorageLinux>()>
+@@ -117,7 +117,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl {
+ // Returns singleton instance of OSCryptImpl.
+ static OSCryptImpl* GetInstance();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Set the configuration of OSCryptImpl.
+ // This method, or SetRawEncryptionKey(), must be called before using
+ // EncryptString() and DecryptString().
+@@ -213,7 +213,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl {
+ void ResetStateForTesting();
+ #endif
+
+-#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)
+ // For unit testing purposes, inject methods to be used.
+ // |storage_provider_factory| provides the desired |KeyStorage|
+ // implementation. If the provider returns |nullptr|, a hardcoded password
+@@ -240,13 +240,13 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl {
+ bool DeriveKey();
+ #endif // BUILDFLAG(IS_APPLE)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+ // This lock is used to make the GetEncryptionKey and
+ // GetRawEncryptionKey methods thread-safe.
+ static base::Lock& GetLock();
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ static constexpr size_t kDerivedKeyBytes = 16;
+
+ crypto::SubtlePassKey MakeCryptoPassKey();
diff --git a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc
index dfd3a09911fc..067b2bf8cc83 100644
--- a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc
+++ b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc
@@ -1,13 +1,13 @@
---- components/paint_preview/browser/paint_preview_client.cc.orig 2022-06-17 14:20:10 UTC
+--- components/paint_preview/browser/paint_preview_client.cc.orig 2024-10-22 08:31:56 UTC
+++ components/paint_preview/browser/paint_preview_client.cc
-@@ -309,8 +309,8 @@ void PaintPreviewClient::CapturePaintPreview(
- metadata->set_url(url.spec());
+@@ -326,8 +326,8 @@ void PaintPreviewClient::CapturePaintPreview(
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);
+ const auto& current_chrome_version = version_info::GetVersion();
+- chromeVersion->set_major(current_chrome_version.components()[0]);
+- chromeVersion->set_minor(current_chrome_version.components()[1]);
++ chromeVersion->set_gmajor(current_chrome_version.components()[0]);
++ chromeVersion->set_gminor(current_chrome_version.components()[1]);
+ chromeVersion->set_build(current_chrome_version.components()[2]);
+ chromeVersion->set_patch(current_chrome_version.components()[3]);
document_data.callback = std::move(callback);
diff --git a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc
index 28c077793e5d..1590d064cb4b 100644
--- a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc
+++ b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc
@@ -1,13 +1,13 @@
---- components/paint_preview/browser/paint_preview_client_unittest.cc.orig 2022-02-28 16:54:41 UTC
+--- components/paint_preview/browser/paint_preview_client_unittest.cc.orig 2024-01-30 07:53:34 UTC
+++ components/paint_preview/browser/paint_preview_client_unittest.cc
-@@ -171,8 +171,8 @@ TEST_P(PaintPreviewClientRenderViewHostTest, CaptureMa
- metadata->set_url(expected_url.spec());
+@@ -174,8 +174,8 @@ TEST_P(PaintPreviewClientRenderViewHostTest, CaptureMa
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);
+ const auto& current_chrome_version = version_info::GetVersion();
+- chromeVersion->set_major(current_chrome_version.components()[0]);
+- chromeVersion->set_minor(current_chrome_version.components()[1]);
++ chromeVersion->set_gmajor(current_chrome_version.components()[0]);
++ chromeVersion->set_gminor(current_chrome_version.components()[1]);
+ chromeVersion->set_build(current_chrome_version.components()[2]);
+ chromeVersion->set_patch(current_chrome_version.components()[3]);
PaintPreviewFrameProto* main_frame = expected_proto.mutable_root_frame();
diff --git a/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc
index 66060a482ee9..9c645f7afd2d 100644
--- a/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc
+++ b/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc
@@ -1,13 +1,13 @@
---- components/paint_preview/player/player_compositor_delegate.cc.orig 2022-05-19 14:06:27 UTC
+--- components/paint_preview/player/player_compositor_delegate.cc.orig 2025-02-19 07:43:18 UTC
+++ components/paint_preview/player/player_compositor_delegate.cc
-@@ -444,8 +444,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT
- // use the AXTreeUpdate.
+@@ -433,8 +433,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT
auto chrome_version = capture_result_->proto.metadata().chrome_version();
+ const auto& current_chrome_version = version_info::GetVersion();
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) {
+- chrome_version.major() == current_chrome_version.components()[0] &&
+- chrome_version.minor() == current_chrome_version.components()[1] &&
++ chrome_version.gmajor() == current_chrome_version.components()[0] &&
++ chrome_version.gminor() == current_chrome_version.components()[1] &&
+ chrome_version.build() == current_chrome_version.components()[2] &&
+ chrome_version.patch() == current_chrome_version.components()[3]) {
paint_preview_service_->GetFileMixin()->GetAXTreeUpdate(
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc
new file mode 100644
index 000000000000..290372f263c1
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc
@@ -0,0 +1,20 @@
+--- components/password_manager/core/browser/features/password_features.cc.orig 2025-07-02 06:08:04 UTC
++++ components/password_manager/core/browser/features/password_features.cc
+@@ -47,7 +47,7 @@ BASE_FEATURE(kClearUndecryptablePasswords,
+ BASE_FEATURE(kClearUndecryptablePasswordsOnSync,
+ "ClearUndecryptablePasswordsInSync",
+ #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -120,7 +120,7 @@ BASE_FEATURE(kReuseDetectionBasedOnPasswordHashes,
+ "ReuseDetectionBasedOnPasswordHashes",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kRestartToGainAccessToKeychain,
+ "RestartToGainAccessToKeychain",
+ #if BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h
new file mode 100644
index 000000000000..a47850fd900e
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/features/password_features.h.orig 2025-07-02 06:08:04 UTC
++++ components/password_manager/core/browser/features/password_features.h
+@@ -115,7 +115,7 @@ BASE_DECLARE_FEATURE(kPasswordManagerLogToTerminal);
+ // Detects password reuse based on hashed password values.
+ BASE_DECLARE_FEATURE(kReuseDetectionBasedOnPasswordHashes);
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Enables "Needs access to keychain, restart chrome" bubble and banner.
+ BASE_DECLARE_FEATURE(kRestartToGainAccessToKeychain);
+ #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_login__database.cc b/www/chromium/files/patch-components_password__manager_core_browser_login__database.cc
deleted file mode 100644
index 1bcd9337f5c7..000000000000
--- a/www/chromium/files/patch-components_password__manager_core_browser_login__database.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- components/password_manager/core/browser/login_database.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/password_manager/core/browser/login_database.cc
-@@ -731,7 +731,7 @@ std::string GeneratePlaceholders(size_t count) {
- return result;
- }
-
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Fills |form| with necessary data required to be removed from the database
- // and returns it.
- PasswordForm GetFormForRemoval(sql::Statement& statement) {
-@@ -748,7 +748,7 @@ PasswordForm GetFormForRemoval(sql::Statement& stateme
- // Whether we should try to return the decryptable passwords while the
- // encryption service fails for some passwords.
- bool ShouldReturnPartialPasswords() {
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return base::FeatureList::IsEnabled(features::kSkipUndecryptablePasswords);
- #else
- return false;
-@@ -1577,7 +1577,7 @@ bool LoginDatabase::DeleteAndRecreateDatabaseFile() {
- }
-
- DatabaseCleanupResult LoginDatabase::DeleteUndecryptableLogins() {
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- TRACE_EVENT0("passwords", "LoginDatabase::DeleteUndecryptableLogins");
- // If the Keychain in MacOS or the real secret key in Linux is unavailable,
- // don't delete any logins.
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc b/www/chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc
deleted file mode 100644
index 2593cb6b6e82..000000000000
--- a/www/chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- components/password_manager/core/browser/login_database_unittest.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/password_manager/core/browser/login_database_unittest.cc
-@@ -2092,7 +2092,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd
- base::HistogramTester histogram_tester;
- ASSERT_TRUE(db.Init());
-
--#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
-+#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)
- // Make sure that we can't get any logins when database is corrupted.
- // Disabling the checks in chromecast because encryption is unavailable.
- std::vector<std::unique_ptr<PasswordForm>> result;
-@@ -2118,7 +2118,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd
- #endif
-
- // Check histograms.
--#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
-+#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)
- histogram_tester.ExpectUniqueSample("PasswordManager.CleanedUpPasswords", 2,
- 1);
- histogram_tester.ExpectUniqueSample(
-@@ -2170,7 +2170,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, KeychainL
- }
- #endif // BUILDFLAG(IS_MAC)
-
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Test getting auto sign in logins when there are undecryptable ones
- TEST_F(LoginDatabaseUndecryptableLoginsTest, GetAutoSignInLogins) {
- PrimaryKeyToFormMap key_to_form_map;
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc
new file mode 100644
index 000000000000..37414ef9b9b1
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/password_form_filling.cc.orig 2025-05-28 14:55:43 UTC
++++ components/password_manager/core/browser/password_form_filling.cc
+@@ -165,7 +165,7 @@ LikelyFormFilling SendFillInformationToRenderer(
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (!should_show_popup_without_passwords) {
+ client->MaybeShowSavePasswordPrimingPromo(observed_form.url);
+ }
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc
new file mode 100644
index 000000000000..7d987e3f8dcd
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc
@@ -0,0 +1,29 @@
+--- components/password_manager/core/browser/password_form_manager.cc.orig 2025-05-05 10:57:53 UTC
++++ components/password_manager/core/browser/password_form_manager.cc
+@@ -64,7 +64,7 @@
+ #include "components/webauthn/android/webauthn_cred_man_delegate.h"
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "components/os_crypt/sync/os_crypt.h"
+ #endif
+
+@@ -240,7 +240,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest
+ return false;
+ }
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool ShouldShowKeychainErrorBubble(
+ std::optional<PasswordStoreBackendError> backend_error) {
+ if (!backend_error.has_value()) {
+@@ -913,7 +913,7 @@ void PasswordFormManager::OnFetchCompleted() {
+ error.value().type);
+ }
+
+-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (ShouldShowKeychainErrorBubble(
+ form_fetcher_->GetProfileStoreBackendError())) {
+ client_->NotifyKeychainError();
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc
new file mode 100644
index 000000000000..419129b5c5e7
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc
@@ -0,0 +1,20 @@
+--- components/password_manager/core/browser/password_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ components/password_manager/core/browser/password_manager.cc
+@@ -507,7 +507,7 @@ void PasswordManager::RegisterProfilePrefs(
+ prefs::kAutofillableCredentialsAccountStoreLoginDatabase, false);
+ #endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
+ registry->RegisterBooleanPref(prefs::kPasswordSharingEnabled, true);
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ registry->RegisterIntegerPref(prefs::kRelaunchChromeBubbleDismissedCounter,
+ 0);
+ #endif
+@@ -520,7 +520,7 @@ void PasswordManager::RegisterProfilePrefs(
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_IOS)
++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD)
+ registry->RegisterBooleanPref(prefs::kDeletingUndecryptablePasswordsEnabled,
+ true);
+ #endif
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h
new file mode 100644
index 000000000000..a2b83e110097
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h
@@ -0,0 +1,20 @@
+--- components/password_manager/core/browser/password_manager_client.h.orig 2025-07-02 06:08:04 UTC
++++ components/password_manager/core/browser/password_manager_client.h
+@@ -31,7 +31,7 @@
+ #include "net/cert/cert_status_flags.h"
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/i18n/rtl.h"
+ #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h"
+ #include "ui/gfx/geometry/rect_f.h"
+@@ -540,7 +540,7 @@ class PasswordManagerClient {
+ virtual void TriggerSignIn(signin_metrics::AccessPoint access_point) const;
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Shows the bubble with the details of the `form`.
+ virtual void OpenPasswordDetailsBubble(
+ const password_manager::PasswordForm& form) = 0;
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manager__switches.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__switches.cc
new file mode 100644
index 000000000000..d68dde383abf
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__switches.cc
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/password_manager_switches.cc.orig 2024-06-17 12:56:06 UTC
++++ components/password_manager/core/browser/password_manager_switches.cc
+@@ -6,7 +6,7 @@
+
+ namespace password_manager {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Specifies which encryption storage backend to use. Possible values are
+ // kwallet, kwallet5, kwallet6, gnome-libsecret, basic.
+ // Any other value will lead to Chrome detecting the best backend automatically.
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manager__switches.h b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__switches.h
new file mode 100644
index 000000000000..0ba62316219f
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__switches.h
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/password_manager_switches.h.orig 2025-02-19 07:43:18 UTC
++++ components/password_manager/core/browser/password_manager_switches.h
+@@ -9,7 +9,7 @@
+
+ namespace password_manager {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extern const char kPasswordStore[];
+ extern const char kEnableEncryptionSelection[];
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc
new file mode 100644
index 000000000000..cc9594688b2f
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc
@@ -0,0 +1,29 @@
+--- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2025-05-28 14:55:43 UTC
++++ components/password_manager/core/browser/password_manual_fallback_flow.cc
+@@ -46,7 +46,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Returns the password form corresponding to the `payload` data. In most
+ // cases there is only one such form stored, but having more than one or no
+ // forms is also possible. If there is more than one form, showing any of them
+@@ -297,7 +297,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion(
+ }
+ case autofill::SuggestionType::kViewPasswordDetails: {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ std::optional<password_manager::PasswordForm> credentials =
+ GetCorrespondingPasswordForm(
+ suggestion.GetPayload<Suggestion::PasswordSuggestionDetails>(),
+@@ -427,7 +427,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass
+ const Suggestion::PasswordSuggestionDetails& payload,
+ base::OnceClosure on_allowed) {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (payload.is_cross_domain) {
+ cross_domain_confirmation_popup_controller_ =
+ password_client_->ShowCrossDomainConfirmationPopup(
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h
new file mode 100644
index 000000000000..504ccff1fbd8
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h
@@ -0,0 +1,20 @@
+--- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2025-05-05 10:57:53 UTC
++++ components/password_manager/core/browser/password_manual_fallback_flow.h
+@@ -19,7 +19,7 @@
+ #include "components/password_manager/core/browser/ui/saved_passwords_presenter.h"
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ||
+ // BUILDFLAG(IS_CHROMEOS)
+@@ -180,7 +180,7 @@ class PasswordManualFallbackFlow : public autofill::Au
+ std::unique_ptr<device_reauth::DeviceAuthenticator> authenticator_;
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<PasswordCrossDomainConfirmationPopupController>
+ cross_domain_confirmation_popup_controller_;
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ||
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc
new file mode 100644
index 000000000000..3e535601d642
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/password_store_factory_util.cc.orig 2024-10-22 08:31:56 UTC
++++ components/password_manager/core/browser/password_store_factory_util.cc
+@@ -29,7 +29,7 @@ namespace {
+ LoginDatabase::DeletingUndecryptablePasswordsEnabled GetPolicyFromPrefs(
+ PrefService* prefs) {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_IOS)
++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD)
+ return LoginDatabase::DeletingUndecryptablePasswordsEnabled(
+ prefs->GetBoolean(prefs::kDeletingUndecryptablePasswordsEnabled));
+ #else
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc
new file mode 100644
index 000000000000..c750c21cb26a
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc
@@ -0,0 +1,20 @@
+--- components/password_manager/core/browser/password_store/login_database.cc.orig 2025-05-05 10:57:53 UTC
++++ components/password_manager/core/browser/password_store/login_database.cc
+@@ -1030,7 +1030,7 @@ bool ShouldDeleteUndecryptablePasswords(
+ bool is_user_data_dir_policy_set,
+ bool is_enabled_by_policy,
+ IsAccountStore is_account_store) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<base::Environment> environment(base::Environment::Create());
+ // On Linux user data directory ca be specified using an env variable. If it
+ // exists, passwords shouldn't be deleted.
+@@ -1048,7 +1048,7 @@ bool ShouldDeleteUndecryptablePasswords(
+ return false;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (command_line->HasSwitch(password_manager::kPasswordStore)) {
+ RecordShouldDeleteUndecryptablePasswordsMetric(
+ ShouldDeleteUndecryptablePasswordsResult::
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc
new file mode 100644
index 000000000000..79a02a3e7b8d
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2024-09-30 07:45:04 UTC
++++ components/password_manager/core/browser/password_store/login_database_async_helper.cc
+@@ -154,7 +154,7 @@ LoginsResultOrError LoginDatabaseAsyncHelper::FillMatc
+ std::vector<PasswordForm> matched_forms;
+ if (!login_db_ ||
+ !login_db_->GetLogins(form, include_psl, &matched_forms)) {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return PasswordStoreBackendError(
+ OSCrypt::IsEncryptionAvailable()
+ ? PasswordStoreBackendErrorType::kUncategorized
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc
new file mode 100644
index 000000000000..34974871cb06
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2025-05-28 14:55:43 UTC
++++ components/password_manager/core/browser/password_store/login_database_unittest.cc
+@@ -2303,7 +2303,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent,
+ testing::Bool()));
+
+ #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ class LoginDatabaseUndecryptableLoginsTest : public testing::Test {
+ protected:
+ LoginDatabaseUndecryptableLoginsTest() = default;
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc b/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc
new file mode 100644
index 000000000000..1b86a75f0b11
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2025-05-28 14:55:43 UTC
++++ components/password_manager/core/browser/stub_password_manager_client.cc
+@@ -206,7 +206,7 @@ version_info::Channel StubPasswordManagerClient::GetCh
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void StubPasswordManagerClient::OpenPasswordDetailsBubble(
+ const password_manager::PasswordForm& form) {}
+ void StubPasswordManagerClient::MaybeShowSavePasswordPrimingPromo(
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h b/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h
new file mode 100644
index 000000000000..43db56835a2f
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/stub_password_manager_client.h.orig 2025-05-28 14:55:43 UTC
++++ components/password_manager/core/browser/stub_password_manager_client.h
+@@ -77,7 +77,7 @@ class StubPasswordManagerClient : public PasswordManag
+ MockPasswordFeatureManager* GetPasswordFeatureManager();
+ version_info::Channel GetChannel() const override;
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void OpenPasswordDetailsBubble(
+ const password_manager::PasswordForm& form) override;
+ void MaybeShowSavePasswordPrimingPromo(const GURL& current_url) override;
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_sync_password__sync__bridge.cc b/www/chromium/files/patch-components_password__manager_core_browser_sync_password__sync__bridge.cc
deleted file mode 100644
index ff5f63d24717..000000000000
--- a/www/chromium/files/patch-components_password__manager_core_browser_sync_password__sync__bridge.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/password_manager/core/browser/sync/password_sync_bridge.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/password_manager/core/browser/sync/password_sync_bridge.cc
-@@ -157,7 +157,7 @@ bool ShouldRecoverPasswordsDuringMerge() {
- // Delete the local undecryptable copy when this is MacOS only.
- #if BUILDFLAG(IS_MAC)
- return true;
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return base::FeatureList::IsEnabled(
- features::kSyncUndecryptablePasswordsLinux);
- #else
-@@ -166,7 +166,7 @@ bool ShouldRecoverPasswordsDuringMerge() {
- }
-
- bool ShouldCleanSyncMetadataDuringStartupWhenDecryptionFails() {
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return ShouldRecoverPasswordsDuringMerge() &&
- base::FeatureList::IsEnabled(
- features::kForceInitialSyncWhenDecryptionFails);
diff --git a/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.cc b/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.cc
deleted file mode 100644
index cd21cf8a64f7..000000000000
--- a/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- components/password_manager/core/common/password_manager_features.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/password_manager/core/common/password_manager_features.cc
-@@ -70,7 +70,7 @@ const base::Feature kFillingAcrossAffiliatedWebsites{
- const base::Feature kFillOnAccountSelect = {"fill-on-account-select",
- base::FEATURE_DISABLED_BY_DEFAULT};
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // When enabled, initial sync will be forced during startup if the password
- // store has encryption service failures.
- const base::Feature kForceInitialSyncWhenDecryptionFails = {
-@@ -164,7 +164,7 @@ const base::Feature kRecoverFromNeverSaveAndroid = {
- const base::Feature kSecondaryServerFieldPredictions = {
- "SecondaryServerFieldPredictions", base::FEATURE_ENABLED_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
- const base::Feature kSkipUndecryptablePasswords = {
-@@ -176,7 +176,7 @@ const base::Feature kSkipUndecryptablePasswords = {
- const base::Feature kSupportForAddPasswordsInSettings = {
- "SupportForAddPasswordsInSettings", base::FEATURE_ENABLED_BY_DEFAULT};
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // When enabled, all undecryptable passwords are deleted from the local database
- // during initial sync flow.
- const base::Feature kSyncUndecryptablePasswordsLinux = {
diff --git a/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.h b/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.h
deleted file mode 100644
index c1ca462e09da..000000000000
--- a/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.h
+++ /dev/null
@@ -1,25 +0,0 @@
---- components/password_manager/core/common/password_manager_features.h.orig 2022-07-22 17:30:31 UTC
-+++ components/password_manager/core/common/password_manager_features.h
-@@ -31,7 +31,7 @@ extern const base::Feature KEnablePasswordGenerationFo
- extern const base::Feature kEnablePasswordManagerWithinFencedFrame;
- extern const base::Feature kFillingAcrossAffiliatedWebsites;
- extern const base::Feature kFillOnAccountSelect;
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- extern const base::Feature kForceInitialSyncWhenDecryptionFails;
- #endif
- extern const base::Feature kInferConfirmationPasswordField;
-@@ -51,11 +51,11 @@ extern const base::Feature kPasswordsAccountStorageRev
- extern const base::Feature kPasswordScriptsFetching;
- extern const base::Feature kRecoverFromNeverSaveAndroid;
- extern const base::Feature kSecondaryServerFieldPredictions;
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- extern const base::Feature kSkipUndecryptablePasswords;
- #endif
- extern const base::Feature kSupportForAddPasswordsInSettings;
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- extern const base::Feature kSyncUndecryptablePasswordsLinux;
- #endif
- #if BUILDFLAG(IS_ANDROID)
diff --git a/www/chromium/files/patch-components_password__manager_core_common_password__manager__pref__names.h b/www/chromium/files/patch-components_password__manager_core_common_password__manager__pref__names.h
new file mode 100644
index 000000000000..a16f5a0c0d0e
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_common_password__manager__pref__names.h
@@ -0,0 +1,20 @@
+--- components/password_manager/core/common/password_manager_pref_names.h.orig 2025-07-02 06:08:04 UTC
++++ components/password_manager/core/common/password_manager_pref_names.h
+@@ -59,7 +59,7 @@ inline constexpr char kCredentialProviderEnabledOnStar
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_IOS)
++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD)
+ // Boolean pref controlled by the DeletingUndecryptablePasswordsEnabled policy.
+ // If set to false it blocks deleting undecryptable passwords, otherwise the
+ // deletion can happen.
+@@ -346,7 +346,7 @@ inline constexpr char kAutofillableCredentialsAccountS
+ inline constexpr char kPasswordSharingEnabled[] =
+ "password_manager.password_sharing_enabled";
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Integer pref indicating how many times relaunch Chrome bubble was dismissed.
+ inline constexpr char kRelaunchChromeBubbleDismissedCounter[] =
+ "password_manager.relaunch_chrome_bubble_dismissed_counter";
diff --git a/www/chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc b/www/chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc
new file mode 100644
index 000000000000..8031f0f8627d
--- /dev/null
+++ b/www/chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc
@@ -0,0 +1,11 @@
+--- components/performance_manager/decorators/process_metrics_decorator.cc.orig 2024-11-14 07:57:23 UTC
++++ components/performance_manager/decorators/process_metrics_decorator.cc
+@@ -264,7 +264,7 @@ void ProcessMetricsDecorator::DidGetMemoryUsage(
+ // RSS and PMF to each node proportionally to its V8 heap size.
+ uint64_t process_rss = process_dump_iter.os_dump().resident_set_kb;
+ process_node->set_resident_set_kb(process_rss);
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ process_node->set_private_swap_kb(
+ process_dump_iter.os_dump().private_footprint_swap_kb);
+ #endif
diff --git a/www/chromium/files/patch-components_performance__manager_features.cc b/www/chromium/files/patch-components_performance__manager_features.cc
deleted file mode 100644
index 7b2cf0e5cd42..000000000000
--- a/www/chromium/files/patch-components_performance__manager_features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/performance_manager/features.cc.orig 2022-03-25 21:59:56 UTC
-+++ components/performance_manager/features.cc
-@@ -21,7 +21,7 @@ const base::Feature kUrgentDiscardingFromPerformanceMa
- "UrgentDiscardingFromPerformanceManager",
- // Ash Chrome uses memory pressure evaluator instead of performance manager to
- // discard tabs.
--#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- base::FEATURE_DISABLED_BY_DEFAULT
- #else
- base::FEATURE_ENABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-components_performance__manager_public_features.h b/www/chromium/files/patch-components_performance__manager_public_features.h
new file mode 100644
index 000000000000..26b46028bcb5
--- /dev/null
+++ b/www/chromium/files/patch-components_performance__manager_public_features.h
@@ -0,0 +1,11 @@
+--- components/performance_manager/public/features.h.orig 2025-05-05 10:57:53 UTC
++++ components/performance_manager/public/features.h
+@@ -19,7 +19,7 @@ namespace performance_manager::features {
+
+ #if !BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #define URGENT_DISCARDING_FROM_PERFORMANCE_MANAGER() false
+ #else
+ #define URGENT_DISCARDING_FROM_PERFORMANCE_MANAGER() true
diff --git a/www/chromium/files/patch-components_permissions_prediction__service_prediction__common.cc b/www/chromium/files/patch-components_permissions_prediction__service_prediction__common.cc
index a3acfb0f31d5..bda26ddbd358 100644
--- a/www/chromium/files/patch-components_permissions_prediction__service_prediction__common.cc
+++ b/www/chromium/files/patch-components_permissions_prediction__service_prediction__common.cc
@@ -1,4 +1,4 @@
---- components/permissions/prediction_service/prediction_common.cc.orig 2022-02-28 16:54:41 UTC
+--- components/permissions/prediction_service/prediction_common.cc.orig 2025-07-02 06:08:04 UTC
+++ components/permissions/prediction_service/prediction_common.cc
@@ -36,7 +36,7 @@ int BucketizeValue(int count) {
diff --git a/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
index 0a9241a18d31..c22147a09fcc 100644
--- a/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
+++ b/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
@@ -1,7 +1,7 @@
---- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2022-03-25 21:59:56 UTC
+--- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2025-05-05 10:57:53 UTC
+++ components/policy/core/browser/policy_pref_mapping_test.cc
-@@ -342,7 +342,7 @@ class PolicyTestCase {
- const std::string os("chromeos_lacros");
+@@ -432,7 +432,7 @@ class PolicyTestCase {
+ const std::string os("chromeos");
#elif BUILDFLAG(IS_IOS)
const std::string os("ios");
-#elif BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-components_policy_core_browser_url__blocklist__manager.cc b/www/chromium/files/patch-components_policy_core_browser_url__blocklist__manager.cc
new file mode 100644
index 000000000000..dfa041dc7fde
--- /dev/null
+++ b/www/chromium/files/patch-components_policy_core_browser_url__blocklist__manager.cc
@@ -0,0 +1,11 @@
+--- components/policy/core/browser/url_blocklist_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ components/policy/core/browser/url_blocklist_manager.cc
+@@ -377,7 +377,7 @@ void URLBlocklistManager::RegisterProfilePrefs(
+ policy_prefs::kSafeSitesFilterBehavior,
+ static_cast<int>(SafeSitesFilterBehavior::kSafeSitesFilterDisabled));
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ registry->RegisterListPref(policy_prefs::kPasswordManagerBlocklist);
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
+ // BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc
index 03dafd6464f1..bc46407c78c3 100644
--- a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc
+++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc
@@ -1,6 +1,6 @@
---- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2022-06-17 14:20:10 UTC
+--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2025-07-02 06:08:04 UTC
+++ components/policy/core/common/cloud/cloud_policy_client.cc
-@@ -447,7 +447,7 @@ void CloudPolicyClient::FetchPolicy() {
+@@ -762,7 +762,7 @@ void CloudPolicyClient::FetchPolicy(PolicyFetchReason
fetch_request->set_invalidation_payload(invalidation_payload_);
}
}
diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc
new file mode 100644
index 000000000000..ebb61849368b
--- /dev/null
+++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc
@@ -0,0 +1,20 @@
+--- components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc.orig 2024-10-22 08:31:56 UTC
++++ components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc
+@@ -25,7 +25,7 @@ namespace policy {
+
+ namespace {
+
+-#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(kRetryWithKeyReset,
+ "RetryWithKeyReset",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -220,7 +220,7 @@ void CloudPolicyRefreshScheduler::OnStoreError(CloudPo
+ // continue using the stale information. Thus, no specific response to a store
+ // error is required. NB: Changes to is_managed fire OnStoreLoaded().
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Client is registered means we have successfully get policy key once. However,
+ // a following policy fetch request is failed because we can't verified
+ // signature. Delete the policy key so that we can get it again with next
diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
index 2b1a3183decf..9a6914c32190 100644
--- a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
+++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
@@ -1,40 +1,41 @@
---- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2022-07-22 17:30:31 UTC
+--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2025-05-05 10:57:53 UTC
+++ components/policy/core/common/cloud/cloud_policy_util.cc
-@@ -20,7 +20,7 @@
+@@ -21,7 +21,7 @@
+ #include "base/win/wincred_shim.h"
#endif
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
-- BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
#include <pwd.h>
#include <sys/types.h>
#include <unistd.h>
-@@ -35,10 +35,14 @@
+@@ -36,10 +36,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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || 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>
- #include "base/check.h"
-@@ -82,7 +86,7 @@ namespace em = enterprise_management;
+@@ -84,7 +89,7 @@ namespace policy {
+ namespace em = enterprise_management;
std::string GetMachineName() {
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
char hostname[HOST_NAME_MAX];
if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
return hostname;
-@@ -140,7 +144,7 @@ std::string GetMachineName() {
+@@ -140,7 +145,7 @@ std::string GetMachineName() {
std::string GetOSVersion() {
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \
@@ -43,7 +44,7 @@
return base::SysInfo::OperatingSystemVersion();
#elif BUILDFLAG(IS_WIN)
base::win::OSInfo::VersionNumber version_number =
-@@ -163,7 +167,7 @@ std::string GetOSArchitecture() {
+@@ -162,7 +167,7 @@ std::string GetOSArchitecture() {
}
std::string GetOSUsername() {
diff --git a/www/chromium/files/patch-components_policy_core_common_policy__loader__common.cc b/www/chromium/files/patch-components_policy_core_common_policy__loader__common.cc
new file mode 100644
index 000000000000..ae34bd0beb49
--- /dev/null
+++ b/www/chromium/files/patch-components_policy_core_common_policy__loader__common.cc
@@ -0,0 +1,20 @@
+--- components/policy/core/common/policy_loader_common.cc.orig 2025-01-15 09:18:26 UTC
++++ 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::kEnterpriseSearchAggregatorSettings,
+ key::kHomepageIsNewTabPage,
+@@ -57,7 +57,7 @@ const char* kSensitivePolicies[] = {
+ key::kSafeBrowsingAllowlistDomains,
+ key::kSiteSearchSettings,
+ #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/chromium/files/patch-components_policy_core_common_policy__paths.cc b/www/chromium/files/patch-components_policy_core_common_policy__paths.cc
new file mode 100644
index 000000000000..7dfd40c06cb8
--- /dev/null
+++ b/www/chromium/files/patch-components_policy_core_common_policy__paths.cc
@@ -0,0 +1,11 @@
+--- components/policy/core/common/policy_paths.cc.orig 2024-01-30 07:53:34 UTC
++++ components/policy/core/common/policy_paths.cc
+@@ -17,6 +17,8 @@ namespace policy {
+ const char kPolicyPath[] = "/etc/opt/chrome/policies";
+ #elif BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING)
+ const char kPolicyPath[] = "/etc/opt/chrome_for_testing/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/chromium/files/patch-components_policy_core_common_policy__pref__names.cc b/www/chromium/files/patch-components_policy_core_common_policy__pref__names.cc
new file mode 100644
index 000000000000..45c534994983
--- /dev/null
+++ b/www/chromium/files/patch-components_policy_core_common_policy__pref__names.cc
@@ -0,0 +1,11 @@
+--- components/policy/core/common/policy_pref_names.cc.orig 2025-07-02 06:08:04 UTC
++++ components/policy/core/common/policy_pref_names.cc
+@@ -191,7 +191,7 @@ const char kFloatingWorkspaceEnabled[] = "ash.floating
+ // A boolean value indicating whether the built-in AI APIs are enabled.
+ const char kBuiltInAIAPIsEnabled[] = "policy.built_in_ai_apis_enabled";
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ // List of urls for which password manager is disabled/blocked.
+ const char kPasswordManagerBlocklist[] = "policy.password_manager_blocklist";
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
diff --git a/www/chromium/files/patch-components_policy_core_common_policy__pref__names.h b/www/chromium/files/patch-components_policy_core_common_policy__pref__names.h
new file mode 100644
index 000000000000..3d3f80beb506
--- /dev/null
+++ b/www/chromium/files/patch-components_policy_core_common_policy__pref__names.h
@@ -0,0 +1,11 @@
+--- components/policy/core/common/policy_pref_names.h.orig 2025-07-02 06:08:04 UTC
++++ components/policy/core/common/policy_pref_names.h
+@@ -91,7 +91,7 @@ extern const char kFloatingWorkspaceEnabled[];
+ #endif
+ extern const char kBuiltInAIAPIsEnabled[];
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ extern const char kPasswordManagerBlocklist[];
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-components_policy_resources_policy__templates.json b/www/chromium/files/patch-components_policy_resources_policy__templates.json
deleted file mode 100644
index da0949d31b26..000000000000
--- a/www/chromium/files/patch-components_policy_resources_policy__templates.json
+++ /dev/null
@@ -1,191 +0,0 @@
---- components/policy/resources/policy_templates.json.orig 2022-07-22 17:30:31 UTC
-+++ components/policy/resources/policy_templates.json
-@@ -1440,7 +1440,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win7:11-', 'chrome.mac:11-', 'chrome.linux:11-'],
-+ 'supported_on': ['chrome.win7:11-', 'chrome.mac:11-', 'chrome.linux:11-', 'chrome.openbsd:11-', 'chrome.freebsd:11-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -2568,7 +2568,7 @@
- 'owners': ['file://remoting/OWNERS', 'jamiewalch@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-'],
-+ 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome.openbsd:25-', 'chrome.freebsd:25-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -4334,7 +4334,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-'],
-+ 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-', 'chrome.openbsd:88-', 'chrome.freebsd:88-'],
- 'features': {
- 'dynamic_refresh': False,
- 'per_profile': False,
-@@ -4363,7 +4363,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@chromium.org'],
- 'type': 'string',
- 'schema': { 'type': 'string' },
-- 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-'],
-+ 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-', 'chrome.openbsd:88-', 'chrome.freebsd:88-'],
- 'features': {
- 'dynamic_refresh': False,
- 'per_profile': False,
-@@ -5327,7 +5327,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:74-','chrome.mac:74-','chrome_os:74-'],
-+ 'supported_on': ['chrome.linux:74-','chrome.mac:74-','chrome_os:74-','chrome.openbsd:74-','chrome.freebsd:74-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -5388,7 +5388,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'],
- 'type': 'string',
- 'schema': { 'type': 'string' },
-- 'supported_on': ['chrome.linux:9-'],
-+ 'supported_on': ['chrome.linux:9-','chrome.openbsd:9-','chrome.freebsd:9-'],
- 'features': {
- 'dynamic_refresh': False,
- 'per_profile': False,
-@@ -5454,7 +5454,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-'],
-+ 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-','chrome.openbsd:63-','chrome.freebsd:63-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -10680,7 +10680,7 @@
- 'owners': ['file://net/cert/OWNERS', 'rsleevi@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-'],
-+ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-', 'chrome.openbsd:30-', 'chrome.freebsd:30-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -10774,7 +10774,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'pmarko@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome_os:77-83', 'chrome.linux:79-83', 'chrome.mac:83-'],
-+ 'supported_on': ['chrome_os:77-83', 'chrome.linux:79-83', 'chrome.mac:83-', 'chrome.openbsd:79-83', 'chrome.freebsd:79-83'],
- 'features': {
- 'dynamic_refresh': False,
- 'per_profile': False,
-@@ -12777,7 +12777,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'pmarko@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:19-', 'chrome.linux:19-'],
-+ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.openbsd:19-', 'chrome.freebsd:19-'],
- 'features': {
- 'can_be_recommended': True,
- 'dynamic_refresh': True,
-@@ -13635,7 +13635,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'bartfab@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-'],
-+ 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-', 'chrome.openbsd:31-', 'chrome.freebsd:31-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': True,
-@@ -20602,7 +20602,7 @@
- 'items': { 'type': 'string' }
- },
- # Spell checking is provided by macOS, so can't be controlled on Mac.
-- 'supported_on': ['chrome.win:65-', 'chrome.linux:65-', 'chrome_os:65-'],
-+ 'supported_on': ['chrome.win:65-', 'chrome.linux:65-', 'chrome_os:65-', 'chrome.openbsd:65-', 'chrome.freebsd:65-'],
- 'features': {
- 'can_be_recommended': False,
- 'dynamic_refresh': True,
-@@ -20633,7 +20633,7 @@
- 'items': { 'type': 'string' }
- },
- # Spell checking is provided by macOS, so can't be controlled on Mac.
-- 'supported_on': ['chrome.win:75-100', 'chrome.linux:75-100', 'chrome_os:75-100'],
-+ 'supported_on': ['chrome.win:75-100', 'chrome.linux:75-100', 'chrome_os:75-100', 'chrome.openbsd:75-100', 'chrome.freebsd:75-100'],
- 'deprecated': True,
- 'features': {
- 'can_be_recommended': False,
-@@ -20667,7 +20667,7 @@
- 'items': { 'type': 'string' }
- },
- # Spell checking is provided by macOS, so can't be controlled on Mac.
-- 'supported_on': ['chrome.win:86-', 'chrome.linux:86-', 'chrome_os:86-'],
-+ 'supported_on': ['chrome.win:86-', 'chrome.linux:86-', 'chrome_os:86-', 'chrome.openbsd:86-', 'chrome.freebsd:86-'],
- 'features': {
- 'can_be_recommended': False,
- 'dynamic_refresh': True,
-@@ -21437,7 +21437,7 @@
- 'owners': ['fbeaufort@chromium.org', 'beccahughes@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:66-', 'chrome.linux:66-', 'chrome.mac:66-', 'chrome_os:66-'],
-+ 'supported_on': ['chrome.win:66-', 'chrome.linux:66-', 'chrome.mac:66-', 'chrome_os:66-', 'chrome.openbsd:66-', 'chrome.freebsd:66-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': True,
-@@ -25751,7 +25751,7 @@
- 'owners': ['file://services/audio/OWNERS', 'dalecurtis@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:79-', 'chrome.linux:79-', 'chrome.mac:79-'],
-+ 'supported_on': ['chrome.win:79-', 'chrome.linux:79-', 'chrome.mac:79-', 'chrome.openbsd:79-', 'chrome.freebsd:79-'],
- 'features': {
- 'dynamic_refresh': False,
- 'per_profile': False,
-@@ -27095,7 +27095,7 @@ If this policy is left unset, privacy screen is disabl
- 'owners': ['file://chrome/browser/notifications/OWNERS', 'knollr@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:83-100'],
-+ 'supported_on': ['chrome.linux:83-100','chrome.openbsd:83-100','chrome.freebsd:83-100'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': True,
-@@ -27119,7 +27119,7 @@ If set to False, <ph name="PRODUCT_NAME">$1<ex>Google
- 'owners': ['file://chrome/browser/notifications/OWNERS'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:90-'],
-+ 'supported_on': ['chrome.linux:90-','chrome.openbsd:90-','chrome.freebsd:90-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': True,
-@@ -28217,7 +28217,7 @@ If you disable this policy, web page scrolling to spec
- 'owners': ['asumaneev@google.com'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:91-92', 'chrome_os:91-'],
-+ 'supported_on': ['chrome.linux:91-92', 'chrome_os:91-', 'chrome.openbsd:91-', 'chrome.freebsd:91-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -29463,7 +29463,7 @@ When this policy is set, <ph name="PRODUCT_OS_NAME">$2
- },
- ],
- 'default': True,
-- 'supported_on': ['chrome.win:93-', 'chrome.linux:93-', 'chrome.mac:93-'],
-+ 'supported_on': ['chrome.win:93-', 'chrome.linux:93-', 'chrome.mac:93-', 'chrome.openbsd:93-', 'chrome.freebsd:93-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': True,
-@@ -29596,7 +29596,7 @@ When this policy is set, <ph name="PRODUCT_OS_NAME">$2
- 'owners': ['mattm@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:104-', 'chrome.mac:104-', 'chrome.linux:104-'],
-+ 'supported_on': ['chrome.win:104-', 'chrome.mac:104-', 'chrome.linux:104-', 'chrome.openbsd:104-', 'chrome.freebsd:104-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': True,
diff --git a/www/chromium/files/patch-components_policy_tools_generate__policy__source.py b/www/chromium/files/patch-components_policy_tools_generate__policy__source.py
index c73eaa782933..6682ee179894 100644
--- a/www/chromium/files/patch-components_policy_tools_generate__policy__source.py
+++ b/www/chromium/files/patch-components_policy_tools_generate__policy__source.py
@@ -1,14 +1,14 @@
---- components/policy/tools/generate_policy_source.py.orig 2022-03-25 21:59:56 UTC
+--- components/policy/tools/generate_policy_source.py.orig 2024-04-19 13:02:56 UTC
+++ components/policy/tools/generate_policy_source.py
-@@ -49,8 +49,10 @@ PLATFORM_STRINGS = {
+@@ -38,9 +38,9 @@ PLATFORM_STRINGS = {
'ios': ['ios'],
+ 'fuchsia': ['fuchsia'],
'chrome.win': ['win'],
- 'chrome.linux': ['linux'],
-+ 'chrome.openbsd': ['openbsd'],
-+ 'chrome.freebsd': ['freebsd'],
+- 'chrome.linux': ['linux'],
++ 'chrome.linux': ['linux', 'openbsd', 'freebsd'],
'chrome.mac': ['mac'],
-- 'chrome.*': ['win', 'mac', 'linux', 'fuchsia'],
-+ 'chrome.*': ['win', 'mac', 'linux', 'fuchsia', 'openbsd', 'freebsd'],
+- 'chrome.*': ['win', 'mac', 'linux'],
++ 'chrome.*': ['win', 'mac', 'linux', 'openbsd', 'freebsd'],
'chrome.win7': ['win'],
}
diff --git a/www/chromium/files/patch-components_power__metrics_BUILD.gn b/www/chromium/files/patch-components_power__metrics_BUILD.gn
new file mode 100644
index 000000000000..0fd652fd18dc
--- /dev/null
+++ b/www/chromium/files/patch-components_power__metrics_BUILD.gn
@@ -0,0 +1,11 @@
+--- components/power_metrics/BUILD.gn.orig 2023-09-13 12:11:42 UTC
++++ 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/chromium/files/patch-components_power__metrics_energy__metrics__provider.cc b/www/chromium/files/patch-components_power__metrics_energy__metrics__provider.cc
new file mode 100644
index 000000000000..65fa8d60dd78
--- /dev/null
+++ b/www/chromium/files/patch-components_power__metrics_energy__metrics__provider.cc
@@ -0,0 +1,21 @@
+--- components/power_metrics/energy_metrics_provider.cc.orig 2023-08-17 07:33:31 UTC
++++ 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/chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc
new file mode 100644
index 000000000000..b3714212d457
--- /dev/null
+++ b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc
@@ -0,0 +1,11 @@
+--- components/regional_capabilities/regional_capabilities_service.cc.orig 2025-05-28 14:55:43 UTC
++++ components/regional_capabilities/regional_capabilities_service.cc
+@@ -235,7 +235,7 @@ std::optional<CountryId> RegionalCapabilitiesService::
+ return persisted_country_id;
+ }
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(switches::kClearPrefForUnknownCountry)) {
+ profile_prefs_->ClearPref(country_codes::kCountryIDAtInstall);
+ base::UmaHistogramEnumeration(kUnknownCountryIdStored,
diff --git a/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc
new file mode 100644
index 000000000000..14ed09484399
--- /dev/null
+++ b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc
@@ -0,0 +1,11 @@
+--- components/regional_capabilities/regional_capabilities_switches.cc.orig 2025-05-05 10:57:53 UTC
++++ components/regional_capabilities/regional_capabilities_switches.cc
+@@ -6,7 +6,7 @@
+
+ namespace switches {
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kClearPrefForUnknownCountry,
+ "ClearCountryPrefForStoredUnknownCountry",
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.h b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.h
new file mode 100644
index 000000000000..f29cd663c85b
--- /dev/null
+++ b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.h
@@ -0,0 +1,11 @@
+--- components/regional_capabilities/regional_capabilities_switches.h.orig 2025-05-05 10:57:53 UTC
++++ components/regional_capabilities/regional_capabilities_switches.h
+@@ -25,7 +25,7 @@ inline constexpr char kSearchEngineChoiceCountry[] =
+ inline constexpr char kDefaultListCountryOverride[] = "DEFAULT_EEA";
+ inline constexpr char kEeaListCountryOverride[] = "EEA_ALL";
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // When an invalid `country_codes::CountryId` is stored in prefs and this
+ // feature is enabled the pref will be cleared allowing a valid country to be
+ // set again.
diff --git a/www/chromium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc b/www/chromium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc
index 92f539f394ef..72edfdf5e9dd 100644
--- a/www/chromium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc
+++ b/www/chromium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc
@@ -1,9 +1,9 @@
---- components/safe_browsing/content/common/file_type_policies_unittest.cc.orig 2022-03-25 21:59:56 UTC
+--- components/safe_browsing/content/common/file_type_policies_unittest.cc.orig 2025-02-19 07:43:18 UTC
+++ components/safe_browsing/content/common/file_type_policies_unittest.cc
-@@ -139,7 +139,7 @@ TEST_F(FileTypePoliciesTest, UnpackResourceBundle) {
+@@ -146,7 +146,7 @@ TEST_F(FileTypePoliciesTest, UnpackResourceBundle) {
+ EXPECT_EQ(142, file_type.uma_value());
+ EXPECT_FALSE(file_type.is_archive());
EXPECT_EQ(DownloadFileType::FULL_PING, file_type.ping_setting());
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
EXPECT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE,
diff --git a/www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py b/www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py
index dbe88e0227f0..a813c3e8087a 100644
--- a/www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py
+++ b/www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py
@@ -1,19 +1,20 @@
---- components/safe_browsing/content/resources/gen_file_type_proto.py.orig 2022-02-07 13:39:41 UTC
+--- components/safe_browsing/content/resources/gen_file_type_proto.py.orig 2024-08-26 12:06:38 UTC
+++ components/safe_browsing/content/resources/gen_file_type_proto.py
-@@ -35,6 +35,7 @@ def PlatformTypes():
- download_file_types_pb2.DownloadFileType.PLATFORM_CHROME_OS,
- "fuchsia": download_file_types_pb2.DownloadFileType.PLATFORM_FUCHSIA,
- "linux": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX,
-+ "openbsd": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX,
- "mac": download_file_types_pb2.DownloadFileType.PLATFORM_MAC,
- "win": download_file_types_pb2.DownloadFileType.PLATFORM_WINDOWS,
- }
-@@ -179,7 +180,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera
+@@ -37,6 +37,8 @@ def PlatformTypes():
+ "chromeos":
+ download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_CHROME_OS,
+ "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,
+ # LINT.ThenChange(BUILD.gn:PlatformTypes)
+@@ -179,7 +181,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera
'-t',
'--type',
help='The platform type. One of android, chromeos, ' +
- 'linux, mac, win')
-+ 'linux, mac, win, openbsd')
++ 'linux, mac, win, openbsd, freebsd')
def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command):
if opts.type is not None:
diff --git a/www/chromium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc b/www/chromium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc
index d3ae896e19e4..4d30499476f8 100644
--- a/www/chromium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc
+++ b/www/chromium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc
@@ -1,6 +1,6 @@
---- components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc.orig 2022-05-19 14:06:27 UTC
+--- components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc.orig 2024-09-30 07:45:04 UTC
+++ components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc
-@@ -116,7 +116,7 @@ std::ostream& operator<<(std::ostream& os, const ListI
+@@ -119,7 +119,7 @@ std::ostream& operator<<(std::ostream& os, const ListI
PlatformType GetCurrentPlatformType() {
#if BUILDFLAG(IS_WIN)
return WINDOWS_PLATFORM;
diff --git a/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc
index 93c14e64b7f7..7415d5e7665e 100644
--- a/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc
+++ b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc
@@ -1,7 +1,7 @@
---- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2022-02-28 16:54:41 UTC
+--- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2025-07-02 06:08:04 UTC
+++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc
-@@ -109,7 +109,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() {
- return RTLookupRequest::OS_TYPE_FUCHSIA;
+@@ -112,7 +112,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() {
+ return RTLookupRequest::OS_TYPE_CHROME_OS;
#elif BUILDFLAG(IS_IOS)
return RTLookupRequest::OS_TYPE_IOS;
-#elif BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-components_search__engines_template__url__service.cc b/www/chromium/files/patch-components_search__engines_template__url__service.cc
new file mode 100644
index 000000000000..bb8d6a340eb9
--- /dev/null
+++ b/www/chromium/files/patch-components_search__engines_template__url__service.cc
@@ -0,0 +1,11 @@
+--- components/search_engines/template_url_service.cc.orig 2025-07-02 06:08:04 UTC
++++ components/search_engines/template_url_service.cc
+@@ -3561,7 +3561,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider(
+ std::unique_ptr<EnterpriseSearchManager>
+ TemplateURLService::GetEnterpriseSearchManager(PrefService* prefs) {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return std::make_unique<EnterpriseSearchManager>(
+ prefs, base::BindRepeating(&TemplateURLService::EnterpriseSearchChanged,
+ base::Unretained(this)));
diff --git a/www/chromium/files/patch-components_security__interstitials_content_utils.cc b/www/chromium/files/patch-components_security__interstitials_content_utils.cc
index 475843c8baab..06f894eb0497 100644
--- a/www/chromium/files/patch-components_security__interstitials_content_utils.cc
+++ b/www/chromium/files/patch-components_security__interstitials_content_utils.cc
@@ -1,11 +1,11 @@
---- components/security_interstitials/content/utils.cc.orig 2022-02-28 16:54:41 UTC
+--- components/security_interstitials/content/utils.cc.orig 2025-02-19 07:43:18 UTC
+++ components/security_interstitials/content/utils.cc
-@@ -34,7 +34,7 @@ void LaunchDateAndTimeSettings() {
+@@ -37,7 +37,7 @@ void LaunchDateAndTimeSettings() {
#if BUILDFLAG(IS_ANDROID)
JNIEnv* env = base::android::AttachCurrentThread();
Java_DateAndTimeSettingsHelper_openDateAndTimeSettings(env);
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
struct ClockCommand {
const char* const pathname;
const char* const argument;
diff --git a/www/chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc b/www/chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc
new file mode 100644
index 000000000000..22c7a886bc4c
--- /dev/null
+++ b/www/chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc
@@ -0,0 +1,11 @@
+--- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2025-02-19 07:43:18 UTC
++++ components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc
+@@ -147,7 +147,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/chromium/files/patch-components_services_on__device__translation_sandbox__hook.cc b/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.cc
new file mode 100644
index 000000000000..3abf4d20fa2a
--- /dev/null
+++ b/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.cc
@@ -0,0 +1,43 @@
+--- components/services/on_device_translation/sandbox_hook.cc.orig 2024-11-14 07:57:23 UTC
++++ components/services/on_device_translation/sandbox_hook.cc
+@@ -7,12 +7,15 @@
+ #include "components/services/on_device_translation/translate_kit_client.h"
+ #include "sandbox/linux/syscall_broker/broker_command.h"
+
++#if !BUILDFLAG(IS_BSD)
+ using sandbox::syscall_broker::BrokerFilePermission;
+ using sandbox::syscall_broker::MakeBrokerCommandSet;
++#endif
+
+ namespace on_device_translation {
+ namespace {
+
++#if !BUILDFLAG(IS_BSD)
+ // Gets the file permissions required by the TranslateKit
+ std::vector<BrokerFilePermission> GetOnDeviceTranslationFilePermissions() {
+ std::vector<BrokerFilePermission> permissions{
+@@ -21,6 +24,7 @@ std::vector<BrokerFilePermission> GetOnDeviceTranslati
+ };
+ return permissions;
+ }
++#endif
+
+ } // namespace
+
+@@ -29,6 +33,7 @@ bool OnDeviceTranslationSandboxHook(
+ // Call `TranslateKitClient::Get()` to load libtranslatekit.so
+ TranslateKitClient::Get();
+
++#if !BUILDFLAG(IS_BSD)
+ auto* instance = sandbox::policy::SandboxLinux::GetInstance();
+ instance->StartBrokerProcess(MakeBrokerCommandSet({
+ sandbox::syscall_broker::COMMAND_OPEN,
+@@ -36,7 +41,7 @@ bool OnDeviceTranslationSandboxHook(
+ GetOnDeviceTranslationFilePermissions(),
+ options);
+ instance->EngageNamespaceSandboxIfPossible();
+-
++#endif
+ return true;
+ }
+
diff --git a/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.h b/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.h
new file mode 100644
index 000000000000..d27468a99063
--- /dev/null
+++ b/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.h
@@ -0,0 +1,16 @@
+--- components/services/on_device_translation/sandbox_hook.h.orig 2024-11-14 07:57:23 UTC
++++ components/services/on_device_translation/sandbox_hook.h
+@@ -5,7 +5,13 @@
+ #ifndef COMPONENTS_SERVICES_ON_DEVICE_TRANSLATION_SANDBOX_HOOK_H_
+ #define COMPONENTS_SERVICES_ON_DEVICE_TRANSLATION_SANDBOX_HOOK_H_
+
++#include "build/build_config.h"
++
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+
+ namespace on_device_translation {
+
diff --git a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
index 8cf119fc0110..27690c83e3cf 100644
--- a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
+++ b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
@@ -1,6 +1,6 @@
---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2024-01-30 07:53:34 UTC
+++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc
-@@ -19,7 +19,7 @@
+@@ -22,7 +22,7 @@
#if BUILDFLAG(IS_WIN)
#include "content/public/child/dwrite_font_proxy_init_win.h"
@@ -9,7 +9,7 @@
#include "components/services/font/public/cpp/font_loader.h"
#endif
-@@ -64,7 +64,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+@@ -79,7 +79,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
// Initialize font access for Skia.
#if BUILDFLAG(IS_WIN)
content::InitializeDWriteFontProxy();
@@ -18,8 +18,8 @@
mojo::PendingRemote<font_service::mojom::FontService> font_service;
content::UtilityThread::Get()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -87,7 +87,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
- base::BindOnce([] { SkFontMgr::RefDefault(); }));
+@@ -102,7 +102,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+ base::BindOnce([] { skia::DefaultFontMgr(); }));
// Sanity check that fonts are working.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h
deleted file mode 100644
index 7f4b7238d53e..000000000000
--- a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h.orig 2022-02-28 16:54:41 UTC
-+++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h
-@@ -21,7 +21,7 @@
- #include "mojo/public/cpp/bindings/pending_receiver.h"
- #include "mojo/public/cpp/bindings/receiver.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
-@@ -73,7 +73,7 @@ class PaintPreviewCompositorCollectionImpl
- std::unique_ptr<PaintPreviewCompositorImpl>>
- compositors_;
-
--#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/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc
deleted file mode 100644
index ee0d7b2f0992..000000000000
--- a/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2022-07-22 17:30:31 UTC
-+++ components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc
-@@ -36,6 +36,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi
- }
- screen_ai::SetPreloadedLibraryFilePath(library_path);
-
-+#if !BUILDFLAG(IS_BSD)
- auto* instance = sandbox::policy::SandboxLinux::GetInstance();
-
- std::vector<BrokerFilePermission> permissions{
-@@ -59,6 +60,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi
- sandbox::syscall_broker::COMMAND_OPEN}),
- permissions, sandbox::policy::SandboxLinux::PreSandboxHook(), options);
- instance->EngageNamespaceSandboxIfPossible();
-+#endif
-
- return true;
- }
diff --git a/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h b/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h
deleted file mode 100644
index e41dfa6540bc..000000000000
--- a/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h.orig 2022-04-21 18:48:31 UTC
-+++ 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_
- #define COMPONENTS_SERVICES_SCREEN_AI_SANDBOX_SCREEN_AI_SANDBOX_HOOK_LINUX_H_
-
-+#include "build/build_config.h"
-+
-+#if BUILDFLAG(IS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
-+#else
- #include "sandbox/policy/linux/sandbox_linux.h"
-+#endif
-
- namespace screen_ai {
-
diff --git a/www/chromium/files/patch-components_signin_public_base_signin__switches.cc b/www/chromium/files/patch-components_signin_public_base_signin__switches.cc
new file mode 100644
index 000000000000..6b4ba47a31b6
--- /dev/null
+++ b/www/chromium/files/patch-components_signin_public_base_signin__switches.cc
@@ -0,0 +1,11 @@
+--- components/signin/public/base/signin_switches.cc.orig 2025-07-02 06:08:04 UTC
++++ components/signin/public/base/signin_switches.cc
+@@ -64,7 +64,7 @@ BASE_FEATURE(kFullscreenSignInPromoUseDate,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Enables the History Sync Opt-in on Desktop.
+ BASE_FEATURE(kEnableHistorySyncOptin,
+ "EnableHistorySyncOptin",
diff --git a/www/chromium/files/patch-components_signin_public_base_signin__switches.h b/www/chromium/files/patch-components_signin_public_base_signin__switches.h
new file mode 100644
index 000000000000..3438afb6235c
--- /dev/null
+++ b/www/chromium/files/patch-components_signin_public_base_signin__switches.h
@@ -0,0 +1,11 @@
+--- components/signin/public/base/signin_switches.h.orig 2025-07-02 06:08:04 UTC
++++ components/signin/public/base/signin_switches.h
+@@ -58,7 +58,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES)
+ BASE_DECLARE_FEATURE(kFullscreenSignInPromoUseDate);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(SIGNIN_SWITCHES)
+ BASE_DECLARE_FEATURE(kEnableHistorySyncOptin);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-components_soda_soda__util.cc b/www/chromium/files/patch-components_soda_soda__util.cc
new file mode 100644
index 000000000000..bf98e7eeae7d
--- /dev/null
+++ b/www/chromium/files/patch-components_soda_soda__util.cc
@@ -0,0 +1,29 @@
+--- components/soda/soda_util.cc.orig 2025-05-05 10:57:53 UTC
++++ components/soda/soda_util.cc
+@@ -23,7 +23,7 @@
+ #include "base/win/windows_version.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_X86_FAMILY)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_FAMILY)
+ #include "base/cpu.h"
+ #endif
+
+@@ -39,7 +39,7 @@ bool IsSupportedChromeOS() {
+ }
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool IsSupportedLinux() {
+ #if defined(ARCH_CPU_X86_FAMILY)
+ // Check if the CPU has the required instruction set to run the Speech
+@@ -70,7 +70,7 @@ bool IsSupportedWin() {
+ bool IsOnDeviceSpeechRecognitionSupported() {
+ #if BUILDFLAG(IS_CHROMEOS)
+ return IsSupportedChromeOS();
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return IsSupportedLinux();
+ #elif BUILDFLAG(IS_WIN)
+ return IsSupportedWin();
diff --git a/www/chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc b/www/chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc
deleted file mode 100644
index 8d0c97ec9447..000000000000
--- a/www/chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/startup_metric_utils/browser/startup_metric_utils.cc.orig 2022-05-19 14:06:27 UTC
-+++ components/startup_metric_utils/browser/startup_metric_utils.cc
-@@ -308,7 +308,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time
-
- // Enabling this logic on OS X causes a significant performance regression.
- // https://crbug.com/601270
--#if !BUILDFLAG(IS_APPLE)
-+#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
- static bool statics_initialized = false;
-
- base::ThreadPriority previous_priority = base::ThreadPriority::NORMAL;
-@@ -322,7 +322,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time
- static const base::Time time_base = base::Time::Now();
- static const base::TimeTicks trace_ticks_base = base::TimeTicks::Now();
-
--#if !BUILDFLAG(IS_APPLE)
-+#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
- if (!statics_initialized) {
- base::PlatformThread::SetCurrentThreadPriority(previous_priority);
- }
diff --git a/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc b/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc
new file mode 100644
index 000000000000..dc5ff7946665
--- /dev/null
+++ b/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc
@@ -0,0 +1,11 @@
+--- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2024-08-26 12:06:38 UTC
++++ components/startup_metric_utils/common/startup_metric_utils.cc
+@@ -94,7 +94,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi
+ // Enabling this logic on OS X causes a significant performance regression.
+ // TODO(crbug.com/40464036): Remove IS_APPLE ifdef once utility processes
+ // set their desired main thread priority.
+-#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/chromium/files/patch-components_storage__monitor_BUILD.gn b/www/chromium/files/patch-components_storage__monitor_BUILD.gn
index ad6acf227a78..e4aacc3f46c0 100644
--- a/www/chromium/files/patch-components_storage__monitor_BUILD.gn
+++ b/www/chromium/files/patch-components_storage__monitor_BUILD.gn
@@ -1,11 +1,20 @@
---- components/storage_monitor/BUILD.gn.orig 2022-06-17 14:20:10 UTC
+--- components/storage_monitor/BUILD.gn.orig 2025-05-05 10:57:53 UTC
+++ components/storage_monitor/BUILD.gn
-@@ -175,7 +175,7 @@ source_set("unit_tests") {
+@@ -73,7 +73,7 @@ component("storage_monitor") {
+ deps += [ "//services/device/public/mojom" ]
+ }
+ } else if (is_linux) {
+- if (use_udev) {
++ if (use_udev && !is_bsd) {
+ sources += [
+ "mtab_watcher_linux.cc",
+ "mtab_watcher_linux.h",
+@@ -182,7 +182,7 @@ source_set("unit_tests") {
"storage_monitor_chromeos_unittest.cc",
]
}
-- } else if (is_linux || is_chromeos_lacros) {
-+ } else if ((is_linux || is_chromeos_lacros) && !is_bsd) {
+- } else if (is_linux) {
++ } else if (is_linux && !is_bsd) {
if (use_udev) {
sources += [ "storage_monitor_linux_unittest.cc" ]
}
diff --git a/www/chromium/files/patch-components_storage__monitor_removable__device__constants.h b/www/chromium/files/patch-components_storage__monitor_removable__device__constants.h
index 71ac1f80d945..0b6652c591c0 100644
--- a/www/chromium/files/patch-components_storage__monitor_removable__device__constants.h
+++ b/www/chromium/files/patch-components_storage__monitor_removable__device__constants.h
@@ -1,11 +1,11 @@
---- components/storage_monitor/removable_device_constants.h.orig 2022-02-28 16:54:41 UTC
+--- components/storage_monitor/removable_device_constants.h.orig 2025-05-05 10:57:53 UTC
+++ components/storage_monitor/removable_device_constants.h
-@@ -14,7 +14,7 @@ namespace storage_monitor {
- extern const char kFSUniqueIdPrefix[];
- extern const char kVendorModelSerialPrefix[];
+@@ -15,7 +15,7 @@ namespace storage_monitor {
+ extern COMPONENT_EXPORT(STORAGE_MONITOR) const char kFSUniqueIdPrefix[];
+ extern COMPONENT_EXPORT(STORAGE_MONITOR) const char kVendorModelSerialPrefix[];
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- extern const char kVendorModelVolumeStoragePrefix[];
+ extern COMPONENT_EXPORT(STORAGE_MONITOR) const
+ char kVendorModelVolumeStoragePrefix[];
#endif
-
diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_list__family__members__service.h b/www/chromium/files/patch-components_supervised__user_core_browser_list__family__members__service.h
new file mode 100644
index 000000000000..b0b5b1707528
--- /dev/null
+++ b/www/chromium/files/patch-components_supervised__user_core_browser_list__family__members__service.h
@@ -0,0 +1,11 @@
+--- components/supervised_user/core/browser/list_family_members_service.h.orig 2025-02-19 07:43:18 UTC
++++ components/supervised_user/core/browser/list_family_members_service.h
+@@ -33,7 +33,7 @@ namespace supervised_user {
+ // If true, this fetcher is active for all users with CanFetchFamilyMemberInfo
+ // capability. Otherwise, it is only used by supervised users.
+ constexpr bool FetchListFamilyMembersWithCapability() {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return true;
+ #else
+ return false;
diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc
new file mode 100644
index 000000000000..3ed3978a9764
--- /dev/null
+++ b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc
@@ -0,0 +1,11 @@
+--- components/supervised_user/core/browser/supervised_user_metrics_service.cc.orig 2025-07-02 06:08:04 UTC
++++ components/supervised_user/core/browser/supervised_user_metrics_service.cc
+@@ -68,7 +68,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer
+ extensions_metrics_delegate_(std::move(extensions_metrics_delegate)) {
+ DCHECK(pref_service_);
+ supervised_user_service_observation_.Observe(&supervised_user_service);
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ CHECK(extensions_metrics_delegate_)
+ << "Extensions metrics delegate must exist on Win/Linux/Mac";
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc
new file mode 100644
index 000000000000..962ba8b9f69d
--- /dev/null
+++ b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc
@@ -0,0 +1,11 @@
+--- components/supervised_user/core/browser/supervised_user_preferences.cc.orig 2025-07-02 06:08:04 UTC
++++ components/supervised_user/core/browser/supervised_user_preferences.cc
+@@ -153,7 +153,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry
+ registry->RegisterBooleanPref(prefs::kChildAccountStatusKnown, false);
+ registry->RegisterStringPref(prefs::kFamilyLinkUserMemberRole, std::string());
+ #if BUILDFLAG(ENABLE_EXTENSIONS) && \
+- (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX))
++ (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ registry->RegisterIntegerPref(
+ prefs::kLocallyParentApprovedExtensionsMigrationState,
+ static_cast<int>(
diff --git a/www/chromium/files/patch-components_supervised__user_core_common_features.cc b/www/chromium/files/patch-components_supervised__user_core_common_features.cc
new file mode 100644
index 000000000000..409f714ca9b5
--- /dev/null
+++ b/www/chromium/files/patch-components_supervised__user_core_common_features.cc
@@ -0,0 +1,54 @@
+--- components/supervised_user/core/common/features.cc.orig 2025-05-28 14:55:43 UTC
++++ components/supervised_user/core/common/features.cc
+@@ -37,7 +37,7 @@ BASE_FEATURE(kAllowSubframeLocalWebApprovals,
+ #endif
+
+ #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ const int kLocalWebApprovalBottomSheetLoadTimeoutDefaultValueMs = 5000;
+
+ const base::FeatureParam<int> kLocalWebApprovalBottomSheetLoadTimeoutMs{
+@@ -46,7 +46,7 @@ const base::FeatureParam<int> kLocalWebApprovalBottomS
+ #endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kEnableLocalWebApprovalErrorDialog,
+ "EnableLocalWebApprovalErrorDialog",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -89,7 +89,7 @@ bool IsLocalWebApprovalsEnabledForSubframes() {
+ return base::FeatureList::IsEnabled(kAllowSubframeLocalWebApprovals);
+ }
+
+-#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(kCustomProfileStringsForSupervisedUsers,
+ "CustomProfileStringsForSupervisedUsers",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -101,13 +101,13 @@ BASE_FEATURE(kShowKiteForSupervisedUsers,
+
+ BASE_FEATURE(kForceSafeSearchForUnauthenticatedSupervisedUsers,
+ "ForceSafeSearchForUnauthenticatedSupervisedUsers",
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT);
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif
+
+-#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(kEnableSupervisedUserVersionSignOutDialog,
+ "EnableSupervisedUserVersionSignOutDialog",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -119,7 +119,7 @@ BASE_FEATURE(kEnableSupervisedUserVersionSignOutDialog
+ // platform #defines.
+ BASE_FEATURE(kUncredentialedFilteringFallbackForSupervisedUsers,
+ "UncredentialedFilteringFallbackForSupervisedUsers",
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT);
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-components_supervised__user_core_common_features.h b/www/chromium/files/patch-components_supervised__user_core_common_features.h
new file mode 100644
index 000000000000..1319fe53139a
--- /dev/null
+++ b/www/chromium/files/patch-components_supervised__user_core_common_features.h
@@ -0,0 +1,35 @@
+--- components/supervised_user/core/common/features.h.orig 2025-05-28 14:55:43 UTC
++++ components/supervised_user/core/common/features.h
+@@ -20,12 +20,12 @@ BASE_DECLARE_FEATURE(kLocalWebApprovals);
+ BASE_DECLARE_FEATURE(kAllowSubframeLocalWebApprovals);
+
+ #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ extern const base::FeatureParam<int> kLocalWebApprovalBottomSheetLoadTimeoutMs;
+ #endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Whether we show an error screen in case of failure of a local web approval.
+ BASE_DECLARE_FEATURE(kEnableLocalWebApprovalErrorDialog);
+ #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+@@ -37,7 +37,7 @@ BASE_DECLARE_FEATURE(kLocalWebApprovalsWidgetSupportsU
+ // Whether supervised users see an updated URL filter interstitial.
+ BASE_DECLARE_FEATURE(kSupervisedUserBlockInterstitialV3);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Enable different web sign in interception behaviour for supervised users:
+ //
+ // 1. Supervised user signs in to existing signed out Profile: show modal
+@@ -55,7 +55,7 @@ BASE_DECLARE_FEATURE(kShowKiteForSupervisedUsers);
+ // unauthenticated (e.g. signed out of the content area) account.
+ BASE_DECLARE_FEATURE(kForceSafeSearchForUnauthenticatedSupervisedUsers);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Uses supervised user strings on the signout dialog.
+ BASE_DECLARE_FEATURE(kEnableSupervisedUserVersionSignOutDialog);
+ #endif
diff --git a/www/chromium/files/patch-components_supervised__user_core_common_pref__names.h b/www/chromium/files/patch-components_supervised__user_core_common_pref__names.h
new file mode 100644
index 000000000000..3d095a8225db
--- /dev/null
+++ b/www/chromium/files/patch-components_supervised__user_core_common_pref__names.h
@@ -0,0 +1,11 @@
+--- components/supervised_user/core/common/pref_names.h.orig 2025-05-28 14:55:43 UTC
++++ components/supervised_user/core/common/pref_names.h
+@@ -129,7 +129,7 @@ inline constexpr char kDefaultSupervisedUserFilteringB
+ "profile.managed.default_filtering_behavior";
+
+ #if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // An integer pref that stores the current state of the local extension
+ // parent approval migration when the feature
+ // `kEnableSupervisedUserSkipParentApprovalToInstallExtensions` becomes enabled.
diff --git a/www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc b/www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc
index 6a0c338fe352..6670a65926dc 100644
--- a/www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc
+++ b/www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc
@@ -1,11 +1,29 @@
---- components/sync_device_info/local_device_info_util.cc.orig 2022-05-19 14:06:27 UTC
+--- components/sync_device_info/local_device_info_util.cc.orig 2025-02-19 07:43:18 UTC
+++ components/sync_device_info/local_device_info_util.cc
-@@ -74,7 +74,7 @@ std::string GetPersonalizableDeviceNameInternal();
+@@ -84,7 +84,7 @@ void OnMachineStatisticsLoaded(LocalDeviceNameInfo* na
sync_pb::SyncEnums::DeviceType GetLocalDeviceType() {
- #if BUILDFLAG(IS_CHROMEOS_ASH)
+ #if BUILDFLAG(IS_CHROMEOS)
return sync_pb::SyncEnums_DeviceType_TYPE_CROS;
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#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 @@ sync_pb::SyncEnums::DeviceType GetLocalDeviceType() {
+ DeviceInfo::OsType GetLocalDeviceOSType() {
+ #if BUILDFLAG(IS_CHROMEOS)
+ return DeviceInfo::OsType::kChromeOsAsh;
+-#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/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/www/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc
index 29f412422f87..1edb88b39884 100644
--- a/www/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc
+++ b/www/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc
@@ -1,8 +1,8 @@
---- components/sync_device_info/local_device_info_util_linux.cc.orig 2022-04-21 18:48:31 UTC
+--- components/sync_device_info/local_device_info_util_linux.cc.orig 2022-09-24 10:57:32 UTC
+++ components/sync_device_info/local_device_info_util_linux.cc
-@@ -14,6 +14,11 @@
- #include "chromeos/constants/devicetype.h" // nogncheck
- #endif
+@@ -9,6 +9,11 @@
+
+ #include "base/linux_util.h"
+#if defined(__FreeBSD__)
+#include <sys/param.h>
@@ -11,4 +11,4 @@
+
namespace syncer {
- #if BUILDFLAG(IS_CHROMEOS_ASH)
+ std::string GetPersonalizableDeviceNameInternal() {
diff --git a/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc b/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc
new file mode 100644
index 000000000000..f38eddaf4649
--- /dev/null
+++ b/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc
@@ -0,0 +1,11 @@
+--- components/sync_preferences/common_syncable_prefs_database.cc.orig 2025-05-28 14:55:43 UTC
++++ components/sync_preferences/common_syncable_prefs_database.cc
+@@ -339,7 +339,7 @@ constexpr auto kCommonSyncablePrefsAllowlist =
+ PrefSensitivity::kNone, MergeBehavior::kNone}},
+ #endif // BUILDFLAG(IS_ANDROID)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ {autofill::prefs::kAutofillBnplEnabled,
+ {syncable_prefs_ids::kAutofillBnplEnabled, syncer::PREFERENCES,
+ PrefSensitivity::kNone, MergeBehavior::kNone}},
diff --git a/www/chromium/files/patch-components_sync_service_sync__prefs.cc b/www/chromium/files/patch-components_sync_service_sync__prefs.cc
new file mode 100644
index 000000000000..0a500e15d0be
--- /dev/null
+++ b/www/chromium/files/patch-components_sync_service_sync__prefs.cc
@@ -0,0 +1,11 @@
+--- components/sync/service/sync_prefs.cc.orig 2025-07-02 06:08:04 UTC
++++ components/sync/service/sync_prefs.cc
+@@ -776,7 +776,7 @@ bool SyncPrefs::IsTypeSupportedInTransportMode(UserSel
+ // transport mode everywhere.
+ return true;
+ case UserSelectableType::kHistory:
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(kReplaceSyncPromosWithSignInPromos) ||
+ base::FeatureList::IsEnabled(switches::kEnableHistorySyncOptin);
+ #else
diff --git a/www/chromium/files/patch-components_system__cpu_cpu__probe.cc b/www/chromium/files/patch-components_system__cpu_cpu__probe.cc
new file mode 100644
index 000000000000..bbd2188c9fed
--- /dev/null
+++ b/www/chromium/files/patch-components_system__cpu_cpu__probe.cc
@@ -0,0 +1,12 @@
+--- components/system_cpu/cpu_probe.cc.orig 2024-02-23 21:04:38 UTC
++++ components/system_cpu/cpu_probe.cc
+@@ -30,6 +30,9 @@ std::unique_ptr<CpuProbe> CpuProbe::Create() {
+ return CpuProbeWin::Create();
+ #elif BUILDFLAG(IS_MAC)
+ return CpuProbeMac::Create();
++#elif BUILDFLAG(IS_BSD)
++ NOTIMPLEMENTED();
++ return nullptr;
+ #else
+ return nullptr;
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-components_translate_core_common_translate__util.cc b/www/chromium/files/patch-components_translate_core_common_translate__util.cc
index 4900fdacbfee..80606dfd4e3e 100644
--- a/www/chromium/files/patch-components_translate_core_common_translate__util.cc
+++ b/www/chromium/files/patch-components_translate_core_common_translate__util.cc
@@ -1,11 +1,11 @@
---- components/translate/core/common/translate_util.cc.orig 2022-03-25 21:59:56 UTC
+--- components/translate/core/common/translate_util.cc.orig 2023-09-13 12:11:42 UTC
+++ components/translate/core/common/translate_util.cc
-@@ -34,7 +34,7 @@ const base::Feature kTranslateSubFrames{"TranslateSubF
- const base::Feature kTFLiteLanguageDetectionEnabled{
- "TFLiteLanguageDetectionEnabled",
+@@ -21,7 +21,7 @@ const char kSecurityOrigin[] = "https://translate.goog
+ BASE_FEATURE(kTFLiteLanguageDetectionEnabled,
+ "TFLiteLanguageDetectionEnabled",
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
+- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
#else
- base::FEATURE_DISABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc b/www/chromium/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc
new file mode 100644
index 000000000000..b0ababc7a986
--- /dev/null
+++ b/www/chromium/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc
@@ -0,0 +1,11 @@
+--- components/trusted_vault/trusted_vault_connection_impl.cc.orig 2025-07-02 06:08:04 UTC
++++ components/trusted_vault/trusted_vault_connection_impl.cc
+@@ -105,7 +105,7 @@ GetLocalPhysicalDeviceType() {
+ // currently used or even built on all platforms.
+ #if BUILDFLAG(IS_CHROMEOS)
+ return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_CHROMEOS;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_LINUX;
+ #elif BUILDFLAG(IS_ANDROID)
+ return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_ANDROID;
diff --git a/www/chromium/files/patch-components_update__client_update__query__params.cc b/www/chromium/files/patch-components_update__client_update__query__params.cc
index 7ddb06164b11..f8772e7807f2 100644
--- a/www/chromium/files/patch-components_update__client_update__query__params.cc
+++ b/www/chromium/files/patch-components_update__client_update__query__params.cc
@@ -1,6 +1,6 @@
---- components/update_client/update_query_params.cc.orig 2022-02-28 16:54:41 UTC
+--- components/update_client/update_query_params.cc.orig 2025-02-19 07:43:18 UTC
+++ components/update_client/update_query_params.cc
-@@ -40,6 +40,8 @@ const char kOs[] =
+@@ -39,6 +39,8 @@ const char kOs[] =
"fuchsia";
#elif BUILDFLAG(IS_OPENBSD)
"openbsd";
diff --git a/www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc
index b66b8c936826..910d31e61b21 100644
--- a/www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc
+++ b/www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc
@@ -1,6 +1,6 @@
---- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2022-02-28 16:54:41 UTC
+--- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2025-03-05 08:14:56 UTC
+++ components/url_formatter/spoof_checks/idn_spoof_checker.cc
-@@ -285,7 +285,7 @@ IDNSpoofChecker::IDNSpoofChecker() {
+@@ -298,7 +298,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/chromium/files/patch-components_user__education_views_help__bubble__view.cc b/www/chromium/files/patch-components_user__education_views_help__bubble__view.cc
new file mode 100644
index 000000000000..0f4a2f09738d
--- /dev/null
+++ b/www/chromium/files/patch-components_user__education_views_help__bubble__view.cc
@@ -0,0 +1,29 @@
+--- components/user_education/views/help_bubble_view.cc.orig 2025-05-05 10:57:53 UTC
++++ components/user_education/views/help_bubble_view.cc
+@@ -268,7 +268,7 @@ DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(HelpBubbleView,
+ // TODO(https://crbug.com/382611284): Temporarily handle the case when the
+ // primary window is minimized by closing the help bubble. Remove this code when
+ // the issue is solved at the Views framework level.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ class HelpBubbleView::PrimaryWidgetObserver : public views::WidgetObserver {
+ public:
+ explicit PrimaryWidgetObserver(HelpBubbleView& help_bubble)
+@@ -743,7 +743,7 @@ HelpBubbleView::HelpBubbleView(
+ event_relay_->Init(this);
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ primary_widget_observer_ = std::make_unique<PrimaryWidgetObserver>(*this);
+ #endif
+
+@@ -855,7 +855,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) || 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. This also applies to bubbles anchored to
diff --git a/www/chromium/files/patch-components_user__education_views_help__bubble__view.h b/www/chromium/files/patch-components_user__education_views_help__bubble__view.h
new file mode 100644
index 000000000000..09b011f9c647
--- /dev/null
+++ b/www/chromium/files/patch-components_user__education_views_help__bubble__view.h
@@ -0,0 +1,11 @@
+--- components/user_education/views/help_bubble_view.h.orig 2025-05-05 10:57:53 UTC
++++ components/user_education/views/help_bubble_view.h
+@@ -160,7 +160,7 @@ class HelpBubbleView : public views::BubbleDialogDeleg
+ // work around this problem by closing the bubble if the widget is minimized.
+ // When the underlying issue is fixed at the framework level, this can be
+ // removed.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ class PrimaryWidgetObserver;
+ std::unique_ptr<PrimaryWidgetObserver> primary_widget_observer_;
+ #endif
diff --git a/www/chromium/files/patch-components_variations_net_variations__command__line.cc b/www/chromium/files/patch-components_variations_net_variations__command__line.cc
new file mode 100644
index 000000000000..3ad7561ceefa
--- /dev/null
+++ b/www/chromium/files/patch-components_variations_net_variations__command__line.cc
@@ -0,0 +1,11 @@
+--- components/variations/net/variations_command_line.cc.orig 2025-05-28 14:55:43 UTC
++++ components/variations/net/variations_command_line.cc
+@@ -50,7 +50,7 @@ void ExitWithMessage(const std::string& message) {
+ namespace variations {
+
+ #if !BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kFeedbackIncludeVariations,
+ "FeedbackIncludeVariations",
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-components_variations_service_variations__service.cc b/www/chromium/files/patch-components_variations_service_variations__service.cc
new file mode 100644
index 000000000000..cb59dfff157f
--- /dev/null
+++ b/www/chromium/files/patch-components_variations_service_variations__service.cc
@@ -0,0 +1,11 @@
+--- components/variations/service/variations_service.cc.orig 2025-03-05 08:14:56 UTC
++++ components/variations/service/variations_service.cc
+@@ -100,7 +100,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/chromium/files/patch-components_visited__url__ranking_public_url__visit__util.cc b/www/chromium/files/patch-components_visited__url__ranking_public_url__visit__util.cc
new file mode 100644
index 000000000000..c51375640920
--- /dev/null
+++ b/www/chromium/files/patch-components_visited__url__ranking_public_url__visit__util.cc
@@ -0,0 +1,11 @@
+--- components/visited_url_ranking/public/url_visit_util.cc.orig 2025-05-28 14:55:43 UTC
++++ components/visited_url_ranking/public/url_visit_util.cc
+@@ -68,7 +68,7 @@ PlatformType GetPlatformInput() {
+ return PlatformType::kWindows;
+ #elif BUILDFLAG(IS_MAC)
+ return PlatformType::kMac;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return PlatformType::kLinux;
+ #elif BUILDFLAG(IS_IOS)
+ return PlatformType::kIos;
diff --git a/www/chromium/files/patch-components_viz_common_gpu_dawn__context__provider.cc b/www/chromium/files/patch-components_viz_common_gpu_dawn__context__provider.cc
deleted file mode 100644
index 24e03b76bf79..000000000000
--- a/www/chromium/files/patch-components_viz_common_gpu_dawn__context__provider.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/common/gpu/dawn_context_provider.cc.orig 2022-02-28 16:54:41 UTC
-+++ 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/chromium/files/patch-components_viz_host_gpu__host__impl.cc b/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc
new file mode 100644
index 000000000000..97eddc1b675d
--- /dev/null
+++ b/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc
@@ -0,0 +1,11 @@
+--- components/viz/host/gpu_host_impl.cc.orig 2025-02-19 07:43:18 UTC
++++ components/viz/host/gpu_host_impl.cc
+@@ -135,7 +135,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate,
+ mojom::GpuServiceCreationParams::New();
+ #if BUILDFLAG(IS_OZONE)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Linux has an issue when running in single-process mode wherein
+ // GetPlatformRuntimeProperties() browser-side calls can have a data race with
+ // in-process GPU service initialization. The call to
diff --git a/www/chromium/files/patch-components_viz_host_host__display__client.cc b/www/chromium/files/patch-components_viz_host_host__display__client.cc
index 928e130abee9..f8955c1b6747 100644
--- a/www/chromium/files/patch-components_viz_host_host__display__client.cc
+++ b/www/chromium/files/patch-components_viz_host_host__display__client.cc
@@ -1,11 +1,11 @@
---- components/viz/host/host_display_client.cc.orig 2022-02-28 16:54:41 UTC
+--- components/viz/host/host_display_client.cc.orig 2024-05-21 18:07:39 UTC
+++ components/viz/host/host_display_client.cc
-@@ -61,7 +61,7 @@ void HostDisplayClient::CreateLayeredWindowUpdater(
+@@ -65,7 +65,7 @@ void HostDisplayClient::AddChildWindowToBrowser(
+ }
+ #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)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {
NOTIMPLEMENTED();
}
diff --git a/www/chromium/files/patch-components_viz_host_host__display__client.h b/www/chromium/files/patch-components_viz_host_host__display__client.h
index 2786ca6b69fb..49b177883460 100644
--- a/www/chromium/files/patch-components_viz_host_host__display__client.h
+++ b/www/chromium/files/patch-components_viz_host_host__display__client.h
@@ -1,11 +1,11 @@
---- components/viz/host/host_display_client.h.orig 2022-02-28 16:54:41 UTC
+--- components/viz/host/host_display_client.h.orig 2024-01-30 07:53:34 UTC
+++ components/viz/host/host_display_client.h
-@@ -48,7 +48,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom
+@@ -52,7 +52,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom
+ void AddChildWindowToBrowser(gpu::SurfaceHandle child_window) override;
+ #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)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
void DidCompleteSwapWithNewSize(const gfx::Size& size) override;
- #endif
+ #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
diff --git a/www/chromium/files/patch-components_viz_host_renderer__settings__creation.cc b/www/chromium/files/patch-components_viz_host_renderer__settings__creation.cc
deleted file mode 100644
index 9dd671db141b..000000000000
--- a/www/chromium/files/patch-components_viz_host_renderer__settings__creation.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/host/renderer_settings_creation.cc.orig 2022-02-28 16:54:41 UTC
-+++ 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/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
index b2576b2c3f7a..6533a7ab2ff3 100644
--- a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
+++ b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
@@ -1,11 +1,11 @@
---- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ components/viz/service/display_embedder/skia_output_surface_impl.cc
-@@ -1142,7 +1142,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor
- ->GetDeviceQueue()
- ->GetVulkanPhysicalDevice(),
- VK_IMAGE_TILING_OPTIMAL, ycbcr_info);
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+@@ -1503,7 +1503,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor
+ ->GetVulkanPhysicalDevice(),
+ VK_IMAGE_TILING_OPTIMAL, vk_format,
+ si_format, yuv_color_space, ycbcr_info);
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || 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/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc
index 60a9b79b134d..b68559961f3b 100644
--- a/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc
+++ b/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc
@@ -1,20 +1,20 @@
---- components/viz/service/display_embedder/software_output_surface.cc.orig 2022-07-22 17:30:31 UTC
+--- components/viz/service/display_embedder/software_output_surface.cc.orig 2025-02-19 07:43:18 UTC
+++ components/viz/service/display_embedder/software_output_surface.cc
-@@ -93,7 +93,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base::
+@@ -115,7 +115,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base::
+ base::TimeTicks now = base::TimeTicks::Now();
+ base::TimeDelta interval_to_next_refresh =
now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (needs_swap_size_notifications_)
client_->DidSwapWithSize(pixel_size);
#endif
-@@ -120,7 +120,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla
+@@ -142,7 +142,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla
+ return gfx::OVERLAY_TRANSFORM_NONE;
+ }
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
void SoftwareOutputSurface::SetNeedsSwapSizeNotifications(
bool needs_swap_size_notifications) {
needs_swap_size_notifications_ = needs_swap_size_notifications;
diff --git a/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h b/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h
index fc2941684d49..e82b6f040c13 100644
--- a/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h
+++ b/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h
@@ -1,20 +1,20 @@
---- components/viz/service/display_embedder/software_output_surface.h.orig 2022-07-22 17:30:31 UTC
+--- components/viz/service/display_embedder/software_output_surface.h.orig 2025-07-02 06:08:04 UTC
+++ components/viz/service/display_embedder/software_output_surface.h
-@@ -47,7 +47,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
+@@ -40,7 +40,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
+ UpdateVSyncParametersCallback callback) override;
+ void SetDisplayTransformHint(gfx::OverlayTransform transform) override {}
gfx::OverlayTransform GetDisplayTransform() override;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
void SetNeedsSwapSizeNotifications(
bool needs_swap_size_notifications) override;
#endif
-@@ -69,7 +69,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
+@@ -58,7 +58,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
+ base::TimeTicks refresh_timebase_;
+ base::TimeDelta refresh_interval_ = BeginFrameArgs::DefaultInterval();
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
bool needs_swap_size_notifications_ = false;
#endif
diff --git a/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc b/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc
index 7f2280fe28ea..037b84a2fafb 100644
--- a/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc
+++ b/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc
@@ -1,8 +1,8 @@
---- components/viz/service/display/skia_renderer.cc.orig 2022-07-22 17:30:31 UTC
+--- components/viz/service/display/skia_renderer.cc.orig 2025-07-02 06:08:04 UTC
+++ components/viz/service/display/skia_renderer.cc
-@@ -1021,7 +1021,7 @@ void SkiaRenderer::ClearFramebuffer() {
+@@ -1380,7 +1380,7 @@ void SkiaRenderer::ClearFramebuffer() {
if (current_frame()->current_render_pass->has_transparent_background) {
- ClearCanvas(SkColorSetARGB(0, 0, 0, 0));
+ ClearCanvas(SkColors::kTransparent);
} else {
-#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX)
+#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
index c701aae87550..bd9c7304e002 100644
--- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
+++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
@@ -1,20 +1,20 @@
---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
-@@ -97,7 +97,7 @@ RootCompositorFrameSinkImpl::Create(
+@@ -141,7 +141,7 @@ RootCompositorFrameSinkImpl::Create(
+ output_surface->SetNeedsSwapSizeNotifications(
+ params->send_swap_size_notifications);
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
// 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);
-@@ -579,7 +579,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
+@@ -930,7 +930,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
+ if (display_client_ && enable_swap_completion_callback_) {
display_client_->DidCompleteSwapWithSize(pixel_size);
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ }
+-#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
if (display_client_ && pixel_size != last_swap_pixel_size_) {
last_swap_pixel_size_ = pixel_size;
display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_);
diff --git a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
index 64f188f0deab..8d96578c7309 100644
--- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
+++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
@@ -1,11 +1,11 @@
---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2022-05-19 14:06:27 UTC
+--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2025-05-28 14:55:43 UTC
+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
-@@ -197,7 +197,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl
+@@ -234,7 +234,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl
+ base::TimeDelta preferred_frame_interval_ =
+ FrameRateDecider::UnspecifiedFrameInterval();
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
gfx::Size last_swap_pixel_size_;
- #endif
+ #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
diff --git a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc
new file mode 100644
index 000000000000..4fe0ed10104f
--- /dev/null
+++ b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc
@@ -0,0 +1,20 @@
+--- components/viz/service/gl/gpu_service_impl.cc.orig 2025-07-02 06:08:04 UTC
++++ components/viz/service/gl/gpu_service_impl.cc
+@@ -515,7 +515,7 @@ void GpuServiceImpl::InitializeWithHostInternal(
+
+ mojo::Remote<mojom::GpuHost> gpu_host(std::move(pending_gpu_host));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ gpu_extra_info_.is_gmb_nv12_supported = IsGMBNV12Supported();
+ #endif
+
+@@ -1351,7 +1351,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg
+ return true;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool GpuServiceImpl::IsGMBNV12Supported() {
+ CHECK(main_runner_->BelongsToCurrentThread());
+ auto buffer_format = gfx::BufferFormat::YUV_420_BIPLANAR;
diff --git a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h
new file mode 100644
index 000000000000..955bd62f4058
--- /dev/null
+++ b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h
@@ -0,0 +1,11 @@
+--- components/viz/service/gl/gpu_service_impl.h.orig 2025-07-02 06:08:04 UTC
++++ components/viz/service/gl/gpu_service_impl.h
+@@ -487,7 +487,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl
+
+ void OnBeginFrameOnIO(const BeginFrameArgs& args);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool IsGMBNV12Supported();
+ #endif
+
diff --git a/www/chromium/files/patch-components_viz_test_fake__display__client.cc b/www/chromium/files/patch-components_viz_test_fake__display__client.cc
index 9d26283bad40..f823ad458ebd 100644
--- a/www/chromium/files/patch-components_viz_test_fake__display__client.cc
+++ b/www/chromium/files/patch-components_viz_test_fake__display__client.cc
@@ -1,11 +1,11 @@
---- components/viz/test/fake_display_client.cc.orig 2022-02-28 16:54:41 UTC
+--- components/viz/test/fake_display_client.cc.orig 2024-01-30 07:53:34 UTC
+++ components/viz/test/fake_display_client.cc
-@@ -25,7 +25,7 @@ void FakeDisplayClient::CreateLayeredWindowUpdater(
- mojo::PendingReceiver<mojom::LayeredWindowUpdater> receiver) {}
+@@ -27,7 +27,7 @@ void FakeDisplayClient::AddChildWindowToBrowser(
+ gpu::SurfaceHandle child_window) {}
#endif
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
void FakeDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {}
- #endif
+ #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
diff --git a/www/chromium/files/patch-components_viz_test_fake__display__client.h b/www/chromium/files/patch-components_viz_test_fake__display__client.h
index 04e55d54dd5f..7153bbbac018 100644
--- a/www/chromium/files/patch-components_viz_test_fake__display__client.h
+++ b/www/chromium/files/patch-components_viz_test_fake__display__client.h
@@ -1,11 +1,11 @@
---- components/viz/test/fake_display_client.h.orig 2022-02-28 16:54:41 UTC
+--- components/viz/test/fake_display_client.h.orig 2024-01-30 07:53:34 UTC
+++ components/viz/test/fake_display_client.h
-@@ -34,7 +34,7 @@ class FakeDisplayClient : public mojom::DisplayClient
- mojo::PendingReceiver<mojom::LayeredWindowUpdater> receiver) override;
+@@ -36,7 +36,7 @@ class FakeDisplayClient : public mojom::DisplayClient
+ void AddChildWindowToBrowser(gpu::SurfaceHandle child_window) override;
#endif
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
void DidCompleteSwapWithNewSize(const gfx::Size& size) override;
- #endif
+ #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
diff --git a/www/chromium/files/patch-components_viz_test_mock__display__client.h b/www/chromium/files/patch-components_viz_test_mock__display__client.h
index cd9517ad720e..0a38967366a8 100644
--- a/www/chromium/files/patch-components_viz_test_mock__display__client.h
+++ b/www/chromium/files/patch-components_viz_test_mock__display__client.h
@@ -1,11 +1,11 @@
---- components/viz/test/mock_display_client.h.orig 2022-02-28 16:54:41 UTC
+--- components/viz/test/mock_display_client.h.orig 2025-02-19 07:43:18 UTC
+++ components/viz/test/mock_display_client.h
-@@ -44,7 +44,7 @@ class MockDisplayClient : public mojom::DisplayClient
- #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)
+@@ -45,7 +45,7 @@ class MockDisplayClient : public mojom::DisplayClient
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS)
+ MOCK_METHOD1(SetPreferredRefreshRate, void(float refresh_rate));
+ #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&));
- #endif
+ #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
diff --git a/www/chromium/files/patch-components_webui_flags_flags__state.cc b/www/chromium/files/patch-components_webui_flags_flags__state.cc
new file mode 100644
index 000000000000..fe99ec26dbde
--- /dev/null
+++ b/www/chromium/files/patch-components_webui_flags_flags__state.cc
@@ -0,0 +1,11 @@
+--- components/webui/flags/flags_state.cc.orig 2025-07-02 06:08:04 UTC
++++ components/webui/flags/flags_state.cc
+@@ -781,7 +781,7 @@ unsigned short FlagsState::GetCurrentPlatform() {
+ return kOsWin;
+ #elif BUILDFLAG(IS_CHROMEOS)
+ return kOsCrOS;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return kOsLinux;
+ #elif BUILDFLAG(IS_ANDROID)
+ return kOsAndroid;
diff --git a/www/chromium/files/patch-content_app_BUILD.gn b/www/chromium/files/patch-content_app_BUILD.gn
new file mode 100644
index 000000000000..e2919490114d
--- /dev/null
+++ b/www/chromium/files/patch-content_app_BUILD.gn
@@ -0,0 +1,15 @@
+--- content/app/BUILD.gn.orig 2025-05-05 10:57:53 UTC
++++ content/app/BUILD.gn
+@@ -90,9 +90,9 @@ source_set("content_main_runner_app") {
+ "//third_party/tflite:buildflags",
+ "//tools/v8_context_snapshot:buildflags",
+ ]
+- if (build_tflite_with_xnnpack) {
+- deps += [ "//third_party/cpuinfo" ]
+- }
++# if (build_tflite_with_xnnpack) {
++# deps += [ "//third_party/cpuinfo" ]
++# }
+ }
+
+ source_set("app") {
diff --git a/www/chromium/files/patch-content_app_content__main.cc b/www/chromium/files/patch-content_app_content__main.cc
index eca4a882dc87..4f637b07a483 100644
--- a/www/chromium/files/patch-content_app_content__main.cc
+++ b/www/chromium/files/patch-content_app_content__main.cc
@@ -1,11 +1,20 @@
---- content/app/content_main.cc.orig 2022-04-21 18:48:31 UTC
+--- content/app/content_main.cc.orig 2025-07-02 06:08:04 UTC
+++ content/app/content_main.cc
-@@ -260,7 +260,7 @@ RunContentProcess(ContentMainParams params,
- base::allocator::InstallDanglingRawPtrChecks();
+@@ -233,7 +233,7 @@ NO_STACK_PROTECTOR int RunContentProcess(
base::EnableTerminationOnOutOfMemory();
+ logging::RegisterAbslAbortHook();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// The various desktop environments set this environment variable that
// allows the dbus client library to connect directly to the bus. When this
// variable is not set (test environments like xvfb-run), the dbus client
+@@ -332,7 +332,7 @@ NO_STACK_PROTECTOR int RunContentProcess(
+ #endif
+ #endif
+
+-#if (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) && !defined(COMPONENT_BUILD)
++#if (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) && !defined(COMPONENT_BUILD) && defined(notyet)
+ base::subtle::EnableFDOwnershipEnforcement(true);
+ #endif
+
diff --git a/www/chromium/files/patch-content_app_content__main__runner__impl.cc b/www/chromium/files/patch-content_app_content__main__runner__impl.cc
index 9d293294cde9..b059dda05cc1 100644
--- a/www/chromium/files/patch-content_app_content__main__runner__impl.cc
+++ b/www/chromium/files/patch-content_app_content__main__runner__impl.cc
@@ -1,7 +1,7 @@
---- content/app/content_main_runner_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- content/app/content_main_runner_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ content/app/content_main_runner_impl.cc
-@@ -128,13 +128,13 @@
- #include "base/posix/global_descriptors.h"
+@@ -148,18 +148,20 @@
+ #include "content/browser/posix_file_descriptor_info_impl.h"
#include "content/public/common/content_descriptors.h"
-#if !BUILDFLAG(IS_MAC)
@@ -13,10 +13,17 @@
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/files/file_path_watcher_inotify.h"
#include "base/native_library.h"
#include "base/rand_util.h"
#include "content/public/common/zygote/sandbox_support_linux.h"
-@@ -173,6 +173,10 @@
++#if !BUILDFLAG(IS_BSD)
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+ #include "third_party/boringssl/src/include/openssl/crypto.h"
+ #include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck
+
+@@ -188,6 +190,10 @@
#include "media/base/media_switches.h"
#endif
@@ -27,47 +34,54 @@
#if BUILDFLAG(IS_ANDROID)
#include "base/system/sys_info.h"
#include "content/browser/android/battery_metrics.h"
-@@ -360,7 +364,7 @@ void InitializeZygoteSandboxForBrowserProcess(
+@@ -386,7 +392,7 @@ void InitializeZygoteSandboxForBrowserProcess(
}
- #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+ #endif // BUILDFLAG(USE_ZYGOTE)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #if BUILDFLAG(ENABLE_PLUGINS)
+ #if BUILDFLAG(ENABLE_PPAPI)
// Loads the (native) libraries but does not initialize them (i.e., does not
-@@ -396,7 +400,7 @@ void PreloadLibraryCdms() {
- }
- #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS)
+@@ -424,7 +430,10 @@ void PreloadLibraryCdms() {
--#if BUILDFLAG(USE_ZYGOTE_HANDLE)
-+#if BUILDFLAG(USE_ZYGOTE_HANDLE) || 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.
+@@ -436,9 +445,16 @@ void PreSandboxInit() {
// https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md
-@@ -412,6 +416,11 @@ void PreSandboxInit() {
- #endif
- InitializeWebRtcModule();
+ CRYPTO_pre_sandbox_init();
+#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.
-@@ -594,7 +603,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate*
- delegate->ZygoteStarting(&zygote_fork_delegates);
- media::InitializeMediaLibrary();
++#if !BUILDFLAG(IS_BSD)
+ // Pre-read /proc/sys/fs/inotify/max_user_watches so it doesn't have to be
+ // allowed by the sandbox.
+ base::GetMaxNumberOfInotifyWatches();
++#endif
+ #if BUILDFLAG(ENABLE_PPAPI)
+ // Ensure access to the Pepper plugins before the sandbox is turned on.
+@@ -763,7 +779,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain(
+ unregister_thread_closure = base::HangWatcher::RegisterThread(
+ base::HangWatcher::ThreadType::kMainThread);
+ bool start_hang_watcher_now;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- PreSandboxInit();
- #endif
-
-@@ -783,11 +792,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
- kFieldTrialDescriptor + base::GlobalDescriptors::kBaseDescriptor);
+ // On Linux/ChromeOS, the HangWatcher can't start until after the sandbox is
+ // initialized, because the sandbox can't be started with multiple threads.
+ // TODO(mpdenton): start the HangWatcher after the sandbox is initialized.
+@@ -876,11 +892,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+ base::GlobalDescriptors::kBaseDescriptor);
#endif // !BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
@@ -80,8 +94,14 @@
#endif // !BUILDFLAG(IS_WIN)
-@@ -964,6 +972,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+@@ -1073,10 +1088,22 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+ process_type == switches::kZygoteProcess) {
+ PreSandboxInit();
}
++#elif BUILDFLAG(IS_BSD)
++ PreSandboxInit();
+ #elif BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_IOS_TVOS)
+ ChildProcessEnterSandbox();
#endif
+#if BUILDFLAG(IS_BSD)
@@ -96,17 +116,8 @@
+
delegate_->SandboxInitialized(process_type);
- #if BUILDFLAG(USE_ZYGOTE_HANDLE)
-@@ -1021,7 +1039,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
- mojo::core::InitFeatures();
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // If dynamic Mojo Core is being used, ensure that it's loaded very early in
- // the child/zygote process, before any sandbox is initialized. The library
- // is not fully initialized with IPC support until a ChildProcess is later
-@@ -1054,6 +1072,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
+ #if BUILDFLAG(USE_ZYGOTE)
+@@ -1176,6 +1203,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() {
content_main_params_.reset();
RegisterMainThreadFactories();
diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn
index d9eff69f81e7..bbd14b12b2c6 100644
--- a/www/chromium/files/patch-content_browser_BUILD.gn
+++ b/www/chromium/files/patch-content_browser_BUILD.gn
@@ -1,16 +1,33 @@
---- content/browser/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- content/browser/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ content/browser/BUILD.gn
-@@ -2419,6 +2419,13 @@ source_set("browser") {
+@@ -2580,6 +2580,14 @@ source_set("browser") {
]
}
+ if (is_bsd) {
++ sources += [
++ "file_system_access/file_path_watcher/file_path_watcher_bsd.cc",
++ "file_system_access/file_path_watcher/file_path_watcher_kqueue.cc",
++ "file_system_access/file_path_watcher/file_path_watcher_kqueue.h",
++ ]
++ }
++
+ if (is_linux || is_chromeos) {
+ sources -=
+ [ "file_system_access/file_path_watcher/file_path_watcher_stub.cc" ]
+@@ -2628,6 +2636,15 @@ source_set("browser") {
+ if (allow_oop_video_decoder) {
+ sources += [ "media/oop_video_decoder_factory.cc" ]
+ deps += [ "//media/mojo/mojom" ]
++ }
++
++ if (is_bsd) {
+ sources -= [
++ "file_system_access/file_path_watcher/file_path_watcher_inotify.cc",
++ "file_system_access/file_path_watcher/file_path_watcher_inotify.h",
+ "sandbox_ipc_linux.cc",
+ "sandbox_ipc_linux.h",
+ ]
-+ }
-+
+ }
+
if (is_chromeos) {
- deps += [ "//components/value_store:value_store" ]
- sources += [
diff --git a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc
new file mode 100644
index 000000000000..588100f05d65
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc
@@ -0,0 +1,11 @@
+--- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2025-07-02 06:08:04 UTC
++++ content/browser/accessibility/browser_accessibility_state_impl.cc
+@@ -278,7 +278,7 @@ BrowserAccessibilityStateImpl* BrowserAccessibilitySta
+
+ // On Android, Mac, Windows and Linux there are platform-specific subclasses.
+ #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_MAC) && \
+- !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
++ !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
+ // static
+ std::unique_ptr<BrowserAccessibilityStateImpl>
+ BrowserAccessibilityStateImpl::Create() {
diff --git a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc
new file mode 100644
index 000000000000..aee5426cbcd1
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc
@@ -0,0 +1,33 @@
+--- content/browser/accessibility/browser_accessibility_state_impl_auralinux.cc.orig 2025-07-02 06:08:04 UTC
++++ content/browser/accessibility/browser_accessibility_state_impl_auralinux.cc
+@@ -33,7 +33,11 @@ bool CheckCmdlineForOrca(const std::string& cmdline_al
+ std::string cmdline;
+ std::stringstream ss(cmdline_all);
+ while (std::getline(ss, cmdline, '\0')) {
++#if BUILDFLAG(IS_BSD)
++ re2::RE2 orca_regex(R"((^|/)(usr/)?(local/)?bin/orca(\s|$))");
++#else
+ re2::RE2 orca_regex(R"((^|/)(usr/)?bin/orca(\s|$))");
++#endif
+ if (re2::RE2::PartialMatch(cmdline, orca_regex)) {
+ return true; // Orca was found
+ }
+@@ -43,6 +47,10 @@ bool CheckCmdlineForOrca(const std::string& cmdline_al
+
+ // Returns true if Orca is active.
+ bool DiscoverOrca() {
++#if BUILDFLAG(IS_BSD)
++ NOTIMPLEMENTED();
++ return false;
++#else
+ // NOTE: this method is run from another thread to reduce jank, since
+ // there's no guarantee these system calls will return quickly.
+ std::unique_ptr<DIR, decltype(&CloseDir)> proc_dir(opendir("/proc"),
+@@ -80,6 +88,7 @@ bool DiscoverOrca() {
+ }
+
+ return is_orca_active;
++#endif
+ }
+
+ } // namespace
diff --git a/www/chromium/files/patch-content_browser_audio_audio__service.cc b/www/chromium/files/patch-content_browser_audio_audio__service.cc
new file mode 100644
index 000000000000..fd3f992eccd7
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_audio_audio__service.cc
@@ -0,0 +1,20 @@
+--- content/browser/audio/audio_service.cc.orig 2025-03-05 08:14:56 UTC
++++ content/browser/audio/audio_service.cc
+@@ -33,7 +33,7 @@
+ #if BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
+ #include "ui/display/util/edid_parser.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/display/display_util.h"
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -201,7 +201,7 @@ audio::mojom::AudioService& GetAudioService() {
+ ->PostTaskAndReplyWithResult(
+ FROM_HERE, base::BindOnce(&ScanEdidBitstreams),
+ base::BindOnce(&LaunchAudioService, std::move(receiver)));
+-#elif BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) && BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ LaunchAudioService(
+ std::move(receiver),
+ ConvertEdidBitstreams(display::DisplayUtil::GetAudioFormats()));
diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc
index 9d24051a7806..0922fcb37da7 100644
--- a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc
+++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc
@@ -1,10 +1,19 @@
---- content/browser/browser_child_process_host_impl.cc.orig 2022-06-17 14:20:10 UTC
+--- content/browser/browser_child_process_host_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ content/browser/browser_child_process_host_impl.cc
-@@ -294,6 +294,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo
- switches::kDisableBestEffortTasks,
- switches::kDisableLogging,
- switches::kEnableLogging,
-+ switches::kDisableUnveil,
- switches::kIPCConnectionTimeout,
+@@ -326,6 +326,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo
switches::kLogBestEffortTasks,
- switches::kLogFile,
+ switches::kPerfettoDisableInterning,
+ switches::kTraceToConsole,
++ switches::kDisableUnveil,
+ };
+ cmd_line->CopySwitchesFrom(browser_command_line, kForwardSwitches);
+
+@@ -696,7 +697,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched()
+ ->child_process());
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ child_thread_type_switcher_.SetPid(process.Pid());
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+
diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h
new file mode 100644
index 000000000000..f5673dcef553
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h
@@ -0,0 +1,20 @@
+--- content/browser/browser_child_process_host_impl.h.orig 2025-03-05 08:14:56 UTC
++++ content/browser/browser_child_process_host_impl.h
+@@ -36,7 +36,7 @@
+ #include "base/win/object_watcher.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "content/browser/child_thread_type_switcher_linux.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+
+@@ -287,7 +287,7 @@ class BrowserChildProcessHostImpl
+ std::unique_ptr<tracing::SystemTracingService> system_tracing_service_;
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ ChildThreadTypeSwitcher child_thread_type_switcher_;
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+
diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc b/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc
new file mode 100644
index 000000000000..a76c3ff20809
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc
@@ -0,0 +1,11 @@
+--- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2025-03-05 08:14:56 UTC
++++ content/browser/browser_child_process_host_impl_receiver_bindings.cc
+@@ -64,7 +64,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver(
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (auto r = receiver.As<mojom::ThreadTypeSwitcher>()) {
+ child_thread_type_switcher_.Bind(std::move(r));
+ return;
diff --git a/www/chromium/files/patch-content_browser_browser__main__loop.cc b/www/chromium/files/patch-content_browser_browser__main__loop.cc
index 7fe1499926cb..d282cb37b42f 100644
--- a/www/chromium/files/patch-content_browser_browser__main__loop.cc
+++ b/www/chromium/files/patch-content_browser_browser__main__loop.cc
@@ -1,6 +1,6 @@
---- content/browser/browser_main_loop.cc.orig 2022-07-22 17:30:31 UTC
+--- content/browser/browser_main_loop.cc.orig 2025-05-05 10:57:53 UTC
+++ content/browser/browser_main_loop.cc
-@@ -241,6 +241,12 @@
+@@ -249,6 +249,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
-@@ -524,6 +530,12 @@ int BrowserMainLoop::EarlyInitialization() {
+@@ -543,6 +549,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,21 +26,12 @@
#endif
// GLib's spawning of new processes is buggy, so it's important that at this
-@@ -551,7 +563,7 @@ int BrowserMainLoop::EarlyInitialization() {
+@@ -575,7 +587,7 @@ int BrowserMainLoop::EarlyInitialization() {
+ base::ThreadType::kDisplayCritical);
- // Up the priority of the UI thread unless it was already high (since Mac
- // and recent versions of Android (O+) do this automatically).
--#if !BUILDFLAG(IS_MAC)
-+#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
- if (base::FeatureList::IsEnabled(
- features::kBrowserUseDisplayThreadPriority) &&
- base::PlatformThread::GetCurrentThreadPriority() <
-@@ -562,7 +574,7 @@ int BrowserMainLoop::EarlyInitialization() {
- #endif // !BUILDFLAG(IS_MAC)
-
- #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/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc
index 3d04caffdc6f..5d29abddf530 100644
--- a/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc
+++ b/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc
@@ -1,6 +1,6 @@
---- content/browser/child_process_launcher_helper_linux.cc.orig 2022-07-22 17:30:31 UTC
+--- content/browser/child_process_launcher_helper_linux.cc.orig 2025-07-02 06:08:04 UTC
+++ content/browser/child_process_launcher_helper_linux.cc
-@@ -20,7 +20,9 @@
+@@ -22,7 +22,9 @@
#include "content/public/common/result_codes.h"
#include "content/public/common/sandboxed_process_launcher_delegate.h"
#include "content/public/common/zygote/sandbox_support_linux.h"
@@ -10,15 +10,46 @@
#include "sandbox/policy/linux/sandbox_linux.h"
namespace content {
-@@ -74,6 +76,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -47,14 +49,20 @@ ChildProcessLauncherHelper::GetFilesToMap() {
+ }
+
+ bool ChildProcessLauncherHelper::IsUsingLaunchOptions() {
++#if !BUILDFLAG(IS_BSD)
+ return !GetZygoteForLaunch();
++#else
++ return true;
++#endif
+ }
+
+ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread(
+ PosixFileDescriptorInfo& files_to_register,
+ base::LaunchOptions* options) {
+ if (options) {
++#if !BUILDFLAG(IS_BSD)
+ DCHECK(!GetZygoteForLaunch());
++#endif
+ // Convert FD mapping to FileHandleMappingVector
+ options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment(
+ base::GlobalDescriptors::kBaseDescriptor);
+@@ -66,7 +74,9 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche
+
+ options->environment = delegate_->GetEnvironment();
+ } else {
++#if !BUILDFLAG(IS_BSD)
+ DCHECK(GetZygoteForLaunch());
++#endif
+ // Environment variables could be supported in the future, but are not
+ // currently supported when launching with the zygote.
+ DCHECK(delegate_->GetEnvironment().empty());
+@@ -83,6 +93,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
int* launch_result) {
*is_synchronous_launch = true;
Process process;
+#if !BUILDFLAG(IS_BSD)
- ZygoteHandle zygote_handle =
- base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)
- ? nullptr
-@@ -87,7 +90,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+ ZygoteCommunication* zygote_handle = GetZygoteForLaunch();
+ if (zygote_handle) {
+ // TODO(crbug.com/40448989): If chrome supported multiple zygotes they could
+@@ -93,7 +104,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
GetProcessType());
*launch_result = LAUNCH_RESULT_SUCCESS;
@@ -26,7 +57,7 @@
if (handle) {
// It could be a renderer process or an utility process.
int oom_score = content::kMiscOomScore;
-@@ -96,15 +98,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -102,15 +112,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
oom_score = content::kLowestRendererOomScore;
ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score);
}
@@ -36,7 +67,7 @@
process.zygote = zygote_handle;
} else {
+#endif
- process.process = base::LaunchProcess(*command_line(), options);
+ process.process = base::LaunchProcess(*command_line(), *options);
*launch_result = process.process.IsValid() ? LAUNCH_RESULT_SUCCESS
: LAUNCH_RESULT_FAILURE;
+#if !BUILDFLAG(IS_BSD)
@@ -44,8 +75,8 @@
+#endif
#if BUILDFLAG(IS_CHROMEOS)
- if (GetProcessType() == switches::kRendererProcess) {
-@@ -124,10 +128,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
+ process_id_ = process.process.Pid();
+@@ -134,10 +146,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
const ChildProcessLauncherHelper::Process& process,
bool known_dead) {
ChildProcessTerminationInfo info;
@@ -60,7 +91,7 @@
info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(),
&info.exit_code);
} else {
-@@ -151,13 +159,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
+@@ -163,13 +179,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
DCHECK(CurrentlyOnProcessLauncherTaskRunner());
process.process.Terminate(RESULT_CODE_NORMAL_EXIT, false);
// On POSIX, we must additionally reap the child.
@@ -78,3 +109,17 @@
}
void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(
+@@ -181,11 +201,13 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnL
+ }
+ }
+
++#if !BUILDFLAG(IS_BSD)
+ ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() {
+ return base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)
+ ? nullptr
+ : delegate_->GetZygote();
+ }
++#endif
+
+ base::File OpenFileToShare(const base::FilePath& path,
+ base::MemoryMappedFile::Region* region) {
diff --git a/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc
new file mode 100644
index 000000000000..b1bee9932493
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc
@@ -0,0 +1,29 @@
+--- content/browser/child_thread_type_switcher_linux.cc.orig 2025-04-04 08:52:13 UTC
++++ content/browser/child_thread_type_switcher_linux.cc
+@@ -20,6 +20,9 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee
+ base::ThreadType thread_type) {
+ DCHECK(CurrentlyOnProcessLauncherTaskRunner());
+
++#if BUILDFLAG(IS_BSD)
++ NOTIMPLEMENTED();
++#else
+ bool ns_pid_supported = false;
+ pid_t peer_tid =
+ base::FindThreadID(peer_pid, ns_tid.raw(), &ns_pid_supported);
+@@ -41,6 +44,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee
+ base::PlatformThread::SetThreadType(peer_pid,
+ base::PlatformThreadId(peer_tid),
+ thread_type, base::IsViaIPC(true));
++#endif
+ }
+
+ } // namespace
+@@ -69,7 +73,7 @@ void ChildThreadTypeSwitcher::SetPid(base::ProcessId c
+ }
+ }
+
+-void ChildThreadTypeSwitcher::SetThreadType(int32_t ns_tid,
++void ChildThreadTypeSwitcher::SetThreadType(uint64_t ns_tid,
+ base::ThreadType thread_type) {
+ // This function is only used on platforms with 32-bit thread ids.
+ static_assert(sizeof(ns_tid) == sizeof(base::PlatformThreadId));
diff --git a/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.h b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.h
new file mode 100644
index 000000000000..1332f8cb0ea0
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.h
@@ -0,0 +1,11 @@
+--- content/browser/child_thread_type_switcher_linux.h.orig 2025-04-04 08:52:13 UTC
++++ content/browser/child_thread_type_switcher_linux.h
+@@ -36,7 +36,7 @@ class ChildThreadTypeSwitcher : public mojom::ThreadTy
+ void SetPid(base::ProcessId child_pid);
+
+ // mojom::ThreadTypeSwitcher:
+- void SetThreadType(int32_t ns_tid, base::ThreadType thread_type) override;
++ void SetThreadType(uint64_t ns_tid, base::ThreadType thread_type) override;
+
+ private:
+ base::ProcessId child_pid_ = base::kNullProcessHandle;
diff --git a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc
index 60f6e8b3bb34..1a42fbd56aa1 100644
--- a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc
+++ b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc
@@ -1,11 +1,11 @@
---- content/browser/compositor/viz_process_transport_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- content/browser/compositor/viz_process_transport_factory.cc.orig 2025-07-02 06:08:04 UTC
+++ content/browser/compositor/viz_process_transport_factory.cc
-@@ -112,7 +112,7 @@ class HostDisplayClient : public viz::HostDisplayClien
+@@ -104,7 +104,7 @@ class HostDisplayClient : public viz::HostDisplayClien
+ HostDisplayClient& operator=(const HostDisplayClient&) = delete;
+
// viz::HostDisplayClient:
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
void DidCompleteSwapWithNewSize(const gfx::Size& size) override {
compositor_->OnCompleteSwapWithNewSize(size);
}
diff --git a/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc b/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc
deleted file mode 100644
index 8ea22305922e..000000000000
--- a/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- content/browser/compute_pressure/cpu_probe.cc.orig 2022-03-25 21:59:56 UTC
-+++ content/browser/compute_pressure/cpu_probe.cc
-@@ -53,6 +53,7 @@ std::unique_ptr<CpuProbe> CpuProbe::Create() {
- #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- return CpuProbeLinux::Create();
- #else
-+ NOTIMPLEMENTED();
- return std::make_unique<NullCpuProbe>();
- #endif // BUILDFLAG(IS_ANDROID)
- }
diff --git a/www/chromium/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc b/www/chromium/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc
new file mode 100644
index 000000000000..5897c47eb11c
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc
@@ -0,0 +1,38 @@
+--- content/browser/devtools/devtools_frontend_host_impl.cc.orig 2025-02-19 07:43:18 UTC
++++ content/browser/devtools/devtools_frontend_host_impl.cc
+@@ -24,7 +24,7 @@
+ #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
+ #include "ui/base/webui/resource_path.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "components/crash/content/browser/error_reporting/javascript_error_report.h" // nogncheck
+ #include "components/crash/content/browser/error_reporting/js_error_report_processor.h" // nogncheck
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+@@ -36,7 +36,7 @@ const char kCompatibilityScriptSourceURL[] =
+ "\n//# "
+ "sourceURL=devtools://devtools/bundled/devtools_compatibility.js";
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Remove the pieces of the URL we don't want to send back with the error
+ // reports. In particular, do not send query or fragments as those can have
+ // privacy-sensitive information in them.
+@@ -106,7 +106,7 @@ DevToolsFrontendHostImpl::DevToolsFrontendHostImpl(
+ const HandleMessageCallback& handle_message_callback)
+ : web_contents_(WebContents::FromRenderFrameHost(frame_host)),
+ handle_message_callback_(handle_message_callback) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ Observe(web_contents_);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ mojo::AssociatedRemote<blink::mojom::DevToolsFrontend> frontend;
+@@ -131,7 +131,7 @@ void DevToolsFrontendHostImpl::DispatchEmbedderMessage
+ handle_message_callback_.Run(std::move(message));
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void DevToolsFrontendHostImpl::OnDidAddMessageToConsole(
+ RenderFrameHost* source_frame,
+ blink::mojom::ConsoleMessageLevel log_level,
diff --git a/www/chromium/files/patch-content_browser_devtools_devtools__frontend__host__impl.h b/www/chromium/files/patch-content_browser_devtools_devtools__frontend__host__impl.h
new file mode 100644
index 000000000000..c8a223cb39f0
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_devtools_devtools__frontend__host__impl.h
@@ -0,0 +1,11 @@
+--- content/browser/devtools/devtools_frontend_host_impl.h.orig 2024-05-21 18:07:39 UTC
++++ content/browser/devtools/devtools_frontend_host_impl.h
+@@ -34,7 +34,7 @@ class DevToolsFrontendHostImpl : public DevToolsFronte
+
+ void BadMessageReceived() override;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void OnDidAddMessageToConsole(
+ RenderFrameHost* source_frame,
+ blink::mojom::ConsoleMessageLevel log_level,
diff --git a/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc
index 11964c73089d..382734ee2a97 100644
--- a/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc
+++ b/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc
@@ -1,11 +1,11 @@
---- content/browser/devtools/protocol/system_info_handler.cc.orig 2022-02-28 16:54:41 UTC
+--- content/browser/devtools/protocol/system_info_handler.cc.orig 2025-02-19 07:43:18 UTC
+++ content/browser/devtools/protocol/system_info_handler.cc
-@@ -50,7 +50,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS
+@@ -52,7 +52,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.
- #if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !defined(NDEBUG)) || \
-- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || defined(USE_OZONE)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
+-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !defined(NDEBUG)) || \
++#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && !defined(NDEBUG)) || \
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_OZONE)
static constexpr int kGPUInfoWatchdogTimeoutMultiplierOS = 3;
#else
- static constexpr int kGPUInfoWatchdogTimeoutMultiplierOS = 1;
diff --git a/www/chromium/files/patch-content_browser_download_download__manager__impl.cc b/www/chromium/files/patch-content_browser_download_download__manager__impl.cc
deleted file mode 100644
index 2bc019e81334..000000000000
--- a/www/chromium/files/patch-content_browser_download_download__manager__impl.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/browser/download/download_manager_impl.cc.orig 2022-06-17 14:20:10 UTC
-+++ content/browser/download/download_manager_impl.cc
-@@ -91,7 +91,7 @@
- #include "third_party/blink/public/common/storage_key/storage_key.h"
- #include "url/origin.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "base/nix/xdg_util.h"
- #endif
-
-@@ -219,7 +219,7 @@ class DownloadItemFactoryImpl : public download::Downl
- }
- };
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- base::FilePath GetTemporaryDownloadDirectory() {
- std::unique_ptr<base::Environment> env(base::Environment::Create());
- return base::nix::GetXDGDirectory(env.get(), "XDG_DATA_HOME", ".local/share");
-@@ -656,7 +656,7 @@ bool DownloadManagerImpl::InterceptDownload(
-
- base::FilePath DownloadManagerImpl::GetDefaultDownloadDirectory() {
- base::FilePath default_download_directory;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // TODO(thomasanderson,crbug.com/784010): Remove this when all Linux
- // distros with versions of GTK lower than 3.14.7 are no longer
- // supported. This should happen when support for Ubuntu Trusty and
diff --git a/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h b/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h
new file mode 100644
index 000000000000..98612ef4032a
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h
@@ -0,0 +1,11 @@
+--- content/browser/file_system_access/file_path_watcher/file_path_watcher.h.orig 2025-02-19 07:43:18 UTC
++++ content/browser/file_system_access/file_path_watcher/file_path_watcher.h
+@@ -126,7 +126,7 @@ class CONTENT_EXPORT FilePathWatcher {
+ Type type = Type::kNonRecursive;
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
+- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ // The callback will return the full path to a changed file instead of
+ // the watched path supplied as |path| when Watch is called.
+ // So the full path can be different from the watched path when a folder is
diff --git a/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc b/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc
new file mode 100644
index 000000000000..99d0c372c2d5
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc
@@ -0,0 +1,63 @@
+--- content/browser/file_system_access/file_path_watcher/file_path_watcher_bsd.cc.orig 2025-02-19 07:43:18 UTC
++++ content/browser/file_system_access/file_path_watcher/file_path_watcher_bsd.cc
+@@ -0,0 +1,60 @@
++// 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.
++
++#include "content/browser/file_system_access/file_path_watcher/file_path_watcher.h"
++
++#include <memory>
++
++#include "base/memory/ptr_util.h"
++#include "build/build_config.h"
++#include "content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h"
++
++namespace content {
++
++namespace {
++
++class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate {
++ public:
++ FilePathWatcherImpl() = default;
++ FilePathWatcherImpl(const FilePathWatcherImpl&) = delete;
++ FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete;
++ ~FilePathWatcherImpl() override = default;
++
++ bool Watch(const base::FilePath& path,
++ Type type,
++ const FilePathWatcher::Callback& callback) override {
++ DCHECK(!impl_.get());
++ if (type == Type::kRecursive) {
++ if (!FilePathWatcher::RecursiveWatchAvailable()) {
++ return false;
++ }
++ } else {
++ impl_ = std::make_unique<FilePathWatcherKQueue>();
++ }
++ DCHECK(impl_.get());
++ return impl_->Watch(path, type, callback);
++ }
++
++ void Cancel() override {
++ if (impl_.get()) {
++ impl_->Cancel();
++ }
++ set_cancelled();
++ }
++
++ private:
++ std::unique_ptr<PlatformDelegate> impl_;
++};
++
++} // namespace
++
++FilePathWatcher::FilePathWatcher()
++ : FilePathWatcher(std::make_unique<FilePathWatcherImpl>()) {}
++
++// static
++size_t FilePathWatcher::GetQuotaLimitImpl() {
++ return std::numeric_limits<size_t>::max();
++}
++
++} // namespace content
diff --git a/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h b/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h
new file mode 100644
index 000000000000..1a59af20c1ba
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h
@@ -0,0 +1,10 @@
+--- content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h.orig 2024-07-30 11:12:21 UTC
++++ content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h
+@@ -5,6 +5,7 @@
+ #ifndef CONTENT_BROWSER_FILE_SYSTEM_ACCESS_FILE_PATH_WATCHER_FILE_PATH_WATCHER_KQUEUE_H_
+ #define CONTENT_BROWSER_FILE_SYSTEM_ACCESS_FILE_PATH_WATCHER_FILE_PATH_WATCHER_KQUEUE_H_
+
++#include <sys/time.h>
+ #include <sys/event.h>
+
+ #include <memory>
diff --git a/www/chromium/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc b/www/chromium/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc
new file mode 100644
index 000000000000..afe6ba027315
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc
@@ -0,0 +1,11 @@
+--- content/browser/file_system_access/file_system_access_local_path_watcher.cc.orig 2025-01-15 09:18:26 UTC
++++ content/browser/file_system_access/file_system_access_local_path_watcher.cc
+@@ -67,7 +67,7 @@ void FileSystemAccessLocalPathWatcher::Initialize(
+ .type = scope().IsRecursive() ? FilePathWatcher::Type::kRecursive
+ : FilePathWatcher::Type::kNonRecursive,
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || 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/chromium/files/patch-content_browser_font__access_font__enumeration__data__source.cc b/www/chromium/files/patch-content_browser_font__access_font__enumeration__data__source.cc
index 116e4a9c0455..43c4ebafc125 100644
--- a/www/chromium/files/patch-content_browser_font__access_font__enumeration__data__source.cc
+++ b/www/chromium/files/patch-content_browser_font__access_font__enumeration__data__source.cc
@@ -1,8 +1,8 @@
---- content/browser/font_access/font_enumeration_data_source.cc.orig 2022-05-19 14:06:27 UTC
+--- content/browser/font_access/font_enumeration_data_source.cc.orig 2023-11-03 10:09:45 UTC
+++ content/browser/font_access/font_enumeration_data_source.cc
@@ -16,7 +16,7 @@
#include "content/browser/font_access/font_enumeration_data_source_win.h"
- #elif BUILDFLAG(IS_MAC)
+ #elif BUILDFLAG(IS_APPLE)
#include "content/browser/font_access/font_enumeration_data_source_mac.h"
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
@@ -11,7 +11,7 @@
@@ -61,7 +61,7 @@ std::unique_ptr<FontEnumerationDataSource> FontEnumera
return std::make_unique<FontEnumerationDataSourceWin>();
- #elif BUILDFLAG(IS_MAC)
+ #elif BUILDFLAG(IS_APPLE)
return std::make_unique<FontEnumerationDataSourceMac>();
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
@@ -20,7 +20,7 @@
return std::make_unique<FontEnumerationDataSourceNull>();
@@ -76,7 +76,7 @@ bool FontEnumerationDataSource::IsOsSupported() {
return true;
- #elif BUILDFLAG(IS_MAC)
+ #elif BUILDFLAG(IS_APPLE)
return true;
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-content_browser_gpu_compositor__util.cc b/www/chromium/files/patch-content_browser_gpu_compositor__util.cc
index c544ea7f38f8..b74c9a0a6e43 100644
--- a/www/chromium/files/patch-content_browser_gpu_compositor__util.cc
+++ b/www/chromium/files/patch-content_browser_gpu_compositor__util.cc
@@ -1,20 +1,20 @@
---- content/browser/gpu/compositor_util.cc.orig 2022-05-19 14:06:27 UTC
+--- content/browser/gpu/compositor_util.cc.orig 2025-07-02 06:08:04 UTC
+++ content/browser/gpu/compositor_util.cc
-@@ -148,7 +148,7 @@ const GpuFeatureData GetGpuFeatureData(
- {"video_decode",
- SafeGetFeatureStatus(gpu_feature_info,
- gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE),
+@@ -143,7 +143,7 @@ std::vector<GpuFeatureData> GetGpuFeatureData(
+ "video_decode",
+ SafeGetFeatureStatus(
+ gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE,
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- !base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux),
- #else
- command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode),
-@@ -160,7 +160,7 @@ const GpuFeatureData GetGpuFeatureData(
- {"video_encode",
- SafeGetFeatureStatus(gpu_feature_info,
- gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE),
+ !base::FeatureList::IsEnabled(media::kAcceleratedVideoDecodeLinux) ||
+ #endif // BUILDFLAG(IS_LINUX)
+ command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode)),
+@@ -155,7 +155,7 @@ std::vector<GpuFeatureData> GetGpuFeatureData(
+ "video_encode",
+ SafeGetFeatureStatus(
+ gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE,
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- !base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux),
+ !base::FeatureList::IsEnabled(media::kAcceleratedVideoEncodeLinux)),
#else
- command_line.HasSwitch(switches::kDisableAcceleratedVideoEncode),
+ command_line.HasSwitch(switches::kDisableAcceleratedVideoEncode)),
diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc
new file mode 100644
index 000000000000..f31c238f49f0
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc
@@ -0,0 +1,11 @@
+--- content/browser/gpu/gpu_data_manager_impl.cc.orig 2025-05-05 10:57:53 UTC
++++ content/browser/gpu/gpu_data_manager_impl.cc
+@@ -412,7 +412,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/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h
new file mode 100644
index 000000000000..c23acf32e286
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h
@@ -0,0 +1,11 @@
+--- content/browser/gpu/gpu_data_manager_impl.h.orig 2025-07-02 06:08:04 UTC
++++ content/browser/gpu/gpu_data_manager_impl.h
+@@ -225,7 +225,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();
+ #endif // BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc
new file mode 100644
index 000000000000..6a3bf2832a78
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc
@@ -0,0 +1,11 @@
+--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2025-07-02 06:08:04 UTC
++++ content/browser/gpu/gpu_data_manager_impl_private.cc
+@@ -1696,7 +1696,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 gpu_extra_info_.is_gmb_nv12_supported;
+ }
diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h
new file mode 100644
index 000000000000..5e6993cbb4bc
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h
@@ -0,0 +1,20 @@
+--- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2025-07-02 06:08:04 UTC
++++ content/browser/gpu/gpu_data_manager_impl_private.h
+@@ -149,7 +149,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();
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -312,7 +312,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/chromium/files/patch-content_browser_gpu_gpu__process__host.cc b/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc
index fe9f7a6a6fa7..5d31ab2094d2 100644
--- a/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc
+++ b/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc
@@ -1,25 +1,16 @@
---- content/browser/gpu/gpu_process_host.cc.orig 2022-07-22 17:30:31 UTC
+--- content/browser/gpu/gpu_process_host.cc.orig 2025-07-02 06:08:04 UTC
+++ content/browser/gpu/gpu_process_host.cc
-@@ -101,7 +101,7 @@
- #include "ui/ozone/public/ozone_switches.h"
- #endif
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/gfx/switches.h"
- #endif
-
-@@ -253,6 +253,7 @@ static const char* const kSwitchNames[] = {
- switches::kEnableBackgroundThreadPool,
- switches::kEnableGpuRasterization,
- switches::kEnableLogging,
+@@ -274,6 +274,7 @@ static const char* const kSwitchNames[] = {
+ switches::kDisableSkiaGraphite,
+ switches::kDisableSkiaGraphitePrecompilation,
+ switches::kDisableLowEndDeviceMode,
+ switches::kDisableUnveil,
- switches::kEnableDeJelly,
- switches::kDeJellyScreenWidth,
- switches::kDoubleBufferCompositing,
-@@ -286,7 +287,7 @@ static const char* const kSwitchNames[] = {
- switches::kOzoneDumpFile,
- switches::kDisableBufferBWCompression,
+ switches::kProfilingAtStart,
+ switches::kProfilingFile,
+ switches::kProfilingFlush,
+@@ -302,7 +303,7 @@ static const char* const kSwitchNames[] = {
+ switches::kEnableNativeGpuMemoryBuffers,
+ switches::kRenderNodeOverride,
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-content_browser_media_frameless__media__interface__proxy.cc b/www/chromium/files/patch-content_browser_media_frameless__media__interface__proxy.cc
deleted file mode 100644
index 5add7191a5d9..000000000000
--- a/www/chromium/files/patch-content_browser_media_frameless__media__interface__proxy.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/media/frameless_media_interface_proxy.cc.orig 2022-05-19 14:06:27 UTC
-+++ content/browser/media/frameless_media_interface_proxy.cc
-@@ -15,7 +15,7 @@
- #include "media/mojo/mojom/renderer_extensions.mojom.h"
- #include "media/mojo/mojom/stable/stable_video_decoder.mojom.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "content/public/browser/stable_video_decoder_factory.h"
- #include "media/base/media_switches.h"
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -64,7 +64,7 @@ void FramelessMediaInterfaceProxy::CreateVideoDecoder(
-
- 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)) {
- // TODO(b/195769334): for now, we're using the same
- // StableVideoDecoderFactory. However, we should be using a separate
diff --git a/www/chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h b/www/chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h
new file mode 100644
index 000000000000..479feb625a2e
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h
@@ -0,0 +1,20 @@
+--- content/browser/media/frameless_media_interface_proxy.h.orig 2025-05-28 14:55:43 UTC
++++ content/browser/media/frameless_media_interface_proxy.h
+@@ -19,7 +19,7 @@
+ #include "mojo/public/cpp/bindings/receiver_set.h"
+ #include "mojo/public/cpp/bindings/remote.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "media/mojo/mojom/video_decoder.mojom.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+
+@@ -98,7 +98,7 @@ class FramelessMediaInterfaceProxy final
+ // Connections to the renderer.
+ mojo::ReceiverSet<media::mojom::InterfaceFactory> receivers_;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Connection to the InterfaceFactory that lives in a utility process.
+ // This is only used for out-of-process video decoding and only when the
+ // FramelessMediaInterfaceProxy is created without a RenderProcessHost
diff --git a/www/chromium/files/patch-content_browser_media_media__interface__proxy.cc b/www/chromium/files/patch-content_browser_media_media__interface__proxy.cc
deleted file mode 100644
index 983c990f29ad..000000000000
--- a/www/chromium/files/patch-content_browser_media_media__interface__proxy.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/media/media_interface_proxy.cc.orig 2022-06-17 14:20:10 UTC
-+++ content/browser/media/media_interface_proxy.cc
-@@ -74,7 +74,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)
-@@ -294,7 +294,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)) {
- // TODO(b/195769334): for now, we're using the same
- // StableVideoDecoderFactory. However, we should be using a separate
diff --git a/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc b/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc
index 3646f04d18b3..6e2749f0a835 100644
--- a/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc
+++ b/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc
@@ -1,11 +1,11 @@
---- content/browser/media/media_keys_listener_manager_impl.cc.orig 2022-04-21 18:48:31 UTC
+--- content/browser/media/media_keys_listener_manager_impl.cc.orig 2025-02-19 07:43:18 UTC
+++ content/browser/media/media_keys_listener_manager_impl.cc
-@@ -233,7 +233,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)) || \
-- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- system_media_controls_ = system_media_controls::SystemMediaControls::Create(
- media::AudioManager::GetGlobalAppName());
- #endif
+@@ -332,7 +332,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe
+ return;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Create SystemMediaControls with the SingletonHwnd.
+ browser_system_media_controls_ =
+ system_media_controls::SystemMediaControls::Create(
diff --git a/www/chromium/files/patch-content_browser_network__service__instance__impl.cc b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc
new file mode 100644
index 000000000000..74bcc08b0254
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc
@@ -0,0 +1,29 @@
+--- content/browser/network_service_instance_impl.cc.orig 2025-07-02 06:08:04 UTC
++++ content/browser/network_service_instance_impl.cc
+@@ -85,7 +85,7 @@
+ #include "content/browser/network/network_service_process_tracker_win.h"
+ #endif
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "content/browser/system_dns_resolution/system_dns_resolver.h"
+ #include "services/network/public/mojom/system_dns_resolution.mojom-forward.h"
+ #endif
+@@ -335,7 +335,7 @@ void CreateInProcessNetworkService(
+ std::move(receiver)));
+ }
+
+-#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(
+@@ -402,7 +402,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS
+ }
+ #endif // BUILDFLAG(IS_POSIX)
+
+-#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/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc
index 55cc6c74c2a8..8acfad0fb7eb 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc
@@ -1,11 +1,11 @@
---- content/browser/renderer_host/delegated_frame_host.cc.orig 2022-07-22 17:30:31 UTC
+--- content/browser/renderer_host/delegated_frame_host.cc.orig 2025-05-05 10:57:53 UTC
+++ content/browser/renderer_host/delegated_frame_host.cc
-@@ -295,7 +295,7 @@ void DelegatedFrameHost::EmbedSurface(
+@@ -333,7 +333,7 @@ void DelegatedFrameHost::EmbedSurface(
if (!primary_surface_id ||
primary_surface_id->local_surface_id() != local_surface_id_) {
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// On Windows and Linux, we would like to produce new content as soon as
// possible or the OS will create an additional black gutter. Until we can
// block resize on surface synchronization on these platforms, we will not
diff --git a/www/chromium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc b/www/chromium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc
deleted file mode 100644
index 00e9275d7d0d..000000000000
--- a/www/chromium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/browser/renderer_host/input/input_device_change_observer.cc.orig 2022-02-28 16:54:41 UTC
-+++ content/browser/renderer_host/input/input_device_change_observer.cc
-@@ -9,7 +9,7 @@
-
- #if BUILDFLAG(IS_WIN)
- #include "ui/events/devices/input_device_observer_win.h"
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "ui/events/devices/device_data_manager.h"
- #elif BUILDFLAG(IS_ANDROID)
- #include "ui/events/devices/input_device_observer_android.h"
-@@ -21,7 +21,7 @@ InputDeviceChangeObserver::InputDeviceChangeObserver(R
- render_view_host_impl_ = rvhi;
- #if BUILDFLAG(IS_WIN)
- ui::InputDeviceObserverWin::GetInstance()->AddObserver(this);
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- ui::DeviceDataManager::GetInstance()->AddObserver(this);
- #elif BUILDFLAG(IS_ANDROID)
- ui::InputDeviceObserverAndroid::GetInstance()->AddObserver(this);
-@@ -31,7 +31,7 @@ InputDeviceChangeObserver::InputDeviceChangeObserver(R
- InputDeviceChangeObserver::~InputDeviceChangeObserver() {
- #if BUILDFLAG(IS_WIN)
- ui::InputDeviceObserverWin::GetInstance()->RemoveObserver(this);
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- ui::DeviceDataManager::GetInstance()->RemoveObserver(this);
- #elif BUILDFLAG(IS_ANDROID)
- ui::InputDeviceObserverAndroid::GetInstance()->RemoveObserver(this);
diff --git a/www/chromium/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc b/www/chromium/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc
new file mode 100644
index 000000000000..967501873d0b
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc
@@ -0,0 +1,20 @@
+--- content/browser/renderer_host/media/service_video_capture_device_launcher.cc.orig 2025-07-02 06:08:04 UTC
++++ content/browser/renderer_host/media/service_video_capture_device_launcher.cc
+@@ -29,7 +29,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
+
+@@ -188,7 +188,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/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc b/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc
index e747d1f7a861..afba2231feba 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc
@@ -1,6 +1,6 @@
---- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2022-05-19 14:06:27 UTC
+--- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2024-01-30 07:53:34 UTC
+++ content/browser/renderer_host/pepper/pepper_file_io_host.cc
-@@ -455,7 +455,7 @@ void PepperFileIOHost::OnLocalFileOpened(
+@@ -462,7 +462,7 @@ void PepperFileIOHost::OnLocalFileOpened(
ppapi::host::ReplyMessageContext reply_context,
const base::FilePath& path,
base::File::Error error_code) {
@@ -9,7 +9,7 @@
// Quarantining a file before its contents are available is only supported on
// Windows and Linux.
if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) {
-@@ -489,7 +489,7 @@ void PepperFileIOHost::OnLocalFileOpened(
+@@ -496,7 +496,7 @@ void PepperFileIOHost::OnLocalFileOpened(
#endif
}
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc
deleted file mode 100644
index 2479b1bac7a5..000000000000
--- a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/browser/renderer_host/render_message_filter.cc.orig 2022-05-19 14:06:27 UTC
-+++ content/browser/renderer_host/render_message_filter.cc
-@@ -66,7 +66,7 @@
- #if BUILDFLAG(IS_MAC)
- #include "ui/accelerated_widget_mac/window_resize_helper_mac.h"
- #endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "base/linux_util.h"
- #include "base/threading/platform_thread.h"
- #endif
-@@ -128,7 +128,7 @@ void RenderMessageFilter::GenerateFrameRoutingID(
- std::move(callback).Run(routing_id, frame_token, devtools_frame_token);
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void RenderMessageFilter::SetThreadPriorityOnFileThread(
- base::PlatformThreadId ns_tid,
- base::ThreadPriority priority) {
-@@ -149,7 +149,7 @@ void RenderMessageFilter::SetThreadPriorityOnFileThrea
- }
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void RenderMessageFilter::SetThreadPriority(int32_t ns_tid,
- base::ThreadPriority priority) {
- constexpr base::TaskTraits kTraits = {
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h
deleted file mode 100644
index e64358b3d03c..000000000000
--- a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- content/browser/renderer_host/render_message_filter.h.orig 2022-02-28 16:54:41 UTC
-+++ content/browser/renderer_host/render_message_filter.h
-@@ -78,14 +78,14 @@ class RenderMessageFilter
- void GenerateRoutingID(GenerateRoutingIDCallback routing_id) override;
- void GenerateFrameRoutingID(GenerateFrameRoutingIDCallback callback) override;
- void HasGpuProcess(HasGpuProcessCallback callback) override;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void SetThreadPriority(int32_t ns_tid,
- base::ThreadPriority priority) override;
- #endif
-
- void OnResolveProxy(const GURL& url, IPC::Message* reply_msg);
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void SetThreadPriorityOnFileThread(base::PlatformThreadId ns_tid,
- base::ThreadPriority priority);
- #endif
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc
index e4dc45c1b621..d095f6398b2d 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc
@@ -1,6 +1,6 @@
---- content/browser/renderer_host/render_process_host_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- content/browser/renderer_host/render_process_host_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ content/browser/renderer_host/render_process_host_impl.cc
-@@ -211,7 +211,7 @@
+@@ -222,7 +222,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
-@@ -1139,7 +1139,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
+@@ -1126,7 +1126,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
// to indicate failure and std::numeric_limits<size_t>::max() to indicate
// unlimited.
size_t GetPlatformProcessLimit() {
@@ -18,20 +18,38 @@
struct rlimit limit;
if (getrlimit(RLIMIT_NPROC, &limit) != 0)
return kUnknownPlatformProcessLimit;
-@@ -1226,7 +1226,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
- return;
- }
+@@ -1333,7 +1333,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost
+ void RenderProcessHostImpl::IOThreadHostImpl::SetPid(
+ base::ProcessId child_pid) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
- ConnectToFontService(std::move(font_receiver));
- return;
-@@ -3211,6 +3211,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
- switches::kDisableSpeechAPI,
- switches::kDisableThreadedCompositing,
- switches::kDisableTouchDragDrop,
-+ switches::kDisableUnveil,
- switches::kDisableV8IdleTasks,
- switches::kDisableVideoCaptureUseGpuMemoryBuffer,
- switches::kDisableWebGLImageChromium,
+ child_thread_type_switcher_.SetPid(child_pid);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ }
+@@ -3426,7 +3426,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
+ base::TimeTicks::UnixEpoch().since_origin().InMicroseconds()));
+ }
+
+-#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() &&
+@@ -3480,6 +3480,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
+ switches::kDisableSkiaRuntimeOpts,
+ switches::kDisableSpeechAPI,
+ switches::kDisableThreadedCompositing,
++ switches::kDisableUnveil,
+ switches::kDisableV8IdleTasks,
+ switches::kDisableVideoCaptureUseGpuMemoryBuffer,
+ switches::kDisableWebGLImageChromium,
+@@ -5329,7 +5330,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr
+ // - Win: https://crbug.com/707022 .
+ uint64_t total_size = 0;
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ total_size = dump->platform_private_footprint->rss_anon_bytes +
+ dump->platform_private_footprint->vm_swap_bytes;
+ #elif BUILDFLAG(IS_APPLE)
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h
index 6f02871f63b0..131fa6beb0c6 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h
@@ -1,11 +1,29 @@
---- content/browser/renderer_host/render_process_host_impl.h.orig 2022-07-22 17:30:31 UTC
+--- content/browser/renderer_host/render_process_host_impl.h.orig 2025-07-02 06:08:04 UTC
+++ content/browser/renderer_host/render_process_host_impl.h
-@@ -470,7 +470,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
- // Sets this RenderProcessHost to be guest only. For Testing only.
- void SetForGuestsOnlyForTesting();
+@@ -101,7 +101,7 @@
+ #include "media/fuchsia_media_codec_provider_impl.h"
+ #endif
--#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
- // Launch the zygote early in the browser startup.
- static void EarlyZygoteLaunch();
- #endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "content/browser/child_thread_type_switcher_linux.h"
+ #include "media/mojo/mojom/video_encode_accelerator.mojom.h"
+ #endif
+@@ -995,7 +995,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
+ mojo::Remote<media::mojom::VideoEncodeAcceleratorProviderFactory>
+ video_encode_accelerator_factory_remote_;
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ ChildThreadTypeSwitcher child_thread_type_switcher_;
+ #endif
+ };
+@@ -1238,7 +1238,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
+ // if the request isn't handled on the IO thread.
+ void OnBindHostReceiver(mojo::GenericPendingReceiver receiver);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Provides /proc/{renderer pid}/status and statm files for the renderer,
+ // because the files are required to calculate the renderer's private
+ // footprint on Chromium Linux. Regarding MacOS X and Windows, we have
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc
new file mode 100644
index 000000000000..2a44264eb401
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc
@@ -0,0 +1,29 @@
+--- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2025-07-02 06:08:04 UTC
++++ content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc
+@@ -51,7 +51,7 @@
+ #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
+ #include "content/browser/font_service.h" // nogncheck
+ #endif
+@@ -336,7 +336,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
+ ConnectToFontService(std::move(font_receiver));
+ return;
+@@ -364,7 +364,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (auto r = receiver.As<mojom::ThreadTypeSwitcher>()) {
+ child_thread_type_switcher_.Bind(std::move(r));
+ return;
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
index f6a3c684551b..a8bb5458fa6e 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
@@ -1,11 +1,11 @@
---- content/browser/renderer_host/render_view_host_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- content/browser/renderer_host/render_view_host_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ content/browser/renderer_host/render_view_host_impl.cc
-@@ -259,7 +259,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs(
- display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL);
+@@ -271,7 +271,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs(
+ display::win::GetScreenWin()->GetSystemMetricsInDIP(SM_CYVSCROLL);
prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips =
- display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXHSCROLL);
+ display::win::GetScreenWin()->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/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
index dfd28e777fb7..1b7d1a082985 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
@@ -1,25 +1,25 @@
---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2022-07-22 17:30:31 UTC
+--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2025-05-05 10:57:53 UTC
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
-@@ -114,7 +114,7 @@
+@@ -121,7 +121,7 @@
#include "ui/gfx/gdi_util.h"
- #endif
+ #endif // BUILDFLAG(IS_WIN)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- #include "content/browser/accessibility/browser_accessibility_auralinux.h"
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/accessibility/platform/browser_accessibility_auralinux.h"
#include "ui/base/ime/linux/text_edit_command_auralinux.h"
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
-@@ -439,7 +439,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge
- if (manager)
- return ToBrowserAccessibilityWin(manager->GetRoot())->GetCOM();
+ #include "ui/base/ime/text_input_flags.h"
+@@ -478,7 +478,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge
+ return ToBrowserAccessibilityWin(manager->GetBrowserAccessibilityRoot())
+ ->GetCOM();
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- BrowserAccessibilityManager* manager =
+ ui::BrowserAccessibilityManager* manager =
host()->GetOrCreateRootBrowserAccessibilityManager();
- if (manager && manager->GetRoot())
-@@ -1579,7 +1579,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() {
- return GetTextInputManager() && GetTextInputManager()->should_do_learning();
+ if (manager && manager->GetBrowserAccessibilityRoot())
+@@ -1882,7 +1882,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() {
+ return host() && host()->delegate() && host()->delegate()->ShouldDoLearning();
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -27,21 +27,21 @@
bool RenderWidgetHostViewAura::SetCompositionFromExistingText(
const gfx::Range& range,
const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) {
-@@ -2397,7 +2397,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
+@@ -2858,7 +2858,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
}
bool RenderWidgetHostViewAura::NeedsMouseCapture() {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return NeedsInputGrab();
#else
return false;
-@@ -2574,7 +2574,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
+@@ -3042,7 +3042,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
if (!target_host)
return;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- ui::TextEditKeyBindingsDelegateAuraLinux* keybinding_delegate =
- ui::GetTextEditKeyBindingsDelegate();
- std::vector<ui::TextEditCommandAuraLinux> commands;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto* linux_ui = ui::LinuxUi::instance();
+ if (!event.skip_if_unhandled && linux_ui && event.os_event) {
+ const auto command = linux_ui->GetTextEditCommandForEvent(
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h
index 3dda48e8eb46..e56bbd807bda 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h
@@ -1,6 +1,6 @@
---- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2022-05-19 14:06:27 UTC
+--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2025-03-05 08:14:56 UTC
+++ content/browser/renderer_host/render_widget_host_view_aura.h
-@@ -244,7 +244,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
+@@ -276,7 +276,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
ukm::SourceId GetClientSourceForMetrics() const override;
bool ShouldDoLearning() override;
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
index ed61b8b2d69a..c910ef23142c 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
@@ -1,7 +1,7 @@
---- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2022-02-28 16:54:41 UTC
+--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2024-08-26 12:06:38 UTC
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
-@@ -596,7 +596,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand
- if (event->type() == ui::ET_MOUSE_EXITED) {
+@@ -602,7 +602,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand
+ if (event->type() == ui::EventType::kMouseExited) {
if (mouse_locked || selection_popup)
return false;
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-content_browser_sandbox__host__linux.cc b/www/chromium/files/patch-content_browser_sandbox__host__linux.cc
index e8b60e9099f4..411302e40e1b 100644
--- a/www/chromium/files/patch-content_browser_sandbox__host__linux.cc
+++ b/www/chromium/files/patch-content_browser_sandbox__host__linux.cc
@@ -1,10 +1,10 @@
---- content/browser/sandbox_host_linux.cc.orig 2022-02-07 13:39:41 UTC
+--- content/browser/sandbox_host_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ 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/chromium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc b/www/chromium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc
index c409de0c1079..3bd2c92c011d 100644
--- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc
+++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc
@@ -1,11 +1,11 @@
---- content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2022-04-21 18:48:31 UTC
+--- content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2025-03-05 08:14:56 UTC
+++ content/browser/scheduler/responsiveness/jank_monitor_impl.cc
-@@ -334,7 +334,7 @@ void JankMonitorImpl::ThreadExecutionState::DidRunTask
+@@ -337,7 +337,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.
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && defined(USE_OZONE)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) && defined(USE_OZONE)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE)
task_execution_metadata_.clear();
#endif
return;
diff --git a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
index 0d5970ba399b..8f8878201b5b 100644
--- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
+++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
@@ -1,6 +1,6 @@
---- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2022-02-28 16:54:41 UTC
+--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2023-02-08 09:03:45 UTC
+++ content/browser/scheduler/responsiveness/native_event_observer.h
-@@ -15,7 +15,7 @@
+@@ -16,7 +16,7 @@
#include "content/public/browser/native_event_processor_observer_mac.h"
#endif
@@ -9,7 +9,7 @@
#include "ui/aura/window_event_dispatcher_observer.h"
#endif
-@@ -40,7 +40,7 @@ namespace responsiveness {
+@@ -41,7 +41,7 @@ namespace responsiveness {
class CONTENT_EXPORT NativeEventObserver
#if BUILDFLAG(IS_MAC)
: public NativeEventProcessorObserver
@@ -18,7 +18,7 @@
: public aura::WindowEventDispatcherObserver
#elif BUILDFLAG(IS_WIN)
: public base::MessagePumpForUI::Observer
-@@ -57,7 +57,7 @@ class CONTENT_EXPORT NativeEventObserver
+@@ -58,7 +58,7 @@ class CONTENT_EXPORT NativeEventObserver
NativeEventObserver(WillRunEventCallback will_run_event_callback,
DidRunEventCallback did_run_event_callback);
@@ -27,7 +27,7 @@
NativeEventObserver(const NativeEventObserver&) = delete;
NativeEventObserver& operator=(const NativeEventObserver&) = delete;
-@@ -73,7 +73,7 @@ class CONTENT_EXPORT NativeEventObserver
+@@ -74,7 +74,7 @@ class CONTENT_EXPORT NativeEventObserver
// Exposed for tests.
void WillRunNativeEvent(const void* opaque_identifier) override;
void DidRunNativeEvent(const void* opaque_identifier) override;
@@ -36,12 +36,12 @@
// aura::WindowEventDispatcherObserver overrides:
void OnWindowEventDispatcherStartedProcessing(
aura::WindowEventDispatcher* dispatcher,
-@@ -90,7 +90,7 @@ class CONTENT_EXPORT NativeEventObserver
+@@ -91,7 +91,7 @@ class CONTENT_EXPORT NativeEventObserver
void RegisterObserver();
void DeregisterObserver();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
struct EventInfo {
- const void* unique_id;
+ raw_ptr<const void> unique_id;
};
diff --git a/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc
new file mode 100644
index 000000000000..dcf5437a0601
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc
@@ -0,0 +1,38 @@
+--- content/browser/service_host/utility_process_host.cc.orig 2025-07-02 06:08:04 UTC
++++ content/browser/service_host/utility_process_host.cc
+@@ -68,7 +68,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"
+@@ -96,7 +96,7 @@ namespace content {
+
+ 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;
+@@ -491,7 +491,7 @@ bool UtilityProcessHost::StartProcess() {
+ GetV8SnapshotFilesToPreload(*cmd_line));
+ #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 (options_.sandbox_type_ == sandbox::mojom::Sandbox::kNetwork) {
+@@ -509,7 +509,7 @@ bool UtilityProcessHost::StartProcess() {
+ video_capture::mojom::VideoCaptureService::Name_) {
+ bool pass_gpu_buffer_flag =
+ switches::IsVideoCaptureUseGpuMemoryBufferEnabled();
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Check if NV12 GPU memory buffer supported at the same time.
+ pass_gpu_buffer_flag =
+ pass_gpu_buffer_flag &&
diff --git a/www/chromium/files/patch-content_browser_service__host_utility__process__host__receiver__bindings.cc b/www/chromium/files/patch-content_browser_service__host_utility__process__host__receiver__bindings.cc
new file mode 100644
index 000000000000..c436cbec54a6
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_service__host_utility__process__host__receiver__bindings.cc
@@ -0,0 +1,20 @@
+--- content/browser/service_host/utility_process_host_receiver_bindings.cc.orig 2025-04-04 08:52:13 UTC
++++ content/browser/service_host/utility_process_host_receiver_bindings.cc
+@@ -10,7 +10,7 @@
+ #include "content/public/common/content_client.h"
+ #include "media/media_buildflags.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
+ #include "content/browser/font_service.h" // nogncheck
+ #endif
+@@ -24,7 +24,7 @@ namespace content {
+
+ void UtilityProcessHost::BindHostReceiver(
+ mojo::GenericPendingReceiver receiver) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
+ ConnectToFontService(std::move(font_receiver));
+ return;
diff --git a/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc b/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc
new file mode 100644
index 000000000000..0956ff8d29f0
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc
@@ -0,0 +1,34 @@
+--- content/browser/service_host/utility_sandbox_delegate.cc.orig 2025-07-02 06:08:04 UTC
++++ content/browser/service_host/utility_sandbox_delegate.cc
+@@ -91,14 +91,14 @@ UtilitySandboxedProcessLauncherDelegate::
+ #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
+ #endif // BUILDFLAG(IS_CHROMEOS)
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ sandbox_type_ == sandbox::mojom::Sandbox::kScreenAI ||
+ sandbox_type_ == sandbox::mojom::Sandbox::kPrintBackend ||
+ #endif
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ sandbox_type_ == sandbox::mojom::Sandbox::kVideoEffects ||
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceTranslation ||
+ #endif
+ sandbox_type_ == sandbox::mojom::Sandbox::kAudio ||
+@@ -159,11 +159,11 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe
+ #endif // BUILDFLAG(IS_CHROMEOS)
+ sandbox_type_ == sandbox::mojom::Sandbox::kAudio ||
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ sandbox_type_ == sandbox::mojom::Sandbox::kPrintBackend ||
+ sandbox_type_ == sandbox::mojom::Sandbox::kScreenAI ||
+ #endif
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ sandbox_type_ == sandbox::mojom::Sandbox::kVideoEffects ||
+ sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceTranslation ||
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-content_browser_utility__process__host__receiver__bindings.cc b/www/chromium/files/patch-content_browser_utility__process__host__receiver__bindings.cc
deleted file mode 100644
index 14284e8b53b0..000000000000
--- a/www/chromium/files/patch-content_browser_utility__process__host__receiver__bindings.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/utility_process_host_receiver_bindings.cc.orig 2022-02-28 16:54:41 UTC
-+++ content/browser/utility_process_host_receiver_bindings.cc
-@@ -10,7 +10,7 @@
- #include "content/public/browser/content_browser_client.h"
- #include "content/public/common/content_client.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #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 {
-
- void UtilityProcessHost::BindHostReceiver(
- mojo::GenericPendingReceiver receiver) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
- ConnectToFontService(std::move(font_receiver));
- return;
diff --git a/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc b/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc
deleted file mode 100644
index b7f79c80b996..000000000000
--- a/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- content/browser/utility_sandbox_delegate.cc.orig 2022-06-17 14:20:10 UTC
-+++ content/browser/utility_sandbox_delegate.cc
-@@ -63,10 +63,10 @@ UtilitySandboxedProcessLauncherDelegate::
- #if BUILDFLAG(ENABLE_PLUGINS)
- sandbox_type_ == sandbox::mojom::Sandbox::kPpapi ||
- #endif
--#if BUILDFLAG(IS_FUCHSIA)
-+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- sandbox_type_ == sandbox::mojom::Sandbox::kVideoCapture ||
- #endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding ||
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
- #if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -109,7 +109,7 @@ ZygoteHandle UtilitySandboxedProcessLauncherDelegate::
- // unsandboxed zygote and then apply their actual sandboxes in the forked
- // process upon startup.
- if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork ||
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding ||
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
- #if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/www/chromium/files/patch-content_browser_v8__snapshot__files.cc b/www/chromium/files/patch-content_browser_v8__snapshot__files.cc
index 187b0f5d2e76..3c2290a9ecae 100644
--- a/www/chromium/files/patch-content_browser_v8__snapshot__files.cc
+++ b/www/chromium/files/patch-content_browser_v8__snapshot__files.cc
@@ -1,11 +1,11 @@
---- content/browser/v8_snapshot_files.cc.orig 2022-02-28 16:54:41 UTC
+--- content/browser/v8_snapshot_files.cc.orig 2025-05-05 10:57:53 UTC
+++ content/browser/v8_snapshot_files.cc
-@@ -10,7 +10,7 @@
- namespace content {
-
- std::map<std::string, base::FilePath> GetV8SnapshotFilesToPreload() {
+@@ -19,7 +19,7 @@ namespace content {
+ std::map<std::string, std::variant<base::FilePath, base::ScopedFD>>
+ GetV8SnapshotFilesToPreload(base::CommandLine& process_command_line) {
+ std::map<std::string, std::variant<base::FilePath, base::ScopedFD>> files;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #if defined(USE_V8_CONTEXT_SNAPSHOT)
- return {{kV8ContextSnapshotDataDescriptor,
- base::FilePath(FILE_PATH_LITERAL(V8_CONTEXT_SNAPSHOT_FILENAME))}};
+ #if BUILDFLAG(USE_V8_CONTEXT_SNAPSHOT)
+ files[kV8ContextSnapshotDataDescriptor] = base::FilePath(
+ FILE_PATH_LITERAL(BUILDFLAG(V8_CONTEXT_SNAPSHOT_FILENAME)));
diff --git a/www/chromium/files/patch-content_browser_web__contents_slow__web__preference__cache.cc b/www/chromium/files/patch-content_browser_web__contents_slow__web__preference__cache.cc
new file mode 100644
index 000000000000..926156827508
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_web__contents_slow__web__preference__cache.cc
@@ -0,0 +1,29 @@
+--- content/browser/web_contents/slow_web_preference_cache.cc.orig 2025-02-19 07:43:18 UTC
++++ content/browser/web_contents/slow_web_preference_cache.cc
+@@ -17,7 +17,7 @@
+
+ #if BUILDFLAG(IS_WIN)
+ #include "ui/events/devices/input_device_observer_win.h"
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "ui/events/devices/device_data_manager.h"
+ #elif BUILDFLAG(IS_ANDROID)
+ #include "ui/base/device_form_factor.h"
+@@ -57,7 +57,7 @@ SlowWebPreferenceCache::SlowWebPreferenceCache() {
+
+ #if BUILDFLAG(IS_WIN)
+ ui::InputDeviceObserverWin::GetInstance()->AddObserver(this);
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ ui::DeviceDataManager::GetInstance()->AddObserver(this);
+ #elif BUILDFLAG(IS_ANDROID)
+ ui::InputDeviceObserverAndroid::GetInstance()->AddObserver(this);
+@@ -69,7 +69,7 @@ SlowWebPreferenceCache::SlowWebPreferenceCache() {
+ SlowWebPreferenceCache::~SlowWebPreferenceCache() {
+ #if BUILDFLAG(IS_WIN)
+ ui::InputDeviceObserverWin::GetInstance()->RemoveObserver(this);
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ ui::DeviceDataManager::GetInstance()->RemoveObserver(this);
+ #elif BUILDFLAG(IS_ANDROID)
+ ui::InputDeviceObserverAndroid::GetInstance()->RemoveObserver(this);
diff --git a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc
index aac99b7f3e98..e5fd544f24da 100644
--- a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc
+++ b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc
@@ -1,6 +1,6 @@
---- content/browser/web_contents/web_contents_view_aura.cc.orig 2022-06-17 14:20:10 UTC
+--- content/browser/web_contents/web_contents_view_aura.cc.orig 2025-03-05 08:14:56 UTC
+++ content/browser/web_contents/web_contents_view_aura.cc
-@@ -159,7 +159,7 @@ class WebDragSourceAura : public content::WebContentsO
+@@ -173,7 +173,7 @@ class WebDragSourceAura : public content::WebContentsO
raw_ptr<aura::Window> window_;
};
@@ -9,7 +9,7 @@
// Fill out the OSExchangeData with a file contents, synthesizing a name if
// necessary.
void PrepareDragForFileContents(const DropData& drop_data,
-@@ -242,7 +242,7 @@ void PrepareDragData(const DropData& drop_data,
+@@ -258,7 +258,7 @@ void PrepareDragData(const DropData& drop_data,
if (!drop_data.download_metadata.empty())
PrepareDragForDownload(drop_data, provider, web_contents);
#endif
@@ -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.
-@@ -1343,7 +1343,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent*
+@@ -1327,7 +1327,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/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc
new file mode 100644
index 000000000000..a1d4cae882f8
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc
@@ -0,0 +1,74 @@
+--- content/browser/web_contents/web_contents_view_aura_unittest.cc.orig 2025-04-04 08:52:13 UTC
++++ content/browser/web_contents/web_contents_view_aura_unittest.cc
+@@ -40,7 +40,7 @@
+ #include "ui/base/dragdrop/os_exchange_data_provider_win.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
+ #include "ui/base/x/selection_utils.h"
+ #include "ui/base/x/x11_os_exchange_data_provider.h"
+ #include "ui/gfx/x/atom_cache.h"
+@@ -96,7 +96,7 @@ class TestDragDropClient : public aura::client::DragDr
+ drag_drop_data_ = std::move(data);
+ return DragOperation::kCopy;
+ }
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void UpdateDragImage(const gfx::ImageSkia& image,
+ const gfx::Vector2d& offset) override {}
+ #endif
+@@ -231,7 +231,7 @@ TEST_F(WebContentsViewAuraTest, WebContentsDestroyedDu
+ ui::EF_LEFT_MOUSE_BUTTON, 0);
+ ui::EventHandler* event_handler = GetView();
+ event_handler->OnMouseEvent(&mouse_event);
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // The web-content is not activated during mouse-press on Linux.
+ // See comment in WebContentsViewAura::OnMouseEvent() for more details.
+ EXPECT_NE(web_contents(), nullptr);
+@@ -297,7 +297,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) {
+ view->OnDragEntered(event);
+ ASSERT_NE(nullptr, view->current_drag_data_);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // By design, Linux implementations return an empty string if file data
+ // is also present.
+ EXPECT_TRUE(!view->current_drag_data_->text ||
+@@ -337,7 +337,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) {
+
+ CheckDropData(view);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // By design, Linux implementations returns an empty string if file data
+ // is also present.
+ EXPECT_TRUE(!drop_complete_data_->drop_data.text ||
+@@ -395,7 +395,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri
+ view->OnDragEntered(event);
+ ASSERT_NE(nullptr, view->current_drag_data_);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // By design, Linux implementations return an empty string if file data
+ // is also present.
+ EXPECT_TRUE(!view->current_drag_data_->text ||
+@@ -427,7 +427,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri
+
+ CheckDropData(view);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // By design, Linux implementations returns an empty string if file data is
+ // also present.
+ EXPECT_TRUE(!drop_complete_data_->drop_data.text ||
+@@ -458,7 +458,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropImageFro
+
+ auto data = std::make_unique<ui::OSExchangeData>();
+
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
+ // FileContents drag-drop in X relies on XDragDropClient::InitDrag() setting
+ // window property 'XdndDirectSave0' to filename. Since XDragDropClient is not
+ // created in this unittest, we will set this property manually to allow
diff --git a/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc
index 6be4cb14061e..f934127d06ba 100644
--- a/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc
+++ b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc
@@ -1,38 +1,11 @@
---- content/browser/webui/web_ui_main_frame_observer.cc.orig 2022-07-22 17:30:31 UTC
+--- content/browser/webui/web_ui_main_frame_observer.cc.orig 2025-02-19 07:43:18 UTC
+++ content/browser/webui/web_ui_main_frame_observer.cc
-@@ -13,7 +13,7 @@
- #include "content/public/browser/navigation_handle.h"
- #include "content/public/browser/web_ui_controller.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "base/callback_helpers.h"
- #include "base/feature_list.h"
- #include "base/logging.h"
-@@ -31,7 +31,7 @@ namespace content {
-
- namespace {
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Remove the pieces of the URL we don't want to send back with the error
- // reports. In particular, do not send query or fragments as those can have
- // privacy-sensitive information in them.
-@@ -55,7 +55,7 @@ WebUIMainFrameObserver::WebUIMainFrameObserver(WebUIIm
-
- WebUIMainFrameObserver::~WebUIMainFrameObserver() = default;
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void WebUIMainFrameObserver::OnDidAddMessageToConsole(
- RenderFrameHost* source_frame,
- blink::mojom::ConsoleMessageLevel log_level,
-@@ -163,7 +163,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation(
-
- // TODO(crbug.com/1129544) This is currently disabled due to Windows DLL
- // thunking issues. Fix & re-enable.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- MaybeEnableWebUIJavaScriptErrorReporting(navigation_handle);
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- }
+@@ -47,7 +47,7 @@ std::string RedactURL(const GURL& url) {
+ bool IsWebUIJavaScriptErrorReportingSupported() {
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ return false;
+-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return true;
+ #else
+ return base::FeatureList::IsEnabled(features::kWebUIJSErrorReportingExtended);
diff --git a/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h
deleted file mode 100644
index 20f198f06ca5..000000000000
--- a/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/webui/web_ui_main_frame_observer.h.orig 2022-07-22 17:30:31 UTC
-+++ content/browser/webui/web_ui_main_frame_observer.h
-@@ -44,7 +44,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W
-
- // TODO(crbug.com/1129544) This is currently disabled due to Windows DLL
- // thunking issues. Fix & re-enable.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // On official Google builds, capture and report JavaScript error messages on
- // WebUI surfaces back to Google. This allows us to fix JavaScript errors and
- // exceptions.
-@@ -60,7 +60,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W
- void ReadyToCommitNavigation(NavigationHandle* navigation_handle) override;
-
- private:
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void MaybeEnableWebUIJavaScriptErrorReporting(
- NavigationHandle* navigation_handle);
-
diff --git a/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc b/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc
index a722a9716c7e..6775c09486bd 100644
--- a/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc
+++ b/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc
@@ -1,6 +1,17 @@
---- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2022-02-28 16:54:41 UTC
+--- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2025-03-05 08:14:56 UTC
+++ content/browser/zygote_host/zygote_host_impl_linux.cc
-@@ -28,6 +28,7 @@ namespace content {
+@@ -23,8 +23,10 @@
+ #include "build/build_config.h"
+ #include "content/common/zygote/zygote_commands_linux.h"
+ #include "content/common/zygote/zygote_communication_linux.h"
++#if !BUILDFLAG(IS_BSD)
+ #include "content/common/zygote/zygote_handle_impl_linux.h"
+ #include "content/public/common/zygote/zygote_handle.h"
++#endif
+ #include "sandbox/linux/services/credentials.h"
+ #include "sandbox/linux/services/namespace_sandbox.h"
+ #include "sandbox/linux/suid/client/setuid_sandbox_host.h"
+@@ -42,6 +44,7 @@ namespace content {
namespace {
@@ -8,7 +19,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,
-@@ -49,6 +50,7 @@ bool ReceiveFixedMessage(int fd,
+@@ -64,6 +67,7 @@ bool ReceiveFixedMessage(int fd,
return false;
return true;
}
@@ -16,7 +27,7 @@
} // namespace
-@@ -58,9 +60,13 @@ ZygoteHost* ZygoteHost::GetInstance() {
+@@ -73,9 +77,13 @@ ZygoteHost* ZygoteHost::GetInstance() {
}
ZygoteHostImpl::ZygoteHostImpl()
@@ -30,7 +41,7 @@
sandbox_binary_(),
zygote_pids_lock_(),
zygote_pids_() {}
-@@ -73,6 +79,7 @@ ZygoteHostImpl* ZygoteHostImpl::GetInstance() {
+@@ -88,6 +96,7 @@ ZygoteHostImpl* ZygoteHostImpl::GetInstance() {
}
void ZygoteHostImpl::Init(const base::CommandLine& command_line) {
@@ -38,7 +49,7 @@
if (command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) {
return;
}
-@@ -123,6 +130,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com
+@@ -142,6 +151,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com
"you can try using --"
<< sandbox::policy::switches::kNoSandbox << ".";
}
@@ -46,15 +57,15 @@
}
void ZygoteHostImpl::AddZygotePid(pid_t pid) {
-@@ -147,6 +155,7 @@ pid_t ZygoteHostImpl::LaunchZygote(
+@@ -166,6 +176,7 @@ pid_t ZygoteHostImpl::LaunchZygote(
base::CommandLine* cmd_line,
base::ScopedFD* control_fd,
base::FileHandleMappingVector additional_remapped_fds) {
+#if !BUILDFLAG(IS_BSD)
int fds[2];
- CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds));
+ CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET | SOCK_CLOEXEC, 0, fds));
CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0]));
-@@ -214,9 +223,12 @@ pid_t ZygoteHostImpl::LaunchZygote(
+@@ -234,9 +245,12 @@ pid_t ZygoteHostImpl::LaunchZygote(
AddZygotePid(pid);
return pid;
diff --git a/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h b/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h
index f9214ed17401..beaab3f8c35e 100644
--- a/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h
+++ b/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h
@@ -1,21 +1,25 @@
---- content/browser/zygote_host/zygote_host_impl_linux.h.orig 2021-10-01 01:36:48 UTC
+--- content/browser/zygote_host/zygote_host_impl_linux.h.orig 2025-02-19 07:43:18 UTC
+++ content/browser/zygote_host/zygote_host_impl_linux.h
-@@ -42,8 +42,10 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos
+@@ -46,12 +46,14 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos
base::ScopedFD* control_fd,
base::FileHandleMappingVector additional_remapped_fds);
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
void AdjustRendererOOMScore(base::ProcessHandle process_handle,
int score) override;
+ #if BUILDFLAG(IS_CHROMEOS)
+ void ReinitializeLogging(uint32_t logging_dest,
+ base::PlatformFile log_file_fd) override;
+ #endif // BUILDFLAG(IS_CHROMEOS)
+#endif
+
bool HasZygote() { return !zygote_pids_.empty(); }
- private:
-@@ -57,9 +59,11 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos
+@@ -66,9 +68,11 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos
int renderer_sandbox_status_;
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
bool use_namespace_sandbox_;
bool use_suid_sandbox_;
bool use_suid_sandbox_for_adj_oom_score_;
diff --git a/www/chromium/files/patch-content_child_BUILD.gn b/www/chromium/files/patch-content_child_BUILD.gn
new file mode 100644
index 000000000000..67475a951683
--- /dev/null
+++ b/www/chromium/files/patch-content_child_BUILD.gn
@@ -0,0 +1,16 @@
+--- content/child/BUILD.gn.orig 2025-04-04 08:52:13 UTC
++++ content/child/BUILD.gn
+@@ -135,6 +135,13 @@ target(link_target_type, "child") {
+ ]
+ }
+
++ if (is_bsd) {
++ sources -= [
++ "sandboxed_process_thread_type_handler.cc",
++ "sandboxed_process_thread_type_handler.h",
++ ]
++ }
++
+ if (is_win) {
+ sources += [
+ "child_process_sandbox_support_impl_win.cc",
diff --git a/www/chromium/files/patch-content_child_child__process.cc b/www/chromium/files/patch-content_child_child__process.cc
index 415ff4285227..8f32ac959520 100644
--- a/www/chromium/files/patch-content_child_child__process.cc
+++ b/www/chromium/files/patch-content_child_child__process.cc
@@ -1,11 +1,20 @@
---- content/child/child_process.cc.orig 2022-07-22 17:30:31 UTC
+--- content/child/child_process.cc.orig 2025-04-04 08:52:13 UTC
+++ content/child/child_process.cc
-@@ -67,7 +67,7 @@ ChildProcess::ChildProcess(base::ThreadPriority io_thr
- DCHECK(!g_lazy_child_process_tls.Pointer()->Get());
- g_lazy_child_process_tls.Pointer()->Set(this);
+@@ -31,7 +31,7 @@
+ #include "content/common/android/cpu_time_metrics.h"
+ #endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const base::CommandLine& command_line =
- *base::CommandLine::ForCurrentProcess();
- const bool is_embedded_in_browser_process =
+ #include "content/child/sandboxed_process_thread_type_handler.h"
+ #endif
+
+@@ -177,7 +177,7 @@ void ChildProcess::set_main_thread(ChildThreadImpl* th
+ main_thread_.reset(thread);
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void ChildProcess::SetIOThreadType(base::ThreadType thread_type) {
+ if (!io_thread_) {
+ return;
diff --git a/www/chromium/files/patch-content_child_child__process.h b/www/chromium/files/patch-content_child_child__process.h
new file mode 100644
index 000000000000..8b7c855a26a3
--- /dev/null
+++ b/www/chromium/files/patch-content_child_child__process.h
@@ -0,0 +1,11 @@
+--- content/child/child_process.h.orig 2024-07-30 11:12:21 UTC
++++ content/child/child_process.h
+@@ -79,7 +79,7 @@ class CONTENT_EXPORT ChildProcess {
+ return io_thread_runner_.get();
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Changes the thread type of the child process IO thread.
+ void SetIOThreadType(base::ThreadType thread_type);
+ #endif
diff --git a/www/chromium/files/patch-content_common_BUILD.gn b/www/chromium/files/patch-content_common_BUILD.gn
index f1fa7ceea492..f81cb7852507 100644
--- a/www/chromium/files/patch-content_common_BUILD.gn
+++ b/www/chromium/files/patch-content_common_BUILD.gn
@@ -1,12 +1,36 @@
---- content/common/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- content/common/BUILD.gn.orig 2025-05-05 10:57:53 UTC
+++ content/common/BUILD.gn
-@@ -402,6 +402,9 @@ if (is_linux || is_chromeos) {
- public = [ "set_process_title_linux.h" ]
- sources = [ "set_process_title_linux.cc" ]
- deps = [ "//base" ]
-+ if (is_bsd) {
-+ sources -= [ "set_process_title_linux.cc" ]
-+ }
+@@ -382,19 +382,28 @@ source_set("common") {
}
- }
+ if (is_linux || is_chromeos) {
+- sources += [
+- "gpu_pre_sandbox_hook_linux.cc",
+- "gpu_pre_sandbox_hook_linux.h",
+- ]
++ if (is_bsd) {
++ sources += [
++ "gpu_pre_sandbox_hook_bsd.cc",
++ "gpu_pre_sandbox_hook_bsd.h",
++ ]
++ } else {
++ sources += [
++ "gpu_pre_sandbox_hook_linux.cc",
++ "gpu_pre_sandbox_hook_linux.h",
++ ]
++ }
+ public_deps += [ "//sandbox/policy" ]
+ deps += [
+ ":sandbox_support_linux",
+ "//media/gpu:buildflags",
+ "//sandbox/linux:sandbox_services",
+- "//sandbox/linux:seccomp_bpf",
+ "//sandbox/policy:chromecast_sandbox_allowlist_buildflags",
+ "//third_party/fontconfig",
+ ]
++ if (use_seccomp_bpf) {
++ deps += [ "//sandbox/linux:seccomp_bpf" ]
++ }
+ if (use_v4l2_codec) {
+ deps += [ "//media/gpu/v4l2" ]
+ }
diff --git a/www/chromium/files/patch-content_common_features.cc b/www/chromium/files/patch-content_common_features.cc
new file mode 100644
index 000000000000..9ec523b4f515
--- /dev/null
+++ b/www/chromium/files/patch-content_common_features.cc
@@ -0,0 +1,11 @@
+--- content/common/features.cc.orig 2025-07-02 06:08:04 UTC
++++ content/common/features.cc
+@@ -170,7 +170,7 @@ BASE_FEATURE(kEmbeddingRequiresOptIn,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
+ // Enables error reporting for JS errors inside DevTools frontend host
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kEnableDevToolsJsErrorReporting,
+ "EnableDevToolsJsErrorReporting",
+ base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-content_common_features.h b/www/chromium/files/patch-content_common_features.h
new file mode 100644
index 000000000000..4f17dd3bce7f
--- /dev/null
+++ b/www/chromium/files/patch-content_common_features.h
@@ -0,0 +1,11 @@
+--- content/common/features.h.orig 2025-07-02 06:08:04 UTC
++++ content/common/features.h
+@@ -60,7 +60,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCommittedOriginEn
+ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCommittedOriginTracking);
+ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCriticalClientHint);
+ CONTENT_EXPORT BASE_DECLARE_FEATURE(kDocumentPolicyNegotiation);
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnableDevToolsJsErrorReporting);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ CONTENT_EXPORT BASE_DECLARE_FEATURE(kEmbeddingRequiresOptIn);
diff --git a/www/chromium/files/patch-content_common_font__list__unittest.cc b/www/chromium/files/patch-content_common_font__list__unittest.cc
index 996f152fc989..8ae02d2af573 100644
--- a/www/chromium/files/patch-content_common_font__list__unittest.cc
+++ b/www/chromium/files/patch-content_common_font__list__unittest.cc
@@ -1,11 +1,11 @@
---- content/common/font_list_unittest.cc.orig 2022-05-19 14:06:27 UTC
+--- content/common/font_list_unittest.cc.orig 2024-05-21 18:07:39 UTC
+++ content/common/font_list_unittest.cc
-@@ -50,7 +50,7 @@ TEST(FontList, GetFontList) {
- EXPECT_TRUE(HasFontWithName(*fonts, "MS Gothic", "MS Gothic"));
- EXPECT_TRUE(HasFontWithName(*fonts, "Segoe UI", "Segoe UI"));
- EXPECT_TRUE(HasFontWithName(*fonts, "Verdana", "Verdana"));
+@@ -48,7 +48,7 @@ TEST(FontList, GetFontList) {
+ EXPECT_TRUE(HasFontWithName(fonts, "MS Gothic", "MS Gothic"));
+ EXPECT_TRUE(HasFontWithName(fonts, "Segoe UI", "Segoe UI"));
+ EXPECT_TRUE(HasFontWithName(fonts, "Verdana", "Verdana"));
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- EXPECT_TRUE(HasFontWithName(*fonts, "Arimo", "Arimo"));
+ EXPECT_TRUE(HasFontWithName(fonts, "Arimo", "Arimo"));
#else
- EXPECT_TRUE(HasFontWithName(*fonts, "Arial", "Arial"));
+ EXPECT_TRUE(HasFontWithName(fonts, "Arial", "Arial"));
diff --git a/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc
new file mode 100644
index 000000000000..b3b5ba3fb25d
--- /dev/null
+++ b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc
@@ -0,0 +1,71 @@
+--- content/common/gpu_pre_sandbox_hook_bsd.cc.orig 2024-04-19 13:02:56 UTC
++++ content/common/gpu_pre_sandbox_hook_bsd.cc
+@@ -0,0 +1,68 @@
++// 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/common/gpu_pre_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/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 GpuPreSandboxHook(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/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h
new file mode 100644
index 000000000000..353c0511a814
--- /dev/null
+++ b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h
@@ -0,0 +1,23 @@
+--- content/common/gpu_pre_sandbox_hook_bsd.h.orig 2024-01-30 07:53:34 UTC
++++ content/common/gpu_pre_sandbox_hook_bsd.h
+@@ -0,0 +1,20 @@
++// Copyright 2017 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_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_
++#define CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_
++
++#include "base/component_export.h"
++#include "sandbox/policy/sandbox.h"
++
++namespace content {
++
++// A pre-sandbox hook to use on Linux-based systems in sandboxed processes that
++// require general GPU usage.
++COMPONENT_EXPORT(GPU_PRE_SANDBOX_HOOK)
++bool GpuPreSandboxHook(sandbox::policy::SandboxLinux::Options options);
++
++} // namespace content
++
++#endif // CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_
diff --git a/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h
new file mode 100644
index 000000000000..c2eab1f687ba
--- /dev/null
+++ b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h
@@ -0,0 +1,16 @@
+--- content/common/gpu_pre_sandbox_hook_linux.h.orig 2024-04-19 13:02:56 UTC
++++ content/common/gpu_pre_sandbox_hook_linux.h
+@@ -5,8 +5,13 @@
+ #ifndef CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_LINUX_H_
+ #define CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_LINUX_H_
+
++#include "build/build_config.h"
+ #include "base/component_export.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/chromium/files/patch-content_common_mojo__core__library__support.cc b/www/chromium/files/patch-content_common_mojo__core__library__support.cc
deleted file mode 100644
index 06c2981025ca..000000000000
--- a/www/chromium/files/patch-content_common_mojo__core__library__support.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/common/mojo_core_library_support.cc.orig 2022-02-28 16:54:41 UTC
-+++ content/common/mojo_core_library_support.cc
-@@ -15,7 +15,7 @@ bool IsMojoCoreSharedLibraryEnabled() {
- }
-
- absl::optional<base::FilePath> GetMojoCoreSharedLibraryPath() {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const base::CommandLine& command_line =
- *base::CommandLine::ForCurrentProcess();
- if (!command_line.HasSwitch(switches::kMojoCoreLibraryPath))
diff --git a/www/chromium/files/patch-content_common_thread__type__switcher.mojom b/www/chromium/files/patch-content_common_thread__type__switcher.mojom
new file mode 100644
index 000000000000..212d7c3d32ce
--- /dev/null
+++ b/www/chromium/files/patch-content_common_thread__type__switcher.mojom
@@ -0,0 +1,10 @@
+--- content/common/thread_type_switcher.mojom.orig 2025-04-04 08:52:13 UTC
++++ content/common/thread_type_switcher.mojom
+@@ -10,6 +10,6 @@ import "mojo/public/mojom/base/thread_type.mojom";
+ // occur in a child process due to its sandbox, e.g. on Linux and ChromeOS.
+ interface ThreadTypeSwitcher {
+ // Asks the browser to change the type of thread.
+- SetThreadType(int32 platform_thread_id,
++ SetThreadType(uint64 platform_thread_id,
+ mojo_base.mojom.ThreadType thread_type);
+ };
diff --git a/www/chromium/files/patch-content_common_user__agent.cc b/www/chromium/files/patch-content_common_user__agent.cc
deleted file mode 100644
index 84da00b6b5d8..000000000000
--- a/www/chromium/files/patch-content_common_user__agent.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- content/common/user_agent.cc.orig 2022-05-19 14:06:27 UTC
-+++ content/common/user_agent.cc
-@@ -34,7 +34,7 @@ std::string GetUserAgentPlatform() {
- return "";
- #elif BUILDFLAG(IS_MAC)
- return "Macintosh; ";
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- return "X11; "; // strange, but that's what Firefox uses
- #elif BUILDFLAG(IS_ANDROID)
- return "Linux; ";
-@@ -260,6 +260,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons
- "Android %s", os_version.c_str()
- #elif BUILDFLAG(IS_FUCHSIA)
- "Fuchsia"
-+#elif BUILDFLAG(IS_BSD)
-+#if defined(__x86_64__)
-+ "Linux x86_64; %s %s",
-+#elif defined(__aarch64__)
-+ "Linux aarch64; %s %s",
-+#else
-+ "Linux i686; %s %s",
-+#endif
-+ unixinfo.sysname, // e.g. Linux
-+ cpu_type.c_str() // e.g. i686
- #elif BUILDFLAG(IS_POSIX)
- "%s %s",
- unixinfo.sysname, // e.g. Linux
diff --git a/www/chromium/files/patch-content_gpu_gpu__child__thread.cc b/www/chromium/files/patch-content_gpu_gpu__child__thread.cc
new file mode 100644
index 000000000000..2b2c00bc447f
--- /dev/null
+++ b/www/chromium/files/patch-content_gpu_gpu__child__thread.cc
@@ -0,0 +1,21 @@
+--- content/gpu/gpu_child_thread.cc.orig 2025-02-19 07:43:18 UTC
++++ content/gpu/gpu_child_thread.cc
+@@ -57,7 +57,7 @@
+ #include "third_party/skia/include/ports/SkFontConfigInterface.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "content/child/sandboxed_process_thread_type_handler.h"
+ #endif
+
+@@ -147,7 +147,8 @@ void GpuChildThread::Init(const base::TimeTicks& proce
+
+ viz_main_.gpu_service()->set_start_time(process_start_time);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++// XXX BSD
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
+ SandboxedProcessThreadTypeHandler::NotifyMainChildThreadCreated();
+ #endif
+
diff --git a/www/chromium/files/patch-content_gpu_gpu__main.cc b/www/chromium/files/patch-content_gpu_gpu__main.cc
index ab88635089ef..90a517be3aab 100644
--- a/www/chromium/files/patch-content_gpu_gpu__main.cc
+++ b/www/chromium/files/patch-content_gpu_gpu__main.cc
@@ -1,15 +1,22 @@
---- content/gpu/gpu_main.cc.orig 2022-07-22 17:30:31 UTC
+--- content/gpu/gpu_main.cc.orig 2025-07-02 06:08:04 UTC
+++ content/gpu/gpu_main.cc
-@@ -86,7 +86,7 @@
+@@ -105,10 +105,14 @@
#include "sandbox/win/src/sandbox.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "content/gpu/gpu_sandbox_hook_linux.h"
+ #include "content/child/sandboxed_process_thread_type_handler.h"
+ #include "content/common/gpu_pre_sandbox_hook_linux.h"
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#else
#include "sandbox/policy/linux/sandbox_linux.h"
++#endif
#include "sandbox/policy/sandbox_type.h"
-@@ -108,7 +108,7 @@ namespace content {
+ #endif
+
+@@ -126,7 +130,7 @@ namespace content {
namespace {
@@ -18,16 +25,16 @@
bool StartSandboxLinux(gpu::GpuWatchdogThread*,
const gpu::GPUInfo*,
const gpu::GpuPreferences&);
-@@ -170,7 +170,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel
- bool EnsureSandboxInitialized(gpu::GpuWatchdogThread* watchdog_thread,
+@@ -188,7 +192,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel
const gpu::GPUInfo* gpu_info,
const gpu::GpuPreferences& gpu_prefs) override {
+ GPU_STARTUP_TRACE_EVENT("gpu_main::EnsureSandboxInitialized");
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs);
#elif BUILDFLAG(IS_WIN)
return StartSandboxWindows(sandbox_info_);
-@@ -266,7 +266,7 @@ int GpuMain(MainFunctionParams parameters) {
+@@ -304,7 +308,7 @@ int GpuMain(MainFunctionParams parameters) {
std::make_unique<base::SingleThreadTaskExecutor>(
gpu_preferences.message_pump_type);
}
@@ -36,7 +43,17 @@
#error "Unsupported Linux platform."
#elif BUILDFLAG(IS_MAC)
// Cross-process CoreAnimation requires a CFRunLoop to function at all, and
-@@ -404,17 +404,19 @@ int GpuMain(MainFunctionParams parameters) {
+@@ -329,7 +333,8 @@ int GpuMain(MainFunctionParams parameters) {
+ base::PlatformThread::SetName("CrGpuMain");
+ mojo::InterfaceEndpointClient::SetThreadNameSuffixForMetrics("GpuMain");
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++// XXX BSD
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
+ // Thread type delegate of the process should be registered before
+ // thread type change below for the main thread and for thread pool in
+ // ChildProcess constructor.
+@@ -461,7 +466,7 @@ int GpuMain(MainFunctionParams parameters) {
namespace {
@@ -45,29 +62,12 @@
bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread,
const gpu::GPUInfo* gpu_info,
const gpu::GpuPreferences& gpu_prefs) {
- TRACE_EVENT0("gpu,startup", "Initialize sandbox");
-
-+#if !BUILDFLAG(IS_BSD)
- if (watchdog_thread) {
- // SandboxLinux needs to be able to ensure that the thread
- // has really been stopped.
- sandbox::policy::SandboxLinux::GetInstance()->StopThread(watchdog_thread);
- }
-+#endif
-
- // SandboxLinux::InitializeSandbox() must always be called
- // with only one thread.
-@@ -449,11 +451,13 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo
- *base::CommandLine::ForCurrentProcess()),
- base::BindOnce(GpuProcessPreSandboxHook), sandbox_options);
-
-+#if !BUILDFLAG(IS_BSD)
- if (watchdog_thread) {
- base::Thread::Options thread_options;
- thread_options.timer_slack = base::TIMER_SLACK_MAXIMUM;
- watchdog_thread->StartWithOptions(std::move(thread_options));
- }
-+#endif
+@@ -509,7 +514,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo
+ sandbox_options.accelerated_video_encode_enabled =
+ !gpu_prefs.disable_accelerated_video_encode;
- return res;
- }
+-#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.
+ // See https://crbug.com/1417237
diff --git a/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
deleted file mode 100644
index 3c19495edadf..000000000000
--- a/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
+++ /dev/null
@@ -1,70 +0,0 @@
---- content/gpu/gpu_sandbox_hook_linux.cc.orig 2022-07-22 17:30:31 UTC
-+++ content/gpu/gpu_sandbox_hook_linux.cc
-@@ -114,6 +114,7 @@ void AddStandardChromeOsPermissions(
- permissions->push_back(BrokerFilePermission::ReadOnly(kAngleGlesPath));
- }
-
-+#if !defined(OS_BSD)
- void AddV4L2GpuPermissions(
- std::vector<BrokerFilePermission>* permissions,
- const sandbox::policy::SandboxSeccompBPF::Options& options) {
-@@ -431,8 +432,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) {
-@@ -474,6 +477,7 @@ void LoadArmGpuLibraries() {
- dlopen(driver_paths[i], dlopen_flag);
- }
- }
-+#endif
- }
-
- bool LoadAmdGpuLibraries() {
-@@ -539,12 +543,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(
-@@ -571,6 +577,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;
-@@ -593,13 +600,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/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
index d84426e97588..5282341d40c8 100644
--- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
+++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
@@ -1,6 +1,6 @@
---- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2024-02-23 21:04:38 UTC
+++ content/ppapi_plugin/ppapi_blink_platform_impl.cc
-@@ -20,7 +20,7 @@
+@@ -21,7 +21,7 @@
#if BUILDFLAG(IS_MAC)
#include "content/child/child_process_sandbox_support_impl_mac.h"
@@ -9,7 +9,7 @@
#include "content/child/child_process_sandbox_support_impl_linux.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#endif
-@@ -35,7 +35,7 @@ typedef struct CGFont* CGFontRef;
+@@ -36,7 +36,7 @@ typedef struct CGFont* CGFontRef;
namespace content {
PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() {
@@ -18,7 +18,7 @@
mojo::PendingRemote<font_service::mojom::FontService> font_service;
ChildThread::Get()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -53,7 +53,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() {
+@@ -55,7 +55,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() {
void PpapiBlinkPlatformImpl::Shutdown() {}
blink::WebSandboxSupport* PpapiBlinkPlatformImpl::GetSandboxSupport() {
diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
index 49f8ee07eeb1..5143ca044cb9 100644
--- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
+++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
@@ -1,15 +1,6 @@
---- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2022-07-22 17:30:31 UTC
+--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2024-07-30 11:12:21 UTC
+++ 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
+@@ -36,7 +36,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/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc b/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc
index 05a4bce588bb..2d0f03ae81d3 100644
--- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc
+++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc
@@ -1,18 +1,18 @@
---- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2022-02-28 16:54:41 UTC
+--- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2025-03-05 08:14:56 UTC
+++ content/ppapi_plugin/ppapi_plugin_main.cc
-@@ -53,6 +53,11 @@
+@@ -52,6 +52,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
-@@ -136,7 +141,7 @@ int PpapiPluginMain(MainFunctionParams parameters) {
+@@ -139,7 +144,7 @@ int PpapiPluginMain(MainFunctionParams parameters) {
gin::V8Initializer::LoadV8Snapshot();
#endif
diff --git a/www/chromium/files/patch-content_public_browser_content__browser__client.cc b/www/chromium/files/patch-content_public_browser_content__browser__client.cc
new file mode 100644
index 000000000000..2ed8ac354006
--- /dev/null
+++ b/www/chromium/files/patch-content_public_browser_content__browser__client.cc
@@ -0,0 +1,11 @@
+--- content/public/browser/content_browser_client.cc.orig 2025-07-02 06:08:04 UTC
++++ content/public/browser/content_browser_client.cc
+@@ -1418,7 +1418,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem
+ // that can be adequately sandboxed.
+ // Currently Android's network service will not run out of process or sandboxed,
+ // so OutOfProcessSystemDnsResolution is not currently enabled on Android.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return true;
+ #else
+ return false;
diff --git a/www/chromium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h b/www/chromium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h
index 811739342f13..d8e7875777d7 100644
--- a/www/chromium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h
+++ b/www/chromium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h
@@ -1,16 +1,16 @@
---- content/public/browser/zygote_host/zygote_host_linux.h.orig 2021-04-14 18:41:03 UTC
+--- content/public/browser/zygote_host/zygote_host_linux.h.orig 2025-02-19 07:43:18 UTC
+++ content/public/browser/zygote_host/zygote_host_linux.h
-@@ -30,11 +30,13 @@ class ZygoteHost {
+@@ -34,11 +34,13 @@ class ZygoteHost {
// after the first render has been forked.
virtual int GetRendererSandboxStatus() = 0;
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
// Adjust the OOM score of the given renderer's PID. The allowed
// range for the score is [0, 1000], where higher values are more
// likely to be killed by the OOM killer.
virtual void AdjustRendererOOMScore(base::ProcessHandle process_handle,
int score) = 0;
+#endif
- };
- } // namespace content
+ #if BUILDFLAG(IS_CHROMEOS)
+ // Reinitialize logging for the Zygote processes. Needed on ChromeOS, which
diff --git a/www/chromium/files/patch-content_public_common_common__param__traits__macros.h b/www/chromium/files/patch-content_public_common_common__param__traits__macros.h
deleted file mode 100644
index 3aa00d157916..000000000000
--- a/www/chromium/files/patch-content_public_common_common__param__traits__macros.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/common_param_traits_macros.h.orig 2022-03-25 21:59:56 UTC
-+++ content/public/common/common_param_traits_macros.h
-@@ -128,7 +128,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/chromium/files/patch-content_public_common_content__features.cc b/www/chromium/files/patch-content_public_common_content__features.cc
index c54655b82251..2b7639e3f7f8 100644
--- a/www/chromium/files/patch-content_public_common_content__features.cc
+++ b/www/chromium/files/patch-content_public_common_content__features.cc
@@ -1,50 +1,35 @@
---- content/public/common/content_features.cc.orig 2022-07-22 17:30:31 UTC
+--- content/public/common/content_features.cc.orig 2025-07-02 06:08:04 UTC
+++ content/public/common/content_features.cc
-@@ -43,7 +43,7 @@ const base::Feature kAudioServiceOutOfProcess {
- "AudioServiceOutOfProcess",
- // TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being
- // built with OS_CHROMEOS instead of OS_LINUX.
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- base::FEATURE_ENABLED_BY_DEFAULT
+@@ -87,7 +87,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup,
+ // Runs the audio service in a separate process.
+ BASE_FEATURE(kAudioServiceOutOfProcess,
+ "AudioServiceOutOfProcess",
+-#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
-@@ -55,7 +55,7 @@ const base::Feature kAudioServiceOutOfProcess {
- // kAudioServiceOutOfProcess feature is enabled.
- const base::Feature kAudioServiceSandbox {
- "AudioServiceSandbox",
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -1268,9 +1268,9 @@ BASE_FEATURE(kWebAssemblyTiering,
+ BASE_FEATURE(kWebAssemblyTrapHandler,
+ "WebAssemblyTrapHandler",
+ #if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)) && \
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \
+ defined(ARCH_CPU_X86_64)) || \
+- ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \
++ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \
+ defined(ARCH_CPU_ARM64))
+ base::FEATURE_ENABLED_BY_DEFAULT
#else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -1035,7 +1035,7 @@ const base::Feature kWebAssemblyBaseline{"WebAssemblyB
- const base::Feature kWebAssemblyCodeProtection{
- "WebAssemblyCodeProtection", base::FEATURE_ENABLED_BY_DEFAULT};
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
- // Use memory protection keys in userspace (PKU) (if available) to protect code
- // JITed for WebAssembly. Fall back to traditional memory protection if
- // WebAssemblyCodeProtection is also enabled.
-@@ -1071,7 +1071,7 @@ const base::Feature kWebAssemblyTiering{"WebAssemblyTi
- const base::Feature kWebAssemblyTrapHandler {
- "WebAssemblyTrapHandler",
- #if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_MAC)) && \
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \
- defined(ARCH_CPU_X86_64)) || \
- (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64))
- base::FEATURE_ENABLED_BY_DEFAULT
-@@ -1147,7 +1147,11 @@ const base::Feature kWebUIReportOnlyTrustedTypes{
+@@ -1327,7 +1327,11 @@ BASE_FEATURE(kWebUIJSErrorReportingExtended,
// Controls whether the WebUSB API is enabled:
// https://wicg.github.io/webusb
+#if BUILDFLAG(IS_BSD)
-+const base::Feature kWebUsb{"WebUSB", base::FEATURE_DISABLED_BY_DEFAULT};
++BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_DISABLED_BY_DEFAULT);
+#else
- const base::Feature kWebUsb{"WebUSB", base::FEATURE_ENABLED_BY_DEFAULT};
+ BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_ENABLED_BY_DEFAULT);
+#endif
// Controls whether the WebXR Device API is enabled.
- const base::Feature kWebXr{"WebXR", base::FEATURE_ENABLED_BY_DEFAULT};
+ BASE_FEATURE(kWebXr, "WebXR", base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-content_public_common_content__features.h b/www/chromium/files/patch-content_public_common_content__features.h
deleted file mode 100644
index a318696d7b6a..000000000000
--- a/www/chromium/files/patch-content_public_common_content__features.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/content_features.h.orig 2022-07-22 17:30:31 UTC
-+++ content/public/common/content_features.h
-@@ -259,7 +259,7 @@ CONTENT_EXPORT extern const base::Feature kV8VmFuture;
- CONTENT_EXPORT extern const base::Feature kWebAppWindowControlsOverlay;
- CONTENT_EXPORT extern const base::Feature kWebAssemblyBaseline;
- CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtection;
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
- CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtectionPku;
- #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) &&
- // defined(ARCH_CPU_X86_64)
diff --git a/www/chromium/files/patch-content_public_common_content__switches.cc b/www/chromium/files/patch-content_public_common_content__switches.cc
index 7e743c1f4e24..41276ee15739 100644
--- a/www/chromium/files/patch-content_public_common_content__switches.cc
+++ b/www/chromium/files/patch-content_public_common_content__switches.cc
@@ -1,6 +1,6 @@
---- content/public/common/content_switches.cc.orig 2022-07-22 17:30:31 UTC
+--- content/public/common/content_switches.cc.orig 2025-05-28 14:55:43 UTC
+++ content/public/common/content_switches.cc
-@@ -369,6 +369,8 @@ const char kEnableGpuMemoryBufferVideoFrames[] =
+@@ -345,6 +345,8 @@ const char kEnableIsolatedWebAppsInRenderer[] =
// builds.
const char kEnableLogging[] = "enable-logging";
@@ -9,12 +9,12 @@
// 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.
-@@ -972,7 +974,7 @@ const char kEnableAutomation[] = "enable-automation";
+@@ -952,7 +954,7 @@ const char kPreventResizingContentsForTesting[] =
+ "prevent-resizing-contents-for-testing";
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Allows sending text-to-speech requests to speech-dispatcher, a common
// Linux speech service. Because it's buggy, the user must explicitly
// enable it so that visiting a random webpage can't cause instability.
diff --git a/www/chromium/files/patch-content_public_common_content__switches.h b/www/chromium/files/patch-content_public_common_content__switches.h
index 121b776fb5e6..b70d16bb9102 100644
--- a/www/chromium/files/patch-content_public_common_content__switches.h
+++ b/www/chromium/files/patch-content_public_common_content__switches.h
@@ -1,19 +1,19 @@
---- content/public/common/content_switches.h.orig 2022-07-22 17:30:31 UTC
+--- content/public/common/content_switches.h.orig 2025-05-28 14:55:43 UTC
+++ content/public/common/content_switches.h
-@@ -118,6 +118,7 @@ CONTENT_EXPORT extern const char kEnableBlinkTestFeatu
- CONTENT_EXPORT extern const char kEnableGpuMemoryBufferVideoFrames[];
+@@ -108,6 +108,7 @@ CONTENT_EXPORT extern const char kEnableGpuMemoryBuffe
+ CONTENT_EXPORT extern const char kEnableIsolatedWebAppsInRenderer[];
CONTENT_EXPORT extern const char kEnableLCDText[];
CONTENT_EXPORT extern const char kEnableLogging[];
+CONTENT_EXPORT extern const char kDisableUnveil[];
CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[];
CONTENT_EXPORT extern const char kEnableCanvas2DLayers[];
CONTENT_EXPORT extern const char kEnablePluginPlaceholderTesting[];
-@@ -263,7 +264,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD
+@@ -259,7 +260,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD
+ CONTENT_EXPORT extern const char kPreventResizingContentsForTesting[];
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
CONTENT_EXPORT extern const char kEnableSpeechDispatcher[];
#endif
diff --git a/www/chromium/files/patch-content_public_common_zygote_features.gni b/www/chromium/files/patch-content_public_common_zygote_features.gni
index 7ad8e57f04b2..443b01a4b88b 100644
--- a/www/chromium/files/patch-content_public_common_zygote_features.gni
+++ b/www/chromium/files/patch-content_public_common_zygote_features.gni
@@ -1,8 +1,8 @@
---- content/public/common/zygote/features.gni.orig 2021-04-14 18:41:03 UTC
+--- content/public/common/zygote/features.gni.orig 2023-04-05 11:05:06 UTC
+++ content/public/common/zygote/features.gni
@@ -2,4 +2,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
--use_zygote_handle = is_posix && !is_android && !is_mac
-+use_zygote_handle = is_posix && !is_android && !is_mac && !is_bsd
+-use_zygote = is_posix && !is_android && !is_apple
++use_zygote = is_posix && !is_android && !is_mac && !is_bsd
diff --git a/www/chromium/files/patch-content_public_test_mock__render__thread.cc b/www/chromium/files/patch-content_public_test_mock__render__thread.cc
deleted file mode 100644
index 18b5da418b1b..000000000000
--- a/www/chromium/files/patch-content_public_test_mock__render__thread.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/test/mock_render_thread.cc.orig 2022-07-22 17:30:31 UTC
-+++ content/public/test/mock_render_thread.cc
-@@ -63,7 +63,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend
- std::move(callback).Run(false);
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void SetThreadPriority(int32_t platform_thread_id,
- base::ThreadPriority thread_priority) override {}
- #endif
diff --git a/www/chromium/files/patch-content_renderer_media_render__media__client.cc b/www/chromium/files/patch-content_renderer_media_render__media__client.cc
deleted file mode 100644
index 7d6d77b25761..000000000000
--- a/www/chromium/files/patch-content_renderer_media_render__media__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/renderer/media/render_media_client.cc.orig 2022-06-10 07:26:31 UTC
-+++ content/renderer/media/render_media_client.cc
-@@ -21,7 +21,7 @@ namespace {
- // it asynchronously ahead of time, but can fallback to a blocking call
- // when it's needed synchronously.
- #if BUILDFLAG(ENABLE_PLATFORM_HEVC) && \
-- (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX))
-+ (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
- #define NEEDS_PROFILE_UPDATER 1
- #else
- #define NEEDS_PROFILE_UPDATER 0
diff --git a/www/chromium/files/patch-content_renderer_render__process__impl.cc b/www/chromium/files/patch-content_renderer_render__process__impl.cc
deleted file mode 100644
index 582c59b45912..000000000000
--- a/www/chromium/files/patch-content_renderer_render__process__impl.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/renderer/render_process_impl.cc.orig 2022-07-22 17:30:31 UTC
-+++ content/renderer/render_process_impl.cc
-@@ -46,7 +46,7 @@
- #if BUILDFLAG(IS_WIN)
- #include "base/win/win_util.h"
- #endif
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
- #include "v8/include/v8-wasm-trap-handler-posix.h"
- #endif
-
-@@ -138,7 +138,7 @@ RenderProcessImpl::RenderProcessImpl()
- SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtection,
- "--no-wasm-write-protect-code-memory");
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
- SetV8FlagIfFeature(features::kWebAssemblyCodeProtectionPku,
- "--wasm-memory-protection-keys");
- SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtectionPku,
-@@ -224,7 +224,7 @@ RenderProcessImpl::RenderProcessImpl()
-
- v8::V8::SetFlagsFromString("--freeze-flags-after-init");
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
- if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) {
- if (command_line->HasSwitch(switches::kEnableCrashpad) ||
- command_line->HasSwitch(switches::kEnableCrashReporter) ||
diff --git a/www/chromium/files/patch-content_renderer_render__thread__impl.cc b/www/chromium/files/patch-content_renderer_render__thread__impl.cc
index 3ed21c265bec..5c2470edebc0 100644
--- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc
+++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc
@@ -1,47 +1,38 @@
---- content/renderer/render_thread_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- content/renderer/render_thread_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ content/renderer/render_thread_impl.cc
-@@ -187,7 +187,7 @@
+@@ -204,6 +204,8 @@
- #if BUILDFLAG(IS_MAC)
+ #if BUILDFLAG(IS_APPLE)
#include <malloc/malloc.h>
--#else
-+#elif !BUILDFLAG(IS_OPENBSD)
++#elif BUILDFLAG(IS_BSD)
++#include <stdlib.h>
+ #else
#include <malloc.h>
#endif
-
-@@ -669,7 +669,7 @@ void RenderThreadImpl::Init() {
- DCHECK(parsed_num_raster_threads) << string_value;
- DCHECK_GT(num_raster_threads, 0);
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- categorized_worker_pool_->SetBackgroundingCallback(
- main_thread_scheduler_->DefaultTaskRunner(),
- base::BindOnce(
-@@ -692,7 +692,7 @@ void RenderThreadImpl::Init() {
- base::DiscardableMemoryAllocator::SetInstance(
- discardable_memory_allocator_.get());
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (base::FeatureList::IsEnabled(
- blink::features::kBlinkCompositorUseDisplayThreadPriority)) {
- render_message_filter()->SetThreadPriority(
-@@ -1039,7 +1039,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+@@ -1066,7 +1068,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+ kGpuStreamIdMedia, kGpuStreamPriorityMedia);
const bool enable_video_decode_accelerator =
-
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) &&
- #else
+ base::FeatureList::IsEnabled(media::kAcceleratedVideoDecodeLinux) &&
+ #endif // BUILDFLAG(IS_LINUX)
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) &&
-@@ -1050,7 +1050,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+@@ -1075,7 +1077,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+ gpu::kGpuFeatureStatusEnabled);
const bool enable_video_encode_accelerator =
-
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux) &&
+ base::FeatureList::IsEnabled(media::kAcceleratedVideoEncodeLinux) &&
#else
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) &&
+@@ -1850,7 +1852,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory(
+ bool enable_video_encode_accelerator) {
+ mojo::PendingRemote<media::mojom::VideoEncodeAcceleratorProvider>
+ vea_provider;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoEncoding)) {
+ BindHostReceiver(vea_provider.InitWithNewPipeAndPassReceiver());
+ } else {
diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
index cd7e92e4f28e..1ebc4e9e1eba 100644
--- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
+++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
@@ -1,16 +1,23 @@
---- content/renderer/renderer_blink_platform_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- content/renderer/renderer_blink_platform_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ content/renderer/renderer_blink_platform_impl.cc
-@@ -110,7 +110,7 @@
+@@ -123,7 +123,7 @@
#if BUILDFLAG(IS_MAC)
#include "content/child/child_process_sandbox_support_impl_mac.h"
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "content/child/child_process_sandbox_support_impl_linux.h"
+ #include "content/child/sandboxed_process_thread_type_handler.h"
+ #endif
+@@ -191,13 +191,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
+ is_locked_to_site_(false),
+ main_thread_scheduler_(main_thread_scheduler),
+ next_frame_sink_id_(uint32_t{std::numeric_limits<int32_t>::max()} + 1) {
+-#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
-@@ -179,7 +179,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
- main_thread_scheduler_(main_thread_scheduler) {
// RenderThread may not exist in some tests.
if (RenderThreadImpl::current()) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -18,31 +25,21 @@
mojo::PendingRemote<font_service::mojom::FontService> font_service;
RenderThreadImpl::current()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -189,7 +189,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
- #endif
+@@ -222,7 +222,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
}
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
if (sandboxEnabled()) {
#if BUILDFLAG(IS_MAC)
sandbox_support_ = std::make_unique<WebSandboxSupportMac>();
-@@ -278,7 +278,8 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory(
- /*terminate_sync_load_event=*/nullptr);
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+// pledge
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
- void RendererBlinkPlatformImpl::SetDisplayThreadPriority(
- base::PlatformThreadId thread_id) {
- if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) {
-@@ -293,7 +294,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop
- }
+@@ -295,7 +295,7 @@ RendererBlinkPlatformImpl::GetWebUIBundledCodeCacheRes
blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
return sandbox_support_.get();
#else
// These platforms do not require sandbox support.
diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
index 1696ad00b92b..a075eb8670bd 100644
--- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
+++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
@@ -1,29 +1,11 @@
---- content/renderer/renderer_blink_platform_impl.h.orig 2022-07-22 17:30:31 UTC
+--- content/renderer/renderer_blink_platform_impl.h.orig 2025-05-28 14:55:43 UTC
+++ content/renderer/renderer_blink_platform_impl.h
-@@ -29,7 +29,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
-@@ -253,7 +253,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
- void Collect3DContextInformation(blink::Platform::GraphicsInfo* gl_info,
+@@ -266,7 +266,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
const gpu::GPUInfo& gpu_info) const;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
#endif
-@@ -275,7 +275,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/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc
index 5d669f32c57e..41d3af2ad69f 100644
--- a/www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc
+++ b/www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc
@@ -1,10 +1,10 @@
---- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2022-02-28 16:54:41 UTC
+--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ 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/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn
index 8abb1411df77..05cda5599dae 100644
--- a/www/chromium/files/patch-content_shell_BUILD.gn
+++ b/www/chromium/files/patch-content_shell_BUILD.gn
@@ -1,6 +1,6 @@
---- content/shell/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- content/shell/BUILD.gn.orig 2025-05-28 14:55:43 UTC
+++ content/shell/BUILD.gn
-@@ -880,7 +880,7 @@ group("content_shell_crash_test") {
+@@ -1111,7 +1111,7 @@ group("content_shell_crash_test") {
if (is_win) {
data_deps += [ "//build/win:copy_cdb_to_output" ]
}
diff --git a/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc b/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc
index 936eb5d2e183..46de71dd125c 100644
--- a/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc
+++ b/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc
@@ -1,6 +1,6 @@
---- content/shell/app/shell_main_delegate.cc.orig 2022-02-28 16:54:41 UTC
+--- content/shell/app/shell_main_delegate.cc.orig 2025-07-02 06:08:04 UTC
+++ content/shell/app/shell_main_delegate.cc
-@@ -211,7 +211,7 @@ void ShellMainDelegate::PreSandboxStartup() {
+@@ -270,7 +270,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/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc b/www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc
index f3be501ed62b..8201adc90d41 100644
--- a/www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc
+++ b/www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc
@@ -1,47 +1,47 @@
---- content/shell/browser/shell_browser_main_parts.cc.orig 2022-06-17 14:20:10 UTC
+--- content/shell/browser/shell_browser_main_parts.cc.orig 2025-04-04 08:52:13 UTC
+++ content/shell/browser/shell_browser_main_parts.cc
@@ -50,7 +50,7 @@
#include "net/base/network_change_notifier.h"
#endif
--#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))
+-#if BUILDFLAG(IS_LINUX) && defined(USE_AURA)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_AURA)
#include "ui/base/ime/init/input_method_initializer.h"
#endif
-@@ -65,7 +65,7 @@
- #include "chromeos/lacros/dbus/lacros_dbus_thread_manager.h"
+@@ -61,7 +61,7 @@
+ #include "device/bluetooth/floss/floss_features.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/views/linux_ui/linux_ui.h" // nogncheck
- #include "ui/views/linux_ui/linux_ui_factory.h" // nogncheck
- #endif
-@@ -129,7 +129,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop(
+ #include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h"
+ #include "ui/linux/linux_ui.h" // nogncheck
+ #include "ui/linux/linux_ui_factory.h" // nogncheck
+@@ -128,7 +128,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop(
}
int ShellBrowserMainParts::PreEarlyInitialization() {
--#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))
+-#if BUILDFLAG(IS_LINUX) && defined(USE_AURA)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_AURA)
ui::InitializeInputMethodForTesting();
- #endif
- #if BUILDFLAG(IS_ANDROID)
-@@ -153,7 +153,7 @@ void ShellBrowserMainParts::ToolkitInitialized() {
+ #elif BUILDFLAG(IS_ANDROID)
+ net::NetworkChangeNotifier::SetFactory(
+@@ -156,7 +156,7 @@ void ShellBrowserMainParts::ToolkitInitialized() {
if (switches::IsRunWebTestsSwitchPresent())
return;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- views::LinuxUI::SetInstance(CreateLinuxUi());
+ ui::LinuxUi::SetInstance(ui::GetDefaultLinuxUi());
#endif
}
-@@ -196,7 +196,7 @@ void ShellBrowserMainParts::PostMainMessageLoopRun() {
+@@ -203,7 +203,7 @@ void ShellBrowserMainParts::PostMainMessageLoopRun() {
ShellDevToolsManagerDelegate::StopHttpHandler();
browser_context_.reset();
off_the_record_browser_context_.reset();
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- views::LinuxUI::SetInstance(nullptr);
+ ui::LinuxUi::SetInstance(nullptr);
#endif
performance_manager_lifetime_.reset();
diff --git a/www/chromium/files/patch-content_shell_browser_shell__paths.cc b/www/chromium/files/patch-content_shell_browser_shell__paths.cc
deleted file mode 100644
index c00a1c66a5a2..000000000000
--- a/www/chromium/files/patch-content_shell_browser_shell__paths.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/shell/browser/shell_paths.cc.orig 2022-02-28 16:54:41 UTC
-+++ content/shell/browser/shell_paths.cc
-@@ -13,7 +13,7 @@
-
- #if BUILDFLAG(IS_FUCHSIA)
- #include "base/fuchsia/file_utils.h"
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "base/nix/xdg_util.h"
- #endif
-
-@@ -25,7 +25,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul
- #if BUILDFLAG(IS_WIN)
- CHECK(base::PathService::Get(base::DIR_LOCAL_APP_DATA, result));
- *result = result->Append(std::wstring(L"content_shell"));
--#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());
- base::FilePath config_dir(base::nix::GetXDGDirectory(
- env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir));
diff --git a/www/chromium/files/patch-content_shell_browser_shell__platform__delegate__views.cc b/www/chromium/files/patch-content_shell_browser_shell__platform__delegate__views.cc
new file mode 100644
index 000000000000..4547857015b5
--- /dev/null
+++ b/www/chromium/files/patch-content_shell_browser_shell__platform__delegate__views.cc
@@ -0,0 +1,11 @@
+--- content/shell/browser/shell_platform_delegate_views.cc.orig 2025-05-05 10:57:53 UTC
++++ content/shell/browser/shell_platform_delegate_views.cc
+@@ -373,7 +373,7 @@ void ShellPlatformDelegate::CreatePlatformWindow(
+ views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET);
+ params.bounds = gfx::Rect(initial_size);
+ params.delegate = delegate.release();
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ params.wm_class_class = "chromium-content_shell";
+ params.wm_class_name = params.wm_class_class;
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc b/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc
new file mode 100644
index 000000000000..26421ce2a6fc
--- /dev/null
+++ b/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc
@@ -0,0 +1,11 @@
+--- content/shell/renderer/shell_content_renderer_client.cc.orig 2025-02-19 07:43:18 UTC
++++ content/shell/renderer/shell_content_renderer_client.cc
+@@ -55,7 +55,7 @@
+ #include "media/base/media_switches.h"
+ #endif
+
+-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
+ (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64))
+ #define ENABLE_WEB_ASSEMBLY_TRAP_HANDLER_LINUX
+ #include "base/debug/stack_trace.h"
diff --git a/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc
index 1889f5641698..8d59de4f66eb 100644
--- a/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc
+++ b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc
@@ -1,6 +1,6 @@
---- content/shell/utility/shell_content_utility_client.cc.orig 2022-02-28 16:54:41 UTC
+--- content/shell/utility/shell_content_utility_client.cc.orig 2025-03-05 08:14:56 UTC
+++ content/shell/utility/shell_content_utility_client.cc
-@@ -32,7 +32,7 @@
+@@ -43,7 +43,7 @@
#include "sandbox/policy/sandbox.h"
#include "services/test/echo/echo_service.h"
@@ -9,10 +9,10 @@
#include "content/test/sandbox_status_service.h"
#endif
-@@ -142,7 +142,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow
+@@ -192,7 +192,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow
binders->Add<mojom::PowerMonitorTest>(
base::BindRepeating(&PowerMonitorTestImpl::MakeSelfOwnedReceiver),
- base::ThreadTaskRunnerHandle::Get());
+ base::SingleThreadTaskRunner::GetCurrentDefault());
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (register_sandbox_status_helper_) {
diff --git a/www/chromium/files/patch-content_test_BUILD.gn b/www/chromium/files/patch-content_test_BUILD.gn
deleted file mode 100644
index c635fb7ee1aa..000000000000
--- a/www/chromium/files/patch-content_test_BUILD.gn
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/test/BUILD.gn.orig 2022-07-22 17:30:31 UTC
-+++ content/test/BUILD.gn
-@@ -2025,7 +2025,7 @@ static_library("run_all_unittests") {
- ":test_support",
- "//base/test:test_support",
- ]
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [ "//content/common:set_process_title_linux" ]
- }
- }
-@@ -2994,7 +2994,7 @@ test("content_unittests") {
- deps += [ "//third_party/boringssl" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [ "../common/set_process_title_linux_unittest.cc" ]
- deps += [ "//content/common:set_process_title_linux" ]
- }
diff --git a/www/chromium/files/patch-content_utility_services.cc b/www/chromium/files/patch-content_utility_services.cc
index 52ef008f17cc..2f938f3a09db 100644
--- a/www/chromium/files/patch-content_utility_services.cc
+++ b/www/chromium/files/patch-content_utility_services.cc
@@ -1,6 +1,6 @@
---- content/utility/services.cc.orig 2022-07-22 17:30:31 UTC
+--- content/utility/services.cc.orig 2025-07-02 06:08:04 UTC
+++ content/utility/services.cc
-@@ -63,7 +63,7 @@
+@@ -73,7 +73,7 @@
extern sandbox::TargetServices* g_utility_target_services;
#endif // BUILDFLAG(IS_WIN)
@@ -9,16 +9,7 @@
#include "sandbox/linux/services/libc_interceptor.h"
#include "sandbox/policy/mojom/sandbox.mojom.h"
#include "sandbox/policy/sandbox_type.h"
-@@ -85,7 +85,7 @@ extern sandbox::TargetServices* g_utility_target_servi
- #endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) ||
- // BUILDFLAG(USE_V4L2_CODEC))
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \
- (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
- #include "media/mojo/services/stable_video_decoder_factory_service.h" // nogncheck
- #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) &&
-@@ -198,7 +198,7 @@ auto RunAudio(mojo::PendingReceiver<audio::mojom::Audi
+@@ -233,7 +233,7 @@ auto RunAudio(mojo::PendingReceiver<audio::mojom::Audi
<< "task_policy_set TASK_QOS_POLICY";
#endif
@@ -27,21 +18,3 @@
auto* command_line = base::CommandLine::ForCurrentProcess();
if (sandbox::policy::SandboxTypeFromCommandLine(*command_line) ==
sandbox::mojom::Sandbox::kNoSandbox) {
-@@ -288,7 +288,7 @@ auto RunOOPArcVideoAcceleratorFactoryService(
- #endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) ||
- // BUILDFLAG(USE_V4L2_CODEC))
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \
- (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
- auto RunStableVideoDecoderFactoryService(
- mojo::PendingReceiver<media::stable::mojom::StableVideoDecoderFactory>
-@@ -342,7 +342,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
- #endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) ||
- // BUILDFLAG(USE_V4L2_CODEC))
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \
- (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
- services.Add(RunStableVideoDecoderFactoryService);
- #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) &&
diff --git a/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc b/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc
index 356f7e6daae0..3d37d2ec6bed 100644
--- a/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc
+++ b/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc
@@ -1,17 +1,17 @@
---- content/utility/speech/speech_recognition_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC
+--- content/utility/speech/speech_recognition_sandbox_hook_linux.cc.orig 2024-04-19 13:02:56 UTC
+++ content/utility/speech/speech_recognition_sandbox_hook_linux.cc
@@ -12,11 +12,14 @@
#include "sandbox/linux/syscall_broker/broker_command.h"
#include "sandbox/linux/syscall_broker/broker_file_permission.h"
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
using sandbox::syscall_broker::BrokerFilePermission;
using sandbox::syscall_broker::MakeBrokerCommandSet;
+#endif
namespace speech {
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
namespace {
// Gets the file permissions required by the Speech On-Device API (SODA).
@@ -23,13 +23,13 @@
bool SpeechRecognitionPreSandboxHook(
sandbox::policy::SandboxLinux::Options options) {
-+#if !defined(OS_BSD)
- #if BUILDFLAG(ENABLE_SODA)
++#if !BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(ENABLE_SODA_INTEGRATION_TESTS)
base::FilePath test_binary_path = GetSodaTestBinaryPath();
DVLOG(0) << "SODA test binary path: " << test_binary_path.value().c_str();
-@@ -77,6 +82,7 @@ bool SpeechRecognitionPreSandboxHook(
- sandbox::policy::SandboxLinux::PreSandboxHook(),
- options);
+@@ -75,6 +80,7 @@ bool SpeechRecognitionPreSandboxHook(
+ }),
+ GetSodaFilePermissions(), options);
instance->EngageNamespaceSandboxIfPossible();
+#endif
diff --git a/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h b/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h
index 77c79a0e7c8d..2f9a7bb47448 100644
--- a/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h
+++ b/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h
@@ -1,11 +1,13 @@
---- content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
+--- content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2023-09-13 12:11:42 UTC
+++ 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/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
index 1f2efe71edd0..56a2020d394b 100644
--- a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
+++ b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
@@ -1,4 +1,4 @@
---- content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2025-03-05 08:14:56 UTC
+++ content/utility/utility_blink_platform_with_sandbox_support_impl.cc
@@ -9,7 +9,7 @@
@@ -7,9 +7,9 @@
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "content/child/child_process_sandbox_support_impl_linux.h"
- #endif
-
-@@ -17,7 +17,7 @@ namespace content {
+ #elif BUILDFLAG(IS_WIN)
+ #include "content/child/child_process_sandbox_support_impl_win.h"
+@@ -19,7 +19,7 @@ namespace content {
UtilityBlinkPlatformWithSandboxSupportImpl::
UtilityBlinkPlatformWithSandboxSupportImpl() {
@@ -18,12 +18,12 @@
mojo::PendingRemote<font_service::mojom::FontService> font_service;
UtilityThread::Get()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -34,7 +34,7 @@ UtilityBlinkPlatformWithSandboxSupportImpl::
-
+@@ -40,7 +40,7 @@ UtilityBlinkPlatformWithSandboxSupportImpl::
blink::WebSandboxSupport*
UtilityBlinkPlatformWithSandboxSupportImpl::GetSandboxSupport() {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
return sandbox_support_.get();
#else
return nullptr;
diff --git a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
index a9f9964ff3a1..34259cf2bd22 100644
--- a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
+++ b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
@@ -1,24 +1,11 @@
---- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2022-02-28 16:54:41 UTC
+--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2025-03-05 08:14:56 UTC
+++ 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
- blink::WebSandboxSupport* GetSandboxSupport() override;
+@@ -34,7 +34,7 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub
private:
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || 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/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc
index 40d5204bcd3e..f8b3e99ab9e0 100644
--- a/www/chromium/files/patch-content_utility_utility__main.cc
+++ b/www/chromium/files/patch-content_utility_utility__main.cc
@@ -1,70 +1,104 @@
---- content/utility/utility_main.cc.orig 2022-07-22 17:30:31 UTC
+--- content/utility/utility_main.cc.orig 2025-07-02 06:08:04 UTC
+++ content/utility/utility_main.cc
-@@ -31,17 +31,19 @@
- #include "third_party/icu/source/common/unicode/unistr.h"
- #include "third_party/icu/source/i18n/unicode/timezone.h"
+@@ -37,15 +37,19 @@
+ #include "services/tracing/public/cpp/trace_startup.h"
+ #include "services/video_effects/public/cpp/buildflags.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"
+ #include "content/child/sandboxed_process_thread_type_handler.h"
++#if !BUILDFLAG(IS_BSD)
+ #include "content/common/gpu_pre_sandbox_hook_linux.h"
++#endif
+ #include "content/public/common/content_descriptor_keys.h"
#include "content/utility/speech/speech_recognition_sandbox_hook_linux.h"
- #if BUILDFLAG(ENABLE_PRINTING)
- #include "printing/sandbox/print_backend_sandbox_hook_linux.h"
- #endif
+#if !BUILDFLAG(IS_BSD)
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
#include "services/audio/audio_sandbox_hook_linux.h"
#include "services/network/network_sandbox_hook_linux.h"
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- #include "gpu/config/gpu_info_collector.h"
- #include "media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h"
+ #include "services/screen_ai/buildflags/buildflags.h"
+@@ -70,7 +74,12 @@
-@@ -50,6 +52,10 @@
- #include "third_party/angle/src/gpu_info_util/SystemInfo.h" // nogncheck
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(ENABLE_VIDEO_EFFECTS) && BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox.h"
++#include "content/common/gpu_pre_sandbox_hook_bsd.h"
+#endif
+
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- #include "ash/services/ime/ime_sandbox_hook.h"
- #include "chromeos/ash/components/assistant/buildflags.h"
-@@ -129,7 +135,7 @@ int UtilityMain(MainFunctionParams parameters) {
- }
++#if BUILDFLAG(ENABLE_VIDEO_EFFECTS) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ #include "services/video_effects/video_effects_sandbox_hook_linux.h" // nogncheck
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -105,7 +114,7 @@
+ sandbox::TargetServices* g_utility_target_services = nullptr;
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ #include "components/services/on_device_translation/sandbox_hook.h"
+ #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && BUILDFLAG(IS_LINUX)
+
+@@ -113,7 +122,7 @@ namespace content {
+
+ 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(
+@@ -252,7 +261,8 @@ int UtilityMain(MainFunctionParams parameters) {
+ CHECK(on_device_model::OnDeviceModelService::PreSandboxInit());
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++// XXX BSD
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
+ // Thread type delegate of the process should be registered before first
+ // thread type change in ChildProcess constructor. It also needs to be
+ // registered before the process has multiple threads, which may race with
+@@ -260,7 +270,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ SandboxedProcessThreadTypeHandler::Create();
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Initializes the sandbox before any threads are created.
// TODO(jorgelo): move this after GTK initialization when we enable a strict
// Seccomp-BPF policy.
-@@ -157,7 +163,7 @@ int UtilityMain(MainFunctionParams parameters) {
- pre_sandbox_hook = base::BindOnce(&screen_ai::ScreenAIPreSandboxHook);
+@@ -292,7 +302,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ pre_sandbox_hook =
+ base::BindOnce(&speech::SpeechRecognitionPreSandboxHook);
break;
+-#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ case sandbox::mojom::Sandbox::kOnDeviceTranslation:
+ pre_sandbox_hook = base::BindOnce(
+ &on_device_translation::OnDeviceTranslationSandboxHook);
+@@ -308,7 +318,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ #else
+ NOTREACHED();
#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- case sandbox::mojom::Sandbox::kHardwareVideoDecoding:
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ case sandbox::mojom::Sandbox::kVideoEffects:
+ #if BUILDFLAG(ENABLE_VIDEO_EFFECTS)
pre_sandbox_hook =
- base::BindOnce(&media::HardwareVideoDecodingPreSandboxHook);
-@@ -180,10 +186,11 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -343,6 +353,7 @@ int UtilityMain(MainFunctionParams parameters) {
default:
break;
}
+#if !BUILDFLAG(IS_BSD)
if (!sandbox::policy::IsUnsandboxedSandboxType(sandbox_type) &&
(parameters.zygote_child || !pre_sandbox_hook.is_null())) {
- sandbox::policy::SandboxLinux::Options sandbox_options;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- if (sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoDecoding) {
- // The kHardwareVideoDecoding sandbox needs to know the GPU type in order
- // to select the right policy.
-@@ -196,6 +203,11 @@ int UtilityMain(MainFunctionParams parameters) {
+ sandbox_options.use_amd_specific_policies =
+@@ -350,6 +361,11 @@ int UtilityMain(MainFunctionParams parameters) {
sandbox::policy::Sandbox::Initialize(
sandbox_type, std::move(pre_sandbox_hook), sandbox_options);
}
@@ -73,6 +107,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/chromium/files/patch-content_utility_utility__thread__impl.cc b/www/chromium/files/patch-content_utility_utility__thread__impl.cc
new file mode 100644
index 000000000000..9c22d11a1a59
--- /dev/null
+++ b/www/chromium/files/patch-content_utility_utility__thread__impl.cc
@@ -0,0 +1,21 @@
+--- content/utility/utility_thread_impl.cc.orig 2024-05-21 18:07:39 UTC
++++ content/utility/utility_thread_impl.cc
+@@ -31,7 +31,7 @@
+ #include "mojo/public/cpp/bindings/pending_receiver.h"
+ #include "mojo/public/cpp/bindings/service_factory.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "content/child/sandboxed_process_thread_type_handler.h"
+ #endif
+
+@@ -251,7 +251,8 @@ void UtilityThreadImpl::Init() {
+
+ GetContentClient()->utility()->UtilityThreadStarted();
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++// XXX BSD
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
+ SandboxedProcessThreadTypeHandler::NotifyMainChildThreadCreated();
+ #endif
+
diff --git a/www/chromium/files/patch-content_zygote_zygote__linux.cc b/www/chromium/files/patch-content_zygote_zygote__linux.cc
index 4039ac0d91d7..4cb3060a4e99 100644
--- a/www/chromium/files/patch-content_zygote_zygote__linux.cc
+++ b/www/chromium/files/patch-content_zygote_zygote__linux.cc
@@ -1,14 +1,14 @@
---- content/zygote/zygote_linux.cc.orig 2022-05-19 14:06:27 UTC
+--- content/zygote/zygote_linux.cc.orig 2025-05-05 10:57:53 UTC
+++ content/zygote/zygote_linux.cc
@@ -1,6 +1,7 @@
- // Copyright (c) 2012 The Chromium Authors. All rights reserved.
+ // Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#if 0
#include "content/zygote/zygote_linux.h"
-@@ -654,3 +655,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick
+@@ -705,3 +706,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi
}
} // namespace content
diff --git a/www/chromium/files/patch-content_zygote_zygote__main__linux.cc b/www/chromium/files/patch-content_zygote_zygote__main__linux.cc
index 691d24aab691..5c2cb072dc3f 100644
--- a/www/chromium/files/patch-content_zygote_zygote__main__linux.cc
+++ b/www/chromium/files/patch-content_zygote_zygote__main__linux.cc
@@ -1,10 +1,10 @@
---- content/zygote/zygote_main_linux.cc.orig 2022-06-17 14:20:10 UTC
+--- content/zygote/zygote_main_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ 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 content {
+@@ -50,11 +54,13 @@ namespace content {
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() {
-@@ -174,9 +181,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand
+ base::OnceClosure ClosureFromTwoClosures(base::OnceClosure one,
+ base::OnceClosure two) {
+@@ -157,9 +163,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();
-@@ -241,6 +250,9 @@ bool ZygoteMain(
+@@ -224,6 +232,9 @@ bool ZygoteMain(
// This function call can return multiple times, once per fork().
return zygote.ProcessRequests();
diff --git a/www/chromium/files/patch-device_bluetooth_bluetooth__adapter.cc b/www/chromium/files/patch-device_bluetooth_bluetooth__adapter.cc
index 7c56e7a42afc..7500f6258520 100644
--- a/www/chromium/files/patch-device_bluetooth_bluetooth__adapter.cc
+++ b/www/chromium/files/patch-device_bluetooth_bluetooth__adapter.cc
@@ -1,11 +1,11 @@
---- device/bluetooth/bluetooth_adapter.cc.orig 2022-07-28 06:05:58 UTC
+--- device/bluetooth/bluetooth_adapter.cc.orig 2024-03-22 08:19:40 UTC
+++ device/bluetooth/bluetooth_adapter.cc
-@@ -32,7 +32,7 @@ BluetoothAdapter::ServiceOptions::ServiceOptions() = d
+@@ -32,7 +32,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/chromium/files/patch-device_bluetooth_cast__bluetooth.gni b/www/chromium/files/patch-device_bluetooth_cast__bluetooth.gni
index 13d396c003b1..0fcfccc24b76 100644
--- a/www/chromium/files/patch-device_bluetooth_cast__bluetooth.gni
+++ b/www/chromium/files/patch-device_bluetooth_cast__bluetooth.gni
@@ -1,9 +1,9 @@
---- device/bluetooth/cast_bluetooth.gni.orig 2022-07-22 17:30:31 UTC
+--- device/bluetooth/cast_bluetooth.gni.orig 2022-08-31 12:19:35 UTC
+++ device/bluetooth/cast_bluetooth.gni
@@ -2,5 +2,5 @@ import("//build/config/features.gni")
declare_args() {
force_cast_bluetooth = false
-- use_bluez = (is_linux && !is_castos) || is_chromeos
+- use_bluez = (is_linux && !is_castos && use_dbus) || is_chromeos
+ use_bluez = use_dbus && !is_bsd
}
diff --git a/www/chromium/files/patch-device_gamepad_BUILD.gn b/www/chromium/files/patch-device_gamepad_BUILD.gn
new file mode 100644
index 000000000000..f63b0c75fed7
--- /dev/null
+++ b/www/chromium/files/patch-device_gamepad_BUILD.gn
@@ -0,0 +1,11 @@
+--- device/gamepad/BUILD.gn.orig 2025-04-04 08:52:13 UTC
++++ device/gamepad/BUILD.gn
+@@ -98,7 +98,7 @@ component("gamepad") {
+ "hid_writer_linux.cc",
+ "hid_writer_linux.h",
+ ]
+- if (use_udev) {
++ if (use_udev && !is_bsd) {
+ sources += [
+ "gamepad_device_linux.cc",
+ "gamepad_device_linux.h",
diff --git a/www/chromium/files/patch-device_gamepad_gamepad__provider.cc b/www/chromium/files/patch-device_gamepad_gamepad__provider.cc
index a1a2e8e3d470..8730f7e560f7 100644
--- a/www/chromium/files/patch-device_gamepad_gamepad__provider.cc
+++ b/www/chromium/files/patch-device_gamepad_gamepad__provider.cc
@@ -1,6 +1,6 @@
---- device/gamepad/gamepad_provider.cc.orig 2022-02-28 16:54:41 UTC
+--- device/gamepad/gamepad_provider.cc.orig 2025-07-02 06:08:04 UTC
+++ device/gamepad/gamepad_provider.cc
-@@ -216,7 +216,7 @@ void GamepadProvider::Initialize(std::unique_ptr<Gamep
+@@ -155,7 +155,7 @@ void GamepadProvider::Initialize(std::unique_ptr<Gamep
if (!polling_thread_)
polling_thread_ = std::make_unique<base::Thread>("Gamepad polling thread");
diff --git a/www/chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc b/www/chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc
new file mode 100644
index 000000000000..588baacf87fa
--- /dev/null
+++ b/www/chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc
@@ -0,0 +1,11 @@
+--- extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2025-07-02 06:08:04 UTC
++++ extensions/browser/api/api_browser_context_keyed_service_factories.cc
+@@ -121,7 +121,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt
+ MediaPerceptionAPIManager::GetFactoryInstance();
+ #endif
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ NetworkingPrivateEventRouterFactory::GetInstance();
+ #endif
+ PrinterProviderAPIFactory::GetInstance();
diff --git a/www/chromium/files/patch-extensions_browser_api_management_management__api.cc b/www/chromium/files/patch-extensions_browser_api_management_management__api.cc
new file mode 100644
index 000000000000..a40fd8b05e00
--- /dev/null
+++ b/www/chromium/files/patch-extensions_browser_api_management_management__api.cc
@@ -0,0 +1,11 @@
+--- extensions/browser/api/management/management_api.cc.orig 2025-05-28 14:55:43 UTC
++++ extensions/browser/api/management/management_api.cc
+@@ -284,7 +284,7 @@ void AddExtensionInfo(const Extension* source_extensio
+
+ bool PlatformSupportsApprovalFlowForExtensions() {
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return true;
+ #else
+ return false;
diff --git a/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc
index b46656cec5ba..779ec03bb8a8 100644
--- a/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc
+++ b/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc
@@ -1,6 +1,6 @@
---- extensions/browser/api/messaging/message_service.cc.orig 2022-07-22 17:30:31 UTC
+--- extensions/browser/api/messaging/message_service.cc.orig 2025-05-05 10:57:53 UTC
+++ extensions/browser/api/messaging/message_service.cc
-@@ -74,7 +74,7 @@ namespace {
+@@ -81,7 +81,7 @@ namespace {
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[] =
-@@ -437,7 +437,7 @@ void MessageService::OpenChannelToNativeApp(
+@@ -673,7 +673,7 @@ void MessageService::OpenChannelToNativeAppImpl(
return;
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
diff --git a/www/chromium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/www/chromium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc
index a8264f040565..995e19630873 100644
--- a/www/chromium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc
+++ b/www/chromium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc
@@ -1,20 +1,29 @@
---- extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2022-07-22 17:30:31 UTC
+--- extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2025-01-15 09:18:26 UTC
+++ extensions/browser/api/networking_private/networking_private_delegate_factory.cc
-@@ -14,7 +14,7 @@
+@@ -12,7 +12,7 @@
+
+ #if BUILDFLAG(IS_CHROMEOS)
#include "extensions/browser/api/networking_private/networking_private_chromeos.h"
- #elif BUILDFLAG(IS_CHROMEOS_LACROS)
- #include "extensions/browser/api/networking_private/networking_private_lacros.h"
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "extensions/browser/api/networking_private/networking_private_linux.h"
#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
#include "components/wifi/wifi_service.h"
-@@ -66,7 +66,7 @@ KeyedService* NetworkingPrivateDelegateFactory::BuildS
- delegate = new NetworkingPrivateChromeOS(browser_context);
- #elif BUILDFLAG(IS_CHROMEOS_LACROS)
- delegate = new NetworkingPrivateLacros(browser_context);
+@@ -63,7 +63,7 @@ NetworkingPrivateDelegateFactory::BuildServiceInstance
+ std::unique_ptr<NetworkingPrivateDelegate> delegate;
+ #if BUILDFLAG(IS_CHROMEOS)
+ delegate = std::make_unique<NetworkingPrivateChromeOS>(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());
+@@ -74,7 +74,7 @@ NetworkingPrivateDelegateFactory::BuildServiceInstance
+ #endif
+
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ if (ui_factory_) {
+ delegate->set_ui_delegate(ui_factory_->CreateDelegate());
+ }
diff --git a/www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc b/www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc
deleted file mode 100644
index f9658546a82c..000000000000
--- a/www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/browser/browser_context_keyed_service_factories.cc.orig 2022-07-22 17:30:31 UTC
-+++ extensions/browser/browser_context_keyed_service_factories.cc
-@@ -88,7 +88,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
- IdleManagerFactory::GetInstance();
- ManagementAPI::GetFactoryInstance();
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_MAC)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- NetworkingPrivateEventRouterFactory::GetInstance();
- #endif
- PowerAPI::GetFactoryInstance();
diff --git a/www/chromium/files/patch-extensions_browser_extension__prefs.cc b/www/chromium/files/patch-extensions_browser_extension__prefs.cc
deleted file mode 100644
index 0a57a4b83be4..000000000000
--- a/www/chromium/files/patch-extensions_browser_extension__prefs.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/browser/extension_prefs.cc.orig 2022-06-17 14:20:10 UTC
-+++ extensions/browser/extension_prefs.cc
-@@ -2270,7 +2270,7 @@ void ExtensionPrefs::RegisterProfilePrefs(
- registry->RegisterDictionaryPref(kInstallSignature);
- registry->RegisterListPref(kExternalUninstalls);
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- registry->RegisterBooleanPref(pref_names::kChromeAppsEnabled, false);
- #endif
- registry->RegisterBooleanPref(pref_names::kU2fSecurityKeyApiEnabled, false);
diff --git a/www/chromium/files/patch-extensions_browser_pref__names.cc b/www/chromium/files/patch-extensions_browser_pref__names.cc
deleted file mode 100644
index 7cc9ac98f9f4..000000000000
--- a/www/chromium/files/patch-extensions_browser_pref__names.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/browser/pref_names.cc.orig 2022-04-21 18:48:31 UTC
-+++ extensions/browser/pref_names.cc
-@@ -49,7 +49,7 @@ const char kToolbar[] = "extensions.toolbar";
- const char kDeletedComponentExtensions[] =
- "extensions.deleted_component_extensions";
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- extern const char kChromeAppsEnabled[] = "extensions.chrome_apps_enabled";
- #endif
- const char kU2fSecurityKeyApiEnabled[] =
diff --git a/www/chromium/files/patch-extensions_browser_pref__names.h b/www/chromium/files/patch-extensions_browser_pref__names.h
deleted file mode 100644
index 9ad352ae22d0..000000000000
--- a/www/chromium/files/patch-extensions_browser_pref__names.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/browser/pref_names.h.orig 2022-04-21 18:48:31 UTC
-+++ extensions/browser/pref_names.h
-@@ -102,7 +102,7 @@ extern const char kToolbar[];
- extern const char kDeletedComponentExtensions[];
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- // A preference for whether Chrome Apps should be allowed. The default depends
- // on the ChromeAppsDeprecation feature flag, and this pref can extend support
- // for Chrome Apps by enterprise policy.
diff --git a/www/chromium/files/patch-extensions_common_api___permission__features.json b/www/chromium/files/patch-extensions_common_api___permission__features.json
index bb7d227d3afc..421772f84bb9 100644
--- a/www/chromium/files/patch-extensions_common_api___permission__features.json
+++ b/www/chromium/files/patch-extensions_common_api___permission__features.json
@@ -1,6 +1,6 @@
---- extensions/common/api/_permission_features.json.orig 2022-07-22 17:30:31 UTC
+--- extensions/common/api/_permission_features.json.orig 2025-04-04 08:52:13 UTC
+++ extensions/common/api/_permission_features.json
-@@ -140,7 +140,7 @@
+@@ -134,7 +134,7 @@
{
"channel": "stable",
"extension_types": ["platform_app"],
@@ -9,7 +9,7 @@
"allowlist": [
"1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169
"A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169
-@@ -453,7 +453,7 @@
+@@ -419,7 +419,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
-@@ -497,7 +497,7 @@
+@@ -463,7 +463,7 @@
"networkingPrivate": {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
diff --git a/www/chromium/files/patch-extensions_common_api_runtime.json b/www/chromium/files/patch-extensions_common_api_runtime.json
new file mode 100644
index 000000000000..188d55827c47
--- /dev/null
+++ b/www/chromium/files/patch-extensions_common_api_runtime.json
@@ -0,0 +1,10 @@
+--- extensions/common/api/runtime.json.orig 2024-01-30 07:53:34 UTC
++++ extensions/common/api/runtime.json
+@@ -86,6 +86,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/chromium/files/patch-extensions_common_command.cc b/www/chromium/files/patch-extensions_common_command.cc
index 6955640d6a46..e2c1af7ef1e2 100644
--- a/www/chromium/files/patch-extensions_common_command.cc
+++ b/www/chromium/files/patch-extensions_common_command.cc
@@ -1,11 +1,11 @@
---- extensions/common/command.cc.orig 2022-06-17 14:20:10 UTC
+--- extensions/common/command.cc.orig 2025-03-05 08:14:56 UTC
+++ extensions/common/command.cc
-@@ -288,7 +288,7 @@ std::string Command::CommandPlatform() {
- return values::kKeybindingPlatformMac;
+@@ -116,7 +116,7 @@ std::string Command::CommandPlatform() {
+ return ui::kKeybindingPlatformMac;
#elif BUILDFLAG(IS_CHROMEOS)
- return values::kKeybindingPlatformChromeOs;
+ return ui::kKeybindingPlatformChromeOs;
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return values::kKeybindingPlatformLinux;
+ return ui::kKeybindingPlatformLinux;
#elif BUILDFLAG(IS_FUCHSIA)
- // TODO(crbug.com/1312215): Change this once we decide what string should be
+ // TODO(crbug.com/40220501): Change this once we decide what string should be
diff --git a/www/chromium/files/patch-extensions_common_features_feature.cc b/www/chromium/files/patch-extensions_common_features_feature.cc
index 53441c02779e..6a3bc4866c1a 100644
--- a/www/chromium/files/patch-extensions_common_features_feature.cc
+++ b/www/chromium/files/patch-extensions_common_features_feature.cc
@@ -1,10 +1,10 @@
---- extensions/common/features/feature.cc.orig 2022-02-28 16:54:41 UTC
+--- extensions/common/features/feature.cc.orig 2025-01-15 09:18:26 UTC
+++ extensions/common/features/feature.cc
-@@ -34,6 +34,8 @@ Feature::Platform Feature::GetCurrentPlatform() {
+@@ -29,6 +29,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/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc b/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc
index 80e3d05fea23..57203e00e6f6 100644
--- a/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc
+++ b/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc
@@ -1,8 +1,8 @@
---- extensions/renderer/bindings/api_binding_util.cc.orig 2022-02-28 16:54:41 UTC
+--- extensions/renderer/bindings/api_binding_util.cc.orig 2025-03-05 08:14:56 UTC
+++ extensions/renderer/bindings/api_binding_util.cc
-@@ -132,7 +132,7 @@ std::string GetPlatformString() {
- return "lacros";
- #elif BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+@@ -129,7 +129,7 @@ void InvalidateContext(v8::Local<v8::Context> context)
+ std::string GetPlatformString() {
+ #if BUILDFLAG(IS_CHROMEOS)
return "chromeos";
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-extensions_renderer_bindings_argument__spec.cc b/www/chromium/files/patch-extensions_renderer_bindings_argument__spec.cc
new file mode 100644
index 000000000000..13961c2dfbe9
--- /dev/null
+++ b/www/chromium/files/patch-extensions_renderer_bindings_argument__spec.cc
@@ -0,0 +1,11 @@
+--- extensions/renderer/bindings/argument_spec.cc.orig 2022-11-30 08:12:58 UTC
++++ extensions/renderer/bindings/argument_spec.cc
+@@ -18,6 +18,8 @@
+ #include "gin/data_object_builder.h"
+ #include "gin/dictionary.h"
+
++#include <cmath>
++
+ namespace extensions {
+
+ namespace {
diff --git a/www/chromium/files/patch-extensions_shell_app_shell__main__delegate.cc b/www/chromium/files/patch-extensions_shell_app_shell__main__delegate.cc
index bc9c4bf1b540..e3c204b6ebad 100644
--- a/www/chromium/files/patch-extensions_shell_app_shell__main__delegate.cc
+++ b/www/chromium/files/patch-extensions_shell_app_shell__main__delegate.cc
@@ -1,16 +1,16 @@
---- extensions/shell/app/shell_main_delegate.cc.orig 2022-02-28 16:54:41 UTC
+--- extensions/shell/app/shell_main_delegate.cc.orig 2025-07-02 06:08:04 UTC
+++ extensions/shell/app/shell_main_delegate.cc
-@@ -42,7 +42,7 @@
-
+@@ -41,7 +41,7 @@
#if BUILDFLAG(IS_WIN)
#include "base/base_paths_win.h"
+ #include "base/process/process_info.h"
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/nix/xdg_util.h"
#elif BUILDFLAG(IS_MAC)
#include "base/base_paths_mac.h"
@@ -61,7 +61,7 @@ base::FilePath GetDataPath() {
- return cmd_line->GetSwitchValuePath(switches::kContentShellDataPath);
+ }
base::FilePath data_dir;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/www/chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc
index 74bc8ff8874b..1f6d6122d608 100644
--- a/www/chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc
+++ b/www/chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc
@@ -1,11 +1,11 @@
---- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2022-02-28 16:54:41 UTC
+--- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2025-01-15 09:18:26 UTC
+++ extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc
@@ -45,7 +45,7 @@ void ShellRuntimeAPIDelegate::OpenURL(const GURL& unin
bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- info->os = api::runtime::PLATFORM_OS_CROS;
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- info->os = api::runtime::PLATFORM_OS_LINUX;
+ #if BUILDFLAG(IS_CHROMEOS)
+ info->os = api::runtime::PlatformOs::kCros;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ info->os = api::runtime::PlatformOs::kLinux;
#endif
return true;
diff --git a/www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc b/www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc
index 09ac8cc34952..915cb2641531 100644
--- a/www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc
+++ b/www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc
@@ -1,11 +1,11 @@
---- extensions/shell/browser/shell_browser_main_parts.cc.orig 2022-02-28 16:54:41 UTC
+--- extensions/shell/browser/shell_browser_main_parts.cc.orig 2025-01-15 09:18:26 UTC
+++ extensions/shell/browser/shell_browser_main_parts.cc
-@@ -142,7 +142,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop(
+@@ -137,7 +137,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop(
switches::kAppShellAllowRoaming)) {
network_controller_->SetCellularAllowRoaming(true);
}
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// app_shell doesn't need GTK, so the fake input method context can work.
// See crbug.com/381852 and revision fb69f142.
// TODO(michaelpg): Verify this works for target environments.
diff --git a/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc
index 6d35272bfa2a..9c4daad7680e 100644
--- a/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc
+++ b/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc
@@ -1,11 +1,20 @@
---- extensions/shell/browser/shell_extensions_api_client.cc.orig 2022-02-28 16:54:41 UTC
+--- extensions/shell/browser/shell_extensions_api_client.cc.orig 2025-05-28 14:55:43 UTC
+++ extensions/shell/browser/shell_extensions_api_client.cc
-@@ -58,7 +58,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider()
+@@ -18,7 +18,7 @@
+ #include "extensions/shell/browser/shell_extension_web_contents_observer.h"
+ #include "extensions/shell/browser/shell_virtual_keyboard_delegate.h"
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "extensions/shell/browser/api/file_system/shell_file_system_delegate.h"
+ #endif
+
+@@ -76,7 +76,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider()
+ return std::make_unique<ShellDisplayInfoProvider>();
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() {
if (!file_system_delegate_)
file_system_delegate_ = std::make_unique<ShellFileSystemDelegate>();
diff --git a/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h
index 5c420402f722..162a04ef239a 100644
--- a/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h
+++ b/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h
@@ -1,20 +1,19 @@
---- extensions/shell/browser/shell_extensions_api_client.h.orig 2022-02-28 16:54:41 UTC
+--- extensions/shell/browser/shell_extensions_api_client.h.orig 2025-05-28 14:55:43 UTC
+++ extensions/shell/browser/shell_extensions_api_client.h
-@@ -36,7 +36,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC
+@@ -42,14 +42,14 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC
+ content::BrowserContext* browser_context) const override;
+ std::unique_ptr<DisplayInfoProvider> CreateDisplayInfoProvider()
const override;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
FileSystemDelegate* GetFileSystemDelegate() override;
#endif
MessagingDelegate* GetMessagingDelegate() override;
-@@ -45,7 +45,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC
+ FeedbackPrivateDelegate* GetFeedbackPrivateDelegate() override;
+
private:
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
std::unique_ptr<FileSystemDelegate> file_system_delegate_;
#endif
std::unique_ptr<MessagingDelegate> messaging_delegate_;
diff --git a/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
index 2b9ce2494bab..47326ab138a6 100644
--- a/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
+++ b/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
@@ -1,29 +1,29 @@
---- google_apis/gcm/engine/heartbeat_manager.cc.orig 2022-03-25 21:59:56 UTC
+--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2025-04-04 08:52:13 UTC
+++ google_apis/gcm/engine/heartbeat_manager.cc
-@@ -32,7 +32,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
+@@ -31,7 +31,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
// Minimum time spent sleeping before we force a new heartbeat.
const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// The period at which to check if the heartbeat time has passed. Used to
// protect against platforms where the timer is delayed by the system being
// suspended. Only needed on linux because the other OSes provide a standard
-@@ -192,7 +192,7 @@ void HeartbeatManager::RestartTimer() {
+@@ -190,7 +190,7 @@ void HeartbeatManager::RestartTimer() {
base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered,
weak_ptr_factory_.GetWeakPtr()));
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified
// when the system is suspending or resuming. The only one that does not is
// Linux so we need to poll to check for missed heartbeats.
-@@ -217,7 +217,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
+@@ -213,7 +213,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
return;
}
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Otherwise check again later.
io_task_runner_->PostDelayedTask(
FROM_HERE,
diff --git a/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.cc b/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.cc
new file mode 100644
index 000000000000..adcb4cf7cc94
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.cc
@@ -0,0 +1,29 @@
+--- gpu/command_buffer/client/fake_gpu_memory_buffer.cc.orig 2025-07-02 06:08:04 UTC
++++ gpu/command_buffer/client/fake_gpu_memory_buffer.cc
+@@ -14,7 +14,7 @@
+ #include "media/base/format_utils.h"
+ #include "media/base/video_frame.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include <fcntl.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+@@ -29,7 +29,7 @@ namespace gpu {
+
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::ScopedFD GetDummyFD() {
+ base::ScopedFD fd(open("/dev/zero", O_RDWR));
+ DCHECK(fd.is_valid());
+@@ -41,7 +41,7 @@ static base::AtomicSequenceNumber buffer_id_generator;
+
+ } // namespace
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ gfx::GpuMemoryBufferHandle CreatePixmapHandleForTesting(
+ const gfx::Size& size,
+ gfx::BufferFormat format,
diff --git a/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.h b/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.h
new file mode 100644
index 000000000000..aed66a84d9b0
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.h
@@ -0,0 +1,11 @@
+--- gpu/command_buffer/client/fake_gpu_memory_buffer.h.orig 2025-07-02 06:08:04 UTC
++++ gpu/command_buffer/client/fake_gpu_memory_buffer.h
+@@ -12,7 +12,7 @@
+
+ namespace gpu {
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // This method is used by tests to create a fake pixmap handle instead of
+ // creating a FakeGpuMemoryBuffer. Once all tests are converted to use it,
+ // FakeGpuMemoryBuffer will be removed and this file will be renamed
diff --git a/www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc b/www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc
deleted file mode 100644
index 01ee880ddb40..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2022-02-28 16:54:41 UTC
-+++ gpu/command_buffer/common/gpu_memory_buffer_support.cc
-@@ -134,7 +134,7 @@ uint32_t GetPlatformSpecificTextureTarget() {
- #if BUILDFLAG(IS_MAC)
- return macos_specific_texture_target;
- #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- return GL_TEXTURE_EXTERNAL_OES;
- #elif BUILDFLAG(IS_FUCHSIA)
- return GL_TEXTURE_2D;
-@@ -166,7 +166,7 @@ GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextu
- gfx::BufferFormat format,
- gfx::BufferPlane plane) {
- #if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
-- BUILDFLAG(IS_WIN)
-+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- // Always use GL_TEXTURE_2D as the target for RGB textures.
- // https://crbug.com/916728
- if (format == gfx::BufferFormat::R_8 || format == gfx::BufferFormat::RG_88 ||
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc b/www/chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc
new file mode 100644
index 000000000000..7db455f200a2
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc
@@ -0,0 +1,11 @@
+--- gpu/command_buffer/service/dawn_context_provider.cc.orig 2025-07-02 06:08:04 UTC
++++ gpu/command_buffer/service/dawn_context_provider.cc
+@@ -396,7 +396,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke
+ return base::FeatureList::IsEnabled(features::kSkiaGraphiteDawnUseD3D12)
+ ? wgpu::BackendType::D3D12
+ : wgpu::BackendType::D3D11;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ return wgpu::BackendType::Vulkan;
+ #elif BUILDFLAG(IS_APPLE)
+ return wgpu::BackendType::Metal;
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
deleted file mode 100644
index 855c9b131c6c..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2022-06-17 14:20:10 UTC
-+++ gpu/command_buffer/service/external_vk_image_backing.cc
-@@ -30,7 +30,7 @@
- #include "ui/gl/gl_version_info.h"
- #include "ui/gl/scoped_binders.h"
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
- #include "gpu/command_buffer/service/external_vk_image_dawn_representation.h"
- #endif
-
-@@ -571,7 +571,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager
- MemoryTypeTracker* tracker,
- WGPUDevice wgpuDevice,
- WGPUBackendType backend_type) {
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
- auto wgpu_format = viz::ToWGPUFormat(format());
-
- if (wgpu_format == WGPUTextureFormat_Undefined) {
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
new file mode 100644
index 000000000000..4a062bec01bf
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
@@ -0,0 +1,11 @@
+--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2025-07-02 06:08:04 UTC
++++ gpu/command_buffer/service/gles2_cmd_decoder.cc
+@@ -2862,7 +2862,7 @@ GLES2Decoder* GLES2Decoder::Create(
+ }
+
+ // Allow linux to run fuzzers.
+-#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return new GLES2DecoderImpl(client, command_buffer_service, outputter, group);
+ #else
+ LOG(FATAL) << "Validating command decoder is not supported.";
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_raster__decoder__unittest__context__lost.cc b/www/chromium/files/patch-gpu_command__buffer_service_raster__decoder__unittest__context__lost.cc
new file mode 100644
index 000000000000..afd5b2a0b709
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_raster__decoder__unittest__context__lost.cc
@@ -0,0 +1,21 @@
+--- gpu/command_buffer/service/raster_decoder_unittest_context_lost.cc.orig 2025-04-04 08:52:13 UTC
++++ gpu/command_buffer/service/raster_decoder_unittest_context_lost.cc
+@@ -15,6 +15,18 @@ using ::testing::Return;
+ using ::testing::SaveArg;
+ using ::testing::SetArrayArgument;
+
++#ifndef GL_CONTEXT_LOST_KHR
++#define GL_CONTEXT_LOST_KHR 0x0507
++#endif
++
++#ifndef GL_GUILTY_CONTEXT_RESET_KHR
++#define GL_GUILTY_CONTEXT_RESET_KHR 0x8253
++#endif
++
++#ifndef GL_INNOCENT_CONTEXT_RESET_KHR
++#define GL_INNOCENT_CONTEXT_RESET_KHR 0x8254
++#endif
++
+ namespace gpu {
+ namespace raster {
+
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc
new file mode 100644
index 000000000000..47fb6016055d
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc
@@ -0,0 +1,29 @@
+--- gpu/command_buffer/service/shared_context_state.cc.orig 2025-05-28 14:55:43 UTC
++++ gpu/command_buffer/service/shared_context_state.cc
+@@ -64,7 +64,7 @@
+ #include "gpu/vulkan/vulkan_implementation.h"
+ #include "gpu/vulkan/vulkan_util.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "gpu/command_buffer/service/external_semaphore_pool.h"
+ #endif
+
+@@ -348,7 +348,7 @@ SharedContextState::SharedContextState(
+ if (gr_context_type_ == GrContextType::kVulkan) {
+ if (vk_context_provider_) {
+ #if BUILDFLAG(ENABLE_VULKAN) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))
+ external_semaphore_pool_ = std::make_unique<ExternalSemaphorePool>(this);
+ #endif
+ use_virtualized_gl_contexts_ = false;
+@@ -385,7 +385,7 @@ SharedContextState::~SharedContextState() {
+ }
+
+ #if BUILDFLAG(ENABLE_VULKAN) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))
+ external_semaphore_pool_.reset();
+ #endif
+
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h
new file mode 100644
index 000000000000..d7f5b4fc5927
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h
@@ -0,0 +1,20 @@
+--- gpu/command_buffer/service/shared_context_state.h.orig 2025-05-28 14:55:43 UTC
++++ gpu/command_buffer/service/shared_context_state.h
+@@ -238,7 +238,7 @@ class GPU_GLES2_EXPORT SharedContextState
+ return &memory_type_tracker_;
+ }
+ #if BUILDFLAG(ENABLE_VULKAN) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))
+ ExternalSemaphorePool* external_semaphore_pool() {
+ return external_semaphore_pool_.get();
+ }
+@@ -455,7 +455,7 @@ class GPU_GLES2_EXPORT SharedContextState
+ bool disable_check_reset_status_throttling_for_test_ = false;
+
+ #if BUILDFLAG(ENABLE_VULKAN) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))
+ std::unique_ptr<ExternalSemaphorePool> external_semaphore_pool_;
+ #endif
+
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__angle__vulkan.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__angle__vulkan.cc
deleted file mode 100644
index f5ba7d5d4726..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__angle__vulkan.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/shared_image_backing_factory_angle_vulkan.cc.orig 2022-07-22 17:30:31 UTC
-+++ gpu/command_buffer/service/shared_image_backing_factory_angle_vulkan.cc
-@@ -703,7 +703,7 @@ bool SharedImageBackingFactoryAngleVulkan::CanUseAngle
- // TODO(penghuang): verify the scanout is the right usage for video playback.
- // crbug.com/1280798
- constexpr auto kSupportedUsages =
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- SHARED_IMAGE_USAGE_SCANOUT |
- #endif
- SHARED_IMAGE_USAGE_GLES2 | SHARED_IMAGE_USAGE_GLES2_FRAMEBUFFER_HINT |
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__gl__texture.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__gl__texture.cc
deleted file mode 100644
index 4ac1f38c195d..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__gl__texture.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc.orig 2022-05-19 14:06:27 UTC
-+++ gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc
-@@ -145,7 +145,7 @@ bool SharedImageBackingFactoryGLTexture::IsSupported(
- // Linux and ChromeOS support WebGPU/Compat on GL. All other platforms
- // do not support WebGPU on GL.
- if (usage & SHARED_IMAGE_USAGE_WEBGPU) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
- if (use_webgpu_adapter_ != WebGPUAdapterName::kCompat) {
- return false;
- }
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__ozone.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__ozone.cc
deleted file mode 100644
index 5c0d9b0cdef5..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__factory__ozone.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/shared_image_backing_factory_ozone.cc.orig 2022-06-17 14:20:10 UTC
-+++ gpu/command_buffer/service/shared_image_backing_factory_ozone.cc
-@@ -218,7 +218,7 @@ bool SharedImageBackingFactoryOzone::IsSupported(
- !CanImportGpuMemoryBufferToVulkan(gmb_type)) {
- return false;
- }
--#elif BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
- !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST)
- bool used_by_skia = (usage & SHARED_IMAGE_USAGE_RASTER) ||
- (usage & SHARED_IMAGE_USAGE_DISPLAY);
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__gl__texture.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__gl__texture.cc
deleted file mode 100644
index 14cd81729e57..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__backing__gl__texture.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/shared_image_backing_gl_texture.cc.orig 2022-05-19 14:06:27 UTC
-+++ gpu/command_buffer/service/shared_image_backing_gl_texture.cc
-@@ -257,7 +257,7 @@ void SharedImageBackingGLTexture::InitializeGLTexture(
- }
-
- void SharedImageBackingGLTexture::CreateEGLImage() {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
- SharedContextState* shared_context_state = factory()->GetSharedContextState();
- ui::ScopedMakeCurrent smc(shared_context_state->context(),
- shared_context_state->surface());
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc
deleted file mode 100644
index 39fa3dfeeca7..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- gpu/command_buffer/service/shared_image_factory.cc.orig 2022-07-22 17:30:31 UTC
-+++ gpu/command_buffer/service/shared_image_factory.cc
-@@ -50,7 +50,7 @@
- #endif
- #endif
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) && \
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \
- BUILDFLAG(ENABLE_VULKAN)
- #include "gpu/command_buffer/service/external_vk_image_factory.h"
- #include "gpu/command_buffer/service/shared_image_backing_factory_ozone.h"
-@@ -86,7 +86,7 @@ namespace gpu {
-
- namespace {
-
--#if defined(USE_OZONE) && BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)
-+#if defined(USE_OZONE) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS)
-
- bool ShouldUseExternalVulkanImageFactory() {
- #if BUILDFLAG(ENABLE_VULKAN)
-@@ -381,7 +381,7 @@ SharedImageFactory::SharedImageFactory(
- factories_.push_back(std::move(external_vk_image_factory));
- }
- #elif defined(USE_OZONE)
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS)
- // Desktop Linux, not ChromeOS.
- if (ShouldUseOzoneFactory()) {
- auto ozone_factory =
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc
new file mode 100644
index 000000000000..8bdd24b1dd24
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc
@@ -0,0 +1,20 @@
+--- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2025-05-05 10:57:53 UTC
++++ gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc
+@@ -20,7 +20,7 @@ namespace {
+ // TODO(penghuang): verify the scanout is the right usage for video playback.
+ // crbug.com/1280798
+ constexpr SharedImageUsageSet kSupportedUsage =
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ SHARED_IMAGE_USAGE_SCANOUT |
+ #endif
+ SHARED_IMAGE_USAGE_GLES2_READ | SHARED_IMAGE_USAGE_GLES2_WRITE |
+@@ -121,7 +121,7 @@ bool AngleVulkanImageBackingFactory::IsGMBSupported(
+ switch (gmb_type) {
+ case gfx::EMPTY_BUFFER:
+ return true;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ case gfx::NATIVE_PIXMAP: {
+ auto* vulkan_implementation =
+ context_state_->vk_context_provider()->GetVulkanImplementation();
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc
new file mode 100644
index 000000000000..daf8f8db357d
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc
@@ -0,0 +1,20 @@
+--- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2025-07-02 06:08:04 UTC
++++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc
+@@ -56,7 +56,7 @@
+ #include "ui/gl/gl_version_info.h"
+ #include "ui/gl/scoped_binders.h"
+
+-#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"
+ #if BUILDFLAG(DAWN_ENABLE_BACKEND_OPENGLES)
+ #include "gpu/command_buffer/service/shared_image/dawn_gl_texture_representation.h"
+@@ -696,7 +696,7 @@ std::unique_ptr<DawnImageRepresentation> ExternalVkIma
+ wgpu::BackendType backend_type,
+ std::vector<wgpu::TextureFormat> view_formats,
+ scoped_refptr<SharedContextState> context_state) {
+-#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 == wgpu::TextureFormat::Undefined) {
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc
new file mode 100644
index 000000000000..9f59e2184d48
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc
@@ -0,0 +1,11 @@
+--- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2025-07-02 06:08:04 UTC
++++ gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc
+@@ -140,7 +140,7 @@ bool IsFormatSupported(viz::SharedImageFormat format,
+
+ SharedImageUsageSet SupportedUsage() {
+ SharedImageUsageSet supported_usage =
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
+ SHARED_IMAGE_USAGE_WEBGPU_READ | SHARED_IMAGE_USAGE_WEBGPU_WRITE |
+ SHARED_IMAGE_USAGE_WEBGPU_SWAP_CHAIN_TEXTURE |
+ SHARED_IMAGE_USAGE_WEBGPU_STORAGE_TEXTURE |
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc
new file mode 100644
index 000000000000..4f0c643ec56a
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc
@@ -0,0 +1,38 @@
+--- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2025-07-02 06:08:04 UTC
++++ gpu/command_buffer/service/shared_image/shared_image_factory.cc
+@@ -48,7 +48,7 @@
+ #include "gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.h"
+ #include "gpu/vulkan/vulkan_device_queue.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.h"
+ #endif
+
+@@ -102,7 +102,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t
+ case gfx::IO_SURFACE_BUFFER:
+ return "platform";
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ case gfx::NATIVE_PIXMAP:
+ return "platform";
+ #endif
+@@ -123,7 +123,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;
+@@ -294,7 +294,7 @@ SharedImageFactory::SharedImageFactory(
+ context_state_, workarounds_);
+ factories_.push_back(std::move(ozone_factory));
+ }
+-#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA))
++#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD))
+ if (gr_context_type_ == GrContextType::kVulkan) {
+ auto external_vk_image_factory =
+ std::make_unique<ExternalVkImageBackingFactory>(context_state_);
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc
new file mode 100644
index 000000000000..3ec9f6f00512
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc
@@ -0,0 +1,11 @@
+--- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2025-07-02 06:08:04 UTC
++++ gpu/command_buffer/service/shared_image/shared_image_manager.cc
+@@ -736,7 +736,7 @@ bool SharedImageManager::SupportsScanoutImages() {
+ return true;
+ #elif BUILDFLAG(IS_ANDROID)
+ return base::AndroidHardwareBufferCompat::IsSupportAvailable();
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ return supports_overlays_on_ozone_;
+ #elif BUILDFLAG(IS_WIN)
+ return gl::DirectCompositionTextureSupported();
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc
new file mode 100644
index 000000000000..9ab46c38f02e
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc
@@ -0,0 +1,11 @@
+--- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2024-03-22 08:19:40 UTC
++++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc
+@@ -214,7 +214,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.
+ SkColor4f fallback_color =
+ format().is_single_plane() ? SkColors::kBlue : SkColors::kWhite;
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc
index 123f41ddaeea..bd6250e8477f 100644
--- a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc
@@ -1,11 +1,20 @@
---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ gpu/command_buffer/service/webgpu_decoder_impl.cc
-@@ -1064,7 +1064,7 @@ void WebGPUDecoderImpl::RequestAdapterImpl(
+@@ -1790,7 +1790,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte
+ backend_types = {wgpu::BackendType::D3D12};
+ #elif BUILDFLAG(IS_APPLE)
+ backend_types = {wgpu::BackendType::Metal};
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (shared_context_state_->GrContextIsVulkan() ||
+ shared_context_state_->IsGraphiteDawnVulkan()) {
+ backend_types = {wgpu::BackendType::Vulkan};
+@@ -2032,7 +2032,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn(
+ }
- 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 !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/chromium/files/patch-gpu_command__buffer_service_wrapped__sk__image.cc b/www/chromium/files/patch-gpu_command__buffer_service_wrapped__sk__image.cc
deleted file mode 100644
index f5cfd6b362c3..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_wrapped__sk__image.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/wrapped_sk_image.cc.orig 2022-07-22 17:30:31 UTC
-+++ gpu/command_buffer/service/wrapped_sk_image.cc
-@@ -277,7 +277,7 @@ class WrappedSkImage : public ClearTrackingSharedImage
- DCHECK_NE(format(), viz::ResourceFormat::ETC1);
- auto mipmap = usage() & SHARED_IMAGE_USAGE_MIPMAP ? GrMipMapped::kYes
- : GrMipMapped::kNo;
--#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX)
-+#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
- // Initializing to bright green makes it obvious if the pixels are not
- // properly set before they are displayed (e.g. https://crbug.com/956555).
- // We don't do this on release builds because there is a slight overhead.
diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc
index c96914bd19c3..707a5fb6af81 100644
--- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc
@@ -1,8 +1,8 @@
---- gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc.orig 2022-06-17 14:20:10 UTC
+--- gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc.orig 2025-07-02 06:08:04 UTC
+++ gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc
@@ -29,7 +29,7 @@
- #include "ui/gl/gl_image.h"
- #include "ui/gl/test/gl_image_test_support.h"
+ #include "ui/gfx/half_float.h"
+ #include "ui/gl/test/gl_test_support.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc
deleted file mode 100644
index 9e331c6eb5b2..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc.orig 2022-03-25 21:59:56 UTC
-+++ gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc
-@@ -14,7 +14,7 @@
- #include "ui/gl/gl_image.h"
- #include "ui/gl/init/gl_factory.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "ui/gl/gl_image_native_pixmap.h"
- #endif
-
-@@ -43,7 +43,7 @@ class GpuOESEGLImageTest : public testing::Test,
- bool egl_initialized_{false};
- };
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // TODO(crbug.com/835072): re-enable this test on ASAN once bugs are fixed.
- #if !defined(ADDRESS_SANITIZER)
-
diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
deleted file mode 100644
index 380ff3266102..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/command_buffer/tests/gl_test_utils.cc.orig 2022-07-22 17:30:31 UTC
-+++ gpu/command_buffer/tests/gl_test_utils.cc
-@@ -24,7 +24,7 @@
- #include "ui/gl/gl_version_info.h"
- #include "ui/gl/init/gl_factory.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "ui/gl/gl_image_native_pixmap.h"
- #endif
-
-@@ -458,7 +458,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() {
- window_system_binding_info_ = gl::GLWindowSystemBindingInfo();
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- scoped_refptr<gl::GLImageNativePixmap>
- GpuCommandBufferTestEGL::CreateGLImageNativePixmap(gfx::BufferFormat format,
- gfx::Size size,
diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h b/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h
deleted file mode 100644
index dd993b33380c..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/tests/gl_test_utils.h.orig 2022-07-22 17:30:31 UTC
-+++ gpu/command_buffer/tests/gl_test_utils.h
-@@ -122,7 +122,7 @@ class GpuCommandBufferTestEGL {
- return gfx::HasExtension(gl_extensions_, extension);
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Create GLImageNativePixmap filled in with the given pixels.
- scoped_refptr<gl::GLImageNativePixmap> CreateGLImageNativePixmap(
- gfx::BufferFormat format,
diff --git a/www/chromium/files/patch-gpu_config_gpu__control__list.cc b/www/chromium/files/patch-gpu_config_gpu__control__list.cc
index 3e785a5cfe09..0627315ce916 100644
--- a/www/chromium/files/patch-gpu_config_gpu__control__list.cc
+++ b/www/chromium/files/patch-gpu_config_gpu__control__list.cc
@@ -1,15 +1,6 @@
---- gpu/config/gpu_control_list.cc.orig 2022-06-17 14:20:10 UTC
+--- gpu/config/gpu_control_list.cc.orig 2025-07-02 06:08:04 UTC
+++ gpu/config/gpu_control_list.cc
-@@ -302,7 +302,7 @@ bool GpuControlList::More::GLVersionInfoMismatch(
- GpuControlList::GLType GpuControlList::More::GetDefaultGLType() {
- #if BUILDFLAG(IS_CHROMEOS)
- return kGLTypeGL;
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- return kGLTypeGL;
- #elif BUILDFLAG(IS_MAC)
- return kGLTypeGL;
-@@ -844,7 +844,7 @@ GpuControlList::OsType GpuControlList::GetOsType() {
+@@ -830,7 +830,7 @@ GpuControlList::OsType GpuControlList::GetOsType() {
return kOsAndroid;
#elif BUILDFLAG(IS_FUCHSIA)
return kOsFuchsia;
diff --git a/www/chromium/files/patch-gpu_config_gpu__finch__features.cc b/www/chromium/files/patch-gpu_config_gpu__finch__features.cc
new file mode 100644
index 000000000000..087dcd722d21
--- /dev/null
+++ b/www/chromium/files/patch-gpu_config_gpu__finch__features.cc
@@ -0,0 +1,12 @@
+--- gpu/config/gpu_finch_features.cc.orig 2025-04-04 08:52:13 UTC
++++ gpu/config/gpu_finch_features.cc
+@@ -155,7 +155,8 @@ BASE_FEATURE(kAllowHardwareBufferUsageFlagsFromVulkanF
+ BASE_FEATURE(kDefaultEnableGpuRasterization,
+ "DefaultEnableGpuRasterization",
+ #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \
++ BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-gpu_config_gpu__info__collector.cc b/www/chromium/files/patch-gpu_config_gpu__info__collector.cc
new file mode 100644
index 000000000000..2729cb59e85c
--- /dev/null
+++ b/www/chromium/files/patch-gpu_config_gpu__info__collector.cc
@@ -0,0 +1,11 @@
+--- gpu/config/gpu_info_collector.cc.orig 2025-05-28 14:55:43 UTC
++++ gpu/config/gpu_info_collector.cc
+@@ -364,7 +364,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance
+ void ReportWebGPUSupportMetrics(dawn::native::Instance* instance) {
+ static BASE_FEATURE(kCollectWebGPUSupportMetrics,
+ "CollectWebGPUSupportMetrics",
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #else
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-gpu_config_gpu__test__config.cc b/www/chromium/files/patch-gpu_config_gpu__test__config.cc
index 86cc37845dcf..74f0336194ba 100644
--- a/www/chromium/files/patch-gpu_config_gpu__test__config.cc
+++ b/www/chromium/files/patch-gpu_config_gpu__test__config.cc
@@ -1,11 +1,11 @@
---- gpu/config/gpu_test_config.cc.orig 2022-02-28 16:54:41 UTC
+--- gpu/config/gpu_test_config.cc.orig 2025-04-04 08:52:13 UTC
+++ gpu/config/gpu_test_config.cc
-@@ -29,7 +29,7 @@ GPUTestConfig::OS GetCurrentOS() {
- #if BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -27,7 +27,7 @@ namespace {
+ GPUTestConfig::OS GetCurrentOS() {
+ #if BUILDFLAG(IS_CHROMEOS)
return GPUTestConfig::kOsChromeOS;
- #elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-- BUILDFLAG(IS_OPENBSD)
-+ BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return GPUTestConfig::kOsLinux;
#elif BUILDFLAG(IS_WIN)
int32_t major_version = 0;
diff --git a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc
index 319cd8b6908f..961f45a601d6 100644
--- a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc
+++ b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc
@@ -1,20 +1,20 @@
---- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2022-02-28 16:54:41 UTC
+--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2024-10-22 08:31:56 UTC
+++ gpu/ipc/common/gpu_memory_buffer_support.cc
-@@ -21,7 +21,7 @@
+@@ -26,7 +26,7 @@
#include "ui/ozone/public/ozone_platform.h"
#endif
--#if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h"
#endif
-@@ -50,7 +50,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
+@@ -55,7 +55,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
return gfx::IO_SURFACE_BUFFER;
#elif BUILDFLAG(IS_ANDROID)
return gfx::ANDROID_HARDWARE_BUFFER;
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
return gfx::NATIVE_PIXMAP;
#elif BUILDFLAG(IS_WIN)
return gfx::DXGI_SHARED_HANDLE;
diff --git a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h
index ccbf1811d560..a9561526a8da 100644
--- a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h
+++ b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h
@@ -1,11 +1,11 @@
---- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2022-04-21 18:48:31 UTC
+--- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2023-08-17 07:33:31 UTC
+++ 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"
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
namespace gfx {
class ClientNativePixmapFactory;
- }
+ } // namespace gfx
diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc
index d79fde6e8d3f..17da50b389d7 100644
--- a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc
+++ b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc
@@ -1,6 +1,15 @@
---- gpu/ipc/service/gpu_init.cc.orig 2022-07-22 17:30:31 UTC
+--- gpu/ipc/service/gpu_init.cc.orig 2025-07-02 06:08:04 UTC
+++ gpu/ipc/service/gpu_init.cc
-@@ -315,7 +315,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -156,7 +156,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in
+
+ #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CASTOS)
+ bool CanAccessDeviceFile(const GPUInfo& gpu_info) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (gpu_info.gpu.vendor_id != 0x10de || // NVIDIA
+ gpu_info.gpu.driver_vendor != "NVIDIA")
+ return true;
+@@ -392,7 +392,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
enable_watchdog = false;
#endif
@@ -9,7 +18,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
-@@ -365,7 +365,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -430,7 +430,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
bool attempted_startsandbox = false;
@@ -18,17 +27,8 @@
// 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.
-@@ -414,7 +414,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;
-@@ -450,7 +450,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- }
+@@ -527,7 +527,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ gpu_preferences_.gr_context_type = GrContextType::kGL;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -36,7 +36,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
-@@ -510,7 +510,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -585,7 +585,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
command_line, gpu_feature_info_,
gpu_preferences_.disable_software_rasterizer, false);
if (gl_use_swiftshader_) {
@@ -45,18 +45,36 @@
VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
<< "on Linux";
return false;
-@@ -638,7 +638,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
-
- InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
+@@ -753,7 +753,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ ->GetSupportedFormatsForGLNativePixmapImport();
+ #endif // BUILDFLAG(IS_OZONE)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Driver may create a compatibility profile context when collect graphics
// information on Linux platform. Try to collect graphics information
// based on core profile context after disabling platform extensions.
-@@ -872,7 +872,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+@@ -805,7 +805,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ }
+ }
+ }
+-#if BUILDFLAG(IS_LINUX) || \
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE))
+ if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) {
+ // https://rr-project.org/ is a Linux-only record-and-replay debugger that
+@@ -1007,7 +1007,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+ }
+ bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled;
- InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
+-#if BUILDFLAG(IS_LINUX) || \
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE))
+ if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) {
+ // https://rr-project.org/ is a Linux-only record-and-replay debugger that
+@@ -1063,7 +1063,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/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
index d624092a277c..e6b775a9e6e8 100644
--- a/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
+++ b/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
@@ -1,6 +1,6 @@
---- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2024-10-22 08:31:56 UTC
+++ gpu/ipc/service/gpu_memory_buffer_factory.cc
-@@ -12,7 +12,7 @@
+@@ -14,7 +14,7 @@
#include "gpu/ipc/service/gpu_memory_buffer_factory_io_surface.h"
#endif
@@ -9,10 +9,10 @@
#include "gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.h"
#endif
-@@ -34,7 +34,7 @@ GpuMemoryBufferFactory::CreateNativeType(
- return std::make_unique<GpuMemoryBufferFactoryIOSurface>();
- #elif BUILDFLAG(IS_ANDROID)
- return std::make_unique<GpuMemoryBufferFactoryAndroidHardwareBuffer>();
+@@ -71,7 +71,7 @@ GpuMemoryBufferFactory::CreateNativeType(
+ // to have a factory that vends invalid GMB handles rather than having no
+ // factory at all.
+ return std::make_unique<GpuMemoryBufferFactoryStub>();
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
return std::make_unique<GpuMemoryBufferFactoryNativePixmap>(
diff --git a/www/chromium/files/patch-gpu_ipc_service_x__util.h b/www/chromium/files/patch-gpu_ipc_service_x__util.h
index 610c08c17125..43a924bdc97c 100644
--- a/www/chromium/files/patch-gpu_ipc_service_x__util.h
+++ b/www/chromium/files/patch-gpu_ipc_service_x__util.h
@@ -1,16 +1,11 @@
---- gpu/ipc/service/x_util.h.orig 2022-02-28 16:54:41 UTC
+--- gpu/ipc/service/x_util.h.orig 2024-02-23 21:04:38 UTC
+++ gpu/ipc/service/x_util.h
-@@ -11,11 +11,11 @@
- #include "build/build_config.h"
+@@ -12,7 +12,7 @@
#include "gpu/ipc/service/gpu_config.h"
+ #include "ui/base/ozone_buildflags.h"
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/ozone/buildflags.h"
- #endif
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #if BUILDFLAG(OZONE_PLATFORM_X11)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
namespace gpu {
+
diff --git a/www/chromium/files/patch-gpu_vulkan_generate__bindings.py b/www/chromium/files/patch-gpu_vulkan_generate__bindings.py
index 3ff8eb6ba85b..ef663bc1e4f1 100644
--- a/www/chromium/files/patch-gpu_vulkan_generate__bindings.py
+++ b/www/chromium/files/patch-gpu_vulkan_generate__bindings.py
@@ -1,6 +1,6 @@
---- gpu/vulkan/generate_bindings.py.orig 2022-04-21 18:48:31 UTC
+--- gpu/vulkan/generate_bindings.py.orig 2024-06-17 12:56:06 UTC
+++ gpu/vulkan/generate_bindings.py
-@@ -259,7 +259,7 @@ VULKAN_DEVICE_FUNCTIONS = [
+@@ -271,7 +271,7 @@ VULKAN_DEVICE_FUNCTIONS = [
]
},
{
diff --git a/www/chromium/files/patch-gpu_vulkan_semaphore__handle.cc b/www/chromium/files/patch-gpu_vulkan_semaphore__handle.cc
new file mode 100644
index 000000000000..9b74c293a942
--- /dev/null
+++ b/www/chromium/files/patch-gpu_vulkan_semaphore__handle.cc
@@ -0,0 +1,20 @@
+--- gpu/vulkan/semaphore_handle.cc.orig 2023-11-03 10:09:45 UTC
++++ 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,
+ fence_handle.Release());
+-#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,
+ fence_handle.Release());
+ #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.Adopt(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.Adopt(TakeHandle());
+ } else {
diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc
index 33814398b3d0..13fc6189a26a 100644
--- a/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc
+++ b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc
@@ -1,6 +1,6 @@
---- gpu/vulkan/vulkan_device_queue.cc.orig 2022-03-25 21:59:56 UTC
+--- gpu/vulkan/vulkan_device_queue.cc.orig 2025-05-28 14:55:43 UTC
+++ gpu/vulkan/vulkan_device_queue.cc
-@@ -85,7 +85,7 @@ bool VulkanDeviceQueue::Initialize(
+@@ -145,7 +145,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)
+@@ -292,7 +292,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/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h
index 1f7518b9e478..06fd6b7fc146 100644
--- a/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h
+++ b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h
@@ -1,11 +1,11 @@
---- gpu/vulkan/vulkan_device_queue.h.orig 2022-02-28 16:54:41 UTC
+--- gpu/vulkan/vulkan_device_queue.h.orig 2025-03-05 08:14:56 UTC
+++ gpu/vulkan/vulkan_device_queue.h
-@@ -155,7 +155,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue {
+@@ -182,7 +182,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue
+ #endif
- 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/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc
index 4fcc6cadaf6d..40147518292f 100644
--- a/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc
+++ b/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc
@@ -1,6 +1,6 @@
---- gpu/vulkan/vulkan_function_pointers.cc.orig 2022-04-21 18:48:31 UTC
+--- gpu/vulkan/vulkan_function_pointers.cc.orig 2024-06-17 12:56:06 UTC
+++ gpu/vulkan/vulkan_function_pointers.cc
-@@ -1151,7 +1151,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+@@ -1297,7 +1297,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
}
}
@@ -8,4 +8,13 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (gfx::HasExtension(enabled_extensions,
VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME)) {
- vkGetImageDrmFormatModifierPropertiesEXT =
+ constexpr char kvkGetImageDrmFormatModifierPropertiesEXT[] =
+@@ -1498,7 +1498,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/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h b/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h
index 19b6ee367e23..439114d13b50 100644
--- a/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h
+++ b/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h
@@ -1,6 +1,6 @@
---- gpu/vulkan/vulkan_function_pointers.h.orig 2022-04-21 18:48:31 UTC
+--- gpu/vulkan/vulkan_function_pointers.h.orig 2025-05-05 10:57:53 UTC
+++ gpu/vulkan/vulkan_function_pointers.h
-@@ -305,7 +305,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
+@@ -391,7 +391,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
+@@ -1405,7 +1405,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
+@@ -1415,4 +1415,4 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp
}
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc
deleted file mode 100644
index 6e56f5b75688..000000000000
--- a/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/vulkan/vulkan_image.cc.orig 2022-02-28 16:54:41 UTC
-+++ gpu/vulkan/vulkan_image.cc
-@@ -322,7 +322,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/chromium/files/patch-gpu_vulkan_vulkan__image.h b/www/chromium/files/patch-gpu_vulkan_vulkan__image.h
index e6caa33c4def..e50d3fc98eeb 100644
--- a/www/chromium/files/patch-gpu_vulkan_vulkan__image.h
+++ b/www/chromium/files/patch-gpu_vulkan_vulkan__image.h
@@ -1,6 +1,6 @@
---- gpu/vulkan/vulkan_image.h.orig 2022-02-28 16:54:41 UTC
+--- gpu/vulkan/vulkan_image.h.orig 2023-02-08 09:03:45 UTC
+++ gpu/vulkan/vulkan_image.h
-@@ -86,7 +86,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
+@@ -87,7 +87,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
VkImageUsageFlags usage,
VkImageCreateFlags flags);
@@ -9,7 +9,7 @@
static std::unique_ptr<VulkanImage> CreateWithExternalMemoryAndModifiers(
VulkanDeviceQueue* device_queue,
const gfx::Size& size,
-@@ -170,7 +170,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
+@@ -199,7 +199,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
VkImageTiling image_tiling,
uint32_t queue_family_index);
diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__util.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__util.cc
index dad05cf23aa4..743631be52a5 100644
--- a/www/chromium/files/patch-gpu_vulkan_vulkan__util.cc
+++ b/www/chromium/files/patch-gpu_vulkan_vulkan__util.cc
@@ -1,6 +1,6 @@
---- gpu/vulkan/vulkan_util.cc.orig 2022-07-22 17:30:31 UTC
+--- gpu/vulkan/vulkan_util.cc.orig 2025-07-02 06:08:04 UTC
+++ gpu/vulkan/vulkan_util.cc
-@@ -199,7 +199,7 @@ bool CheckVulkanCompabilities(const VulkanInfo& vulkan
+@@ -476,7 +476,7 @@ bool CheckVulkanCompatibilities(
}
}
diff --git a/www/chromium/files/patch-headless_BUILD.gn b/www/chromium/files/patch-headless_BUILD.gn
new file mode 100644
index 000000000000..8423aea0c8a9
--- /dev/null
+++ b/www/chromium/files/patch-headless_BUILD.gn
@@ -0,0 +1,11 @@
+--- headless/BUILD.gn.orig 2025-05-05 10:57:53 UTC
++++ headless/BUILD.gn
+@@ -475,7 +475,7 @@ component("headless_non_renderer") {
+ }
+ }
+
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ deps += [
+ "//components/crash/content/browser",
+ "//components/crash/core/app",
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h b/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h
deleted file mode 100644
index aa8733048357..000000000000
--- a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/browser/headless_browser_main_parts.h.orig 2022-06-17 14:20:10 UTC
-+++ headless/lib/browser/headless_browser_main_parts.h
-@@ -48,7 +48,7 @@ class HEADLESS_EXPORT HeadlessBrowserMainParts
- #if BUILDFLAG(IS_MAC)
- void PreCreateMainMessageLoop() override;
- #endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void PostCreateMainMessageLoop() override;
- #endif
- void QuitMainMessageLoop();
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc b/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc
deleted file mode 100644
index 9179e4db559d..000000000000
--- a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/browser/headless_browser_main_parts_linux.cc.orig 2022-02-28 16:54:41 UTC
-+++ headless/lib/browser/headless_browser_main_parts_linux.cc
-@@ -24,7 +24,7 @@ constexpr char kProductName[] = "HeadlessChrome";
- #endif
-
- void HeadlessBrowserMainParts::PostCreateMainMessageLoop() {
--#if defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS_ASH)
-+#if defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
- bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr);
- #endif
-
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc b/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc
new file mode 100644
index 000000000000..d57fdb339c73
--- /dev/null
+++ b/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc
@@ -0,0 +1,39 @@
+--- headless/lib/browser/headless_browser_main_parts_posix.cc.orig 2025-04-04 08:52:13 UTC
++++ headless/lib/browser/headless_browser_main_parts_posix.cc
+@@ -26,13 +26,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/sync/key_storage_config_linux.h"
+ #include "components/os_crypt/sync/os_crypt.h"
+ #include "headless/public/switches.h"
+
+-#if BUILDFLAG(USE_DBUS)
++#if BUILDFLAG(USE_DBUS) && !BUILDFLAG(IS_BSD)
+ #include "device/bluetooth/dbus/bluez_dbus_manager.h"
+ #endif
+
+@@ -166,7 +166,7 @@ class BrowserShutdownHandler {
+
+ } // namespace
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr char kProductName[] = "HeadlessChrome";
+ #endif
+
+@@ -174,9 +174,9 @@ void HeadlessBrowserMainParts::PostCreateMainMessageLo
+ BrowserShutdownHandler::Install(base::BindOnce(
+ &HeadlessBrowserImpl::ShutdownWithExitCode, browser_->GetWeakPtr()));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+-#if BUILDFLAG(USE_DBUS)
++#if BUILDFLAG(USE_DBUS) && !BUILDFLAG(IS_BSD)
+ bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr);
+ #endif
+
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc
new file mode 100644
index 000000000000..7cd7c023e54b
--- /dev/null
+++ b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc
@@ -0,0 +1,20 @@
+--- headless/lib/browser/headless_content_browser_client.cc.orig 2025-07-02 06:08:04 UTC
++++ headless/lib/browser/headless_content_browser_client.cc
+@@ -59,7 +59,7 @@
+ #include "content/public/common/content_descriptors.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+
+-#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS)
++#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS)
+ #include "components/os_crypt/sync/os_crypt.h" // nogncheck
+ #include "content/public/browser/network_service_util.h"
+ #endif
+@@ -557,7 +557,7 @@ void HeadlessContentBrowserClient::HandleExplicitlyAll
+
+ void HeadlessContentBrowserClient::SetEncryptionKey(
+ ::network::mojom::NetworkService* network_service) {
+-#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS)
++#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS)
+ // The OSCrypt keys are process bound, so if network service is out of
+ // process, send it the required key if it is available.
+ if (content::IsOutOfProcessNetworkService()
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h
index 6feb91a51ba0..28ad303dd518 100644
--- a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h
+++ b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h
@@ -1,7 +1,7 @@
---- headless/lib/browser/headless_content_browser_client.h.orig 2022-02-28 16:54:41 UTC
+--- headless/lib/browser/headless_content_browser_client.h.orig 2025-07-02 06:08:04 UTC
+++ headless/lib/browser/headless_content_browser_client.h
-@@ -47,7 +47,7 @@ class HeadlessContentBrowserClient : public content::C
- override;
+@@ -48,7 +48,7 @@ class HeadlessContentBrowserClient : public content::C
+ CreateDevToolsManagerDelegate() override;
content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings(
content::BrowserContext* context) override;
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc b/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc
deleted file mode 100644
index 244ad62eab49..000000000000
--- a/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/browser/headless_request_context_manager.cc.orig 2022-06-17 14:20:10 UTC
-+++ headless/lib/browser/headless_request_context_manager.cc
-@@ -65,7 +65,7 @@ void SetCryptKeyOnce(const base::FilePath& user_data_p
- return;
- done_once = true;
-
--#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS)
-+#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS)
- // The OSCrypt keys are process bound, so if network service is out of
- // process, send it the required key if it is available.
- if (content::IsOutOfProcessNetworkService()
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc b/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc
index 799726bb8c36..d7c67c85bfc9 100644
--- a/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc
+++ b/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc
@@ -1,11 +1,11 @@
---- headless/lib/browser/headless_web_contents_impl.cc.orig 2022-05-19 14:06:27 UTC
+--- headless/lib/browser/headless_web_contents_impl.cc.orig 2025-04-04 08:52:13 UTC
+++ headless/lib/browser/headless_web_contents_impl.cc
-@@ -57,7 +57,7 @@ namespace headless {
+@@ -70,7 +70,7 @@ BASE_FEATURE(kPrerender2InHeadlessMode,
namespace {
void UpdatePrefsFromSystemSettings(blink::RendererPreferences* prefs) {
--#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)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
content::UpdateFontRendererPreferencesFromSystemSettings(prefs);
#endif
diff --git a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc
index cec690e3e992..9c2363a8a819 100644
--- a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc
+++ b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc
@@ -1,9 +1,9 @@
---- headless/lib/headless_content_main_delegate.cc.orig 2022-03-25 21:59:56 UTC
+--- headless/lib/headless_content_main_delegate.cc.orig 2025-05-28 14:55:43 UTC
+++ headless/lib/headless_content_main_delegate.cc
-@@ -336,7 +336,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
- if (process_type != switches::kZygoteProcess) {
+@@ -406,7 +406,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
+ if (process_type != ::switches::kZygoteProcess) {
g_headless_crash_client.Pointer()->set_crash_dumps_dir(
- options()->crash_dumps_dir);
+ command_line.GetSwitchValuePath(switches::kCrashDumpsDir));
-#if !BUILDFLAG(IS_WIN)
+#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD)
crash_reporter::InitializeCrashpad(process_type.empty(), process_type);
diff --git a/www/chromium/files/patch-ipc_ipc__channel.h b/www/chromium/files/patch-ipc_ipc__channel.h
index 568237754a60..6e8f63c5006d 100644
--- a/www/chromium/files/patch-ipc_ipc__channel.h
+++ b/www/chromium/files/patch-ipc_ipc__channel.h
@@ -1,6 +1,6 @@
---- ipc/ipc_channel.h.orig 2022-06-17 14:20:10 UTC
+--- ipc/ipc_channel.h.orig 2024-06-17 12:56:06 UTC
+++ ipc/ipc_channel.h
-@@ -234,7 +234,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender {
+@@ -218,7 +218,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender {
static std::string GenerateUniqueRandomChannelID();
#endif
diff --git a/www/chromium/files/patch-ipc_ipc__channel__common.cc b/www/chromium/files/patch-ipc_ipc__channel__common.cc
index ba398d72e225..f11c89965674 100644
--- a/www/chromium/files/patch-ipc_ipc__channel__common.cc
+++ b/www/chromium/files/patch-ipc_ipc__channel__common.cc
@@ -1,6 +1,6 @@
---- ipc/ipc_channel_common.cc.orig 2022-05-19 14:06:27 UTC
+--- ipc/ipc_channel_common.cc.orig 2023-02-08 09:03:45 UTC
+++ ipc/ipc_channel_common.cc
-@@ -11,7 +11,7 @@
+@@ -10,7 +10,7 @@
namespace IPC {
diff --git a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc
index d0259e09415b..0dcf959a6109 100644
--- a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc
+++ b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc
@@ -1,6 +1,6 @@
---- ipc/ipc_channel_mojo.cc.orig 2022-02-28 16:54:41 UTC
+--- ipc/ipc_channel_mojo.cc.orig 2023-02-08 09:03:45 UTC
+++ ipc/ipc_channel_mojo.cc
-@@ -112,7 +112,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe
+@@ -105,7 +105,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe
};
base::ProcessId GetSelfPID() {
diff --git a/www/chromium/files/patch-ipc_ipc__message__utils.cc b/www/chromium/files/patch-ipc_ipc__message__utils.cc
index 05f316f844ed..2dc0167f1c0e 100644
--- a/www/chromium/files/patch-ipc_ipc__message__utils.cc
+++ b/www/chromium/files/patch-ipc_ipc__message__utils.cc
@@ -1,6 +1,6 @@
---- ipc/ipc_message_utils.cc.orig 2022-05-19 14:06:27 UTC
+--- ipc/ipc_message_utils.cc.orig 2024-11-14 07:57:23 UTC
+++ ipc/ipc_message_utils.cc
-@@ -359,7 +359,7 @@ void ParamTraits<unsigned int>::Log(const param_type&
+@@ -399,7 +399,7 @@ void ParamTraits<unsigned int>::Log(const param_type&
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
diff --git a/www/chromium/files/patch-ipc_ipc__message__utils.h b/www/chromium/files/patch-ipc_ipc__message__utils.h
index a0726995cc95..4618c63ee766 100644
--- a/www/chromium/files/patch-ipc_ipc__message__utils.h
+++ b/www/chromium/files/patch-ipc_ipc__message__utils.h
@@ -1,6 +1,6 @@
---- ipc/ipc_message_utils.h.orig 2022-05-19 14:06:27 UTC
+--- ipc/ipc_message_utils.h.orig 2025-05-05 10:57:53 UTC
+++ ipc/ipc_message_utils.h
-@@ -212,7 +212,7 @@ struct ParamTraits<unsigned int> {
+@@ -216,7 +216,7 @@ struct ParamTraits<unsigned int> {
// Since we want to support Android 32<>64 bit IPC, as long as we don't have
// these traits for 32 bit ARM then that'll catch any errors.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
diff --git a/www/chromium/files/patch-media_BUILD.gn b/www/chromium/files/patch-media_BUILD.gn
index bb01e466dc1e..ae5427149201 100644
--- a/www/chromium/files/patch-media_BUILD.gn
+++ b/www/chromium/files/patch-media_BUILD.gn
@@ -1,12 +1,12 @@
---- media/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- media/BUILD.gn.orig 2025-05-05 10:57:53 UTC
+++ media/BUILD.gn
-@@ -75,6 +75,9 @@ config("media_config") {
+@@ -105,6 +105,9 @@ config("media_config") {
defines += [ "DLOPEN_PULSEAUDIO" ]
}
}
+ if (use_sndio) {
+ defines += [ "USE_SNDIO" ]
+ }
- if (use_cras) {
- defines += [ "USE_CRAS" ]
- }
+ }
+
+ # Internal grouping of the configs necessary to support sub-folders having their
diff --git a/www/chromium/files/patch-media_audio_BUILD.gn b/www/chromium/files/patch-media_audio_BUILD.gn
index 7a25ea8bc0d8..4bf583135073 100644
--- a/www/chromium/files/patch-media_audio_BUILD.gn
+++ b/www/chromium/files/patch-media_audio_BUILD.gn
@@ -1,18 +1,21 @@
---- media/audio/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- media/audio/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ media/audio/BUILD.gn
-@@ -248,9 +248,20 @@ source_set("audio") {
- ]
+@@ -286,9 +286,23 @@ source_set("audio") {
+ deps += [ "//media/base/android:media_jni_headers" ]
}
- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !use_sndio) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [ "linux/audio_manager_linux.cc" ]
}
+
++ if (is_bsd) {
++ sources += [ "sndio/audio_manager_sndio.cc" ]
++ }
++
+ if (use_sndio) {
+ libs += [ "sndio" ]
+ sources += [
-+ "sndio/audio_manager_sndio.cc",
+ "sndio/sndio_input.cc",
+ "sndio/sndio_input.h",
+ "sndio/sndio_output.cc",
diff --git a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc
index a26dd20d89cf..dda7610a87cf 100644
--- a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc
+++ b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc
@@ -1,26 +1,26 @@
---- media/audio/alsa/audio_manager_alsa.cc.orig 2022-04-21 18:48:31 UTC
+--- media/audio/alsa/audio_manager_alsa.cc.orig 2025-05-28 14:55:43 UTC
+++ media/audio/alsa/audio_manager_alsa.cc
-@@ -88,7 +88,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType
+@@ -106,7 +106,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType
int card = -1;
- // Loop through the sound cards to get ALSA device hints.
-+#if !BUILDFLAG(IS_BSD)
+ // Loop through the physical sound cards to get ALSA device hints.
++#if !BUILDFLAG(IS_BSD)
while (!wrapper_->CardNext(&card) && card >= 0) {
+#endif
- void** hints = NULL;
+ void** hints = nullptr;
int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
if (!error) {
-@@ -100,7 +102,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType
+@@ -118,7 +120,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType
DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: "
<< wrapper_->StrError(error);
}
-+#if !BUILDFLAG(IS_BSD)
++#if !BUILDFLAG(IS_BSD)
}
+#endif
}
void AudioManagerAlsa::GetAlsaDevicesInfo(AudioManagerAlsa::StreamType type,
-@@ -183,7 +187,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(
+@@ -202,7 +206,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(
// goes through software conversion if needed (e.g. incompatible
// sample rate).
// TODO(joi): Should we prefer "hw" instead?
@@ -32,7 +32,7 @@
return strncmp(kDeviceTypeDesired, device_name,
std::size(kDeviceTypeDesired) - 1) == 0;
}
-@@ -205,7 +213,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice(
+@@ -254,7 +262,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice(
// Loop through the sound cards.
// Don't use snd_device_name_hint(-1,..) since there is an access violation
// inside this ALSA API with libasound.so.2.0.0.
@@ -41,8 +41,8 @@
+#endif
int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
if (!error) {
- for (void** hint_iter = hints; *hint_iter != NULL; hint_iter++) {
-@@ -229,7 +239,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice(
+ for (void** hint_iter = hints; *hint_iter != nullptr; hint_iter++) {
+@@ -279,7 +289,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice(
DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: "
<< wrapper_->StrError(error);
}
diff --git a/www/chromium/files/patch-media_audio_audio__features.cc b/www/chromium/files/patch-media_audio_audio__features.cc
deleted file mode 100644
index a63feeec497c..000000000000
--- a/www/chromium/files/patch-media_audio_audio__features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/audio/audio_features.cc.orig 2022-06-17 14:20:10 UTC
-+++ media/audio/audio_features.cc
-@@ -14,7 +14,7 @@ namespace features {
- const base::Feature kAudioServiceOutOfProcessKillAtHang{
- "AudioServiceOutOfProcessKillAtHang",
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-media_audio_audio__input__device.cc b/www/chromium/files/patch-media_audio_audio__input__device.cc
index 6413a38b2057..162f83363e38 100644
--- a/www/chromium/files/patch-media_audio_audio__input__device.cc
+++ b/www/chromium/files/patch-media_audio_audio__input__device.cc
@@ -1,6 +1,6 @@
---- media/audio/audio_input_device.cc.orig 2022-05-19 14:06:27 UTC
+--- media/audio/audio_input_device.cc.orig 2025-02-19 07:43:18 UTC
+++ media/audio/audio_input_device.cc
-@@ -260,7 +260,7 @@ void AudioInputDevice::OnStreamCreated(
+@@ -275,7 +275,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/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc b/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc
index 3110c8f24c5f..3f44694532c2 100644
--- a/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc
+++ b/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc
@@ -1,6 +1,6 @@
---- media/audio/audio_output_proxy_unittest.cc.orig 2022-02-28 16:54:41 UTC
+--- media/audio/audio_output_proxy_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ media/audio/audio_output_proxy_unittest.cc
-@@ -412,7 +412,11 @@ class AudioOutputProxyTest : public testing::Test {
+@@ -443,7 +443,11 @@ class AudioOutputProxyTest : public testing::Test {
// |stream| is closed at this point. Start() should reopen it again.
EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
.Times(2)
diff --git a/www/chromium/files/patch-media_audio_pulse_pulse__util.cc b/www/chromium/files/patch-media_audio_pulse_pulse__util.cc
new file mode 100644
index 000000000000..ccb79f1f1543
--- /dev/null
+++ b/www/chromium/files/patch-media_audio_pulse_pulse__util.cc
@@ -0,0 +1,14 @@
+--- media/audio/pulse/pulse_util.cc.orig 2024-09-30 07:45:04 UTC
++++ media/audio/pulse/pulse_util.cc
+@@ -50,7 +50,11 @@ constexpr char kBrowserDisplayName[] = "chromium-brows
+
+ #if defined(DLOPEN_PULSEAUDIO)
+ static const base::FilePath::CharType kPulseLib[] =
++#if BUILDFLAG(IS_BSD)
++ FILE_PATH_LITERAL("libpulse.so");
++#else
+ FILE_PATH_LITERAL("libpulse.so.0");
++#endif
+ #endif
+
+ void DestroyMainloop(pa_threaded_mainloop* mainloop) {
diff --git a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc
index b6a27b9fd517..77ef6c87435e 100644
--- a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc
+++ b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc
@@ -1,6 +1,6 @@
---- media/audio/sndio/audio_manager_sndio.cc.orig 2022-07-22 17:30:31 UTC
+--- media/audio/sndio/audio_manager_sndio.cc.orig 2025-07-02 06:08:04 UTC
+++ media/audio/sndio/audio_manager_sndio.cc
-@@ -0,0 +1,177 @@
+@@ -0,0 +1,213 @@
+// 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.
@@ -17,18 +17,19 @@
+#include "media/audio/sndio/sndio_input.h"
+#include "media/audio/sndio/sndio_output.h"
+#endif
++#if defined(USE_PULSEAUDIO)
++#include "media/audio/pulse/audio_manager_pulse.h"
++#include "media/audio/pulse/pulse_util.h"
++#endif
++#if defined(USE_ALSA)
++#include "media/audio/alsa/audio_manager_alsa.h"
++#endif
+#include "media/audio/fake_audio_manager.h"
+#include "media/base/limits.h"
+#include "media/base/media_switches.h"
+
+namespace media {
+
-+enum SndioAudioIO {
-+ kPulse,
-+ kSndio,
-+ kAudioIOMax = kSndio
-+};
-+
+#if defined(USE_SNDIO)
+// Maximum number of output streams that can be open simultaneously.
+static const int kMaxOutputStreams = 50;
@@ -61,7 +62,7 @@
+}
+
+#if defined(USE_SNDIO)
-+const char* AudioManagerSndio::GetName() {
++const std::string_view AudioManagerSndio::GetName() {
+ return "SNDIO";
+}
+#endif
@@ -70,9 +71,13 @@
+ const std::string& device_id) {
+ static const int kDefaultInputBufferSize = 1024;
+
++ int user_buffer_size = GetUserBufferSize();
++ int buffer_size = user_buffer_size ?
++ user_buffer_size : kDefaultInputBufferSize;
++
+ return AudioParameters(
-+ AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
-+ kDefaultSampleRate, kDefaultInputBufferSize);
++ AudioParameters::AUDIO_PCM_LOW_LATENCY, ChannelLayoutConfig::Stereo(),
++ kDefaultSampleRate, buffer_size);
+}
+
+AudioManagerSndio::AudioManagerSndio(std::unique_ptr<AudioThread> audio_thread,
@@ -124,12 +129,12 @@
+ DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!";
+ static const int kDefaultOutputBufferSize = 2048;
+
-+ ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO;
++ ChannelLayoutConfig channel_layout_config = ChannelLayoutConfig::Stereo();
+ int sample_rate = kDefaultSampleRate;
+ int buffer_size = kDefaultOutputBufferSize;
+ if (input_params.IsValid()) {
+ sample_rate = input_params.sample_rate();
-+ channel_layout = input_params.channel_layout();
++ channel_layout_config = input_params.channel_layout_config();
+ buffer_size = std::min(buffer_size, input_params.frames_per_buffer());
+ }
+
@@ -138,8 +143,8 @@
+ buffer_size = user_buffer_size;
+
+ return AudioParameters(
-+ AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
-+ sample_rate, buffer_size);
++ AudioParameters::AUDIO_PCM_LOW_LATENCY,
++ channel_layout_config, sample_rate, buffer_size);
+}
+
+AudioInputStream* AudioManagerSndio::MakeInputStream(
@@ -160,21 +165,52 @@
+ std::unique_ptr<AudioThread> audio_thread,
+ AudioLogFactory* audio_log_factory) {
+ DLOG(WARNING) << "CreateAudioManager";
++
++ auto _ab = kAudioBackendParam.Get();
++
+ // For testing allow audio output to be disabled.
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-+ switches::kDisableAudioOutput)) {
++ switches::kDisableAudioOutput) ||
++ !base::FeatureList::IsEnabled(media::kAudioBackend)) {
+ return std::make_unique<FakeAudioManager>(std::move(audio_thread),
+ audio_log_factory);
+ }
++
++#if defined(USE_PULSEAUDIO)
++ pa_threaded_mainloop* pa_mainloop = nullptr;
++ pa_context* pa_context = nullptr;
++ if (_ab != AudioBackend::kSndio && _ab != AudioBackend::kAlsa &&
++ pulse::InitPulse(&pa_mainloop, &pa_context)) {
++ return std::make_unique<AudioManagerPulse>(
++ std::move(audio_thread), audio_log_factory, pa_mainloop, pa_context);
++ } else if (_ab == AudioBackend::kAuto) {
++ LOG(WARNING) << "Falling back to SNDIO for audio output. PulseAudio is not "
++ "available or could not be initialized.";
++ }
++#endif
++
+#if defined(USE_SNDIO)
-+ UMA_HISTOGRAM_ENUMERATION("Media.SndioAudioIO", kSndio, kAudioIOMax + 1);
-+ return std::make_unique<AudioManagerSndio>(std::move(audio_thread),
-+ audio_log_factory);
-+#else
-+ return std::make_unique<FakeAudioManager>(std::move(audio_thread),
-+ audio_log_factory);
++ if (_ab != AudioBackend::kPulseAudio && _ab != AudioBackend::kAlsa) {
++ return std::make_unique<AudioManagerSndio>(std::move(audio_thread),
++ audio_log_factory);
++ } else if (_ab == AudioBackend::kAuto) {
++ LOG(WARNING) << "Falling back to ALSA audio output. SNDIO is not "
++ "available or could not be initialized.";
++ }
+#endif
+
++#if defined(USE_ALSA)
++ if (_ab != AudioBackend::kPulseAudio && _ab != AudioBackend::kSndio) {
++ return std::make_unique<AudioManagerAlsa>(std::move(audio_thread),
++ audio_log_factory);
++ } else if (_ab == AudioBackend::kAuto) {
++ LOG(WARNING) << "Falling back to fake audio output. ALSA is not "
++ "available or could not be initialized.";
++ }
++#endif
++
++ return std::make_unique<FakeAudioManager>(std::move(audio_thread),
++ audio_log_factory);
+}
+
+} // namespace media
diff --git a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h
index 33428cfc37d1..d3fcce40a8d0 100644
--- a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h
+++ b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h
@@ -1,4 +1,4 @@
---- media/audio/sndio/audio_manager_sndio.h.orig 2022-02-07 13:39:41 UTC
+--- media/audio/sndio/audio_manager_sndio.h.orig 2025-07-02 06:08:04 UTC
+++ media/audio/sndio/audio_manager_sndio.h
@@ -0,0 +1,66 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
@@ -34,7 +34,7 @@
+ void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override;
+ AudioParameters GetInputStreamParameters(
+ const std::string& device_id) override;
-+ const char* GetName() override;
++ const std::string_view GetName() override;
+
+ // Implementation of AudioManagerBase.
+ AudioOutputStream* MakeLinearOutputStream(
diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__input.cc b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc
index 5baf33b03c3d..da2f0c91ade2 100644
--- a/www/chromium/files/patch-media_audio_sndio_sndio__input.cc
+++ b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc
@@ -1,11 +1,10 @@
---- media/audio/sndio/sndio_input.cc.orig 2022-02-28 16:54:41 UTC
+--- media/audio/sndio/sndio_input.cc.orig 2023-04-28 17:01:32 UTC
+++ media/audio/sndio/sndio_input.cc
-@@ -0,0 +1,201 @@
+@@ -0,0 +1,200 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
-+#include "base/bind.h"
+#include "base/logging.h"
+#include "media/base/audio_timestamp_helper.h"
+#include "media/audio/sndio/audio_manager_sndio.h"
@@ -197,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/chromium/files/patch-media_audio_sndio_sndio__output.cc b/www/chromium/files/patch-media_audio_sndio_sndio__output.cc
index 694b777465d7..e875d0c0d87b 100644
--- a/www/chromium/files/patch-media_audio_sndio_sndio__output.cc
+++ b/www/chromium/files/patch-media_audio_sndio_sndio__output.cc
@@ -1,4 +1,4 @@
---- media/audio/sndio/sndio_output.cc.orig 2022-02-28 16:54:41 UTC
+--- media/audio/sndio/sndio_output.cc.orig 2023-02-08 09:03:45 UTC
+++ media/audio/sndio/sndio_output.cc
@@ -0,0 +1,187 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
@@ -165,7 +165,7 @@
+ // Get data to play
+ const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay,
+ params.sample_rate());
-+ count = source->OnMoreData(delay, base::TimeTicks::Now(), 0, audio_bus.get());
++ count = source->OnMoreData(delay, base::TimeTicks::Now(), {}, audio_bus.get());
+ audio_bus->ToInterleaved<SignedInt16SampleTypeTraits>(count, reinterpret_cast<int16_t*>(buffer));
+ if (count == 0) {
+ // We have to submit something to the device
diff --git a/www/chromium/files/patch-media_base_audio__latency.cc b/www/chromium/files/patch-media_base_audio__latency.cc
index c3919836726c..8bc6f327581e 100644
--- a/www/chromium/files/patch-media_base_audio__latency.cc
+++ b/www/chromium/files/patch-media_base_audio__latency.cc
@@ -1,9 +1,9 @@
---- media/base/audio_latency.cc.orig 2022-06-17 14:20:10 UTC
+--- media/base/audio_latency.cc.orig 2025-04-04 08:52:13 UTC
+++ media/base/audio_latency.cc
-@@ -137,7 +137,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in
+@@ -147,7 +147,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in
}
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
// On Linux, MacOS and Fuchsia, the low level IO implementations on the
diff --git a/www/chromium/files/patch-media_base_libaom__thread__wrapper.cc b/www/chromium/files/patch-media_base_libaom__thread__wrapper.cc
new file mode 100644
index 000000000000..35e149fb275c
--- /dev/null
+++ b/www/chromium/files/patch-media_base_libaom__thread__wrapper.cc
@@ -0,0 +1,24 @@
+--- media/base/libaom_thread_wrapper.cc.orig 2024-03-22 08:19:40 UTC
++++ media/base/libaom_thread_wrapper.cc
+@@ -5,17 +5,21 @@
+ #include "base/logging.h"
+ #include "media/base/codec_worker_impl.h"
+ #include "media/base/libvpx_thread_wrapper.h"
++#if !BUILDFLAG(IS_BSD)
+ #include "third_party/libaom/source/libaom/aom_util/aom_thread.h"
++#endif
+
+ namespace media {
+
+ void InitLibAomThreadWrapper() {
++#if !BUILDFLAG(IS_BSD)
+ const AVxWorkerInterface interface =
+ CodecWorkerImpl<AVxWorkerInterface, AVxWorkerImpl, AVxWorker,
+ AVxWorkerStatus, AVX_WORKER_STATUS_NOT_OK,
+ AVX_WORKER_STATUS_OK,
+ AVX_WORKER_STATUS_WORKING>::GetCodecWorkerInterface();
+ CHECK(aom_set_worker_interface(&interface));
++#endif
+ }
+
+ } // namespace media
diff --git a/www/chromium/files/patch-media_base_libvpx__thread__wrapper.cc b/www/chromium/files/patch-media_base_libvpx__thread__wrapper.cc
new file mode 100644
index 000000000000..583b218fbdcd
--- /dev/null
+++ b/www/chromium/files/patch-media_base_libvpx__thread__wrapper.cc
@@ -0,0 +1,25 @@
+--- media/base/libvpx_thread_wrapper.cc.orig 2024-03-22 08:19:40 UTC
++++ media/base/libvpx_thread_wrapper.cc
+@@ -5,11 +5,14 @@
+ #include "media/base/libvpx_thread_wrapper.h"
+
+ #include "media/base/codec_worker_impl.h"
++#if !BUILDFLAG(IS_OPENBSD)
+ #include "third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h"
++#endif
+
+ namespace media {
+
+ void InitLibVpxThreadWrapper() {
++#if !BUILDFLAG(IS_OPENBSD)
+ const VPxWorkerInterface interface =
+ CodecWorkerImpl<VPxWorkerInterface, VPxWorkerImpl, VPxWorker,
+ VPxWorkerStatus, VPX_WORKER_STATUS_NOT_OK,
+@@ -17,6 +20,7 @@ void InitLibVpxThreadWrapper() {
+ VPX_WORKER_STATUS_WORKING>::GetCodecWorkerInterface();
+
+ CHECK(vpx_set_worker_interface(&interface));
++#endif
+ }
+
+ } // namespace media
diff --git a/www/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc
index 58d0d7fb8170..66b77e24fbf9 100644
--- a/www/chromium/files/patch-media_base_media__switches.cc
+++ b/www/chromium/files/patch-media_base_media__switches.cc
@@ -1,47 +1,114 @@
---- media/base/media_switches.cc.orig 2022-07-22 17:30:31 UTC
+--- media/base/media_switches.cc.orig 2025-07-02 06:08:04 UTC
+++ media/base/media_switches.cc
-@@ -10,7 +10,7 @@
- #include "components/system_media_controls/linux/buildflags/buildflags.h"
- #include "media/media_buildflags.h"
+@@ -19,7 +19,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
-@@ -448,7 +448,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode
- const base::Feature kGlobalMediaControls {
- "GlobalMediaControls",
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
+@@ -366,8 +366,8 @@ BASE_FEATURE(kUseSCContentSharingPicker,
+ "UseSCContentSharingPicker",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif // BUILDFLAG(IS_MAC)
+-
+-#if BUILDFLAG(IS_LINUX)
++
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Enables system audio mirroring using pulseaudio.
+ BASE_FEATURE(kPulseaudioLoopbackForCast,
+ "PulseaudioLoopbackForCast",
+@@ -377,6 +377,28 @@ BASE_FEATURE(kPulseaudioLoopbackForCast,
+ BASE_FEATURE(kPulseaudioLoopbackForScreenShare,
+ "PulseaudioLoopbackForScreenShare",
+ base::FEATURE_DISABLED_BY_DEFAULT);
++
++BASE_FEATURE(kAudioBackend,
++ "AudioBackend",
++ base::FEATURE_ENABLED_BY_DEFAULT);
++
++constexpr base::FeatureParam<AudioBackend>::Option
++ kAudioBackendOptions[] = {
++ {AudioBackend::kAuto,
++ "auto"},
++ {AudioBackend::kPulseAudio, "pulseaudio"},
++ {AudioBackend::kSndio, "sndio"},
++ {AudioBackend::kAlsa, "alsa"}};
++
++const base::FeatureParam<AudioBackend>
++ kAudioBackendParam{
++ &kAudioBackend, "audio-backend",
++#if BUILDFLAG(IS_OPENBSD)
++ AudioBackend::kSndio,
++#elif BUILDFLAG(IS_FREEBSD)
++ AudioBackend::kAuto,
++#endif
++ &kAudioBackendOptions};
+ #endif // BUILDFLAG(IS_LINUX)
+
+ // When enabled, MediaCapabilities will check with GPU Video Accelerator
+@@ -658,7 +680,7 @@ BASE_FEATURE(kFileDialogsBlockPictureInPicture,
+ // Show toolbar button that opens dialog for controlling media sessions.
+ BASE_FEATURE(kGlobalMediaControls,
+ "GlobalMediaControls",
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -681,7 +703,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI,
+ // If enabled, users can request Media Remoting without fullscreen-in-tab.
+ 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
-@@ -480,7 +480,7 @@ constexpr base::FeatureParam<kCrosGlobalMediaControlsP
- const base::Feature kGlobalMediaControlsPictureInPicture {
- "GlobalMediaControlsPictureInPicture",
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -693,7 +715,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen,
+ BASE_FEATURE(kGlobalMediaControlsPictureInPicture,
+ "GlobalMediaControlsPictureInPicture",
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
#else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -517,7 +517,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
- const base::Feature kUnifiedAutoplay{"UnifiedAutoplay",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -722,7 +744,7 @@ BASE_FEATURE(kUnifiedAutoplay,
+ "UnifiedAutoplay",
+ base::FEATURE_ENABLED_BY_DEFAULT);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Enable vaapi video decoding on linux. This is already enabled by default on
- // chromeos, but needs an experiment on linux.
- const base::Feature kVaapiVideoDecodeLinux{"VaapiVideoDecoder",
-@@ -932,7 +932,7 @@ const base::Feature MEDIA_EXPORT kDeprecateLowUsageCod
- "DeprecateLowUsageCodecs", base::FEATURE_ENABLED_BY_DEFAULT};
- #endif // BUILDFLAG(IS_CHROMEOS)
+ // Enable vaapi/v4l2 video decoding on linux. This is already enabled by default
+ // on chromeos, but needs an experiment on linux.
+ BASE_FEATURE(kAcceleratedVideoDecodeLinux,
+@@ -795,7 +817,7 @@ BASE_FEATURE(kVSyncMjpegDecoding,
+ "VSyncMjpegDecoding",
+ base::FEATURE_DISABLED_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)
+ // Enable H264 temporal layer encoding with V4L2 HW encoder on ChromeOS.
+ BASE_FEATURE(kV4L2H264TemporalLayerHWEncoding,
+ "V4L2H264TemporalLayerHWEncoding",
+@@ -1355,7 +1377,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding,
+ );
+ #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER)
-#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
+ // Spawn utility processes to perform hardware encode acceleration instead of
// using the GPU process.
- const base::Feature MEDIA_EXPORT kUseOutOfProcessVideoDecoding{
+ BASE_FEATURE(kUseOutOfProcessVideoEncoding,
+@@ -1437,7 +1459,7 @@ BASE_FEATURE(kRecordWebAudioEngagement,
+ "RecordWebAudioEngagement",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Reduces the number of buffers needed in the output video frame pool to
+ // populate the Renderer pipeline for hardware accelerated VideoDecoder in
+ // non-low latency scenarios.
diff --git a/www/chromium/files/patch-media_base_media__switches.h b/www/chromium/files/patch-media_base_media__switches.h
index 9068fb415bc0..89432227bff0 100644
--- a/www/chromium/files/patch-media_base_media__switches.h
+++ b/www/chromium/files/patch-media_base_media__switches.h
@@ -1,20 +1,57 @@
---- media/base/media_switches.h.orig 2022-07-22 17:30:31 UTC
+--- media/base/media_switches.h.orig 2025-07-02 06:08:04 UTC
+++ media/base/media_switches.h
-@@ -198,7 +198,7 @@ MEDIA_EXPORT extern const base::Feature kUseDecoderStr
- MEDIA_EXPORT extern const base::Feature kUseFakeDeviceForMediaStream;
- MEDIA_EXPORT extern const base::Feature kUseMediaHistoryStore;
- MEDIA_EXPORT extern const base::Feature kUseR16Texture;
+@@ -336,13 +336,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPlaybackSpeedButton);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMediaEngagementData);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMetadataSuspend);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- MEDIA_EXPORT extern const base::Feature kVaapiVideoDecodeLinux;
- MEDIA_EXPORT extern const base::Feature kVaapiVideoEncodeLinux;
- MEDIA_EXPORT extern const base::Feature kVaapiIgnoreDriverChecks;
-@@ -304,7 +304,7 @@ MEDIA_EXPORT extern const base::FeatureParam<
- MEDIA_EXPORT extern const base::Feature kDeprecateLowUsageCodecs;
- #endif
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForCast);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForScreenShare);
++
++enum class AudioBackend {
++ kAuto,
++ kPulseAudio,
++ kSndio,
++ kAlsa
++};
++
++MEDIA_EXPORT BASE_DECLARE_FEATURE(kAudioBackend);
++MEDIA_EXPORT extern const base::FeatureParam<
++ AudioBackend>
++ kAudioBackendParam;
+ #endif // BUILDFLAG(IS_LINUX)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kRecordMediaEngagementScores);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kRecordWebAudioEngagement);
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kReduceHardwareVideoDecoderBuffers);
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kResumeBackgroundVideo);
+@@ -356,7 +368,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kSuspendMutedAudio);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAndroidOverlayForSecureOnly);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream);
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoDecodeLinux);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoDecodeLinuxGL);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoEncodeLinux);
+@@ -372,7 +384,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9SModeHWEncoding);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVSyncMjpegDecoding);
+ #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(kV4L2H264TemporalLayerHWEncoding);
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
+@@ -493,7 +505,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBackgroundListening
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoDecoding);
+ #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- MEDIA_EXPORT extern const base::Feature kUseOutOfProcessVideoDecoding;
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoEncoding);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-media_base_scopedfd__helper.h b/www/chromium/files/patch-media_base_scopedfd__helper.h
deleted file mode 100644
index 8bf62e4233ce..000000000000
--- a/www/chromium/files/patch-media_base_scopedfd__helper.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/base/scopedfd_helper.h.orig 2022-02-28 16:54:41 UTC
-+++ media/base/scopedfd_helper.h
-@@ -15,7 +15,7 @@ namespace media {
- // but since the only current user is V4L2 we are limiting the scope to OS_LINUX
- // so the binary size does not inflate on non-using systems. Feel free to adapt
- // this and BUILD.gn as our needs evolve.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
-
- // Return a new vector containing duplicates of |fds|, or PCHECKs in case of an
- // error.
diff --git a/www/chromium/files/patch-media_base_supported__types.cc b/www/chromium/files/patch-media_base_supported__types.cc
deleted file mode 100644
index d8f59f15f706..000000000000
--- a/www/chromium/files/patch-media_base_supported__types.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/base/supported_types.cc.orig 2022-07-22 17:30:31 UTC
-+++ media/base/supported_types.cc
-@@ -205,7 +205,7 @@ bool IsHevcProfileSupported(const VideoType& type) {
- return false;
-
- #if BUILDFLAG(ENABLE_PLATFORM_HEVC)
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #if BUILDFLAG(IS_CHROMEOS_LACROS)
- // TODO(b/171813538): For Lacros, the supplemental profile cache will be
- // asking lacros-gpu, but we will be doing decoding in ash-gpu. Until the
diff --git a/www/chromium/files/patch-media_base_user__input__monitor__unittest.cc b/www/chromium/files/patch-media_base_user__input__monitor__unittest.cc
deleted file mode 100644
index 08c5284ee7a6..000000000000
--- a/www/chromium/files/patch-media_base_user__input__monitor__unittest.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- media/base/user_input_monitor_unittest.cc.orig 2022-02-28 16:54:41 UTC
-+++ media/base/user_input_monitor_unittest.cc
-@@ -13,7 +13,7 @@
- #include "build/build_config.h"
- #include "testing/gtest/include/gtest/gtest.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "base/files/file_descriptor_watcher_posix.h"
- #endif
-
-@@ -49,7 +49,7 @@ class UserInputMonitorTest : public testing::Test {
- } // namespace
-
- TEST_F(UserInputMonitorTest, CreatePlatformSpecific) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- base::test::TaskEnvironment task_environment(
- base::test::TaskEnvironment::MainThreadType::IO);
- #else
-@@ -71,7 +71,7 @@ TEST_F(UserInputMonitorTest, CreatePlatformSpecific) {
- }
-
- TEST_F(UserInputMonitorTest, CreatePlatformSpecificWithMapping) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- base::test::TaskEnvironment task_environment(
- base::test::TaskEnvironment::MainThreadType::IO);
- #else
diff --git a/www/chromium/files/patch-media_base_vector__math.cc b/www/chromium/files/patch-media_base_vector__math.cc
deleted file mode 100644
index 56bde6b71819..000000000000
--- a/www/chromium/files/patch-media_base_vector__math.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/base/vector_math.cc.orig 2022-02-28 16:54:41 UTC
-+++ media/base/vector_math.cc
-@@ -18,7 +18,7 @@
- // better, which is anywhere clang is used.
- // TODO(pcc): Linux currently uses ThinLTO which has broken auto-vectorization
- // in clang, so use our intrinsic version for now. http://crbug.com/738085
--#if !defined(__clang__) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if !defined(__clang__) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #define FMAC_FUNC FMAC_SSE
- #define FMUL_FUNC FMUL_SSE
- #else
diff --git a/www/chromium/files/patch-media_base_video__frame.cc b/www/chromium/files/patch-media_base_video__frame.cc
index 3dcfb3ce24b1..9e081b0035db 100644
--- a/www/chromium/files/patch-media_base_video__frame.cc
+++ b/www/chromium/files/patch-media_base_video__frame.cc
@@ -1,6 +1,6 @@
---- media/base/video_frame.cc.orig 2022-05-19 14:06:27 UTC
+--- media/base/video_frame.cc.orig 2025-07-02 06:08:04 UTC
+++ media/base/video_frame.cc
-@@ -72,7 +72,7 @@ std::string VideoFrame::StorageTypeToString(
+@@ -92,7 +92,7 @@ std::string VideoFrame::StorageTypeToString(
return "OWNED_MEMORY";
case VideoFrame::STORAGE_SHMEM:
return "SHMEM";
@@ -9,7 +9,7 @@
case VideoFrame::STORAGE_DMABUFS:
return "DMABUFS";
#endif
-@@ -89,7 +89,7 @@ std::string VideoFrame::StorageTypeToString(
+@@ -106,7 +106,7 @@ std::string VideoFrame::StorageTypeToString(
// static
bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) {
return
@@ -18,25 +18,16 @@
// This is not strictly needed but makes explicit that, at VideoFrame
// level, DmaBufs are not mappable from userspace.
storage_type != VideoFrame::STORAGE_DMABUFS &&
-@@ -285,7 +285,7 @@ static absl::optional<VideoFrameLayout> GetDefaultLayo
- return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes);
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // This class allows us to embed a vector<ScopedFD> into a scoped_refptr, and
- // thus to have several VideoFrames share the same set of DMABUF FDs.
- class VideoFrame::DmabufHolder
-@@ -624,7 +624,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
- for (size_t i = 0; i < num_planes; ++i)
- planes[i].stride = gpu_memory_buffer->stride(i);
+@@ -417,7 +417,7 @@ VideoFrame::CreateFrameForGpuMemoryBufferOrMappableSII
+ plane_size.width() * VideoFrame::BytesPerElement(*format, plane);
+ }
uint64_t modifier = gfx::NativePixmapHandle::kNoModifier;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) {
- const auto gmb_handle = gpu_memory_buffer->CloneHandle();
- if (gmb_handle.is_null() ||
-@@ -670,7 +670,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
+ bool is_native_buffer =
+ gpu_memory_buffer
+ ? (gpu_memory_buffer->GetType() != gfx::SHARED_MEMORY_BUFFER)
+@@ -889,7 +889,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
return frame;
}
@@ -45,30 +36,12 @@
// static
scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs(
const VideoFrameLayout& layout,
-@@ -894,7 +894,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame(
- }
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- DCHECK(frame->dmabuf_fds_);
- // If there are any |dmabuf_fds_| plugged in, we should refer them too.
- wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_;
-@@ -1265,7 +1265,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder(
- : mailbox_holders_[texture_index];
+@@ -1573,7 +1573,7 @@ scoped_refptr<gpu::ClientSharedImage> VideoFrame::shar
+ return wrapped_frame_ ? wrapped_frame_->shared_image() : shared_image_;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const {
- DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
-
-@@ -1377,7 +1377,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout,
- storage_type_(storage_type),
- visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))),
- natural_size_(natural_size),
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- dmabuf_fds_(base::MakeRefCounted<DmabufHolder>()),
- #endif
- timestamp_(timestamp),
+ size_t VideoFrame::NumDmabufFds() const {
+ if (wrapped_frame_) {
+ return wrapped_frame_->NumDmabufFds();
diff --git a/www/chromium/files/patch-media_base_video__frame.h b/www/chromium/files/patch-media_base_video__frame.h
index d0642f48a2a6..7bd2d18baa33 100644
--- a/www/chromium/files/patch-media_base_video__frame.h
+++ b/www/chromium/files/patch-media_base_video__frame.h
@@ -1,24 +1,24 @@
---- media/base/video_frame.h.orig 2022-05-19 14:06:27 UTC
+--- media/base/video_frame.h.orig 2025-05-28 14:55:43 UTC
+++ media/base/video_frame.h
-@@ -41,7 +41,7 @@
- #include "base/mac/scoped_cftyperef.h"
- #endif // BUILDFLAG(IS_MAC)
+@@ -42,7 +42,7 @@
+ #include "ui/gfx/geometry/size.h"
+ #include "ui/gfx/hdr_metadata.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/files/scoped_file.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -83,7 +83,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -88,7 +88,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers.
STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer.
- STORAGE_SHMEM = 4, // Backed by unsafe (writable) shared memory.
+ STORAGE_SHMEM = 4, // Backed by read-only shared memory.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // TODO(mcasas): Consider turning this type into STORAGE_NATIVE
- // based on the idea of using this same enum value for both DMA
- // buffers on Linux and CVPixelBuffers on Mac (which currently use
-@@ -281,7 +281,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+ STORAGE_DMABUFS = 5, // Each plane is stored into a DmaBuf.
+ #endif
+ STORAGE_GPU_MEMORY_BUFFER = 6,
+@@ -420,7 +420,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
ReleaseMailboxAndGpuMemoryBufferCB mailbox_holder_and_gmb_release_cb,
base::TimeDelta timestamp);
@@ -27,21 +27,21 @@
// Wraps provided dmabufs
// (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a
// VideoFrame. The frame will take ownership of |dmabuf_fds|, and will
-@@ -540,7 +540,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
- // mailbox, the caller must wait for the included sync point.
- const gpu::MailboxHolder& mailbox_holder(size_t texture_index) const;
+@@ -733,7 +733,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+ // wait for the included sync point.
+ scoped_refptr<gpu::ClientSharedImage> shared_image() const;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Returns a vector containing the backing DmaBufs for this frame. The number
- // of returned DmaBufs will be equal or less than the number of planes of
+ // The number of DmaBufs will be equal or less than the number of planes of
// the frame. If there are less, this means that the last FD contains the
-@@ -744,7 +744,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
- // GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER.
- std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_;
+ // remaining planes. Should be > 0 for STORAGE_DMABUFS.
+@@ -973,7 +973,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+ // GpuMemoryBuffers. Clients will set this flag while creating a VideoFrame.
+ bool is_mappable_si_enabled_ = false;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- class DmabufHolder;
-
// Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either
+ // equal or less than the number of planes of the frame. If it is less, then
+ // the memory area represented by the last FD contains the remaining planes.
diff --git a/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc
index 3ae853366d1a..a1152a30f5d6 100644
--- a/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc
+++ b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc
@@ -1,20 +1,20 @@
---- media/capture/video/create_video_capture_device_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- media/capture/video/create_video_capture_device_factory.cc.orig 2025-04-04 08:52:13 UTC
+++ media/capture/video/create_video_capture_device_factory.cc
@@ -12,7 +12,7 @@
#include "media/capture/video/fake_video_capture_device_factory.h"
#include "media/capture/video/file_video_capture_device_factory.h"
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "media/capture/video/linux/video_capture_device_factory_linux.h"
- #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ #elif BUILDFLAG(IS_CHROMEOS)
#include "media/capture/video/chromeos/public/cros_features.h"
@@ -55,7 +55,7 @@ CreateFakeVideoCaptureDeviceFactory() {
std::unique_ptr<VideoCaptureDeviceFactory>
CreatePlatformSpecificVideoCaptureDeviceFactory(
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return std::make_unique<VideoCaptureDeviceFactoryLinux>(ui_task_runner);
- #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ #elif BUILDFLAG(IS_CHROMEOS)
if (base::SysInfo::IsRunningOnChromeOS())
diff --git a/www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc
index 4dbe8e68e18e..b2672048f5fc 100644
--- a/www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc
+++ b/www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc
@@ -1,11 +1,11 @@
---- media/capture/video/fake_video_capture_device_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- media/capture/video/fake_video_capture_device_factory.cc.orig 2025-05-28 14:55:43 UTC
+++ media/capture/video/fake_video_capture_device_factory.cc
-@@ -213,7 +213,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo(
+@@ -228,7 +228,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo(
int entry_index = 0;
for (const auto& entry : devices_config_) {
VideoCaptureApi api =
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE;
- #elif BUILDFLAG(IS_MAC)
- VideoCaptureApi::MACOSX_AVFOUNDATION;
+ #elif BUILDFLAG(IS_IOS)
+ VideoCaptureApi::UNKNOWN;
diff --git a/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc b/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc
index 7402d276b904..c1df68787774 100644
--- a/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc
+++ b/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc
@@ -1,6 +1,6 @@
---- media/capture/video/linux/fake_v4l2_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- media/capture/video/linux/fake_v4l2_impl.cc.orig 2025-03-05 08:14:56 UTC
+++ media/capture/video/linux/fake_v4l2_impl.cc
-@@ -427,7 +427,7 @@ int FakeV4L2Impl::close(int fd) {
+@@ -569,7 +569,7 @@ int FakeV4L2Impl::close(int fd) {
return kSuccessReturnValue;
}
diff --git a/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h b/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h
index cd0eaf3eb8f8..0b073681682e 100644
--- a/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h
+++ b/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h
@@ -1,4 +1,4 @@
---- media/capture/video/linux/fake_v4l2_impl.h.orig 2022-03-01 11:59:41 UTC
+--- media/capture/video/linux/fake_v4l2_impl.h.orig 2023-09-13 12:11:42 UTC
+++ 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/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
index c59998c5fc7f..4f22e5f73af0 100644
--- a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
@@ -1,30 +1,80 @@
---- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2022-02-07 13:39:41 UTC
+--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2025-03-05 08:14:56 UTC
+++ media/capture/video/linux/v4l2_capture_delegate.cc
-@@ -4,8 +4,10 @@
-
+@@ -10,8 +10,10 @@
#include "media/capture/video/linux/v4l2_capture_delegate.h"
-+#if !defined(OS_BSD)
+ #include <fcntl.h>
++#if !BUILDFLAG(IS_BSD)
#include <linux/version.h>
#include <linux/videodev2.h>
+#endif
#include <poll.h>
- #include <sys/fcntl.h>
#include <sys/ioctl.h>
-@@ -25,10 +27,10 @@
+ #include <sys/mman.h>
+@@ -34,17 +36,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.
-@@ -660,7 +662,7 @@ base::WeakPtr<V4L2CaptureDelegate> V4L2CaptureDelegate
+@@ -54,6 +58,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 {
+@@ -273,7 +285,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
+@@ -329,7 +341,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)
+ }
+@@ -456,7 +468,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>();
+ }
+@@ -800,7 +812,7 @@ base::WeakPtr<V4L2CaptureDelegate> V4L2CaptureDelegate
V4L2CaptureDelegate::~V4L2CaptureDelegate() = default;
@@ -33,7 +83,7 @@
int num_retries = 0;
for (; DoIoctl(request, argp) < 0 && num_retries < kMaxIOCtrlRetries;
++num_retries) {
-@@ -670,7 +672,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void*
+@@ -810,7 +822,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void*
return num_retries != kMaxIOCtrlRetries;
}
@@ -42,3 +92,65 @@
return HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), request, argp));
}
+@@ -821,6 +833,7 @@ bool V4L2CaptureDelegate::IsControllableControl(int co
+ }
+
+ void V4L2CaptureDelegate::ReplaceControlEventSubscriptions() {
++#if !BUILDFLAG(IS_BSD)
+ constexpr uint32_t kControlIds[] = {V4L2_CID_AUTO_EXPOSURE_BIAS,
+ V4L2_CID_AUTO_WHITE_BALANCE,
+ V4L2_CID_BRIGHTNESS,
+@@ -848,6 +861,7 @@ void V4L2CaptureDelegate::ReplaceControlEventSubscript
+ << ", {type = V4L2_EVENT_CTRL, id = " << control_id << "}";
+ }
+ }
++#endif
+ }
+
+ mojom::RangePtr V4L2CaptureDelegate::RetrieveUserControlRange(int control_id) {
+@@ -1028,7 +1042,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));
+@@ -1066,6 +1084,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;
+@@ -1099,6 +1118,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) {
+@@ -1152,7 +1172,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(),
+@@ -1226,7 +1246,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/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h
index a4602fc3e3e2..1741c21f7a4d 100644
--- a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h
@@ -1,6 +1,24 @@
---- media/capture/video/linux/v4l2_capture_delegate.h.orig 2022-05-19 14:06:27 UTC
+--- media/capture/video/linux/v4l2_capture_delegate.h.orig 2025-01-15 09:18:26 UTC
+++ media/capture/video/linux/v4l2_capture_delegate.h
-@@ -85,10 +85,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final {
+@@ -34,7 +34,7 @@ class Location;
+
+ namespace media {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class V4L2CaptureDelegateGpuHelper;
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -85,7 +85,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);
+
+ private:
+ friend class V4L2CaptureDelegateTest;
+@@ -96,10 +96,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.
@@ -11,5 +29,23 @@
- int DoIoctl(int request, void* argp);
+ int DoIoctl(unsigned int request, void* argp);
- // Creates a mojom::RangePtr with the (min, max, current, step) values of the
- // control associated with |control_id|. Returns an empty Range otherwise.
+ // Check whether the control is controllable (and not changed automatically).
+ bool IsControllableControl(int control_id);
+@@ -129,7 +129,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
+@@ -163,7 +163,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/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h
index cbba776523a9..5158a7d01c39 100644
--- a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h
@@ -1,7 +1,7 @@
---- media/capture/video/linux/v4l2_capture_device.h.orig 2022-02-07 13:39:41 UTC
+--- media/capture/video/linux/v4l2_capture_device.h.orig 2025-05-05 10:57:53 UTC
+++ media/capture/video/linux/v4l2_capture_device.h
-@@ -21,7 +21,7 @@ class CAPTURE_EXPORT V4L2CaptureDevice
- public:
+@@ -23,7 +23,7 @@ class CAPTURE_EXPORT V4L2CaptureDevice
+
virtual int open(const char* device_name, int flags) = 0;
virtual int close(int fd) = 0;
- virtual int ioctl(int fd, int request, void* argp) = 0;
diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc
deleted file mode 100644
index 1a8f69f296de..000000000000
--- a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc
+++ /dev/null
@@ -1,45 +0,0 @@
---- media/capture/video/linux/video_capture_device_factory_linux.cc.orig 2022-02-07 13:39:41 UTC
-+++ media/capture/video/linux/video_capture_device_factory_linux.cc
-@@ -72,6 +72,9 @@ class DevVideoFilePathsDeviceProvider
- : public VideoCaptureDeviceFactoryLinux::DeviceProvider {
- public:
- void GetDeviceIds(std::vector<std::string>* target_container) override {
-+#if defined(OS_OPENBSD)
-+ target_container->emplace_back("/dev/video");
-+#else
- const base::FilePath path("/dev/");
- base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES,
- "video*");
-@@ -79,9 +82,13 @@ class DevVideoFilePathsDeviceProvider
- const base::FileEnumerator::FileInfo info = enumerator.GetInfo();
- target_container->emplace_back(path.value() + info.GetName().value());
- }
-+#endif
- }
-
- std::string GetDeviceModelId(const std::string& device_id) override {
-+#if defined(OS_OPENBSD)
-+ return std::string();
-+#endif
- const std::string file_name = ExtractFileNameFromDeviceId(device_id);
- std::string usb_id;
- const std::string vid_path =
-@@ -99,6 +106,9 @@ class DevVideoFilePathsDeviceProvider
- }
-
- std::string GetDeviceDisplayName(const std::string& device_id) override {
-+#if defined(OS_OPENBSD)
-+ return std::string();
-+#endif
- const std::string file_name = ExtractFileNameFromDeviceId(device_id);
- const std::string interface_path =
- base::StringPrintf(kInterfacePathTemplate, file_name.c_str());
-@@ -213,7 +223,7 @@ void VideoCaptureDeviceFactoryLinux::GetDevicesInfo(
- std::move(callback).Run(std::move(devices_info));
- }
-
--int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, int request, void* argp) {
-+int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, unsigned int request, void* argp) {
- return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp));
- }
-
diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h
deleted file mode 100644
index bc45a932e4e2..000000000000
--- a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/capture/video/linux/video_capture_device_factory_linux.h.orig 2022-02-07 13:39:41 UTC
-+++ media/capture/video/linux/video_capture_device_factory_linux.h
-@@ -52,7 +52,7 @@ class CAPTURE_EXPORT VideoCaptureDeviceFactoryLinux
-
- private:
- // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(fd, ...)).
-- int DoIoctl(int fd, int request, void* argp);
-+ int DoIoctl(int fd, unsigned int request, void* argp);
-
- VideoCaptureControlSupport GetControlSupport(int fd);
- bool GetControlSupport(int fd, int control_id);
diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc
new file mode 100644
index 000000000000..3c15c6bb7846
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc
@@ -0,0 +1,80 @@
+--- media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2025-03-05 08:14:56 UTC
++++ media/capture/video/linux/video_capture_device_factory_v4l2.cc
+@@ -43,6 +43,7 @@ bool CompareCaptureDevices(const VideoCaptureDeviceInf
+ return a.descriptor < b.descriptor;
+ }
+
++#if !BUILDFLAG(IS_OPENBSD)
+ // USB VID and PID are both 4 bytes long.
+ const size_t kVidPidSize = 4;
+ const size_t kMaxInterfaceNameSize = 256;
+@@ -75,11 +76,24 @@ std::string ExtractFileNameFromDeviceId(const std::str
+ DCHECK(base::StartsWith(device_id, kDevDir, base::CompareCase::SENSITIVE));
+ return device_id.substr(strlen(kDevDir), device_id.length());
+ }
++#endif
+
+ class DevVideoFilePathsDeviceProvider
+ : public VideoCaptureDeviceFactoryV4L2::DeviceProvider {
+ public:
+ void GetDeviceIds(std::vector<std::string>* target_container) override {
++#if BUILDFLAG(IS_OPENBSD)
++ char device[12];
++ int fd;
++ /* unveil(2) limits access to /dev/, try /dev/video[0-7] */
++ for (int n = 0; n < 8; n++) {
++ snprintf(device, sizeof(device), "/dev/video%d", n);
++ if ((fd = open(device, O_RDONLY)) != -1) {
++ close(fd);
++ target_container->emplace_back(device);
++ }
++ }
++#else
+ const base::FilePath path("/dev/");
+ base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES,
+ "video*");
+@@ -87,9 +101,13 @@ class DevVideoFilePathsDeviceProvider
+ const base::FileEnumerator::FileInfo info = enumerator.GetInfo();
+ target_container->emplace_back(path.value() + info.GetName().value());
+ }
++#endif
+ }
+
+ std::string GetDeviceModelId(const std::string& device_id) override {
++#if BUILDFLAG(IS_OPENBSD)
++ return std::string();
++#else
+ const std::string file_name = ExtractFileNameFromDeviceId(device_id);
+ std::string usb_id;
+ const std::string vid_path =
+@@ -106,9 +124,13 @@ class DevVideoFilePathsDeviceProvider
+ }
+
+ return usb_id;
++#endif
+ }
+
+ std::string GetDeviceDisplayName(const std::string& device_id) override {
++#if BUILDFLAG(IS_OPENBSD)
++ return std::string();
++#else
+ const std::string file_name = ExtractFileNameFromDeviceId(device_id);
+ const std::string interface_path =
+ base::StringPrintf(kInterfacePathTemplate, file_name.c_str());
+@@ -119,6 +141,7 @@ class DevVideoFilePathsDeviceProvider
+ return std::string();
+ }
+ return display_name;
++#endif
+ }
+ };
+
+@@ -224,7 +247,7 @@ void VideoCaptureDeviceFactoryV4L2::GetDevicesInfo(
+ std::move(callback).Run(std::move(devices_info));
+ }
+
+-int VideoCaptureDeviceFactoryV4L2::DoIoctl(int fd, int request, void* argp) {
++int VideoCaptureDeviceFactoryV4L2::DoIoctl(int fd, unsigned int request, void* argp) {
+ return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp));
+ }
+
diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h
new file mode 100644
index 000000000000..69f360ab27d4
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h
@@ -0,0 +1,11 @@
+--- media/capture/video/linux/video_capture_device_factory_v4l2.h.orig 2023-04-05 11:05:06 UTC
++++ media/capture/video/linux/video_capture_device_factory_v4l2.h
+@@ -51,7 +51,7 @@ class CAPTURE_EXPORT VideoCaptureDeviceFactoryV4L2
+
+ private:
+ // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(fd, ...)).
+- int DoIoctl(int fd, int request, void* argp);
++ int DoIoctl(int fd, unsigned int request, void* argp);
+
+ VideoCaptureControlSupport GetControlSupport(int fd);
+ bool GetControlSupport(int fd, int control_id);
diff --git a/www/chromium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc b/www/chromium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc
deleted file mode 100644
index 3373c245b336..000000000000
--- a/www/chromium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/capture/video/video_capture_buffer_pool_impl.cc.orig 2022-02-28 16:54:41 UTC
-+++ media/capture/video/video_capture_buffer_pool_impl.cc
-@@ -74,7 +74,7 @@ VideoCaptureBufferPoolImpl::CreateSharedMemoryViaRawFi
- int buffer_id) {
- // This requires platforms where base::SharedMemoryHandle is backed by a
- // file descriptor.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- base::AutoLock lock(lock_);
-
- VideoCaptureBufferTracker* tracker = GetTracker(buffer_id);
diff --git a/www/chromium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc b/www/chromium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc
new file mode 100644
index 000000000000..e9f2cde8adb2
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc
@@ -0,0 +1,20 @@
+--- media/capture/video/video_capture_buffer_tracker_factory_impl.cc.orig 2025-04-04 08:52:13 UTC
++++ media/capture/video/video_capture_buffer_tracker_factory_impl.cc
+@@ -13,7 +13,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/win/gpu_memory_buffer_tracker_win.h"
+@@ -41,7 +41,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/chromium/files/patch-media_capture_video_video__capture__device__client.cc b/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc
index 0b8fd8d4a5db..8b1a2362dcb9 100644
--- a/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc
+++ b/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc
@@ -1,11 +1,11 @@
---- media/capture/video/video_capture_device_client.cc.orig 2022-06-17 14:20:10 UTC
+--- media/capture/video/video_capture_device_client.cc.orig 2025-04-04 08:52:13 UTC
+++ media/capture/video/video_capture_device_client.cc
-@@ -317,7 +317,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData(
- // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html.
- // Windows RGB24 defines blue at lowest byte,
- // see https://msdn.microsoft.com/en-us/library/windows/desktop/dd407253
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- fourcc_format = libyuv::FOURCC_RAW;
- #elif BUILDFLAG(IS_WIN)
- fourcc_format = libyuv::FOURCC_24BG;
+@@ -172,7 +172,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/chromium/files/patch-media_cdm_cdm__paths__unittest.cc b/www/chromium/files/patch-media_cdm_cdm__paths__unittest.cc
index f7173cb2761c..5aa40b2baa34 100644
--- a/www/chromium/files/patch-media_cdm_cdm__paths__unittest.cc
+++ b/www/chromium/files/patch-media_cdm_cdm__paths__unittest.cc
@@ -1,11 +1,11 @@
---- media/cdm/cdm_paths_unittest.cc.orig 2022-03-25 21:59:56 UTC
+--- media/cdm/cdm_paths_unittest.cc.orig 2025-04-04 08:52:13 UTC
+++ media/cdm/cdm_paths_unittest.cc
-@@ -27,7 +27,7 @@ const char kComponentPlatform[] =
+@@ -26,7 +26,7 @@ const char kComponentPlatform[] =
"win";
#elif BUILDFLAG(IS_CHROMEOS)
"cros";
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
"linux";
- #else
- "unsupported_platform";
+ #elif BUILDFLAG(IS_FUCHSIA)
+ "fuchsia";
diff --git a/www/chromium/files/patch-media_cdm_library__cdm_cdm__paths.gni b/www/chromium/files/patch-media_cdm_library__cdm_cdm__paths.gni
new file mode 100644
index 000000000000..2db78dd32fe5
--- /dev/null
+++ b/www/chromium/files/patch-media_cdm_library__cdm_cdm__paths.gni
@@ -0,0 +1,11 @@
+--- media/cdm/library_cdm/cdm_paths.gni.orig 2025-04-04 08:52:13 UTC
++++ media/cdm/library_cdm/cdm_paths.gni
+@@ -14,7 +14,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/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py b/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py
new file mode 100644
index 000000000000..9b83eed1f968
--- /dev/null
+++ b/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py
@@ -0,0 +1,66 @@
+--- media/ffmpeg/scripts/build_ffmpeg.py.orig 2025-07-02 06:08:04 UTC
++++ media/ffmpeg/scripts/build_ffmpeg.py
+@@ -33,7 +33,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',
+@@ -43,6 +43,8 @@ BRANDINGS = [
+ ARCH_MAP = {
+ 'android': ['ia32', 'x64', 'arm-neon', 'arm64'],
+ 'linux': ['ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64'],
++ 'openbsd': ['x64', 'arm64', 'ia32'],
++ 'freebsd': ['x64', 'arm64', 'ia32'],
+ 'mac': ['x64', 'arm64'],
+ 'win': ['ia32', 'x64', 'arm64'],
+ }
+@@ -122,7 +124,7 @@ def PrintAndCheckCall(argv, *args, **kwargs):
+
+
+ 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)
+@@ -473,7 +475,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 */'),
+@@ -596,7 +598,7 @@ def main(argv):
+ configure_args = args[2:]
+
+ if target_os not in ('android', 'linux', 'linux-noasm', 'mac', 'win',
+- 'all'):
++ 'all', 'openbsd', 'freebsd'):
+ parser.print_help()
+ return 1
+
+@@ -710,7 +712,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os,
+ '--optflags="-O2"',
+ ])
+
+- 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([
+@@ -825,9 +827,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os,
+
+ configure_flags['Common'].extend([
+ '--target-os=linux',
+- '--sysroot=' +
+- os.path.join(CHROMIUM_ROOT_DIR,
+- 'build/linux/debian_bullseye_arm64-sysroot'),
+ # See crbug.com/1467681. These could be removed eventually
+ '--disable-dotprod',
+ '--disable-i8mm',
diff --git a/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py b/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py
new file mode 100644
index 000000000000..6613dd75776c
--- /dev/null
+++ b/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py
@@ -0,0 +1,56 @@
+--- media/ffmpeg/scripts/robo_lib/config.py.orig 2025-02-19 07:43:18 UTC
++++ media/ffmpeg/scripts/robo_lib/config.py
+@@ -56,19 +56,13 @@ class RoboConfiguration:
+ self._llvm_path = os.path.join(self.chrome_src(), "third_party",
+ "llvm-build", "Release+Asserts", "bin")
+
+- self.EnsurePathContainsLLVM()
+- self.EnsureNoMakeInfo()
+ self.EnsureFFmpegHome()
+ self.EnsureGNConfig()
+- 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
+@@ -187,9 +181,9 @@ class RoboConfiguration:
+
+ if re.match(r"i.86", platform.machine()):
+ self._host_architecture = "ia32"
+- elif platform.machine() == "x86_64" or platform.machine() == "AMD64":
++ elif platform.machine() == "x86_64" or platform.machine() == "AMD64" or platform.machine() == "amd64":
+ self._host_architecture = "x64"
+- elif platform.machine() == "aarch64":
++ elif platform.machine() == "aarch64" or platform.machine() == "arm64":
+ self._host_architecture = "arm64"
+ elif platform.machine() == "mips32":
+ self._host_architecture = "mipsel"
+@@ -224,6 +218,10 @@ class RoboConfiguration:
+ elif platform.system() == "Windows" or "CYGWIN_NT" in platform.system(
+ ):
+ self._host_operating_system = "win"
++ elif platform.system() == "OpenBSD":
++ self._host_operating_system = "openbsd"
++ elif platform.system() == "FreeBSD":
++ self._host_operating_system = "freebsd"
+ else:
+ raise ValueError(f"Unsupported platform: {platform.system()}")
+
+@@ -232,8 +230,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/chromium/files/patch-media_gpu_buffer__validation.cc b/www/chromium/files/patch-media_gpu_buffer__validation.cc
deleted file mode 100644
index c45a0388754a..000000000000
--- a/www/chromium/files/patch-media_gpu_buffer__validation.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- media/gpu/buffer_validation.cc.orig 2022-05-19 14:06:27 UTC
-+++ media/gpu/buffer_validation.cc
-@@ -15,7 +15,7 @@
- #include "ui/gfx/geometry/size.h"
- #include "ui/gfx/gpu_memory_buffer.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include <sys/types.h>
- #include <unistd.h>
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -23,7 +23,7 @@
- namespace media {
-
- bool GetFileSize(const int fd, size_t* size) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (fd < 0) {
- VLOG(1) << "Invalid file descriptor";
- return false;
-@@ -73,7 +73,7 @@ bool VerifyGpuMemoryBufferHandle(
- VLOG(1) << "Unsupported: " << pixel_format;
- return false;
- }
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const size_t num_planes = media::VideoFrame::NumPlanes(pixel_format);
- if (num_planes != gmb_handle.native_pixmap_handle.planes.size() ||
- num_planes == 0) {
diff --git a/www/chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc b/www/chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc
new file mode 100644
index 000000000000..6a42aab37898
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc
@@ -0,0 +1,13 @@
+--- media/gpu/chromeos/gl_image_processor_backend.cc.orig 2024-06-18 16:34:35 UTC
++++ media/gpu/chromeos/gl_image_processor_backend.cc
+@@ -28,6 +28,10 @@
+ #include "ui/ozone/public/ozone_platform.h"
+ #include "ui/ozone/public/surface_factory_ozone.h"
+
++#ifndef GL_CONTEXT_LOST_KHR
++#define GL_CONTEXT_LOST_KHR 0x0507
++#endif
++
+ namespace media {
+
+ namespace {
diff --git a/www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc b/www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc
new file mode 100644
index 000000000000..798caf94eb76
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc
@@ -0,0 +1,29 @@
+--- media/gpu/chromeos/libyuv_image_processor_backend.cc.orig 2024-11-14 07:57:23 UTC
++++ media/gpu/chromeos/libyuv_image_processor_backend.cc
+@@ -53,7 +53,7 @@ static constexpr struct {
+ #define CONV(in, out, trans, result) \
+ {Fourcc::in, Fourcc::out, Transform::trans, SupportResult::result}
+ // Conversion.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ CONV(NV12, AR24, kConversion, Supported),
+ #endif
+ CONV(NV12, NV12, kConversion, Supported),
+@@ -412,7 +412,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr
+ fr->GetWritableVisibleData(VideoFrame::Plane::kUV)), \
+ fr->stride(VideoFrame::Plane::kUV)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #define ARGB_DATA(fr) \
+ fr->GetWritableVisibleData(VideoFrame::Plane::kARGB), \
+ fr->stride(VideoFrame::Plane::kARGB)
+@@ -574,7 +574,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (output->format() == PIXEL_FORMAT_ARGB) {
+ if (input_config_.fourcc == Fourcc(Fourcc::NV12)) {
+ return LIBYUV_FUNC(NV12ToARGB, Y_UV_DATA(input),
diff --git a/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc b/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc
new file mode 100644
index 000000000000..c103c07306e8
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc
@@ -0,0 +1,11 @@
+--- media/gpu/chromeos/mailbox_video_frame_converter.cc.orig 2025-05-05 10:57:53 UTC
++++ media/gpu/chromeos/mailbox_video_frame_converter.cc
+@@ -68,7 +68,7 @@ viz::SharedImageFormat GetSharedImageFormat(gfx::Buffe
+ << static_cast<int>(buffer_format);
+ NOTREACHED();
+ }
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If format is true multiplanar format, we prefer external sampler on
+ // ChromeOS and Linux.
+ if (format.is_multi_plane()) {
diff --git a/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc b/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc
new file mode 100644
index 000000000000..c8ada7c79f9d
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc
@@ -0,0 +1,20 @@
+--- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2025-07-02 06:08:04 UTC
++++ media/gpu/chromeos/platform_video_frame_utils.cc
+@@ -69,7 +69,7 @@ static std::unique_ptr<ui::GbmDevice> CreateGbmDevice(
+ const base::FilePath dev_path(FILE_PATH_LITERAL(
+ base::StrCat({drm_node_file_prefix, base::NumberToString(i)})));
+
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC)
+ const bool is_render_node = base::Contains(drm_node_file_prefix, "render");
+
+ // TODO(b/313513760): don't guard base::File::FLAG_WRITE behind
+@@ -190,7 +190,7 @@ class GbmDeviceWrapper {
+ const base::FilePath dev_path(
+ base::CommandLine::ForCurrentProcess()->GetSwitchValuePath(
+ switches::kRenderNodeOverride));
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC)
+ const bool is_render_node = base::Contains(dev_path.value(), "render");
+
+ // TODO(b/313513760): don't guard base::File::FLAG_WRITE behind
diff --git a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc
index e525343d6ed4..31b99f7f4211 100644
--- a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc
+++ b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc
@@ -1,20 +1,29 @@
---- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2022-07-22 17:30:31 UTC
+--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2025-05-28 14:55:43 UTC
+++ media/gpu/chromeos/video_decoder_pipeline.cc
-@@ -656,7 +656,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
- }
+@@ -1128,7 +1128,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
}
+ #endif
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_VAAPI)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_VAAPI)
// Linux should always use a custom allocator (to allocate buffers using
// libva) and a PlatformVideoFramePool.
CHECK(allocator.has_value());
-@@ -678,7 +678,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
- #error "Unsupported platform"
- #endif
+@@ -1137,7 +1137,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
+ // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS.
+ main_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator(
+ *allocator, VideoFrame::STORAGE_DMABUFS);
+-#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC)
++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC)
+ // Linux w/ V4L2 should not use a custom allocator
+ // Only tested with video_decode_accelerator_tests
+ // TODO(wenst@) Test with full Chromium Browser
+@@ -1311,7 +1311,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
+ << " VideoFrames";
+ auxiliary_frame_pool_->set_parent_task_runner(decoder_task_runner_);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // viable_candidate should always be set unless using L1 protected content,
- // which isn't an option on linux.
- CHECK(viable_candidate);
+ // The custom allocator creates frames backed by NativePixmap, which uses a
+ // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS.
+ auxiliary_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator(
diff --git a/www/chromium/files/patch-media_gpu_gpu__video__decode__accelerator__factory.cc b/www/chromium/files/patch-media_gpu_gpu__video__decode__accelerator__factory.cc
new file mode 100644
index 000000000000..8d7b9f6651ef
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_gpu__video__decode__accelerator__factory.cc
@@ -0,0 +1,20 @@
+--- media/gpu/gpu_video_decode_accelerator_factory.cc.orig 2025-05-05 10:57:53 UTC
++++ media/gpu/gpu_video_decode_accelerator_factory.cc
+@@ -13,7 +13,7 @@
+ #include "media/gpu/media_gpu_export.h"
+ #include "media/media_buildflags.h"
+
+-#if BUILDFLAG(USE_V4L2_CODEC) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++#if BUILDFLAG(USE_V4L2_CODEC) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+ #include "media/gpu/v4l2/legacy/v4l2_video_decode_accelerator.h"
+ #include "media/gpu/v4l2/v4l2_device.h"
+ #endif
+@@ -29,7 +29,7 @@ GpuVideoDecodeAcceleratorFactory::CreateVDA(
+ if (gpu_preferences.disable_accelerated_video_decode)
+ return nullptr;
+
+-#if BUILDFLAG(USE_V4L2_CODEC) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++#if BUILDFLAG(USE_V4L2_CODEC) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+
+ std::unique_ptr<VideoDecodeAccelerator> vda;
+ vda.reset(new V4L2VideoDecodeAccelerator(base::MakeRefCounted<V4L2Device>()));
diff --git a/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc b/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc
index 271b45919fa8..5401fc494c18 100644
--- a/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc
+++ b/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc
@@ -1,11 +1,20 @@
---- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2022-06-17 14:20:10 UTC
+--- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2025-05-05 10:57:53 UTC
+++ media/gpu/gpu_video_encode_accelerator_factory.cc
-@@ -103,7 +103,7 @@ std::vector<VEAFactoryFunction> GetVEAFactoryFunctions
- return vea_factory_functions;
+@@ -160,7 +160,7 @@ std::vector<VEAFactoryFunction> GetVEAFactoryFunctions
+ }
#if BUILDFLAG(USE_VAAPI)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- if (base::FeatureList::IsEnabled(kVaapiVideoEncodeLinux))
- vea_factory_functions.push_back(base::BindRepeating(&CreateVaapiVEA));
- #else
+ if (base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) {
+ vea_factory_functions->push_back(base::BindRepeating(&CreateVaapiVEA));
+ }
+@@ -168,7 +168,7 @@ std::vector<VEAFactoryFunction> GetVEAFactoryFunctions
+ vea_factory_functions->push_back(base::BindRepeating(&CreateVaapiVEA));
+ #endif
+ #elif BUILDFLAG(USE_V4L2_CODEC)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) {
+ vea_factory_functions->push_back(base::BindRepeating(&CreateV4L2VEA));
+ }
diff --git a/www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc b/www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc
index f7261371f0bb..da140f6eb91d 100644
--- a/www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc
+++ b/www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc
@@ -1,6 +1,6 @@
---- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2022-05-19 14:06:27 UTC
+--- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2025-04-04 08:52:13 UTC
+++ media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc
-@@ -14,12 +14,15 @@
+@@ -17,7 +17,9 @@
#include "media/gpu/vaapi/vaapi_wrapper.h"
#endif
@@ -8,19 +8,37 @@
using sandbox::syscall_broker::BrokerFilePermission;
+#endif
+ // TODO(b/195769334): the hardware video decoding sandbox is really only useful
+ // when building with VA-API or V4L2 (otherwise, we're not really doing hardware
+@@ -33,6 +35,7 @@ using sandbox::syscall_broker::BrokerFilePermission;
namespace media {
+ namespace {
++#if !BUILDFLAG(IS_BSD)
+ void AllowAccessToRenderNodes(std::vector<BrokerFilePermission>& permissions,
+ bool include_sys_dev_char,
+ bool read_write) {
+@@ -189,6 +192,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2(
+ NOTREACHED();
+ #endif // BUILDFLAG(USE_V4L2_CODEC)
+ }
++#endif
+
+ } // namespace
+
+@@ -204,6 +208,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2(
+ // (at least).
bool HardwareVideoDecodingPreSandboxHook(
sandbox::policy::SandboxLinux::Options options) {
+#if !BUILDFLAG(IS_BSD)
- sandbox::syscall_broker::BrokerCommandSet command_set;
- std::vector<BrokerFilePermission> permissions;
-
-@@ -121,6 +124,7 @@ bool HardwareVideoDecodingPreSandboxHook(
- dlopen("/usr/lib/libv4l2.so", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE);
- #endif // defined(__aarch64__)
- #endif // BUILDFLAG(USE_VAAPI)
+ using HardwareVideoDecodingProcessPolicy =
+ sandbox::policy::HardwareVideoDecodingProcessPolicy;
+ using PolicyType =
+@@ -249,6 +254,7 @@ bool HardwareVideoDecodingPreSandboxHook(
+ // |permissions| is empty?
+ sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess(
+ command_set, permissions, options);
+#endif
-
return true;
}
+
diff --git a/www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h b/www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h
index 92f89932773d..864762f4c901 100644
--- a/www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h
+++ b/www/chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h
@@ -1,4 +1,4 @@
---- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h.orig 2022-05-19 14:06:27 UTC
+--- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h.orig 2023-04-28 17:01:32 UTC
+++ 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/chromium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc b/www/chromium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc
new file mode 100644
index 000000000000..cb2676ffbbaa
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc
@@ -0,0 +1,26 @@
+--- media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc.orig 2024-10-22 08:31:56 UTC
++++ media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc
+@@ -18,12 +18,15 @@
+ #include "media/gpu/v4l2/v4l2_device.h"
+ #endif
+
++#if !BUILDFLAG(IS_BSD)
+ using sandbox::syscall_broker::BrokerFilePermission;
++#endif
+
+ namespace media {
+
+ bool HardwareVideoEncodingPreSandboxHook(
+ sandbox::policy::SandboxLinux::Options options) {
++#if !BUILDFLAG(IS_BSD)
+ sandbox::syscall_broker::BrokerCommandSet command_set;
+ std::vector<BrokerFilePermission> permissions;
+
+@@ -131,6 +134,7 @@ bool HardwareVideoEncodingPreSandboxHook(
+ dlopen("libvulkan.so.1", kDlopenFlags);
+ dlopen("libvulkan_radeon.so", kDlopenFlags);
+ }
++#endif
+ #endif
+ return true;
+ }
diff --git a/www/chromium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h b/www/chromium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h
new file mode 100644
index 000000000000..c578e28cd563
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h
@@ -0,0 +1,23 @@
+--- media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h.orig 2023-04-28 17:01:32 UTC
++++ 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_
+ #define MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_
+
++#include "build/build_config.h"
++
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+
+ namespace media {
+
+@@ -14,4 +20,4 @@ bool HardwareVideoEncodingPreSandboxHook(
+
+ } // namespace media
+
+-#endif // MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_
+\ No newline at end of file
++#endif // MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_
diff --git a/www/chromium/files/patch-media_gpu_test_raw__video.cc b/www/chromium/files/patch-media_gpu_test_raw__video.cc
new file mode 100644
index 000000000000..314137ad1cc5
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_test_raw__video.cc
@@ -0,0 +1,11 @@
+--- media/gpu/test/raw_video.cc.orig 2025-05-28 14:55:43 UTC
++++ media/gpu/test/raw_video.cc
+@@ -63,7 +63,7 @@ std::unique_ptr<base::MemoryMappedFile> CreateMemoryMa
+ base::File::FLAG_READ | base::File::FLAG_WRITE
+ // On Windows FLAG_CREATE_ALWAYS will require FLAG_WRITE, and FLAG_APPEND
+ // must not be specified.
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ | base::File::FLAG_APPEND
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+ ),
diff --git a/www/chromium/files/patch-media_gpu_test_video__frame__file__writer.cc b/www/chromium/files/patch-media_gpu_test_video__frame__file__writer.cc
new file mode 100644
index 000000000000..52116d440741
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_test_video__frame__file__writer.cc
@@ -0,0 +1,11 @@
+--- media/gpu/test/video_frame_file_writer.cc.orig 2025-04-04 08:52:13 UTC
++++ media/gpu/test/video_frame_file_writer.cc
+@@ -25,7 +25,7 @@
+ #include "testing/gtest/include/gtest/gtest.h"
+ #include "ui/gfx/codec/png_codec.h"
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include <sys/mman.h>
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-media_gpu_test_video__frame__helpers.cc b/www/chromium/files/patch-media_gpu_test_video__frame__helpers.cc
new file mode 100644
index 000000000000..e3db9463ac40
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_test_video__frame__helpers.cc
@@ -0,0 +1,11 @@
+--- media/gpu/test/video_frame_helpers.cc.orig 2025-04-04 08:52:13 UTC
++++ media/gpu/test/video_frame_helpers.cc
+@@ -23,7 +23,7 @@
+ #include "ui/gfx/buffer_format_util.h"
+ #include "ui/gfx/gpu_memory_buffer.h"
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include <sys/mman.h>
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-media_gpu_test_video__frame__validator.cc b/www/chromium/files/patch-media_gpu_test_video__frame__validator.cc
new file mode 100644
index 000000000000..2519ad940ad2
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_test_video__frame__validator.cc
@@ -0,0 +1,11 @@
+--- media/gpu/test/video_frame_validator.cc.orig 2025-04-04 08:52:13 UTC
++++ media/gpu/test/video_frame_validator.cc
+@@ -34,7 +34,7 @@
+ #include "testing/gtest/include/gtest/gtest.h"
+ #include "ui/gfx/gpu_memory_buffer.h"
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include <sys/mman.h>
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc
index 43f528eb8fd7..f7683b9c0f11 100644
--- a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc
+++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc
@@ -1,11 +1,11 @@
---- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2022-07-22 17:30:31 UTC
+--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2025-07-02 06:08:04 UTC
+++ media/gpu/vaapi/vaapi_video_decoder.cc
-@@ -765,7 +765,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree
+@@ -786,7 +786,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree
const gfx::Size decoder_natural_size =
aspect_ratio_.GetNaturalSize(decoder_visible_rect);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- absl::optional<DmabufVideoFramePool::CreateFrameCB> allocator =
+ std::optional<DmabufVideoFramePool::CreateFrameCB> allocator =
base::BindRepeating(&AllocateCustomFrameProxy, weak_this_);
std::vector<ImageProcessor::PixelLayoutCandidate> candidates = {
diff --git a/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc b/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc
index 390fa72f23d0..b5d79736df4f 100644
--- a/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc
+++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc
@@ -1,11 +1,11 @@
---- media/gpu/vaapi/vaapi_wrapper.cc.orig 2022-07-22 17:30:31 UTC
+--- media/gpu/vaapi/vaapi_wrapper.cc.orig 2025-05-28 14:55:43 UTC
+++ media/gpu/vaapi/vaapi_wrapper.cc
-@@ -592,7 +592,7 @@ VADisplayState::VADisplayState()
- bool VADisplayState::Initialize() {
- base::AutoLock auto_lock(va_lock_);
+@@ -82,7 +82,7 @@
+ using media_gpu_vaapi::kModuleVa_prot;
+ #endif
--#if defined(USE_OZONE) && BUILDFLAG(IS_LINUX)
-+#if defined(USE_OZONE) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
- // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on
- // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi
- // for more details. This will also require revisiting everything that's
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/files/file_util.h"
+ #include "base/strings/string_split.h"
+ #endif
diff --git a/www/chromium/files/patch-media_media__options.gni b/www/chromium/files/patch-media_media__options.gni
index 76a1bb96dc42..88d69961b266 100644
--- a/www/chromium/files/patch-media_media__options.gni
+++ b/www/chromium/files/patch-media_media__options.gni
@@ -1,27 +1,19 @@
---- media/media_options.gni.orig 2022-07-22 17:30:31 UTC
+--- media/media_options.gni.orig 2025-07-02 06:08:04 UTC
+++ media/media_options.gni
-@@ -123,9 +123,12 @@ declare_args() {
+@@ -200,12 +200,15 @@ declare_args() {
# Enables runtime selection of ALSA library for audio.
use_alsa = false
+ # Enable runtime selection of sndio(7)
+ use_sndio = false
+
- # Alsa should be used on non-Android, non-Mac POSIX systems (excluding CastOS
- # video builds).
-- if (is_posix && !is_android && !is_mac &&
-+ if (is_posix && !is_android && !is_mac && !is_bsd &&
- (!is_castos || is_cast_audio_only)) {
+ # Alsa should be used on all non-Android, non-Mac POSIX systems - with the
+ # exception of CastOS desktop builds.
+ #
+ # TODO(crbug.com/1336055): Remove legacy target_cpu hack used for targeting
+ # desktop Chromecast builds.
+- if (is_posix && !is_android && !is_apple &&
++ if (is_posix && !is_android && !is_apple && !is_bsd &&
+ (!is_castos || (target_cpu == "x86" || target_cpu == "x64") ||
+ is_cast_audio_only)) {
use_alsa = true
-
-@@ -140,6 +143,10 @@ declare_args() {
- if (!use_cras && !is_chromecast && !is_asan && !is_tsan) {
- use_pulseaudio = true
- }
-+ }
-+ if (is_openbsd) {
-+ use_sndio = true
-+ use_pulseaudio = false
- }
- }
-
diff --git a/www/chromium/files/patch-media_mojo_mojom_BUILD.gn b/www/chromium/files/patch-media_mojo_mojom_BUILD.gn
new file mode 100644
index 000000000000..7832da7c8076
--- /dev/null
+++ b/www/chromium/files/patch-media_mojo_mojom_BUILD.gn
@@ -0,0 +1,11 @@
+--- media/mojo/mojom/BUILD.gn.orig 2025-07-02 06:08:04 UTC
++++ media/mojo/mojom/BUILD.gn
+@@ -975,7 +975,7 @@ source_set("test_support") {
+ sources = []
+ deps = []
+
+- if (is_linux || is_chromeos) {
++ if (!is_bsd && (is_linux || is_chromeos)) {
+ sources += [
+ "buffer_handle_test_util.cc",
+ "buffer_handle_test_util.h",
diff --git a/www/chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc b/www/chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc
deleted file mode 100644
index 1f647c244f52..000000000000
--- a/www/chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc.orig 2022-05-19 14:06:27 UTC
-+++ media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc
-@@ -42,7 +42,7 @@ media::stable::mojom::VideoFrameDataPtr MakeVideoFrame
- gfx::GpuMemoryBufferHandle gpu_memory_buffer_handle =
- input->GetGpuMemoryBuffer()->CloneHandle();
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- CHECK_EQ(gpu_memory_buffer_handle.type, gfx::NATIVE_PIXMAP);
- CHECK(!gpu_memory_buffer_handle.native_pixmap_handle.planes.empty());
- #else
-@@ -749,7 +749,7 @@ const gfx::GpuMemoryBufferId& StructTraits<
- return input.id;
- }
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // static
- gfx::NativePixmapHandle StructTraits<
- media::stable::mojom::NativeGpuMemoryBufferHandleDataView,
-@@ -770,7 +770,7 @@ bool StructTraits<media::stable::mojom::NativeGpuMemor
-
- output->type = gfx::NATIVE_PIXMAP;
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (!data.ReadPlatformHandle(&output->native_pixmap_handle))
- return false;
- return true;
diff --git a/www/chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h b/www/chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h
deleted file mode 100644
index 81678c827a61..000000000000
--- a/www/chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h.orig 2022-06-17 14:20:10 UTC
-+++ media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h
-@@ -625,7 +625,7 @@ struct StructTraits<media::stable::mojom::NativeGpuMem
- static const gfx::GpuMemoryBufferId& id(
- const gfx::GpuMemoryBufferHandle& input);
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- static gfx::NativePixmapHandle platform_handle(
- gfx::GpuMemoryBufferHandle& input);
- #else
diff --git a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
index 021c357bcdd3..b9a839065e96 100644
--- a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
+++ b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
@@ -1,11 +1,38 @@
---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2022-05-19 14:06:27 UTC
+--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2025-07-02 06:08:04 UTC
+++ media/mojo/mojom/video_frame_mojom_traits.cc
-@@ -23,7 +23,7 @@
+@@ -22,7 +22,7 @@
#include "ui/gfx/mojom/color_space_mojom_traits.h"
#include "ui/gfx/mojom/hdr_metadata_mojom_traits.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/posix/eintr_wrapper.h"
+ #include "media/gpu/buffer_validation.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+@@ -159,7 +159,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData(
+ media::mojom::OpaqueVideoFrameData::New());
+ }
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (input->storage_type() == media::VideoFrame::STORAGE_DMABUFS) {
+ // Duplicates the DMA buffer FDs to a new vector since this cannot take
+ // ownership of the FDs in |input| due to constness.
+@@ -190,7 +190,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData(
+
+ } // namespace
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // static
+ bool StructTraits<
+ media::mojom::ColorPlaneLayoutDataView,
+@@ -429,7 +429,7 @@ bool StructTraits<media::mojom::VideoFrameDataView,
+ frame = media::VideoFrame::WrapTrackingToken(
+ format, *metadata.tracking_token, coded_size, visible_rect,
+ natural_size, timestamp);
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ } else if (data.is_dmabuf_data()) {
+ media::mojom::DmabufVideoFrameDataDataView dmabuf_data;
+ data.GetDmabufDataDataView(&dmabuf_data);
diff --git a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.h b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.h
new file mode 100644
index 000000000000..d4e92c246aac
--- /dev/null
+++ b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.h
@@ -0,0 +1,11 @@
+--- media/mojo/mojom/video_frame_mojom_traits.h.orig 2025-05-05 10:57:53 UTC
++++ media/mojo/mojom/video_frame_mojom_traits.h
+@@ -21,7 +21,7 @@
+
+ namespace mojo {
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ template <>
+ struct StructTraits<media::mojom::ColorPlaneLayoutDataView,
+ media::ColorPlaneLayout> {
diff --git a/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc b/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc
deleted file mode 100644
index 72654e9803f2..000000000000
--- a/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- media/video/fake_gpu_memory_buffer.cc.orig 2022-02-28 16:54:41 UTC
-+++ media/video/fake_gpu_memory_buffer.cc
-@@ -9,7 +9,7 @@
- #include "media/base/format_utils.h"
- #include "media/base/video_frame.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include <fcntl.h>
- #include <sys/stat.h>
- #include <sys/types.h>
-@@ -47,7 +47,7 @@ class FakeGpuMemoryBufferImpl : public gpu::GpuMemoryB
-
- } // namespace
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- base::ScopedFD GetDummyFD() {
- base::ScopedFD fd(open("/dev/zero", O_RDWR));
- DCHECK(fd.is_valid());
-@@ -77,7 +77,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si
- static base::AtomicSequenceNumber buffer_id_generator;
- handle_.id = gfx::GpuMemoryBufferId(buffer_id_generator.GetNext());
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- for (size_t i = 0; i < VideoFrame::NumPlanes(video_pixel_format_); i++) {
- const gfx::Size plane_size_in_bytes =
- VideoFrame::PlaneSize(video_pixel_format_, i, size_);
-@@ -134,7 +134,7 @@ gfx::GpuMemoryBufferHandle FakeGpuMemoryBuffer::CloneH
- gfx::GpuMemoryBufferHandle handle;
- handle.type = gfx::NATIVE_PIXMAP;
- handle.id = handle_.id;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- handle.native_pixmap_handle =
- gfx::CloneHandleForIPC(handle_.native_pixmap_handle);
- #endif
diff --git a/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
index 173df8d18e87..fadb11d7be0a 100644
--- a/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
+++ b/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
@@ -1,11 +1,29 @@
---- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2022-05-19 14:06:27 UTC
+--- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2025-07-02 06:08:04 UTC
+++ media/video/gpu_memory_buffer_video_frame_pool.cc
-@@ -795,7 +795,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa
+@@ -647,7 +647,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa
}
- bool is_software_backed_video_frame = !video_frame->HasTextures();
+ bool is_software_backed_video_frame = !video_frame->HasSharedImage();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
is_software_backed_video_frame &= !video_frame->HasDmaBufs();
#endif
+@@ -1054,7 +1054,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
+ media::IOSurfaceIsWebGPUCompatible(handle.io_surface.get());
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ is_webgpu_compatible =
+ handle.type == gfx::NATIVE_PIXMAP &&
+ handle.native_pixmap_handle().supports_zero_copy_webgpu_import;
+@@ -1226,7 +1226,7 @@ GpuMemoryBufferVideoFramePool::PoolImpl::GetOrCreateFr
+ si_usage |= gpu::SHARED_IMAGE_USAGE_SCANOUT;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/40194712): Always add the flag once the
+ // OzoneImageBacking is by default turned on.
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc
index 21112bf23cde..b5e49e7fa857 100644
--- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc
+++ b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc
@@ -1,20 +1,11 @@
---- media/video/video_encode_accelerator_adapter.cc.orig 2022-05-19 14:06:27 UTC
+--- media/video/video_encode_accelerator_adapter.cc.orig 2025-05-05 10:57:53 UTC
+++ media/video/video_encode_accelerator_adapter.cc
-@@ -98,7 +98,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig(
- if (is_rgb)
- config.input_format = PIXEL_FORMAT_I420;
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (storage_type == VideoFrame::STORAGE_DMABUFS ||
- storage_type == VideoFrame::STORAGE_GPU_MEMORY_BUFFER) {
- if (is_rgb)
-@@ -239,7 +239,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal
- auto vea_config =
- SetUpVeaConfig(profile_, options_, format, first_frame->storage_type());
+@@ -468,7 +468,7 @@ void VideoEncodeAcceleratorAdapter::InitializeOnAccele
+ auto format = PIXEL_FORMAT_I420;
+ auto storage_type = VideoEncodeAccelerator::Config::StorageType::kShmem;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Linux/ChromeOS require a special configuration to use dmabuf storage.
- // We need to keep sending frames the same way the first frame was sent.
- // Other platforms will happily mix GpuMemoryBuffer storage with regular
+ // We need to keep sending frames with the same storage type.
+ // Other platforms will happily mix GpuMemoryBuffer storage with shared-mem
diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc
index 1dab820380c4..95e36aa82aae 100644
--- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc
+++ b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc
@@ -1,11 +1,38 @@
---- media/video/video_encode_accelerator_adapter_test.cc.orig 2022-05-19 14:06:27 UTC
+--- media/video/video_encode_accelerator_adapter_test.cc.orig 2025-03-05 08:14:56 UTC
+++ media/video/video_encode_accelerator_adapter_test.cc
-@@ -378,7 +378,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes
+@@ -260,7 +260,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest, InitializeAf
+ });
+ VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ expected_input_format = PIXEL_FORMAT_NV12;
+ #endif
vea()->SetEncodingCallback(base::BindLambdaForTesting(
- [&](BitstreamBuffer&, bool keyframe, scoped_refptr<VideoFrame> frame) {
+@@ -369,7 +369,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest, FlushDuringI
+ });
+
+ VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- EXPECT_EQ(frame->format(),
- IsYuvPlanar(pixel_format) ? pixel_format : PIXEL_FORMAT_I420);
- #else
+ expected_input_format = PIXEL_FORMAT_NV12;
+ #endif
+
+@@ -467,7 +467,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes
+ CreateGreenFrame(large_size, pixel_format, base::Milliseconds(2));
+
+ VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ expected_input_format = PIXEL_FORMAT_NV12;
+ #endif
+ const gfx::ColorSpace expected_color_space =
+@@ -674,7 +674,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest,
+ });
+
+ VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ expected_input_format = PIXEL_FORMAT_NV12;
+ #endif
+ vea()->SetEncodingCallback(base::BindLambdaForTesting(
diff --git a/www/chromium/files/patch-media_webrtc_audio__processor.cc b/www/chromium/files/patch-media_webrtc_audio__processor.cc
index c9d2ff76afed..cf52d6b63a2f 100644
--- a/www/chromium/files/patch-media_webrtc_audio__processor.cc
+++ b/www/chromium/files/patch-media_webrtc_audio__processor.cc
@@ -1,11 +1,11 @@
---- media/webrtc/audio_processor.cc.orig 2022-06-17 14:20:10 UTC
+--- media/webrtc/audio_processor.cc.orig 2025-07-02 06:08:04 UTC
+++ media/webrtc/audio_processor.cc
-@@ -473,7 +473,7 @@ absl::optional<double> AudioProcessor::ProcessData(
+@@ -507,7 +507,7 @@ std::optional<double> AudioProcessor::ProcessData(
+ // controller.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
DCHECK_LE(volume, 1.0);
- #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
-- BUILDFLAG(IS_OPENBSD)
-+ BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// We have a special situation on Linux where the microphone volume can be
// "higher than maximum". The input volume slider in the sound preference
// allows the user to set a scaling that is higher than 100%. It means that
diff --git a/www/chromium/files/patch-media_webrtc_helpers.cc b/www/chromium/files/patch-media_webrtc_helpers.cc
new file mode 100644
index 000000000000..83c31ec58eca
--- /dev/null
+++ b/www/chromium/files/patch-media_webrtc_helpers.cc
@@ -0,0 +1,19 @@
+--- media/webrtc/helpers.cc.orig 2025-05-28 14:55:43 UTC
++++ media/webrtc/helpers.cc
+@@ -46,14 +46,14 @@ void ConfigAutomaticGainControl(const AudioProcessingS
+ return;
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const bool kInputVolumeAdjustmentOverrideAllowed = true;
+ #elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ const bool kInputVolumeAdjustmentOverrideAllowed = false;
+ #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)
+ // Use AGC2 digital and input volume controller.
+ // TODO(crbug.com/40872787): Remove `kWebRtcAllowInputVolumeAdjustment` safely
+ // and set `input_volume_controller.enabled` true.
diff --git a/www/chromium/files/patch-media_webrtc_helpers__unittests.cc b/www/chromium/files/patch-media_webrtc_helpers__unittests.cc
index 3fba74be9256..cc67a9e7177e 100644
--- a/www/chromium/files/patch-media_webrtc_helpers__unittests.cc
+++ b/www/chromium/files/patch-media_webrtc_helpers__unittests.cc
@@ -1,20 +1,38 @@
---- media/webrtc/helpers_unittests.cc.orig 2022-06-17 14:20:10 UTC
+--- media/webrtc/helpers_unittests.cc.orig 2025-02-19 07:43:18 UTC
+++ media/webrtc/helpers_unittests.cc
-@@ -36,7 +36,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau
- EXPECT_FALSE(config.pre_amplifier.enabled);
+@@ -39,7 +39,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau
EXPECT_TRUE(config.echo_canceller.enabled);
- EXPECT_TRUE(config.gain_controller1.enabled);
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ EXPECT_FALSE(config.gain_controller1.enabled);
EXPECT_TRUE(config.gain_controller2.enabled);
- #else
- EXPECT_FALSE(config.gain_controller2.enabled);
-@@ -98,7 +98,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau
+ #elif BUILDFLAG(IS_CASTOS) || BUILDFLAG(IS_CAST_ANDROID)
+@@ -66,7 +66,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest,
+ }
+
+ #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)
+ TEST(CreateWebRtcAudioProcessingModuleTest,
+ InputVolumeAdjustmentEnabledWithAgc2) {
+ ::base::test::ScopedFeatureList feature_list;
+@@ -82,7 +82,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest,
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
- // Check that either AGC1 digital or AGC2 digital is used based on the
- // platforms where the Hybrid AGC is enabled by default.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- EXPECT_FALSE(agc1_analog_config.enable_digital_adaptive);
- EXPECT_TRUE(config.gain_controller2.enabled);
- EXPECT_TRUE(config.gain_controller2.adaptive_digital.enabled);
+ TEST(CreateWebRtcAudioProcessingModuleTest,
+ CanDisableInputVolumeAdjustmentWithAgc2) {
+ ::base::test::ScopedFeatureList feature_list;
+@@ -99,7 +99,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest,
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+ #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)
+ TEST(CreateWebRtcAudioProcessingModuleTest,
+ OnlyOneInputVolumeControllerEnabledOnDesktopPlatforms) {
+ auto config = CreateApmGetConfig(
diff --git a/www/chromium/files/patch-media_webrtc_webrtc__features.cc b/www/chromium/files/patch-media_webrtc_webrtc__features.cc
deleted file mode 100644
index a453cc1d0390..000000000000
--- a/www/chromium/files/patch-media_webrtc_webrtc__features.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- media/webrtc/webrtc_features.cc.orig 2022-06-17 14:20:10 UTC
-+++ media/webrtc/webrtc_features.cc
-@@ -9,7 +9,7 @@
-
- namespace features {
- namespace {
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- constexpr base::FeatureState kWebRtcHybridAgcState =
- base::FEATURE_ENABLED_BY_DEFAULT;
- #else
-@@ -19,7 +19,7 @@ constexpr base::FeatureState kWebRtcHybridAgcState =
- } // namespace
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- constexpr base::FeatureState kWebRtcAnalogAgcClippingControlState =
- base::FEATURE_ENABLED_BY_DEFAULT;
- #else
diff --git a/www/chromium/files/patch-mojo_core_BUILD.gn b/www/chromium/files/patch-mojo_core_BUILD.gn
index 0b98bf57356d..acb8f8d8386f 100644
--- a/www/chromium/files/patch-mojo_core_BUILD.gn
+++ b/www/chromium/files/patch-mojo_core_BUILD.gn
@@ -1,11 +1,11 @@
---- mojo/core/BUILD.gn.orig 2022-02-28 16:54:41 UTC
+--- mojo/core/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ mojo/core/BUILD.gn
-@@ -128,7 +128,7 @@ template("core_impl_source_set") {
- ]
- }
+@@ -164,7 +164,7 @@ source_set("impl_for_embedder") {
+ ]
+ }
-- if ((is_linux || is_chromeos || is_android) && !is_nacl) {
-+ if ((is_linux || is_chromeos || is_android) && !is_nacl && !is_bsd) {
- sources += [
- "channel_linux.cc",
- "channel_linux.h",
+- if ((is_linux || is_chromeos || is_android) && !is_nacl) {
++ if ((is_linux || is_chromeos || is_android) && !is_nacl && !is_bsd) {
+ sources += [
+ "channel_linux.cc",
+ "channel_linux.h",
diff --git a/www/chromium/files/patch-mojo_core_channel.cc b/www/chromium/files/patch-mojo_core_channel.cc
index 46e38bace3a0..72713d708d9c 100644
--- a/www/chromium/files/patch-mojo_core_channel.cc
+++ b/www/chromium/files/patch-mojo_core_channel.cc
@@ -1,8 +1,8 @@
---- mojo/core/channel.cc.orig 2022-04-21 18:48:31 UTC
+--- mojo/core/channel.cc.orig 2025-07-02 06:08:04 UTC
+++ mojo/core/channel.cc
-@@ -70,7 +70,11 @@ const size_t kMaxUnusedReadBufferCapacity = 4096;
- // Fuchsia: The zx_channel_write() API supports up to 64 handles.
- const size_t kMaxAttachedHandles = 64;
+@@ -85,7 +85,11 @@ const size_t kMaxAttachedHandles = 64;
+ const size_t kMaxAttachedHandles = 253;
+ #endif // BUILDFLAG(IS_FUCHSIA)
+#if defined(__i386__) && defined(OS_FREEBSD)
+const size_t kChannelMessageAlignment = 4;
diff --git a/www/chromium/files/patch-mojo_core_embedder_features.h b/www/chromium/files/patch-mojo_core_embedder_features.h
index 27d9c465adc6..bf298c54db6c 100644
--- a/www/chromium/files/patch-mojo_core_embedder_features.h
+++ b/www/chromium/files/patch-mojo_core_embedder_features.h
@@ -1,11 +1,11 @@
---- mojo/core/embedder/features.h.orig 2022-02-28 16:54:41 UTC
+--- mojo/core/embedder/features.h.orig 2023-04-28 17:01:32 UTC
+++ 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)
- extern const base::Feature kMojoLinuxChannelSharedMem;
+ BASE_DECLARE_FEATURE(kMojoLinuxChannelSharedMem);
diff --git a/www/chromium/files/patch-mojo_public_c_system_thunks.cc b/www/chromium/files/patch-mojo_public_c_system_thunks.cc
deleted file mode 100644
index 3855011bf92a..000000000000
--- a/www/chromium/files/patch-mojo_public_c_system_thunks.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- mojo/public/c/system/thunks.cc.orig 2022-04-21 18:48:31 UTC
-+++ mojo/public/c/system/thunks.cc
-@@ -24,7 +24,7 @@
- #include "mojo/public/c/system/message_pipe.h"
-
- #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- #include "base/environment.h"
- #include "base/files/file_path.h"
- #include "base/scoped_native_library.h"
-@@ -73,7 +73,7 @@ class CoreLibraryInitializer {
-
- MojoResult LoadLibrary(base::FilePath library_path) {
- #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- if (library_ && library_->is_valid())
- return MOJO_RESULT_OK;
-
-@@ -87,7 +87,7 @@ class CoreLibraryInitializer {
-
- if (library_path.empty()) {
- // Default to looking for the library in the current working directory.
--#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- const base::FilePath::CharType kDefaultLibraryPathValue[] =
- FILE_PATH_LITERAL("./libmojo_core.so");
- #elif BUILDFLAG(IS_FUCHSIA)
-@@ -143,7 +143,7 @@ class CoreLibraryInitializer {
-
- private:
- #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- absl::optional<base::ScopedNativeLibrary> library_;
- #endif
- };
diff --git a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni
index 0be942f4872c..69e69e009bda 100644
--- a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni
+++ b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni
@@ -1,7 +1,7 @@
---- mojo/public/tools/bindings/mojom.gni.orig 2022-06-17 14:20:10 UTC
+--- mojo/public/tools/bindings/mojom.gni.orig 2025-05-05 10:57:53 UTC
+++ mojo/public/tools/bindings/mojom.gni
-@@ -694,6 +694,16 @@ template("mojom") {
- enabled_features += [ "is_win" ]
+@@ -774,6 +774,16 @@ template("mojom") {
+ enabled_features += [ "is_apple" ]
}
+ if (is_openbsd) {
@@ -14,6 +14,6 @@
+ enabled_features += [ "is_bsd" ]
+ }
+
- action(parser_target_name) {
- script = mojom_parser_script
- inputs = mojom_parser_sources + [ build_metadata_filename ]
+ action_outputs = []
+ foreach(base_path, output_file_base_paths) {
+ filename = get_path_info(base_path, "file")
diff --git a/www/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn
index d4100bd05ca0..ebbac67e5afb 100644
--- a/www/chromium/files/patch-net_BUILD.gn
+++ b/www/chromium/files/patch-net_BUILD.gn
@@ -1,6 +1,6 @@
---- net/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- net/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ net/BUILD.gn
-@@ -104,7 +104,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" ]
}
-@@ -1199,6 +1199,15 @@ component("net") {
+@@ -1341,6 +1341,19 @@ component("net") {
]
}
+ 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",
-@@ -1331,7 +1340,7 @@ component("net") {
- }
- }
-
-- if (is_android || is_chromeos_ash) {
-+ if (is_android || is_chromeos_ash || is_bsd) {
- sources += [
- "base/network_change_notifier_posix.cc",
- "base/network_change_notifier_posix.h",
-@@ -1364,7 +1373,7 @@ component("net") {
+@@ -1504,7 +1517,7 @@ component("net") {
}
# Use getifaddrs() on POSIX platforms, except Linux.
@@ -43,7 +38,24 @@
sources += [
"base/network_interfaces_getifaddrs.cc",
"base/network_interfaces_getifaddrs.h",
-@@ -4372,7 +4381,7 @@ test("net_unittests") {
+@@ -2211,7 +2224,7 @@ static_library("test_support") {
+ ]
+ }
+
+- if (is_linux || is_chromeos || is_android) {
++ if (!is_bsd && (is_linux || is_chromeos || is_android)) {
+ sources += [
+ "base/address_tracker_linux_test_util.cc",
+ "base/address_tracker_linux_test_util.h",
+@@ -3038,14 +3051,14 @@ target(_test_target_type, "net_unittests") {
+ ]
+ }
+
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ sources += [
+ "base/network_change_notifier_linux_unittest.cc",
+ "proxy_resolution/proxy_config_service_linux_unittest.cc",
]
}
@@ -52,18 +64,18 @@
sources += [
"base/address_tracker_linux_unittest.cc",
"base/network_interfaces_linux_unittest.cc",
-@@ -4447,6 +4456,10 @@ test("net_unittests") {
- "//url:buildflags",
- ]
+@@ -3143,6 +3156,10 @@ target(_test_target_type, "net_unittests") {
+ ]
+ }
+ if (is_bsd) {
+ deps += [ "//sandbox/policy" ]
+ }
+
if (enable_websockets) {
- deps += [ "//net/server:tests" ]
- }
-@@ -4519,7 +4532,7 @@ test("net_unittests") {
+ sources += [
+ "server/http_connection_unittest.cc",
+@@ -3208,7 +3225,7 @@ target(_test_target_type, "net_unittests") {
]
}
@@ -72,7 +84,7 @@
sources += [ "tools/quic/quic_simple_server_test.cc" ]
}
-@@ -4661,7 +4674,7 @@ test("net_unittests") {
+@@ -3346,7 +3363,7 @@ target(_test_target_type, "net_unittests") {
}
# Use getifaddrs() on POSIX platforms, except Linux.
diff --git a/www/chromium/files/patch-net_base_features.cc b/www/chromium/files/patch-net_base_features.cc
new file mode 100644
index 000000000000..46045ee1946b
--- /dev/null
+++ b/www/chromium/files/patch-net_base_features.cc
@@ -0,0 +1,11 @@
+--- net/base/features.cc.orig 2025-07-02 06:08:04 UTC
++++ net/base/features.cc
+@@ -31,7 +31,7 @@ BASE_FEATURE(kCapReferrerToOriginOnCrossOrigin,
+ BASE_FEATURE(kAsyncDns,
+ "AsyncDns",
+ #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_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-net_base_network__change__notifier.cc b/www/chromium/files/patch-net_base_network__change__notifier.cc
index 04e02abc4641..18486cf55fc8 100644
--- a/www/chromium/files/patch-net_base_network__change__notifier.cc
+++ b/www/chromium/files/patch-net_base_network__change__notifier.cc
@@ -1,15 +1,15 @@
---- net/base/network_change_notifier.cc.orig 2022-07-22 17:30:31 UTC
+--- net/base/network_change_notifier.cc.orig 2025-05-28 14:55:43 UTC
+++ net/base/network_change_notifier.cc
-@@ -39,7 +39,7 @@
+@@ -38,7 +38,7 @@
#include "net/base/network_change_notifier_linux.h"
#elif BUILDFLAG(IS_APPLE)
- #include "net/base/network_change_notifier_mac.h"
--#elif BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_ANDROID)
-+#elif BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- #include "net/base/network_change_notifier_posix.h"
+ #include "net/base/network_change_notifier_apple.h"
+-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ #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
+@@ -325,6 +325,9 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
#elif BUILDFLAG(IS_FUCHSIA)
return std::make_unique<NetworkChangeNotifierFuchsia>(
/*require_wlan=*/false);
@@ -18,4 +18,4 @@
+ /*dns_config_notifier*/nullptr);
#else
NOTIMPLEMENTED();
- return NULL;
+ return nullptr;
diff --git a/www/chromium/files/patch-net_base_network__change__notifier__passive.cc b/www/chromium/files/patch-net_base_network__change__notifier__passive.cc
new file mode 100644
index 000000000000..e1649f276863
--- /dev/null
+++ b/www/chromium/files/patch-net_base_network__change__notifier__passive.cc
@@ -0,0 +1,11 @@
+--- net/base/network_change_notifier_passive.cc.orig 2025-05-28 14:55:43 UTC
++++ net/base/network_change_notifier_passive.cc
+@@ -107,7 +107,7 @@ NetworkChangeNotifierPassive::GetAddressMapOwnerIntern
+ NetworkChangeNotifier::NetworkChangeCalculatorParams
+ NetworkChangeNotifierPassive::NetworkChangeCalculatorParamsPassive() {
+ NetworkChangeCalculatorParams params;
+-#if BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Delay values arrived at by simple experimentation and adjusted so as to
+ // produce a single signal when switching between network connections.
+ params.ip_address_offline_delay_ = base::Milliseconds(4000);
diff --git a/www/chromium/files/patch-net_base_network__change__notifier__posix.cc b/www/chromium/files/patch-net_base_network__change__notifier__posix.cc
deleted file mode 100644
index a1f3285c9076..000000000000
--- a/www/chromium/files/patch-net_base_network__change__notifier__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/base/network_change_notifier_posix.cc.orig 2022-05-19 14:06:27 UTC
-+++ net/base/network_change_notifier_posix.cc
-@@ -92,7 +92,7 @@ void NetworkChangeNotifierPosix::GetCurrentMaxBandwidt
- NetworkChangeNotifier::NetworkChangeCalculatorParams
- NetworkChangeNotifierPosix::NetworkChangeCalculatorParamsPosix() {
- NetworkChangeCalculatorParams params;
--#if BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
- // Delay values arrived at by simple experimentation and adjusted so as to
- // produce a single signal when switching between network connections.
- params.ip_address_offline_delay_ = base::Milliseconds(4000);
diff --git a/www/chromium/files/patch-net_base_sockaddr__util__posix.cc b/www/chromium/files/patch-net_base_sockaddr__util__posix.cc
index 825c0490c3f1..c0361e0e294a 100644
--- a/www/chromium/files/patch-net_base_sockaddr__util__posix.cc
+++ b/www/chromium/files/patch-net_base_sockaddr__util__posix.cc
@@ -1,6 +1,6 @@
---- net/base/sockaddr_util_posix.cc.orig 2022-07-22 17:30:31 UTC
+--- net/base/sockaddr_util_posix.cc.orig 2025-07-02 06:08:04 UTC
+++ net/base/sockaddr_util_posix.cc
-@@ -41,7 +41,8 @@ bool FillUnixAddress(const std::string& socket_path,
+@@ -60,7 +60,8 @@ bool FillUnixAddress(const std::string& socket_path,
return true;
}
diff --git a/www/chromium/files/patch-net_base_sockaddr__util__posix__unittest.cc b/www/chromium/files/patch-net_base_sockaddr__util__posix__unittest.cc
index 50ed6dc7f90d..7014693faa3a 100644
--- a/www/chromium/files/patch-net_base_sockaddr__util__posix__unittest.cc
+++ b/www/chromium/files/patch-net_base_sockaddr__util__posix__unittest.cc
@@ -1,6 +1,6 @@
---- net/base/sockaddr_util_posix_unittest.cc.orig 2022-06-17 14:20:10 UTC
+--- net/base/sockaddr_util_posix_unittest.cc.orig 2024-07-30 11:12:21 UTC
+++ net/base/sockaddr_util_posix_unittest.cc
-@@ -83,7 +83,8 @@ TEST(FillUnixAddressTest, AbstractLinuxAddress) {
+@@ -88,7 +88,8 @@ TEST(FillUnixAddressTest, AbstractLinuxAddress) {
size_t path_max = MaxPathLength(&storage);
std::string path(path_max, '0');
diff --git a/www/chromium/files/patch-net_cert_cert__verifier.cc b/www/chromium/files/patch-net_cert_cert__verifier.cc
deleted file mode 100644
index bc7527e1a23b..000000000000
--- a/www/chromium/files/patch-net_cert_cert__verifier.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/cert/cert_verifier.cc.orig 2022-02-28 16:54:41 UTC
-+++ net/cert/cert_verifier.cc
-@@ -78,7 +78,7 @@ bool CertVerifier::RequestParams::operator<(
- std::unique_ptr<CertVerifier> CertVerifier::CreateDefaultWithoutCaching(
- scoped_refptr<CertNetFetcher> cert_net_fetcher) {
- scoped_refptr<CertVerifyProc> verify_proc;
--#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- verify_proc =
- CertVerifyProc::CreateBuiltinVerifyProc(std::move(cert_net_fetcher));
- #elif BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED)
diff --git a/www/chromium/files/patch-net_cert_cert__verify__proc.cc b/www/chromium/files/patch-net_cert_cert__verify__proc.cc
deleted file mode 100644
index 2b0b95101b4e..000000000000
--- a/www/chromium/files/patch-net_cert_cert__verify__proc.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/cert/cert_verify_proc.cc.orig 2022-06-17 14:20:10 UTC
-+++ net/cert/cert_verify_proc.cc
-@@ -527,7 +527,7 @@ base::Value CertVerifyParams(X509Certificate* cert,
-
- } // namespace
-
--#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
-+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
- // static
- scoped_refptr<CertVerifyProc> CertVerifyProc::CreateSystemVerifyProc(
- scoped_refptr<CertNetFetcher> cert_net_fetcher) {
diff --git a/www/chromium/files/patch-net_cert_cert__verify__proc.h b/www/chromium/files/patch-net_cert_cert__verify__proc.h
deleted file mode 100644
index 8e0e2535a303..000000000000
--- a/www/chromium/files/patch-net_cert_cert__verify__proc.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/cert/cert_verify_proc.h.orig 2022-06-17 14:20:10 UTC
-+++ net/cert/cert_verify_proc.h
-@@ -80,7 +80,7 @@ class NET_EXPORT CertVerifyProc
- kMaxValue = kOther
- };
-
--#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
-+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
- // Creates and returns a CertVerifyProc that uses the system verifier.
- // |cert_net_fetcher| may not be used, depending on the implementation.
- static scoped_refptr<CertVerifyProc> CreateSystemVerifyProc(
diff --git a/www/chromium/files/patch-net_cert_cert__verify__proc__unittest.cc b/www/chromium/files/patch-net_cert_cert__verify__proc__unittest.cc
deleted file mode 100644
index c8472c49856e..000000000000
--- a/www/chromium/files/patch-net_cert_cert__verify__proc__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/cert/cert_verify_proc_unittest.cc.orig 2022-07-22 17:30:31 UTC
-+++ net/cert/cert_verify_proc_unittest.cc
-@@ -232,7 +232,7 @@ const std::vector<CertVerifyProcType> kAllCertVerifier
- CERT_VERIFY_PROC_MAC, CERT_VERIFY_PROC_BUILTIN
- #elif BUILDFLAG(IS_WIN)
- CERT_VERIFY_PROC_WIN, CERT_VERIFY_PROC_BUILTIN_CHROME_ROOTS
--#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- CERT_VERIFY_PROC_BUILTIN
- #else
- #error Unsupported platform
diff --git a/www/chromium/files/patch-net_cert_test__root__certs__unittest.cc b/www/chromium/files/patch-net_cert_test__root__certs__unittest.cc
deleted file mode 100644
index 29236729febc..000000000000
--- a/www/chromium/files/patch-net_cert_test__root__certs__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/cert/test_root_certs_unittest.cc.orig 2022-02-28 16:54:41 UTC
-+++ net/cert/test_root_certs_unittest.cc
-@@ -33,7 +33,7 @@ const char kRootCertificateFile[] = "root_ca_cert.pem"
- const char kGoodCertificateFile[] = "ok_cert.pem";
-
- scoped_refptr<CertVerifyProc> CreateCertVerifyProc() {
--#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- return CertVerifyProc::CreateBuiltinVerifyProc(/*cert_net_fetcher=*/nullptr);
- #elif BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED)
- if (base::FeatureList::IsEnabled(features::kCertVerifierBuiltinFeature)) {
diff --git a/www/chromium/files/patch-net_disk__cache_backend__experiment.h b/www/chromium/files/patch-net_disk__cache_backend__experiment.h
new file mode 100644
index 000000000000..b286abed6dda
--- /dev/null
+++ b/www/chromium/files/patch-net_disk__cache_backend__experiment.h
@@ -0,0 +1,11 @@
+--- net/disk_cache/backend_experiment.h.orig 2024-11-14 07:57:23 UTC
++++ net/disk_cache/backend_experiment.h
+@@ -14,7 +14,7 @@ namespace disk_cache {
+ // default.
+ constexpr bool IsSimpleBackendEnabledByDefaultPlatform() {
+ return BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ||
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC);
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD);
+ }
+
+ // True if assigned to any of disk cache backend experiment groups.
diff --git a/www/chromium/files/patch-net_disk__cache_blockfile_disk__format.h b/www/chromium/files/patch-net_disk__cache_blockfile_disk__format.h
deleted file mode 100644
index 185185621f0e..000000000000
--- a/www/chromium/files/patch-net_disk__cache_blockfile_disk__format.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- net/disk_cache/blockfile/disk_format.h.orig 2021-04-14 18:41:07 UTC
-+++ net/disk_cache/blockfile/disk_format.h
-@@ -149,7 +149,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/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc b/www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc
index ea6580b0cab2..234485f163a9 100644
--- a/www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc
+++ b/www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc
@@ -1,7 +1,7 @@
---- net/disk_cache/simple/simple_file_tracker.cc.orig 2022-06-17 14:20:10 UTC
+--- net/disk_cache/simple/simple_file_tracker.cc.orig 2025-07-02 06:08:04 UTC
+++ net/disk_cache/simple/simple_file_tracker.cc
-@@ -29,7 +29,17 @@ void RecordFileDescripterLimiterOp(FileDescriptorLimit
- } // namespace
+@@ -36,7 +36,17 @@ bool SimpleFileTracker::TrackedFiles::InLRUList() cons
+ }
SimpleFileTracker::SimpleFileTracker(int file_limit)
+#if defined(OS_OPENBSD)
diff --git a/www/chromium/files/patch-net_dns_BUILD.gn b/www/chromium/files/patch-net_dns_BUILD.gn
index d37f40166419..50be0c53f7f4 100644
--- a/www/chromium/files/patch-net_dns_BUILD.gn
+++ b/www/chromium/files/patch-net_dns_BUILD.gn
@@ -1,6 +1,6 @@
---- net/dns/BUILD.gn.orig 2022-05-19 14:06:27 UTC
+--- net/dns/BUILD.gn.orig 2025-02-19 07:43:18 UTC
+++ net/dns/BUILD.gn
-@@ -112,7 +112,7 @@ source_set("dns") {
+@@ -140,7 +140,7 @@ source_set("dns") {
"dns_config_service_android.cc",
"dns_config_service_android.h",
]
@@ -9,7 +9,7 @@
sources += [
"dns_config_service_linux.cc",
"dns_config_service_linux.h",
-@@ -153,6 +153,7 @@ source_set("dns") {
+@@ -181,6 +181,7 @@ source_set("dns") {
":host_resolver_manager",
":mdns_client",
"//net:net_public_deps",
@@ -17,7 +17,7 @@
]
allow_circular_includes_from = [
-@@ -413,9 +414,9 @@ source_set("tests") {
+@@ -450,9 +451,9 @@ source_set("tests") {
if (is_android) {
sources += [ "dns_config_service_android_unittest.cc" ]
diff --git a/www/chromium/files/patch-net_dns_address__info.cc b/www/chromium/files/patch-net_dns_address__info.cc
new file mode 100644
index 000000000000..af69bca18aed
--- /dev/null
+++ b/www/chromium/files/patch-net_dns_address__info.cc
@@ -0,0 +1,16 @@
+--- net/dns/address_info.cc.orig 2024-07-30 11:12:21 UTC
++++ net/dns/address_info.cc
+@@ -83,8 +83,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/chromium/files/patch-net_dns_address__sorter__posix.cc b/www/chromium/files/patch-net_dns_address__sorter__posix.cc
index bd934f90b5d8..974c87f29130 100644
--- a/www/chromium/files/patch-net_dns_address__sorter__posix.cc
+++ b/www/chromium/files/patch-net_dns_address__sorter__posix.cc
@@ -1,10 +1,10 @@
---- net/dns/address_sorter_posix.cc.orig 2022-03-25 21:59:56 UTC
+--- net/dns/address_sorter_posix.cc.orig 2024-07-30 11:12:21 UTC
+++ net/dns/address_sorter_posix.cc
-@@ -18,6 +18,7 @@
- #include <ifaddrs.h>
- #include <net/if.h>
+@@ -32,6 +32,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
+ #include <vector>
diff --git a/www/chromium/files/patch-net_dns_dns__config__service__posix.cc b/www/chromium/files/patch-net_dns_dns__config__service__posix.cc
index 65ef568454c5..cc2598368fc2 100644
--- a/www/chromium/files/patch-net_dns_dns__config__service__posix.cc
+++ b/www/chromium/files/patch-net_dns_dns__config__service__posix.cc
@@ -1,6 +1,6 @@
---- net/dns/dns_config_service_posix.cc.orig 2022-02-28 16:54:41 UTC
+--- net/dns/dns_config_service_posix.cc.orig 2024-07-30 11:12:21 UTC
+++ net/dns/dns_config_service_posix.cc
-@@ -33,6 +33,11 @@
+@@ -39,6 +39,11 @@
#include "net/dns/dns_config_watcher_mac.h"
#endif
@@ -12,7 +12,7 @@
namespace net {
namespace internal {
-@@ -129,6 +134,11 @@ class DnsConfigServicePosix::Watcher : public DnsConfi
+@@ -135,6 +140,11 @@ class DnsConfigServicePosix::Watcher : public DnsConfi
bool Watch() override {
CheckOnCorrectSequence();
diff --git a/www/chromium/files/patch-net_dns_dns__reloader.cc b/www/chromium/files/patch-net_dns_dns__reloader.cc
index bd85a3d566b6..21700c993a95 100644
--- a/www/chromium/files/patch-net_dns_dns__reloader.cc
+++ b/www/chromium/files/patch-net_dns_dns__reloader.cc
@@ -1,18 +1,10 @@
---- net/dns/dns_reloader.cc.orig 2022-02-28 16:54:41 UTC
+--- net/dns/dns_reloader.cc.orig 2023-04-05 11:05:06 UTC
+++ net/dns/dns_reloader.cc
-@@ -6,7 +6,7 @@
-
- #include "build/build_config.h"
-
--#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \
-+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) && \
- !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA)
+@@ -10,6 +10,7 @@
+ // - there's not guarantee it exists at all. :(
+ #if BUILDFLAG(IS_POSIX)
++#include <netinet/in.h>
#include <resolv.h>
-@@ -113,5 +113,5 @@ void DnsReloaderMaybeReload() {
-
- } // namespace net
--#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD)
-+#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) &&
- // && !BUILDFLAG(IS_ANDROID)
+ // This code only works on systems where the C library provides res_ninit(3) and
diff --git a/www/chromium/files/patch-net_dns_dns__reloader.h b/www/chromium/files/patch-net_dns_dns__reloader.h
deleted file mode 100644
index c5d9a00751c0..000000000000
--- a/www/chromium/files/patch-net_dns_dns__reloader.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/dns/dns_reloader.h.orig 2022-02-28 16:54:41 UTC
-+++ net/dns/dns_reloader.h
-@@ -7,7 +7,7 @@
-
- #include "build/build_config.h"
-
--#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD)
-+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
- namespace net {
-
- // Call on the network thread before calling DnsReloaderMaybeReload() anywhere.
diff --git a/www/chromium/files/patch-net_dns_dns__util.cc b/www/chromium/files/patch-net_dns_dns__util.cc
index 9001b9322f68..e2633472d6b7 100644
--- a/www/chromium/files/patch-net_dns_dns__util.cc
+++ b/www/chromium/files/patch-net_dns_dns__util.cc
@@ -1,11 +1,11 @@
---- net/dns/dns_util.cc.orig 2022-04-21 18:48:31 UTC
+--- net/dns/dns_util.cc.orig 2023-02-08 09:03:45 UTC
+++ net/dns/dns_util.cc
-@@ -28,6 +28,8 @@
+@@ -29,6 +29,8 @@
+ #include "net/dns/public/util.h"
#include "net/third_party/uri_template/uri_template.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
+#include <sys/socket.h>
+
#if BUILDFLAG(IS_POSIX)
- #include <netinet/in.h>
#include <net/if.h>
+ #include <netinet/in.h>
diff --git a/www/chromium/files/patch-net_dns_host__resolver__manager.cc b/www/chromium/files/patch-net_dns_host__resolver__manager.cc
deleted file mode 100644
index faef864dd7e4..000000000000
--- a/www/chromium/files/patch-net_dns_host__resolver__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/dns/host_resolver_manager.cc.orig 2022-07-22 17:30:31 UTC
-+++ net/dns/host_resolver_manager.cc
-@@ -3145,7 +3145,7 @@ HostResolverManager::HostResolverManager(
- }
- if (system_dns_config_notifier_)
- system_dns_config_notifier_->AddObserver(this);
--#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \
-+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) && \
- !BUILDFLAG(IS_ANDROID)
- EnsureDnsReloaderInit();
- #endif
diff --git a/www/chromium/files/patch-net_dns_host__resolver__proc.cc b/www/chromium/files/patch-net_dns_host__resolver__proc.cc
index e4872a750520..fbe648f9b413 100644
--- a/www/chromium/files/patch-net_dns_host__resolver__proc.cc
+++ b/www/chromium/files/patch-net_dns_host__resolver__proc.cc
@@ -1,8 +1,8 @@
---- net/dns/host_resolver_proc.cc.orig 2022-03-25 21:59:56 UTC
+--- net/dns/host_resolver_proc.cc.orig 2025-05-28 14:55:43 UTC
+++ net/dns/host_resolver_proc.cc
-@@ -19,10 +19,6 @@
- #include "net/dns/dns_util.h"
- #include "net/dns/host_resolver.h"
+@@ -16,10 +16,6 @@
+ #include "net/base/net_errors.h"
+ #include "net/dns/host_resolver_system_task.h"
-#if BUILDFLAG(IS_OPENBSD)
-#define AI_ADDRCONFIG 0
@@ -11,12 +11,3 @@
namespace net {
HostResolverProc* HostResolverProc::default_proc_ = nullptr;
-@@ -192,7 +188,7 @@ int SystemHostResolverCall(const std::string& host,
- base::BlockingType::WILL_BLOCK);
-
- #if BUILDFLAG(IS_POSIX) && \
-- !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_ANDROID))
-+ !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_ANDROID))
- DnsReloaderMaybeReload();
- #endif
- auto [ai, err, os_error] = AddressInfo::Get(host, hints, nullptr, network);
diff --git a/www/chromium/files/patch-net_dns_public_BUILD.gn b/www/chromium/files/patch-net_dns_public_BUILD.gn
index 47b7d860ad65..d0099497585b 100644
--- a/www/chromium/files/patch-net_dns_public_BUILD.gn
+++ b/www/chromium/files/patch-net_dns_public_BUILD.gn
@@ -1,6 +1,6 @@
---- net/dns/public/BUILD.gn.orig 2022-03-25 21:59:56 UTC
+--- net/dns/public/BUILD.gn.orig 2024-05-21 18:07:39 UTC
+++ net/dns/public/BUILD.gn
-@@ -74,7 +74,7 @@ source_set("tests") {
+@@ -78,7 +78,7 @@ source_set("tests") {
"doh_provider_entry_unittest.cc",
]
diff --git a/www/chromium/files/patch-net_dns_public_scoped__res__state.h b/www/chromium/files/patch-net_dns_public_scoped__res__state.h
index b31a6ae09de1..9a8743bf52e4 100644
--- a/www/chromium/files/patch-net_dns_public_scoped__res__state.h
+++ b/www/chromium/files/patch-net_dns_public_scoped__res__state.h
@@ -1,4 +1,4 @@
---- net/dns/public/scoped_res_state.h.orig 2022-02-28 16:54:41 UTC
+--- net/dns/public/scoped_res_state.h.orig 2024-02-23 21:04:38 UTC
+++ net/dns/public/scoped_res_state.h
@@ -5,6 +5,7 @@
#ifndef NET_DNS_PUBLIC_SCOPED_RES_STATE_H_
@@ -7,4 +7,4 @@
+#include <netinet/in.h>
#include <resolv.h>
- #include "build/build_config.h"
+ #include <optional>
diff --git a/www/chromium/files/patch-net_filter_zstd__source__stream.cc b/www/chromium/files/patch-net_filter_zstd__source__stream.cc
new file mode 100644
index 000000000000..6467f9b365cd
--- /dev/null
+++ b/www/chromium/files/patch-net_filter_zstd__source__stream.cc
@@ -0,0 +1,10 @@
+--- net/filter/zstd_source_stream.cc.orig 2024-01-30 07:53:34 UTC
++++ net/filter/zstd_source_stream.cc
+@@ -7,6 +7,7 @@
+ #include <algorithm>
+ #include <unordered_map>
+ #include <utility>
++#include <unordered_map>
+
+ #define ZSTD_STATIC_LINKING_ONLY
+
diff --git a/www/chromium/files/patch-net_http_http__auth__gssapi__posix.cc b/www/chromium/files/patch-net_http_http__auth__gssapi__posix.cc
index 11fe27ffa0ba..cfdeaa5e181a 100644
--- a/www/chromium/files/patch-net_http_http__auth__gssapi__posix.cc
+++ b/www/chromium/files/patch-net_http_http__auth__gssapi__posix.cc
@@ -1,14 +1,13 @@
---- net/http/http_auth_gssapi_posix.cc.orig 2022-04-21 18:48:31 UTC
+--- net/http/http_auth_gssapi_posix.cc.orig 2025-05-05 10:57:53 UTC
+++ net/http/http_auth_gssapi_posix.cc
-@@ -369,8 +369,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib
- static const char* const kDefaultLibraryNames[] = {
+@@ -366,7 +366,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib
+ } else {
#if BUILDFLAG(IS_APPLE)
- "/System/Library/Frameworks/GSS.framework/GSS"
+ library_names.emplace_back("/System/Library/Frameworks/GSS.framework/GSS");
-#elif BUILDFLAG(IS_OPENBSD)
-- "libgssapi.so" // Heimdal - OpenBSD
+#elif BUILDFLAG(IS_BSD)
-+ "libgssapi_krb5.so.2", // MIT Kerberos - FreeBSD
-+ "libgssapi.so" // Heimdal - OpenBSD, FreeBSD
++ // MIT Kerberos - FreeBSD
++ library_names.emplace_back("libgssapi_krb5.so.2");
+ // Heimdal - OpenBSD
+ library_names.emplace_back("libgssapi.so");
#else
- "libgssapi_krb5.so.2", // MIT Kerberos - FC, Suse10, Debian
- "libgssapi.so.4", // Heimdal - Suse10, MDK
diff --git a/www/chromium/files/patch-net_http_http__auth__gssapi__posix.h b/www/chromium/files/patch-net_http_http__auth__gssapi__posix.h
index 4622cadf1a61..a5df8462e3a1 100644
--- a/www/chromium/files/patch-net_http_http__auth__gssapi__posix.h
+++ b/www/chromium/files/patch-net_http_http__auth__gssapi__posix.h
@@ -1,6 +1,6 @@
---- net/http/http_auth_gssapi_posix.h.orig 2022-02-28 16:54:41 UTC
+--- net/http/http_auth_gssapi_posix.h.orig 2022-08-31 12:19:35 UTC
+++ net/http/http_auth_gssapi_posix.h
-@@ -20,6 +20,9 @@
+@@ -21,6 +21,9 @@
#if BUILDFLAG(IS_APPLE)
#include <GSS/gssapi.h>
#elif BUILDFLAG(IS_FREEBSD)
diff --git a/www/chromium/files/patch-net_http_http__auth__handler__negotiate.cc b/www/chromium/files/patch-net_http_http__auth__handler__negotiate.cc
new file mode 100644
index 000000000000..75f5237f219a
--- /dev/null
+++ b/www/chromium/files/patch-net_http_http__auth__handler__negotiate.cc
@@ -0,0 +1,11 @@
+--- net/http/http_auth_handler_negotiate.cc.orig 2025-04-04 08:52:13 UTC
++++ net/http/http_auth_handler_negotiate.cc
+@@ -119,7 +119,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/chromium/files/patch-net_http_http__auth__preferences.cc b/www/chromium/files/patch-net_http_http__auth__preferences.cc
new file mode 100644
index 000000000000..446ef7cb39bc
--- /dev/null
+++ b/www/chromium/files/patch-net_http_http__auth__preferences.cc
@@ -0,0 +1,11 @@
+--- net/http/http_auth_preferences.cc.orig 2025-04-04 08:52:13 UTC
++++ net/http/http_auth_preferences.cc
+@@ -38,7 +38,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/chromium/files/patch-net_http_http__auth__preferences.h b/www/chromium/files/patch-net_http_http__auth__preferences.h
new file mode 100644
index 000000000000..8f582f94234e
--- /dev/null
+++ b/www/chromium/files/patch-net_http_http__auth__preferences.h
@@ -0,0 +1,29 @@
+--- net/http/http_auth_preferences.h.orig 2025-04-04 08:52:13 UTC
++++ net/http/http_auth_preferences.h
+@@ -49,7 +49,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(
+@@ -85,7 +85,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;
+ }
+@@ -136,7 +136,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/chromium/files/patch-net_http_http__network__session.cc b/www/chromium/files/patch-net_http_http__network__session.cc
index 403b740b2954..375b498b33eb 100644
--- a/www/chromium/files/patch-net_http_http__network__session.cc
+++ b/www/chromium/files/patch-net_http_http__network__session.cc
@@ -1,6 +1,6 @@
---- net/http/http_network_session.cc.orig 2022-02-07 13:39:41 UTC
+--- net/http/http_network_session.cc.orig 2025-07-02 06:08:04 UTC
+++ net/http/http_network_session.cc
-@@ -20,7 +20,9 @@
+@@ -21,7 +21,9 @@
#include "build/build_config.h"
#include "net/base/features.h"
#include "net/dns/host_resolver.h"
@@ -9,4 +9,4 @@
+#endif
#include "net/http/http_response_body_drainer.h"
#include "net/http/http_stream_factory.h"
- #include "net/http/url_security_manager.h"
+ #include "net/http/http_stream_pool.h"
diff --git a/www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc b/www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc
deleted file mode 100644
index 17d870c0dd12..000000000000
--- a/www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2022-07-22 17:30:31 UTC
-+++ net/proxy_resolution/configured_proxy_resolution_service.cc
-@@ -53,7 +53,7 @@
- #elif BUILDFLAG(IS_MAC)
- #include "net/proxy_resolution/proxy_config_service_mac.h"
- #include "net/proxy_resolution/proxy_resolver_mac.h"
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "net/proxy_resolution/proxy_config_service_linux.h"
- #elif BUILDFLAG(IS_ANDROID)
- #include "net/proxy_resolution/proxy_config_service_android.h"
-@@ -65,7 +65,7 @@ namespace net {
-
- namespace {
-
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation =
- net::DefineNetworkTrafficAnnotation("proxy_config_system", R"(
- semantics {
-@@ -1417,7 +1417,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon
- << "profile_io_data.cc::CreateProxyConfigService and this should "
- << "be used only for examples.";
- return std::make_unique<UnsetProxyConfigService>();
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- std::unique_ptr<ProxyConfigServiceLinux> linux_config_service(
- new ProxyConfigServiceLinux());
-
diff --git a/www/chromium/files/patch-net_proxy__resolution_proxy__config__service.cc b/www/chromium/files/patch-net_proxy__resolution_proxy__config__service.cc
new file mode 100644
index 000000000000..4c943e553a46
--- /dev/null
+++ b/www/chromium/files/patch-net_proxy__resolution_proxy__config__service.cc
@@ -0,0 +1,35 @@
+--- net/proxy_resolution/proxy_config_service.cc.orig 2023-03-09 06:31:50 UTC
++++ net/proxy_resolution/proxy_config_service.cc
+@@ -19,20 +19,20 @@
+ #include "net/proxy_resolution/proxy_config_service_ios.h"
+ #elif BUILDFLAG(IS_MAC)
+ #include "net/proxy_resolution/proxy_config_service_mac.h"
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "net/proxy_resolution/proxy_config_service_linux.h"
+ #elif BUILDFLAG(IS_ANDROID)
+ #include "net/proxy_resolution/proxy_config_service_android.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "net/traffic_annotation/network_traffic_annotation.h"
+ #endif
+
+ namespace net {
+
+ namespace {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation =
+ net::DefineNetworkTrafficAnnotation("proxy_config_system", R"(
+ semantics {
+@@ -108,7 +108,7 @@ ProxyConfigService::CreateSystemProxyConfigService(
+ << "profile_io_data.cc::CreateProxyConfigService and this should "
+ << "be used only for examples.";
+ return std::make_unique<UnsetProxyConfigService>();
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<ProxyConfigServiceLinux> linux_config_service(
+ std::make_unique<ProxyConfigServiceLinux>());
+
diff --git a/www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc b/www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc
index 03b4e20201aa..74b7e19e12d7 100644
--- a/www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc
+++ b/www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc
@@ -1,24 +1,24 @@
---- net/proxy_resolution/proxy_config_service_linux.cc.orig 2022-07-22 17:30:31 UTC
+--- net/proxy_resolution/proxy_config_service_linux.cc.orig 2025-05-28 14:55:43 UTC
+++ net/proxy_resolution/proxy_config_service_linux.cc
-@@ -6,7 +6,9 @@
+@@ -11,7 +11,9 @@
#include <errno.h>
#include <limits.h>
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
#include <sys/inotify.h>
+#endif
#include <unistd.h>
#include <map>
-@@ -500,6 +502,7 @@ bool SettingGetterImplGSettings::CheckVersion(
+@@ -502,6 +504,7 @@ bool SettingGetterImplGSettings::CheckVersion() {
}
#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) {
-@@ -1028,6 +1031,7 @@ class SettingGetterImplKDE : public ProxyConfigService
+ int StringToIntOrDefault(std::string_view value, int default_value) {
+@@ -1039,6 +1042,7 @@ class SettingGetterImplKDE : public ProxyConfigService
// events on.
scoped_refptr<base::SequencedTaskRunner> file_task_runner_;
};
@@ -26,15 +26,15 @@
} // namespace
-@@ -1245,9 +1249,11 @@ ProxyConfigServiceLinux::Delegate::Delegate(
- case base::nix::DESKTOP_ENVIRONMENT_KDE3:
+@@ -1258,9 +1262,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;
+#endif
case base::nix::DESKTOP_ENVIRONMENT_XFCE:
+ case base::nix::DESKTOP_ENVIRONMENT_LXQT:
case base::nix::DESKTOP_ENVIRONMENT_OTHER:
- break;
diff --git a/www/chromium/files/patch-net_quic_quic__network__transaction__unittest.cc b/www/chromium/files/patch-net_quic_quic__network__transaction__unittest.cc
new file mode 100644
index 000000000000..7406ec73158a
--- /dev/null
+++ b/www/chromium/files/patch-net_quic_quic__network__transaction__unittest.cc
@@ -0,0 +1,28 @@
+--- net/quic/quic_network_transaction_unittest.cc.orig 2025-04-04 08:52:13 UTC
++++ net/quic/quic_network_transaction_unittest.cc
+@@ -5202,10 +5202,10 @@ TEST_P(QuicNetworkTransactionTest, RstStreamBeforeHead
+
+ TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocol) {
+ // Alternate-protocol job
+- std::unique_ptr<quic::QuicEncryptedPacket> close(
++ std::unique_ptr<quic::QuicEncryptedPacket> test_close(
+ ConstructServerConnectionClosePacket(1));
+ MockRead quic_reads[] = {
+- MockRead(ASYNC, close->data(), close->length()),
++ MockRead(ASYNC, test_close->data(), test_close->length()),
+ MockRead(ASYNC, ERR_IO_PENDING), // No more data to read
+ MockRead(ASYNC, OK), // EOF
+ };
+@@ -5248,10 +5248,10 @@ TEST_P(QuicNetworkTransactionTest,
+ http_server_properties_ = std::make_unique<HttpServerProperties>();
+
+ // Alternate-protocol job
+- std::unique_ptr<quic::QuicEncryptedPacket> close(
++ std::unique_ptr<quic::QuicEncryptedPacket> test_close(
+ ConstructServerConnectionClosePacket(1));
+ MockRead quic_reads[] = {
+- MockRead(ASYNC, close->data(), close->length()),
++ MockRead(ASYNC, test_close->data(), test_close->length()),
+ MockRead(ASYNC, ERR_IO_PENDING), // No more data to read
+ MockRead(ASYNC, OK), // EOF
+ };
diff --git a/www/chromium/files/patch-net_socket_socket__posix.cc b/www/chromium/files/patch-net_socket_socket__posix.cc
deleted file mode 100644
index 665305fd5623..000000000000
--- a/www/chromium/files/patch-net_socket_socket__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/socket/socket_posix.cc.orig 2022-07-22 17:30:31 UTC
-+++ net/socket/socket_posix.cc
-@@ -516,7 +516,7 @@ void SocketPosix::ReadCompleted() {
- }
-
- int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- // Disable SIGPIPE for this write. Although Chromium globally disables
- // SIGPIPE, the net stack may be used in other consumers which do not do
- // this. MSG_NOSIGNAL is a Linux-only API. On OS X, this is a setsockopt on
diff --git a/www/chromium/files/patch-net_socket_socks5__client__socket.cc b/www/chromium/files/patch-net_socket_socks5__client__socket.cc
index d80844cdf1be..17d21c5820b1 100644
--- a/www/chromium/files/patch-net_socket_socks5__client__socket.cc
+++ b/www/chromium/files/patch-net_socket_socks5__client__socket.cc
@@ -1,6 +1,6 @@
---- net/socket/socks5_client_socket.cc.orig 2022-04-21 18:48:31 UTC
+--- net/socket/socks5_client_socket.cc.orig 2025-04-04 08:52:13 UTC
+++ net/socket/socks5_client_socket.cc
-@@ -19,6 +19,9 @@
+@@ -23,6 +23,9 @@
#include "net/log/net_log_event_type.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
diff --git a/www/chromium/files/patch-net_socket_tcp__socket__posix.cc b/www/chromium/files/patch-net_socket_tcp__socket__posix.cc
index 8408ed6a4f63..4dd02e208e0e 100644
--- a/www/chromium/files/patch-net_socket_tcp__socket__posix.cc
+++ b/www/chromium/files/patch-net_socket_tcp__socket__posix.cc
@@ -1,6 +1,6 @@
---- net/socket/tcp_socket_posix.cc.orig 2022-06-17 14:20:10 UTC
+--- net/socket/tcp_socket_posix.cc.orig 2025-05-28 14:55:43 UTC
+++ net/socket/tcp_socket_posix.cc
-@@ -100,6 +100,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) {
+@@ -99,6 +99,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/chromium/files/patch-net_socket_udp__socket__posix.cc b/www/chromium/files/patch-net_socket_udp__socket__posix.cc
index 2f509c62c21e..6012903b284f 100644
--- a/www/chromium/files/patch-net_socket_udp__socket__posix.cc
+++ b/www/chromium/files/patch-net_socket_udp__socket__posix.cc
@@ -1,6 +1,16 @@
---- net/socket/udp_socket_posix.cc.orig 2022-07-22 17:30:31 UTC
+--- net/socket/udp_socket_posix.cc.orig 2025-07-02 06:08:04 UTC
+++ net/socket/udp_socket_posix.cc
-@@ -563,7 +563,7 @@ int UDPSocketPosix::SetDoNotFragment() {
+@@ -524,12 +524,17 @@ int UDPSocketPosix::SetRecvTos() {
+ #endif // BUILDFLAG(IS_APPLE)
+ }
+
++#ifdef IP_RECVTOS
+ int rv = setsockopt(socket_, IPPROTO_IP, IP_RECVTOS, &ecn, sizeof(ecn));
++#else
++ int rv = -1;
++ errno = EOPNOTSUPP;
++#endif
+ return rv == 0 ? OK : MapSystemError(errno);
}
void UDPSocketPosix::SetMsgConfirm(bool confirm) {
@@ -9,7 +19,7 @@
if (confirm) {
sendto_flags_ |= MSG_CONFIRM;
} else {
-@@ -584,7 +584,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) {
+@@ -550,7 +555,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
int value = broadcast ? 1 : 0;
int rv;
@@ -18,8 +28,8 @@
// SO_REUSEPORT on OSX permits multiple processes to each receive
// UDP multicast or broadcast datagrams destined for the bound
// port.
-@@ -897,7 +897,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address)
- #if BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -894,7 +899,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address)
+ #if BUILDFLAG(IS_CHROMEOS)
if (last_error == EINVAL)
return ERR_ADDRESS_IN_USE;
-#elif BUILDFLAG(IS_APPLE)
diff --git a/www/chromium/files/patch-net_socket_udp__socket__unittest.cc b/www/chromium/files/patch-net_socket_udp__socket__unittest.cc
index 18d34e1a61cc..d5060d2e4ca8 100644
--- a/www/chromium/files/patch-net_socket_udp__socket__unittest.cc
+++ b/www/chromium/files/patch-net_socket_udp__socket__unittest.cc
@@ -1,6 +1,6 @@
---- net/socket/udp_socket_unittest.cc.orig 2022-05-19 14:06:27 UTC
+--- net/socket/udp_socket_unittest.cc.orig 2025-07-02 06:08:04 UTC
+++ net/socket/udp_socket_unittest.cc
-@@ -328,7 +328,7 @@ TEST_F(UDPSocketTest, PartialRecv) {
+@@ -397,7 +397,7 @@ TEST_F(UDPSocketTest, PartialRecv) {
EXPECT_EQ(second_packet, received);
}
@@ -9,39 +9,39 @@
// - MacOS: requires root permissions on OSX 10.7+.
// - Android: devices attached to testbots don't have default network, so
// broadcasting to 255.255.255.255 returns error -109 (Address not reachable).
-@@ -588,7 +588,7 @@ TEST_F(UDPSocketTest, ClientSetDoNotFragment) {
+@@ -708,7 +708,7 @@ TEST_F(UDPSocketTest, ClientSetDoNotFragment) {
EXPECT_THAT(rv, IsOk());
rv = client.SetDoNotFragment();
-#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- // TODO(crbug.com/945590): IP_MTU_DISCOVER is not implemented on Fuchsia.
+ // TODO(crbug.com/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia.
EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED));
- #elif BUILDFLAG(IS_MAC)
-@@ -616,7 +616,7 @@ TEST_F(UDPSocketTest, ServerSetDoNotFragment) {
+ #else
+@@ -730,7 +730,7 @@ TEST_F(UDPSocketTest, ServerSetDoNotFragment) {
EXPECT_THAT(rv, IsOk());
rv = server.SetDoNotFragment();
-#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- // TODO(crbug.com/945590): IP_MTU_DISCOVER is not implemented on Fuchsia.
+ // TODO(crbug.com/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia.
EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED));
- #elif BUILDFLAG(IS_MAC)
-@@ -681,7 +681,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) {
+ #else
+@@ -796,7 +796,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) {
- // TODO(https://crbug.com/947115): failing on device on iOS 12.2.
- // TODO(https://crbug.com/1227554): flaky on Mac 11.
+ // TODO(crbug.com/40620614): failing on device on iOS 12.2.
+ // TODO(crbug.com/40189274): flaky on Mac 11.
-#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#define MAYBE_SharedMulticastAddress DISABLED_SharedMulticastAddress
#else
#define MAYBE_SharedMulticastAddress SharedMulticastAddress
-@@ -735,7 +735,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) {
+@@ -850,7 +850,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) {
NetLogSource());
ASSERT_THAT(client_socket.Connect(send_address), IsOk());
--#if !BUILDFLAG(IS_CHROMEOS_ASH)
-+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_BSD)
+-#if !BUILDFLAG(IS_CHROMEOS)
++#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
// Send a message via the multicast group. That message is expected be be
// received by both receving sockets.
//
diff --git a/www/chromium/files/patch-net_third__party_quiche_BUILD.gn b/www/chromium/files/patch-net_third__party_quiche_BUILD.gn
index c9157ce422ee..544648c6bf39 100644
--- a/www/chromium/files/patch-net_third__party_quiche_BUILD.gn
+++ b/www/chromium/files/patch-net_third__party_quiche_BUILD.gn
@@ -1,6 +1,6 @@
---- net/third_party/quiche/BUILD.gn.orig 2022-06-17 14:20:10 UTC
+--- net/third_party/quiche/BUILD.gn.orig 2025-04-04 08:52:13 UTC
+++ net/third_party/quiche/BUILD.gn
-@@ -28,7 +28,7 @@ import("//build/config/chromeos/ui_mode.gni")
+@@ -28,7 +28,7 @@ import("//net/third_party/quiche/src/build/source_list
import("//testing/libfuzzer/fuzzer_test.gni")
import("//third_party/protobuf/proto_library.gni")
diff --git a/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__comparision__tool.cc b/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__comparision__tool.cc
deleted file mode 100644
index b2e1ec0c4090..000000000000
--- a/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__comparision__tool.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- net/tools/cert_verify_tool/cert_verify_comparision_tool.cc.orig 2022-06-17 14:20:10 UTC
-+++ net/tools/cert_verify_tool/cert_verify_comparision_tool.cc
-@@ -35,7 +35,7 @@
- #include "net/url_request/url_request_context_builder.h"
- #include "net/url_request/url_request_context_getter.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "net/proxy_resolution/proxy_config.h"
- #include "net/proxy_resolution/proxy_config_service_fixed.h"
- #endif
-@@ -55,7 +55,7 @@ void SetUpOnNetworkThread(
- base::WaitableEvent* initialization_complete_event) {
- net::URLRequestContextBuilder url_request_context_builder;
- url_request_context_builder.set_user_agent(GetUserAgent());
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // On Linux, use a fixed ProxyConfigService, since the default one
- // depends on glib.
- //
-@@ -127,7 +127,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 (impl_name == "platform") {
- return std::make_unique<CertVerifyImpl>(
- "CertVerifyProc (system)", net::CertVerifyProc::CreateSystemVerifyProc(
diff --git a/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
index 1c43c835029d..93cb0681e111 100644
--- a/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
+++ b/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
@@ -1,15 +1,15 @@
---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2022-06-17 14:20:10 UTC
+--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2025-05-28 14:55:43 UTC
+++ net/tools/cert_verify_tool/cert_verify_tool.cc
-@@ -30,7 +30,7 @@
- #include "net/url_request/url_request_context_builder.h"
- #include "net/url_request/url_request_context_getter.h"
+@@ -35,7 +35,7 @@
+ #include "third_party/boringssl/src/pki/trust_store.h"
+ #include "third_party/boringssl/src/pki/trust_store_collection.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "net/proxy_resolution/proxy_config.h"
#include "net/proxy_resolution/proxy_config_service_fixed.h"
#endif
-@@ -60,7 +60,7 @@ void SetUpOnNetworkThread(
+@@ -67,7 +67,7 @@ void SetUpOnNetworkThread(
base::WaitableEvent* initialization_complete_event) {
net::URLRequestContextBuilder url_request_context_builder;
url_request_context_builder.set_user_agent(GetUserAgent());
@@ -18,21 +18,3 @@
// On Linux, use a fixed ProxyConfigService, since the default one
// depends on glib.
//
-@@ -217,7 +217,7 @@ std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFr
- base::StringPiece impl_name,
- scoped_refptr<net::CertNetFetcher> cert_net_fetcher,
- RootStoreType root_store_type) {
--#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
-+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
- if (impl_name == "platform") {
- if (root_store_type != RootStoreType::kSystem) {
- std::cerr << "WARNING: platform verifier not supported with "
-@@ -474,7 +474,7 @@ int main(int argc, char** argv) {
- std::string impls_str = command_line.GetSwitchValueASCII("impls");
- if (impls_str.empty()) {
- // Default value.
--#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
-+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
- impls_str = "platform,";
- #endif
- impls_str += "builtin,pathbuilder";
diff --git a/www/chromium/files/patch-net_tools_net__watcher_net__watcher.cc b/www/chromium/files/patch-net_tools_net__watcher_net__watcher.cc
new file mode 100644
index 000000000000..c4213618f0bb
--- /dev/null
+++ b/www/chromium/files/patch-net_tools_net__watcher_net__watcher.cc
@@ -0,0 +1,38 @@
+--- net/tools/net_watcher/net_watcher.cc.orig 2025-04-04 08:52:13 UTC
++++ net/tools/net_watcher/net_watcher.cc
+@@ -31,7 +31,7 @@
+ #include "net/proxy_resolution/proxy_config_service.h"
+ #include "net/proxy_resolution/proxy_config_with_annotation.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "net/base/network_change_notifier_linux.h"
+ #endif
+
+@@ -41,7 +41,7 @@
+
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Flag to specifies which network interfaces to ignore. Interfaces should
+ // follow as a comma seperated list.
+ const char kIgnoreNetifFlag[] = "ignore-netif";
+@@ -143,7 +143,7 @@ class NetWatcher :
+ } // namespace
+
+ int main(int argc, char* argv[]) {
+-#if BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::apple::ScopedNSAutoreleasePool pool;
+ #endif
+ base::AtExitManager exit_manager;
+@@ -160,7 +160,7 @@ int main(int argc, char* argv[]) {
+
+ NetWatcher net_watcher;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ std::string ignored_netifs_str =
+ command_line->GetSwitchValueASCII(kIgnoreNetifFlag);
diff --git a/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h b/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h
index fe7296201230..e57db9a0b9de 100644
--- a/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h
+++ b/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h
@@ -1,6 +1,6 @@
---- net/traffic_annotation/network_traffic_annotation.h.orig 2022-02-28 16:54:41 UTC
+--- net/traffic_annotation/network_traffic_annotation.h.orig 2025-04-04 08:52:13 UTC
+++ net/traffic_annotation/network_traffic_annotation.h
-@@ -371,7 +371,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
+@@ -374,7 +374,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
} // namespace net
// Placeholder for unannotated usages.
@@ -10,11 +10,11 @@
net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.")
#endif
@@ -385,7 +385,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if !BUILDFLAG(IS_WIN) && \
-- !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
+ //
+ // On Linux and Windows, use MISSING_TRAFFIC_ANNOTATION or
+ // TRAFFIC_ANNOTATION_FOR_TESTS.
+-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
#define NO_TRAFFIC_ANNOTATION_YET \
net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.")
diff --git a/www/chromium/files/patch-net_url__request_url__fetcher.cc b/www/chromium/files/patch-net_url__request_url__fetcher.cc
deleted file mode 100644
index 46b8f7eed7de..000000000000
--- a/www/chromium/files/patch-net_url__request_url__fetcher.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_fetcher.cc.orig 2022-02-28 16:54:41 UTC
-+++ net/url_request/url_fetcher.cc
-@@ -26,7 +26,7 @@ void URLFetcher::SetIgnoreCertificateRequests(bool ign
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if !BUILDFLAG(IS_WIN) && \
-- !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- // static
- std::unique_ptr<URLFetcher> URLFetcher::Create(
- const GURL& url,
diff --git a/www/chromium/files/patch-net_url__request_url__fetcher.h b/www/chromium/files/patch-net_url__request_url__fetcher.h
deleted file mode 100644
index 2e9466c0dd77..000000000000
--- a/www/chromium/files/patch-net_url__request_url__fetcher.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_fetcher.h.orig 2022-03-25 21:59:56 UTC
-+++ net/url_request/url_fetcher.h
-@@ -344,7 +344,7 @@ class NET_EXPORT URLFetcher {
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if (!BUILDFLAG(IS_WIN) && \
-- !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))) || \
-+ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))) || \
- BUILDFLAG(IS_CHROMEOS)
- // |url| is the URL to send the request to. It must be valid.
- // |request_type| is the type of request to make.
diff --git a/www/chromium/files/patch-net_url__request_url__request__context.cc b/www/chromium/files/patch-net_url__request_url__request__context.cc
index c7b6e09b3421..8b766328ce81 100644
--- a/www/chromium/files/patch-net_url__request_url__request__context.cc
+++ b/www/chromium/files/patch-net_url__request_url__request__context.cc
@@ -1,11 +1,11 @@
---- net/url_request/url_request_context.cc.orig 2022-07-22 17:30:31 UTC
+--- net/url_request/url_request_context.cc.orig 2025-04-04 08:52:13 UTC
+++ net/url_request/url_request_context.cc
-@@ -64,7 +64,7 @@ const HttpNetworkSessionContext* URLRequestContext::Ge
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if !BUILDFLAG(IS_WIN) && \
-- !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
+@@ -119,7 +119,7 @@ const HttpNetworkSessionContext* URLRequestContext::Ge
+ return &network_session->context();
+ }
+
+-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
std::unique_ptr<URLRequest> URLRequestContext::CreateRequest(
const GURL& url,
RequestPriority priority,
diff --git a/www/chromium/files/patch-net_url__request_url__request__context.h b/www/chromium/files/patch-net_url__request_url__request__context.h
index be2003e4e649..f5ba7d8a8aff 100644
--- a/www/chromium/files/patch-net_url__request_url__request__context.h
+++ b/www/chromium/files/patch-net_url__request_url__request__context.h
@@ -1,11 +1,11 @@
---- net/url_request/url_request_context.h.orig 2022-05-19 14:06:27 UTC
+--- net/url_request/url_request_context.h.orig 2025-04-04 08:52:13 UTC
+++ net/url_request/url_request_context.h
-@@ -89,7 +89,7 @@ class NET_EXPORT URLRequestContext {
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if !BUILDFLAG(IS_WIN) && \
-- !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
+@@ -86,7 +86,7 @@ class NET_EXPORT URLRequestContext final {
+ // session.
+ const HttpNetworkSessionContext* GetNetworkSessionContext() const;
+
+-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
// This function should not be used in Chromium, please use the version with
// NetworkTrafficAnnotationTag in the future.
//
diff --git a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc
index eee552e5fb3e..6de33a948c95 100644
--- a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc
+++ b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc
@@ -1,11 +1,11 @@
---- net/url_request/url_request_context_builder.cc.orig 2022-07-22 17:30:31 UTC
+--- net/url_request/url_request_context_builder.cc.orig 2025-05-28 14:55:43 UTC
+++ net/url_request/url_request_context_builder.cc
-@@ -500,7 +500,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
+@@ -444,7 +444,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
}
if (!proxy_resolution_service_) {
-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD)
// TODO(willchan): Switch to using this code when
- // ConfiguredProxyResolutionService::CreateSystemProxyConfigService()'s
+ // ProxyConfigService::CreateSystemProxyConfigService()'s
// signature doesn't suck.
diff --git a/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc b/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc
new file mode 100644
index 000000000000..8f679f5a81e5
--- /dev/null
+++ b/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc
@@ -0,0 +1,15 @@
+--- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2025-04-04 08:52:13 UTC
++++ net/websockets/websocket_basic_stream_adapters_test.cc
+@@ -1098,10 +1098,10 @@ TEST_F(WebSocketSpdyStreamAdapterTest,
+ OnCloseOkShouldBeTranslatedToConnectionClose) {
+ spdy::SpdySerializedFrame response_headers(
+ spdy_util_.ConstructSpdyResponseHeaders(1, ResponseHeaders(), false));
+- spdy::SpdySerializedFrame close(
++ spdy::SpdySerializedFrame test_close(
+ spdy_util_.ConstructSpdyRstStream(1, spdy::ERROR_CODE_NO_ERROR));
+ MockRead reads[] = {CreateMockRead(response_headers, 1),
+- CreateMockRead(close, 2), MockRead(ASYNC, 0, 3)};
++ CreateMockRead(test_close, 2), MockRead(ASYNC, 0, 3)};
+ spdy::SpdySerializedFrame request_headers(spdy_util_.ConstructSpdyHeaders(
+ 1, RequestHeaders(), DEFAULT_PRIORITY, false));
+ MockWrite writes[] = {CreateMockWrite(request_headers, 0)};
diff --git a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc
index 3e69490c010e..7393e23f0c6e 100644
--- a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc
+++ b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc
@@ -1,7 +1,7 @@
---- pdf/pdfium/pdfium_engine.cc.orig 2022-04-21 18:48:31 UTC
+--- pdf/pdfium/pdfium_engine.cc.orig 2025-07-02 06:08:04 UTC
+++ pdf/pdfium/pdfium_engine.cc
-@@ -82,7 +82,7 @@
- #include "gin/public/cppgc.h"
+@@ -113,7 +113,7 @@
+ #include "ui/accessibility/ax_features.mojom-features.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -9,7 +9,7 @@
#include "pdf/pdfium/pdfium_font_linux.h"
#endif
-@@ -517,7 +517,7 @@ void InitializeSDK(bool enable_v8, FontMappingMode fon
+@@ -569,7 +569,7 @@ void InitializeSDK(bool enable_v8,
FPDF_InitLibraryWithConfig(&config);
diff --git a/www/chromium/files/patch-printing_backend_cups__ipp__helper.cc b/www/chromium/files/patch-printing_backend_cups__ipp__helper.cc
new file mode 100644
index 000000000000..4edbe9b43b0c
--- /dev/null
+++ b/www/chromium/files/patch-printing_backend_cups__ipp__helper.cc
@@ -0,0 +1,11 @@
+--- printing/backend/cups_ipp_helper.cc.orig 2025-07-02 06:08:04 UTC
++++ printing/backend/cups_ipp_helper.cc
+@@ -202,7 +202,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);
+-#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/chromium/files/patch-printing_backend_print__backend__cups.cc b/www/chromium/files/patch-printing_backend_print__backend__cups.cc
new file mode 100644
index 000000000000..677125631cfa
--- /dev/null
+++ b/www/chromium/files/patch-printing_backend_print__backend__cups.cc
@@ -0,0 +1,29 @@
+--- printing/backend/print_backend_cups.cc.orig 2025-04-04 08:52:13 UTC
++++ printing/backend/print_backend_cups.cc
+@@ -29,7 +29,7 @@
+ #include "printing/mojom/print.mojom.h"
+ #include "url/gurl.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #include "base/feature_list.h"
+ #include "printing/backend/cups_connection.h"
+ #include "printing/backend/print_backend_cups_ipp.h"
+@@ -59,7 +59,7 @@ int CaptureCupsDestCallback(void* data, unsigned flags
+ return 1; // Keep going.
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ // This may be removed when Amazon Linux 2 reaches EOL (30 Jun 2025).
+ bool AreNewerCupsFunctionsAvailable() {
+ return cupsFindDestDefault && cupsFindDestSupported && cupsUserAgent &&
+@@ -286,7 +286,7 @@ bool PrintBackendCUPS::IsValidPrinter(const std::strin
+ #if !BUILDFLAG(IS_CHROMEOS)
+ scoped_refptr<PrintBackend> PrintBackend::CreateInstanceImpl(
+ const std::string& locale) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ if (AreNewerCupsFunctionsAvailable() &&
+ base::FeatureList::IsEnabled(features::kCupsIppPrintingBackend)) {
+ return base::MakeRefCounted<PrintBackendCupsIpp>(CupsConnection::Create());
diff --git a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc
index 3d0ff023647c..38059b76e472 100644
--- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc
+++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc
@@ -1,15 +1,15 @@
---- printing/mojom/printing_context_mojom_traits.cc.orig 2022-06-17 14:20:10 UTC
+--- printing/mojom/printing_context_mojom_traits.cc.orig 2025-05-28 14:55:43 UTC
+++ printing/mojom/printing_context_mojom_traits.cc
-@@ -15,7 +15,7 @@
- #include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"
- #include "ui/gfx/geometry/size.h"
+@@ -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
-@@ -147,7 +147,7 @@ bool StructTraits<
+@@ -162,7 +162,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<
+ if (system_print_dialog_data.size() != dictionary_entries) {
+ return false;
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // The dictionary must contain three strings.
+ const base::Value* value = system_print_dialog_data.Find(
+ printing::kLinuxSystemPrintDialogDataPrinter);
diff --git a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h
index 5e565acae23a..833201017e95 100644
--- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h
+++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h
@@ -1,6 +1,6 @@
---- printing/mojom/printing_context_mojom_traits.h.orig 2022-06-17 14:20:10 UTC
+--- printing/mojom/printing_context_mojom_traits.h.orig 2023-10-11 18:22:24 UTC
+++ 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/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc
new file mode 100644
index 000000000000..30b28cd77325
--- /dev/null
+++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc
@@ -0,0 +1,65 @@
+--- printing/mojom/printing_context_mojom_traits_unittest.cc.orig 2025-05-28 14:55:43 UTC
++++ printing/mojom/printing_context_mojom_traits_unittest.cc
+@@ -79,7 +79,7 @@ base::Value::Dict GenerateSampleSystemPrintDialogData(
+ data.Set(kMacSystemPrintDialogDataDestinationLocation, "/foo/bar.pdf");
+ }
+
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ data.Set(kLinuxSystemPrintDialogDataPrinter, "printer-name");
+ data.Set(kLinuxSystemPrintDialogDataPrintSettings, "print-settings-foo");
+ data.Set(kLinuxSystemPrintDialogDataPageSetup, "page-setup-bar");
+@@ -116,7 +116,7 @@ const PageMargins kPrintSettingsCustomMarginsInMicrons
+ /*top=*/10583,
+ /*bottom=*/12347);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ PrintSettings::AdvancedSettings GenerateSampleAdvancedSettings() {
+ PrintSettings::AdvancedSettings advanced_settings;
+ advanced_settings.emplace("advanced-setting-A", base::Value("setting-A"));
+@@ -209,7 +209,7 @@ PrintSettings GenerateSamplePrintSettingsCommon() {
+ settings.set_device_name(kPrintSettingsDeviceName);
+ settings.set_requested_media(kPrintSettingsRequestedMedia);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ PrintSettings::AdvancedSettings& advanced_settings =
+ settings.advanced_settings();
+ for (const auto& item : kPrintSettingsAdvancedSettings)
+@@ -547,7 +547,7 @@ TEST(PrintingContextMojomTraitsTest,
+
+ EXPECT_EQ(output.pages_per_sheet(), kPrintSettingsPagesPerSheet1);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ EXPECT_EQ(output.advanced_settings(), kPrintSettingsAdvancedSettings);
+ #endif
+
+@@ -600,7 +600,7 @@ TEST(PrintingContextMojomTraitsTest,
+ kPrintSettingsCustomMarginsInMicrons));
+ EXPECT_EQ(output.pages_per_sheet(), kPrintSettingsPagesPerSheet2);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ EXPECT_EQ(output.advanced_settings(), kPrintSettingsAdvancedSettings);
+ #endif
+
+@@ -639,7 +639,7 @@ TEST(PrintingContextMojomTraitsTest,
+ EXPECT_EQ(output.page_setup_device_units(), kInput.page_setup_device_units());
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ TEST(PrintingContextMojomTraitsTest,
+ TestSerializeAndDeserializePrintSettingsEmptyAdvancedSettings) {
+ PrintSettings input = GenerateSamplePrintSettingsDefaultMargins();
+@@ -837,7 +837,7 @@ TEST(
+ }
+ #endif // BUILDFLAG(IS_MAC)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ TEST(
+ PrintingContextMojomTraitsTest,
+ TestSerializeAndDeserializePrintSettingsSystemPrintDialogPrinterInvalidDataType) {
diff --git a/www/chromium/files/patch-printing_print__settings.cc b/www/chromium/files/patch-printing_print__settings.cc
index c79bd7ac21e6..5b052328c1bd 100644
--- a/www/chromium/files/patch-printing_print__settings.cc
+++ b/www/chromium/files/patch-printing_print__settings.cc
@@ -1,6 +1,6 @@
---- printing/print_settings.cc.orig 2022-05-19 14:06:27 UTC
+--- printing/print_settings.cc.orig 2025-05-28 14:55:43 UTC
+++ printing/print_settings.cc
-@@ -272,7 +272,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet
+@@ -319,7 +319,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)
-@@ -312,7 +312,7 @@ void PrintSettings::Clear() {
+@@ -349,7 +349,7 @@ bool PrintSettings::operator==(const PrintSettings& ot
+ #endif
+ is_modifiable_, requested_custom_margins_in_microns_,
+ pages_per_sheet_
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ ,
+ advanced_settings_
+ #endif
+@@ -373,7 +373,7 @@ bool PrintSettings::operator==(const PrintSettings& ot
+ other.is_modifiable_,
+ other.requested_custom_margins_in_microns_,
+ 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
+@@ -413,7 +413,7 @@ void PrintSettings::Clear() {
#endif
is_modifiable_ = true;
pages_per_sheet_ = 1;
diff --git a/www/chromium/files/patch-printing_print__settings.h b/www/chromium/files/patch-printing_print__settings.h
index 2b49fc4fb602..532a1c289baf 100644
--- a/www/chromium/files/patch-printing_print__settings.h
+++ b/www/chromium/files/patch-printing_print__settings.h
@@ -1,16 +1,25 @@
---- printing/print_settings.h.orig 2022-02-28 16:54:41 UTC
+--- printing/print_settings.h.orig 2025-07-02 06:08:04 UTC
+++ printing/print_settings.h
-@@ -18,7 +18,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"
-@@ -66,7 +66,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_SETTINGS) PrintSetting
+ std::string vendor_id;
};
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -18,7 +27,7 @@
using AdvancedSettings = std::map<std::string, base::Value>;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -221,7 +221,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -276,7 +276,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting
pages_per_sheet_ = pages_per_sheet;
}
@@ -27,7 +36,7 @@
AdvancedSettings& advanced_settings() { return advanced_settings_; }
const AdvancedSettings& advanced_settings() const {
return advanced_settings_;
-@@ -322,7 +322,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -437,7 +437,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting
// Number of pages per sheet.
int pages_per_sheet_;
diff --git a/www/chromium/files/patch-printing_print__settings__conversion.cc b/www/chromium/files/patch-printing_print__settings__conversion.cc
index d9a7f028fbc1..92e3cdb9976c 100644
--- a/www/chromium/files/patch-printing_print__settings__conversion.cc
+++ b/www/chromium/files/patch-printing_print__settings__conversion.cc
@@ -1,11 +1,11 @@
---- printing/print_settings_conversion.cc.orig 2022-05-19 14:06:27 UTC
+--- printing/print_settings_conversion.cc.orig 2025-05-28 14:55:43 UTC
+++ printing/print_settings_conversion.cc
-@@ -215,7 +215,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
+@@ -291,7 +291,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
settings->set_is_modifiable(is_modifiable.value());
}
--#if BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && defined(USE_CUPS))
-+#if BUILDFLAG(IS_CHROMEOS) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_CUPS))
+-#if BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS))
++#if BUILDFLAG(IS_CHROMEOS) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS))
const base::Value::Dict* advanced_settings =
job_settings.FindDict(kSettingAdvancedSettings);
if (advanced_settings) {
diff --git a/www/chromium/files/patch-printing_printing__context__linux.cc b/www/chromium/files/patch-printing_printing__context__linux.cc
new file mode 100644
index 000000000000..2cf9be972aea
--- /dev/null
+++ b/www/chromium/files/patch-printing_printing__context__linux.cc
@@ -0,0 +1,38 @@
+--- printing/printing_context_linux.cc.orig 2025-05-28 14:55:43 UTC
++++ printing/printing_context_linux.cc
+@@ -23,7 +23,7 @@
+ #endif
+
+ // Avoid using LinuxUi on Fuchsia.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #endif
+
+@@ -69,7 +69,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett
+
+ ResetSettings();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!ui::LinuxUi::instance())
+ return mojom::ResultCode::kSuccess;
+
+@@ -85,7 +85,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett
+ }
+
+ gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (ui::LinuxUi::instance())
+ return ui::LinuxUi::instance()->GetPdfPaperSize(this);
+ #endif
+@@ -98,7 +98,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS
+ DCHECK(!printer_settings.show_system_dialog);
+ DCHECK(!in_print_job_);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!ui::LinuxUi::instance())
+ return mojom::ResultCode::kSuccess;
+
diff --git a/www/chromium/files/patch-printing_printing__features.cc b/www/chromium/files/patch-printing_printing__features.cc
new file mode 100644
index 000000000000..82bbeb4661c8
--- /dev/null
+++ b/www/chromium/files/patch-printing_printing__features.cc
@@ -0,0 +1,26 @@
+--- printing/printing_features.cc.orig 2025-05-05 10:57:53 UTC
++++ printing/printing_features.cc
+@@ -26,12 +26,12 @@ BASE_FEATURE(kApiPrintingMarginsAndScale,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ // Use the CUPS IPP printing backend instead of the original CUPS backend that
+ // calls the deprecated PPD API.
+ BASE_FEATURE(kCupsIppPrintingBackend,
+ "CupsIppPrintingBackend",
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FEATURE_DISABLED_BY_DEFAULT
+ #else
+ base::FEATURE_ENABLED_BY_DEFAULT
+@@ -81,7 +81,7 @@ BASE_FEATURE(kUseXpsForPrintingFromPdf,
+ // out-of-process.
+ BASE_FEATURE(kEnableOopPrintDrivers,
+ "EnableOopPrintDrivers",
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-printing_printing__features.h b/www/chromium/files/patch-printing_printing__features.h
new file mode 100644
index 000000000000..e4d23f9607ce
--- /dev/null
+++ b/www/chromium/files/patch-printing_printing__features.h
@@ -0,0 +1,11 @@
+--- printing/printing_features.h.orig 2025-05-05 10:57:53 UTC
++++ printing/printing_features.h
+@@ -24,7 +24,7 @@ COMPONENT_EXPORT(PRINTING_BASE)
+ BASE_DECLARE_FEATURE(kApiPrintingMarginsAndScale);
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(PRINTING_BASE) BASE_DECLARE_FEATURE(kCupsIppPrintingBackend);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+
diff --git a/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc
index db949c62110d..051ceb9e0751 100644
--- a/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc
+++ b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc
@@ -1,20 +1,19 @@
---- printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2022-02-28 16:54:41 UTC
+--- printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2024-04-19 13:02:56 UTC
+++ printing/sandbox/print_backend_sandbox_hook_linux.cc
-@@ -9,21 +9,28 @@
- #include "base/files/file_util.h"
+@@ -10,20 +10,27 @@
#include "base/path_service.h"
#include "build/build_config.h"
+ #include "printing/buildflags/buildflags.h"
+#if !BUILDFLAG(IS_BSD)
#include "sandbox/linux/syscall_broker/broker_command.h"
#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) && defined(USE_CUPS)
+ #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CUPS)
#include "printing/backend/cups_connection_pool.h"
#endif
@@ -29,7 +28,7 @@
namespace {
sandbox::syscall_broker::BrokerCommandSet GetPrintBackendBrokerCommandSet() {
-@@ -84,9 +91,11 @@ std::vector<BrokerFilePermission> GetPrintBackendFileP
+@@ -76,9 +83,11 @@ std::vector<BrokerFilePermission> GetPrintBackendFileP
}
} // namespace
@@ -38,11 +37,11 @@
bool PrintBackendPreSandboxHook(
sandbox::policy::SandboxLinux::Options options) {
+#if !BUILDFLAG(IS_BSD)
- #if BUILDFLAG(IS_CHROMEOS) && defined(USE_CUPS)
+ #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.
-@@ -100,6 +109,7 @@ bool PrintBackendPreSandboxHook(
- sandbox::policy::SandboxLinux::PreSandboxHook(), options);
+@@ -91,6 +100,7 @@ bool PrintBackendPreSandboxHook(
+ GetPrintBackendFilePermissions(), options);
instance->EngageNamespaceSandboxIfPossible();
+#endif
diff --git a/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h
index 4e1d839b12d3..e65f35524518 100644
--- a/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h
+++ b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h
@@ -1,4 +1,4 @@
---- printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
+--- printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2023-09-13 12:11:42 UTC
+++ 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/chromium/files/patch-remoting_base_chromoting__event.cc b/www/chromium/files/patch-remoting_base_chromoting__event.cc
index 49d5b00dda5d..0226e6c52ce4 100644
--- a/www/chromium/files/patch-remoting_base_chromoting__event.cc
+++ b/www/chromium/files/patch-remoting_base_chromoting__event.cc
@@ -1,11 +1,11 @@
---- remoting/base/chromoting_event.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/base/chromoting_event.cc.orig 2025-03-05 08:14:56 UTC
+++ remoting/base/chromoting_event.cc
-@@ -190,7 +190,7 @@ void ChromotingEvent::AddSystemInfo() {
+@@ -191,7 +191,7 @@ void ChromotingEvent::AddSystemInfo() {
SetString(kCpuKey, base::SysInfo::OperatingSystemArchitecture());
SetString(kOsVersionKey, base::SysInfo::OperatingSystemVersion());
SetString(kWebAppVersionKey, STRINGIZE(VERSION));
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
Os os = Os::CHROMOTING_LINUX;
- #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ #elif BUILDFLAG(IS_CHROMEOS)
Os os = Os::CHROMOTING_CHROMEOS;
diff --git a/www/chromium/files/patch-remoting_base_constants.h b/www/chromium/files/patch-remoting_base_constants.h
new file mode 100644
index 000000000000..4b16d520152c
--- /dev/null
+++ b/www/chromium/files/patch-remoting_base_constants.h
@@ -0,0 +1,11 @@
+--- remoting/base/constants.h.orig 2025-05-28 14:55:43 UTC
++++ remoting/base/constants.h
+@@ -27,7 +27,7 @@ const int kDefaultDpi = 96;
+ // The video frame rate.
+ constexpr int kTargetFrameRate = 30;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ inline constexpr char kChromeRemoteDesktopSessionEnvVar[] =
+ "CHROME_REMOTE_DESKTOP_SESSION";
+ #endif
diff --git a/www/chromium/files/patch-remoting_client_display_sys__opengl.h b/www/chromium/files/patch-remoting_client_display_sys__opengl.h
deleted file mode 100644
index 78ba20a4ba8b..000000000000
--- a/www/chromium/files/patch-remoting_client_display_sys__opengl.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/client/display/sys_opengl.h.orig 2022-02-28 16:54:41 UTC
-+++ remoting/client/display/sys_opengl.h
-@@ -9,7 +9,7 @@
-
- #if BUILDFLAG(IS_IOS)
- #include <OpenGLES/ES3/gl.h>
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #define GL_GLEXT_PROTOTYPES
- #include <GL/gl.h>
- #include <GL/glext.h>
diff --git a/www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc b/www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc
index 33fed8324975..5e1aadb32e5a 100644
--- a/www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc
+++ b/www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc
@@ -1,11 +1,11 @@
---- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2022-07-22 17:30:31 UTC
+--- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2025-03-05 08:14:56 UTC
+++ remoting/codec/webrtc_video_encoder_vpx.cc
-@@ -86,7 +86,7 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config
+@@ -92,7 +92,7 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config
const webrtc::DesktopSize& size) {
SetCommonCodecParameters(config, size);
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// On Linux, using too many threads for VP8 encoding has been linked to high
// CPU usage on machines that are under stress. See http://crbug.com/1151148.
// 5/3/2022 update: Perf testing has shown that doubling the number of threads
diff --git a/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc b/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc
new file mode 100644
index 000000000000..cd7cc2ce8002
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc
@@ -0,0 +1,11 @@
+--- remoting/host/base/desktop_environment_options.cc.orig 2025-05-05 10:57:53 UTC
++++ remoting/host/base/desktop_environment_options.cc
+@@ -109,7 +109,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic
+ // TODO(joedow): Determine whether we can migrate additional platforms to
+ // using the DesktopCaptureWrapper instead of the DesktopCaptureProxy. Then
+ // clean up DesktopCapturerProxy::Core::CreateCapturer().
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return capture_video_on_dedicated_thread_;
+ #else
+ return false;
diff --git a/www/chromium/files/patch-remoting_host_base_switches.cc b/www/chromium/files/patch-remoting_host_base_switches.cc
index 5bdc44c55b98..ffa9da35bb24 100644
--- a/www/chromium/files/patch-remoting_host_base_switches.cc
+++ b/www/chromium/files/patch-remoting_host_base_switches.cc
@@ -1,4 +1,4 @@
---- remoting/host/base/switches.cc.orig 2022-04-21 18:48:31 UTC
+--- remoting/host/base/switches.cc.orig 2025-05-28 14:55:43 UTC
+++ remoting/host/base/switches.cc
@@ -23,13 +23,13 @@ const char kProcessTypeEvaluateCapability[] = "evaluat
const char kProcessTypeFileChooser[] = "file_chooser";
@@ -13,6 +13,6 @@
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- const char kEnableUtempter[] = "enable-utempter";
+ const char kEnableWtmpdb[] = "enable-wtmpdb";
#endif
diff --git a/www/chromium/files/patch-remoting_host_base_switches.h b/www/chromium/files/patch-remoting_host_base_switches.h
index 100a7d5df7ff..450a94abdc2e 100644
--- a/www/chromium/files/patch-remoting_host_base_switches.h
+++ b/www/chromium/files/patch-remoting_host_base_switches.h
@@ -1,4 +1,4 @@
---- remoting/host/base/switches.h.orig 2022-04-21 18:48:31 UTC
+--- remoting/host/base/switches.h.orig 2025-05-28 14:55:43 UTC
+++ remoting/host/base/switches.h
@@ -35,13 +35,13 @@ extern const char kProcessTypeRdpDesktopSession[];
extern const char kProcessTypeEvaluateCapability[];
@@ -13,6 +13,6 @@
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Used to record client sessions to utmp/wtmp.
- extern const char kEnableUtempter[];
+ // Used to record client sessions to wtmpd.
+ extern const char kEnableWtmpdb[];
#endif
diff --git a/www/chromium/files/patch-remoting_host_chromoting__host.cc b/www/chromium/files/patch-remoting_host_chromoting__host.cc
index b43ae9b89705..c25608fb6117 100644
--- a/www/chromium/files/patch-remoting_host_chromoting__host.cc
+++ b/www/chromium/files/patch-remoting_host_chromoting__host.cc
@@ -1,11 +1,11 @@
---- remoting/host/chromoting_host.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/chromoting_host.cc.orig 2025-07-02 06:08:04 UTC
+++ remoting/host/chromoting_host.cc
-@@ -124,7 +124,7 @@ void ChromotingHost::StartChromotingHostServices() {
+@@ -138,7 +138,7 @@ void ChromotingHost::Start(const std::string& host_own
+ &ChromotingHost::OnIncomingSession, base::Unretained(this)));
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void ChromotingHost::StartChromotingHostServices() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(!ipc_server_);
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- ipc_server_ = std::make_unique<MojoIpcServer<mojom::ChromotingHostServices>>(
- GetChromotingHostServicesServerName(), this);
- ipc_server_->StartServer();
diff --git a/www/chromium/files/patch-remoting_host_chromoting__host.h b/www/chromium/files/patch-remoting_host_chromoting__host.h
new file mode 100644
index 000000000000..0384066d46a6
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_chromoting__host.h
@@ -0,0 +1,29 @@
+--- remoting/host/chromoting_host.h.orig 2025-05-05 10:57:53 UTC
++++ remoting/host/chromoting_host.h
+@@ -36,7 +36,7 @@
+ #include "remoting/protocol/session_manager.h"
+ #include "remoting/protocol/transport_context.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/host/chromoting_host_services_server.h"
+ #endif
+
+@@ -112,7 +112,7 @@ class ChromotingHost : public ClientSession::EventHand
+ // This method can only be called once during the lifetime of this object.
+ void Start(const std::string& host_owner);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Starts running the ChromotingHostServices server and listening for incoming
+ // IPC binding requests.
+ // Currently only Linux runs the ChromotingHostServices server on the host
+@@ -222,7 +222,7 @@ class ChromotingHost : public ClientSession::EventHand
+ // List of host extensions.
+ std::vector<std::unique_ptr<HostExtension>> extensions_;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // IPC server that runs the CRD host service API. Non-null if the server name
+ // is set and the host is started.
+ // Currently only Linux runs the ChromotingHostServices server on the host
diff --git a/www/chromium/files/patch-remoting_host_chromoting__host__context.cc b/www/chromium/files/patch-remoting_host_chromoting__host__context.cc
index 9eb30d2cc011..debfaf62d6ce 100644
--- a/www/chromium/files/patch-remoting_host_chromoting__host__context.cc
+++ b/www/chromium/files/patch-remoting_host_chromoting__host__context.cc
@@ -1,6 +1,6 @@
---- remoting/host/chromoting_host_context.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/chromoting_host_context.cc.orig 2025-04-04 08:52:13 UTC
+++ remoting/host/chromoting_host_context.cc
-@@ -143,7 +143,7 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostC
+@@ -335,7 +335,7 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostC
// on a UI thread.
scoped_refptr<AutoThreadTaskRunner> input_task_runner =
AutoThread::CreateWithType("ChromotingInputThread", ui_task_runner,
diff --git a/www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc b/www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc
index 18c13a723b7c..f7f9101e2e32 100644
--- a/www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc
+++ b/www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc
@@ -1,15 +1,6 @@
---- remoting/host/chromoting_host_services_client.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/chromoting_host_services_client.cc.orig 2025-05-28 14:55:43 UTC
+++ remoting/host/chromoting_host_services_client.cc
-@@ -28,7 +28,7 @@ bool g_initialized = false;
-
- } // namespace
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
-
- // static
- constexpr char
-@@ -112,7 +112,7 @@ bool ChromotingHostServicesClient::EnsureSessionServic
+@@ -134,7 +134,7 @@ bool ChromotingHostServicesClient::EnsureSessionServic
if (session_services_remote_.is_bound()) {
return true;
}
diff --git a/www/chromium/files/patch-remoting_host_client__session.cc b/www/chromium/files/patch-remoting_host_client__session.cc
new file mode 100644
index 000000000000..39bc7665a847
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_client__session.cc
@@ -0,0 +1,11 @@
+--- remoting/host/client_session.cc.orig 2025-05-05 10:57:53 UTC
++++ remoting/host/client_session.cc
+@@ -188,7 +188,7 @@ void ClientSession::NotifyClientResolution(
+ if (effective_policies_.curtain_required.value_or(false)) {
+ dpi_vector.set(resolution.x_dpi(), resolution.y_dpi());
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ dpi_vector.set(resolution.x_dpi(), resolution.y_dpi());
+ #endif
+
diff --git a/www/chromium/files/patch-remoting_host_crash_crash__file__uploader.cc b/www/chromium/files/patch-remoting_host_crash_crash__file__uploader.cc
new file mode 100644
index 000000000000..fcbb2aea270b
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_crash_crash__file__uploader.cc
@@ -0,0 +1,11 @@
+--- remoting/host/crash/crash_file_uploader.cc.orig 2024-07-30 11:12:21 UTC
++++ remoting/host/crash/crash_file_uploader.cc
+@@ -44,7 +44,7 @@ constexpr char kMinidumpFileName[] = "dump";
+
+ #if BUILDFLAG(IS_WIN)
+ constexpr char kProductNameValue[] = "Chromoting";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr char kProductNameValue[] = "Chromoting_Linux";
+ #elif BUILDFLAG(IS_MAC)
+ constexpr char kProductNameValue[] = "Chromoting_Mac";
diff --git a/www/chromium/files/patch-remoting_host_evaluate__capability.cc b/www/chromium/files/patch-remoting_host_evaluate__capability.cc
index 336d7f574080..009a289e8925 100644
--- a/www/chromium/files/patch-remoting_host_evaluate__capability.cc
+++ b/www/chromium/files/patch-remoting_host_evaluate__capability.cc
@@ -1,6 +1,6 @@
---- remoting/host/evaluate_capability.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/evaluate_capability.cc.orig 2024-06-17 12:56:06 UTC
+++ remoting/host/evaluate_capability.cc
-@@ -55,7 +55,7 @@ base::FilePath BuildHostBinaryPath() {
+@@ -56,7 +56,7 @@ base::FilePath BuildHostBinaryPath() {
}
#endif
diff --git a/www/chromium/files/patch-remoting_host_heartbeat__sender.cc b/www/chromium/files/patch-remoting_host_heartbeat__sender.cc
deleted file mode 100644
index 4fe0d5bb8558..000000000000
--- a/www/chromium/files/patch-remoting_host_heartbeat__sender.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/host/heartbeat_sender.cc.orig 2022-02-28 16:54:41 UTC
-+++ remoting/host/heartbeat_sender.cc
-@@ -111,7 +111,7 @@ const net::BackoffEntry::Policy kBackoffPolicy = {
- std::string GetHostname() {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag
- // switch of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- return net::GetHostName();
- #elif BUILDFLAG(IS_WIN)
- wchar_t buffer[MAX_PATH] = {0};
diff --git a/www/chromium/files/patch-remoting_host_host__attributes.cc b/www/chromium/files/patch-remoting_host_host__attributes.cc
index 090fa5702b58..2212d6af890c 100644
--- a/www/chromium/files/patch-remoting_host_host__attributes.cc
+++ b/www/chromium/files/patch-remoting_host_host__attributes.cc
@@ -1,7 +1,7 @@
---- remoting/host/host_attributes.cc.orig 2022-04-21 18:48:31 UTC
+--- remoting/host/host_attributes.cc.orig 2025-05-05 10:57:53 UTC
+++ remoting/host/host_attributes.cc
-@@ -121,7 +121,7 @@ std::string GetHostAttributes() {
- media::InitializeMediaFoundation()) {
+@@ -103,7 +103,7 @@ std::string GetHostAttributes() {
+ if (media::InitializeMediaFoundation()) {
result.push_back("HWEncoder");
}
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-remoting_host_host__details.cc b/www/chromium/files/patch-remoting_host_host__details.cc
index 556c96a8d502..99a9be9bde18 100644
--- a/www/chromium/files/patch-remoting_host_host__details.cc
+++ b/www/chromium/files/patch-remoting_host_host__details.cc
@@ -1,11 +1,29 @@
---- remoting/host/host_details.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/host_details.cc.orig 2025-03-05 08:14:56 UTC
+++ remoting/host/host_details.cc
-@@ -23,7 +23,7 @@ std::string GetHostOperatingSystemName() {
+@@ -7,7 +7,7 @@
+ #include "base/system/sys_info.h"
+ #include "build/build_config.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/linux_util.h"
+ #endif
+
+@@ -22,7 +22,7 @@ std::string GetHostOperatingSystemName() {
return "Mac";
- #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ #elif BUILDFLAG(IS_CHROMEOS)
return "ChromeOS";
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return "Linux";
#elif BUILDFLAG(IS_ANDROID)
return "Android";
+@@ -34,7 +34,7 @@ std::string GetHostOperatingSystemName() {
+ // Get the host Operating System Version, removing the need to check for OS
+ // definitions and keeps the format used consistent.
+ std::string GetHostOperatingSystemVersion() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return base::GetLinuxDistro();
+ #else
+ return base::SysInfo::OperatingSystemVersion();
diff --git a/www/chromium/files/patch-remoting_host_host__main.cc b/www/chromium/files/patch-remoting_host_host__main.cc
index 48a9e32db0da..58d7d8acece5 100644
--- a/www/chromium/files/patch-remoting_host_host__main.cc
+++ b/www/chromium/files/patch-remoting_host_host__main.cc
@@ -1,6 +1,6 @@
---- remoting/host/host_main.cc.orig 2022-04-21 18:48:31 UTC
+--- remoting/host/host_main.cc.orig 2025-07-02 06:08:04 UTC
+++ remoting/host/host_main.cc
-@@ -50,7 +50,7 @@ int FileChooserMain();
+@@ -57,7 +57,7 @@ int FileChooserMain();
int RdpDesktopSessionMain();
int UrlForwarderConfiguratorMain();
#endif // BUILDFLAG(IS_WIN)
@@ -9,7 +9,7 @@
int XSessionChooserMain();
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -63,7 +63,7 @@ const char kUsageMessage[] =
+@@ -70,7 +70,7 @@ const char kUsageMessage[] =
"\n"
"Options:\n"
@@ -18,7 +18,7 @@
" --audio-pipe-name=<pipe> - Sets the pipe name to capture audio on "
"Linux.\n"
#endif // BUILDFLAG(IS_LINUX)
-@@ -155,7 +155,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
+@@ -163,7 +163,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
} else if (process_type == kProcessTypeUrlForwarderConfigurator) {
main_routine = &UrlForwarderConfiguratorMain;
#endif // BUILDFLAG(IS_WIN)
@@ -27,3 +27,12 @@
} else if (process_type == kProcessTypeXSessionChooser) {
main_routine = &XSessionChooserMain;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+@@ -231,7 +231,7 @@ int HostMain(int argc, char** argv) {
+ // Note that we enable crash reporting only if the user has opted in to having
+ // the crash reports uploaded.
+ if (IsUsageStatsAllowed()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ InitializeCrashpadReporting();
+ #elif BUILDFLAG(IS_WIN)
+ // TODO: joedow - Enable crash reporting for the RDP process.
diff --git a/www/chromium/files/patch-remoting_host_ipc__constants.cc b/www/chromium/files/patch-remoting_host_ipc__constants.cc
index 2a6bb3b88ddb..c36ecb328356 100644
--- a/www/chromium/files/patch-remoting_host_ipc__constants.cc
+++ b/www/chromium/files/patch-remoting_host_ipc__constants.cc
@@ -1,11 +1,20 @@
---- remoting/host/ipc_constants.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/ipc_constants.cc.orig 2024-11-14 07:57:23 UTC
+++ remoting/host/ipc_constants.cc
-@@ -16,7 +16,7 @@ namespace remoting {
+@@ -17,7 +17,7 @@ namespace remoting {
namespace {
--#if !defined(NDEBUG) && BUILDFLAG(IS_LINUX)
-+#if !defined(NDEBUG) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
- // Use a different IPC name for Linux debug builds so that we can run the host
- // directly from out/Debug without interfering with the production host that
- // might also be running.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ #if !defined(NDEBUG)
+ // Use a different IPC name for debug builds so that we can run the host
+@@ -81,7 +81,7 @@ GetChromotingHostServicesServerName() {
+ static const base::NoDestructor<mojo::NamedPlatformChannel::ServerName>
+ server_name(
+ named_mojo_ipc_server::WorkingDirectoryIndependentServerNameFromUTF8(
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Linux host creates the socket file in /tmp, and it won't be
+ // deleted until reboot, so we put username in the path in case
+ // the user switches the host owner.
diff --git a/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
index ccb0eb5f2f5d..a09216de154f 100644
--- a/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
+++ b/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
@@ -1,15 +1,24 @@
---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2022-06-17 14:20:10 UTC
+--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2025-07-02 06:08:04 UTC
+++ remoting/host/it2me/it2me_native_messaging_host_main.cc
-@@ -30,7 +30,7 @@
+@@ -29,7 +29,7 @@
#include "remoting/host/resources.h"
#include "remoting/host/usage_stats_consent.h"
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #if defined(REMOTING_USE_X11)
#include <gtk/gtk.h>
-
#include "base/linux_util.h"
-@@ -77,7 +77,7 @@ bool CurrentProcessHasUiAccess() {
+@@ -43,7 +43,7 @@
+ #include "remoting/host/mac/permission_utils.h"
+ #endif // BUILDFLAG(IS_APPLE)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/base/crash/crash_reporting_crashpad.h"
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -79,7 +79,7 @@ bool CurrentProcessHasUiAccess() {
// Creates a It2MeNativeMessagingHost instance, attaches it to stdin/stdout and
// runs the task executor until It2MeNativeMessagingHost signals shutdown.
int It2MeNativeMessagingHostMain(int argc, char** argv) {
@@ -18,7 +27,16 @@
// Initialize Xlib for multi-threaded use, allowing non-Chromium code to
// use X11 safely (such as the WebRTC capturer, GTK ...)
x11::InitXlib();
-@@ -123,7 +123,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+@@ -104,7 +104,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+ // needs to be initialized first, so that the preference for crash-reporting
+ // can be looked up in the config file.
+ if (IsUsageStatsAllowed()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ InitializeCrashpadReporting();
+ #elif BUILDFLAG(IS_WIN)
+ InitializeBreakpadReporting();
+@@ -129,7 +129,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
remoting::LoadResources("");
@@ -33,10 +51,10 @@
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
+ scoped_refptr<AutoThreadTaskRunner> input_task_runner;
// Create an X11EventSource on all UI threads, so the global X11 connection
// (x11::Connection::Get()) can dispatch X events.
- auto event_source =
-@@ -280,7 +280,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+@@ -281,7 +281,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
// Run the loop until channel is alive.
run_loop.Run();
diff --git a/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc
index 0ca314158c65..1be89b8b6748 100644
--- a/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc
+++ b/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc
@@ -1,6 +1,24 @@
---- remoting/host/me2me_desktop_environment.cc.orig 2022-05-19 14:06:27 UTC
+--- remoting/host/me2me_desktop_environment.cc.orig 2025-04-04 08:52:13 UTC
+++ remoting/host/me2me_desktop_environment.cc
-@@ -146,7 +146,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity(
+@@ -112,7 +112,7 @@ std::string Me2MeDesktopEnvironment::GetCapabilities()
+ capabilities += protocol::kRemoteWebAuthnCapability;
+ }
+
+-#if BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
+ capabilities += " ";
+ capabilities += protocol::kMultiStreamCapability;
+
+@@ -150,7 +150,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment(
+ // properly under Xvfb.
+ mutable_desktop_capture_options()->set_use_update_notifications(true);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Setting this option to false means that the capture differ wrapper will not
+ // be used when the X11 capturer is selected. This reduces the X11 capture
+ // time by a few milliseconds per frame and is safe because we can rely on
+@@ -178,7 +178,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity(
// Otherwise, if the session is shared with the local user start monitoring
// the local input and create the in-session UI.
diff --git a/www/chromium/files/patch-remoting_host_mojo__caller__security__checker.cc b/www/chromium/files/patch-remoting_host_mojo__caller__security__checker.cc
new file mode 100644
index 000000000000..c6ec262e4f71
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_mojo__caller__security__checker.cc
@@ -0,0 +1,29 @@
+--- remoting/host/mojo_caller_security_checker.cc.orig 2025-05-28 14:55:43 UTC
++++ remoting/host/mojo_caller_security_checker.cc
+@@ -32,7 +32,7 @@
+ namespace remoting {
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr auto kAllowedCallerProgramNames =
+ base::MakeFixedFlatSet<base::FilePath::StringViewType>({
+ "remote-open-url",
+@@ -60,7 +60,7 @@ bool IsTrustedMojoEndpoint(
+ const named_mojo_ipc_server::ConnectionInfo& caller) {
+ #if BUILDFLAG(IS_MAC)
+ return IsProcessTrusted(caller.audit_token, kAllowedIdentifiers);
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+
+ // TODO: yuweih - see if it's possible to move away from PID-based security
+ // checks, which might be susceptible of PID reuse attacks.
+@@ -84,7 +84,7 @@ bool IsTrustedMojoEndpoint(
+ base::FilePath::StringType program_name =
+ caller_process_image_path.BaseName().value();
+ if (!kAllowedCallerProgramNames.contains(program_name)) {
+-#if BUILDFLAG(IS_LINUX) && !defined(NDEBUG)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !defined(NDEBUG)
+ // Linux binaries generated in out/Debug are underscore-separated. To make
+ // debugging easier, we just check the name again with underscores replaced
+ // with hyphens.
diff --git a/www/chromium/files/patch-remoting_host_policy__watcher.cc b/www/chromium/files/patch-remoting_host_policy__watcher.cc
new file mode 100644
index 000000000000..a28e2243f3fc
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_policy__watcher.cc
@@ -0,0 +1,11 @@
+--- remoting/host/policy_watcher.cc.orig 2025-05-28 14:55:43 UTC
++++ remoting/host/policy_watcher.cc
+@@ -182,7 +182,7 @@ base::Value::Dict PolicyWatcher::GetDefaultPolicies()
+ result.Set(key::kRemoteAccessHostAllowEnterpriseFileTransfer, false);
+ result.Set(key::kClassManagementEnabled, "disabled");
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ result.Set(key::kRemoteAccessHostMatchUsername, false);
+ #endif
+ #if !BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__main.cc b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__main.cc
new file mode 100644
index 000000000000..f891d8f486cf
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__main.cc
@@ -0,0 +1,20 @@
+--- remoting/host/remote_open_url/remote_open_url_main.cc.orig 2025-07-02 06:08:04 UTC
++++ remoting/host/remote_open_url/remote_open_url_main.cc
+@@ -27,7 +27,7 @@
+ #include "remoting/host/usage_stats_consent.h"
+ #include "ui/base/l10n/l10n_util.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/base/crash/crash_reporting_crashpad.h"
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -51,7 +51,7 @@ int RemoteOpenUrlMain(int argc, char** argv) {
+
+ #if defined(REMOTING_ENABLE_CRASH_REPORTING)
+ if (IsUsageStatsAllowed()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ InitializeCrashpadReporting();
+ #elif BUILDFLAG(IS_WIN)
+ InitializeBreakpadReporting();
diff --git a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc
index 5847c1f1f77d..1cae8eda07e1 100644
--- a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc
+++ b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc
@@ -1,11 +1,11 @@
---- remoting/host/remote_open_url/remote_open_url_util.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/remote_open_url/remote_open_url_util.cc.orig 2023-04-05 11:05:06 UTC
+++ remoting/host/remote_open_url/remote_open_url_util.cc
-@@ -30,7 +30,7 @@ const wchar_t kRegisteredApplicationsKeyName[] =
- #endif // defined (OS_WIN)
+@@ -29,7 +29,7 @@ const wchar_t kRegisteredApplicationsKeyName[] =
+ #endif // BUILDFLAG(IS_WIN)
bool IsRemoteOpenUrlSupported() {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return true;
#elif BUILDFLAG(IS_WIN)
- // The modern default apps settings dialog is only available to Windows 8+.
+ // The MSI installs the ProgID and capabilities into registry, but not the
diff --git a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc
index 7ebdc841da3f..f5bc389e9c67 100644
--- a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc
+++ b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc
@@ -1,31 +1,33 @@
---- remoting/host/remoting_me2me_host.cc.orig 2022-06-17 14:20:10 UTC
+--- remoting/host/remoting_me2me_host.cc.orig 2025-07-02 06:08:04 UTC
+++ remoting/host/remoting_me2me_host.cc
-@@ -124,7 +124,7 @@
+@@ -139,7 +139,7 @@
#include "remoting/host/mac/permission_utils.h"
#endif // BUILDFLAG(IS_APPLE)
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #if defined(REMOTING_USE_X11)
#include <gtk/gtk.h>
- #include "ui/events/platform/x11/x11_event_source.h"
-@@ -132,13 +132,13 @@
- #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) &&
- // defined(REMOTING_USE_X11)
+@@ -149,7 +149,7 @@
+ #endif // defined(REMOTING_USE_X11)
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/linux_util.h"
- #include "remoting/host/audio_capturer_linux.h"
+ #include "remoting/host/linux/audio_capturer_linux.h"
#include "remoting/host/linux/certificate_watcher.h"
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+@@ -164,7 +164,7 @@
+ #include "remoting/host/pairing_registry_delegate_win.h"
+ #endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "remoting/host/host_utmp_logger.h"
- #endif
-
-@@ -176,7 +176,7 @@ const char kApplicationName[] = "chromoting";
+ #include "remoting/base/crash/crash_reporting_crashpad.h"
+ #include "remoting/host/host_wtmpdb_logger.h"
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -198,7 +198,7 @@ const char kApplicationName[] = "chromoting";
const char kStdinConfigPath[] = "-";
#endif // !defined(REMOTING_MULTI_PROCESS)
@@ -34,25 +36,25 @@
// The command line switch used to pass name of the pipe to capture audio on
// linux.
const char kAudioPipeSwitchName[] = "audio-pipe-name";
-@@ -381,7 +381,7 @@ class HostProcess : public ConfigWatcher::Delegate,
-
- std::unique_ptr<ChromotingHostContext> context_;
+@@ -447,7 +447,7 @@ class HostProcess : public ConfigWatcher::Delegate,
+ std::unique_ptr<AgentProcessBrokerClient> agent_process_broker_client_;
+ #endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Watch for certificate changes and kill the host when changes occur
std::unique_ptr<CertificateWatcher> cert_watcher_;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -447,7 +447,7 @@ class HostProcess : public ConfigWatcher::Delegate,
+@@ -512,7 +512,7 @@ class HostProcess : public ConfigWatcher::Delegate,
+ std::unique_ptr<FtlEchoMessageListener> ftl_echo_message_listener_;
- std::unique_ptr<HostStatusLogger> host_status_logger_;
std::unique_ptr<HostEventLogger> host_event_logger_;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- std::unique_ptr<HostUTMPLogger> host_utmp_logger_;
+ std::unique_ptr<HostWtmpdbLogger> host_wtmpdb_logger_;
#endif
std::unique_ptr<HostPowerSaveBlocker> power_save_blocker_;
-@@ -758,7 +758,7 @@ void HostProcess::StartOnNetworkThread() {
+@@ -839,7 +839,7 @@ void HostProcess::StartOnNetworkThread() {
void HostProcess::ShutdownOnNetworkThread() {
DCHECK(context_->network_task_runner()->BelongsToCurrentThread());
config_watcher_.reset();
@@ -61,16 +63,16 @@
cert_watcher_.reset();
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
}
-@@ -817,7 +817,7 @@ void HostProcess::CreateAuthenticatorFactory() {
- DCHECK(third_party_auth_config_.token_url.is_valid());
- DCHECK(third_party_auth_config_.token_validation_url.is_valid());
+@@ -916,7 +916,7 @@ void HostProcess::CreateAuthenticatorFactory() {
+ context_->create_client_cert_store_callback(),
+ service_account_email_, oauth_refresh_token_));
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (!cert_watcher_) {
cert_watcher_ = std::make_unique<CertificateWatcher>(
base::BindRepeating(&HostProcess::ShutdownHost,
-@@ -927,7 +927,7 @@ void HostProcess::StartOnUiThread() {
+@@ -1058,7 +1058,7 @@ void HostProcess::StartOnUiThread() {
base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)),
base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this)));
@@ -78,8 +80,8 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// If an audio pipe is specific on the command-line then initialize
// AudioCapturerLinux to capture from it.
- base::FilePath audio_pipe_name = base::CommandLine::ForCurrentProcess()->
-@@ -998,7 +998,7 @@ void HostProcess::ShutdownOnUiThread() {
+ base::FilePath audio_pipe_name =
+@@ -1137,7 +1137,7 @@ void HostProcess::ShutdownOnUiThread() {
// It is now safe for the HostProcess to be deleted.
self_ = nullptr;
@@ -88,7 +90,7 @@
// Cause the global AudioPipeReader to be freed, otherwise the audio
// thread will remain in-use and prevent the process from exiting.
// TODO(wez): DesktopEnvironmentFactory should own the pipe reader.
-@@ -1006,7 +1006,7 @@ void HostProcess::ShutdownOnUiThread() {
+@@ -1145,7 +1145,7 @@ void HostProcess::ShutdownOnUiThread() {
AudioCapturerLinux::InitializePipeReader(nullptr, base::FilePath());
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -97,25 +99,25 @@
context_->input_task_runner()->PostTask(
FROM_HERE,
base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); }));
-@@ -1711,7 +1711,7 @@ void HostProcess::StartHost() {
- // The feature is enabled for all Googlers using a supported platform.
- desktop_environment_options_.set_enable_remote_open_url(is_googler_);
+@@ -1928,7 +1928,7 @@ void HostProcess::StartHost() {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- desktop_environment_options_.set_enable_remote_webauthn(is_googler_);
- #endif
-
-@@ -1744,7 +1744,7 @@ void HostProcess::StartHost() {
- host_status_logger_ = std::make_unique<HostStatusLogger>(
- host_->status_monitor(), log_to_server_.get());
+ host_->AddExtension(std::make_unique<TestEchoExtension>());
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
- if (cmd_line->HasSwitch(kEnableUtempter))
- host_utmp_logger_ =
-@@ -1915,7 +1915,7 @@ int HostProcessMain() {
+ if (cmd_line->HasSwitch(kEnableWtmpdb)) {
+ host_wtmpdb_logger_ =
+@@ -1964,7 +1964,7 @@ void HostProcess::StartHost() {
+ // addresses.
+ host_->Start(*host_owner_emails_.begin());
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // For Windows and Mac, ChromotingHostServices connections are handled by
+ // another process, then the message pipe is forwarded to the network process.
+ host_->StartChromotingHostServices();
+@@ -2109,7 +2109,7 @@ int HostProcessMain() {
HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION);
const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
@@ -124,7 +126,16 @@
#if defined(REMOTING_USE_X11)
// Initialize Xlib for multi-threaded use, allowing non-Chromium code to
// use X11 safely (such as the WebRTC capturer, GTK ...)
-@@ -1961,7 +1961,7 @@ int HostProcessMain() {
+@@ -2154,7 +2154,7 @@ int HostProcessMain() {
+ return kInitializationFailed;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Log and cleanup the crash database. We do this after a short delay so that
+ // the crash database has a chance to be updated properly if we just got
+ // relaunched after a crash.
+@@ -2174,7 +2174,7 @@ int HostProcessMain() {
std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier(
net::NetworkChangeNotifier::CreateIfNeeded());
diff --git a/www/chromium/files/patch-remoting_host_security__key_remote__security__key__main.cc b/www/chromium/files/patch-remoting_host_security__key_remote__security__key__main.cc
new file mode 100644
index 000000000000..1722d9754624
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_security__key_remote__security__key__main.cc
@@ -0,0 +1,20 @@
+--- remoting/host/security_key/remote_security_key_main.cc.orig 2025-07-02 06:08:04 UTC
++++ remoting/host/security_key/remote_security_key_main.cc
+@@ -24,7 +24,7 @@
+ #include "remoting/host/security_key/security_key_message_handler.h"
+ #include "remoting/host/usage_stats_consent.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/base/crash/crash_reporting_crashpad.h"
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -96,7 +96,7 @@ int RemoteSecurityKeyMain(int argc, char** argv) {
+
+ #if defined(REMOTING_ENABLE_CRASH_REPORTING)
+ if (IsUsageStatsAllowed()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ InitializeCrashpadReporting();
+ #elif BUILDFLAG(IS_WIN)
+ InitializeBreakpadReporting();
diff --git a/www/chromium/files/patch-remoting_host_session__policies__from__dict.cc b/www/chromium/files/patch-remoting_host_session__policies__from__dict.cc
new file mode 100644
index 000000000000..37bdc2cbc5a3
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_session__policies__from__dict.cc
@@ -0,0 +1,11 @@
+--- remoting/host/session_policies_from_dict.cc.orig 2025-05-05 10:57:53 UTC
++++ remoting/host/session_policies_from_dict.cc
+@@ -75,7 +75,7 @@ std::optional<SessionPolicies> SessionPoliciesFromDict
+ session_policies.curtain_required =
+ dict.FindBool(policy::key::kRemoteAccessHostRequireCurtain);
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ session_policies.host_username_match_required =
+ dict.FindBool(policy::key::kRemoteAccessHostMatchUsername);
+ #endif
diff --git a/www/chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc b/www/chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc
new file mode 100644
index 000000000000..ce5e6c9829d5
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc
@@ -0,0 +1,20 @@
+--- remoting/host/setup/me2me_native_messaging_host_main.cc.orig 2025-07-02 06:08:04 UTC
++++ remoting/host/setup/me2me_native_messaging_host_main.cc
+@@ -41,7 +41,7 @@
+ #include "base/apple/scoped_nsautorelease_pool.h"
+ #endif // BUILDFLAG(IS_APPLE)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/base/crash/crash_reporting_crashpad.h"
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -99,7 +99,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv
+ // needs to be initialized first, so that the preference for crash-reporting
+ // can be looked up in the config file.
+ if (IsUsageStatsAllowed()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ InitializeCrashpadReporting();
+ #elif BUILDFLAG(IS_WIN)
+ InitializeBreakpadReporting();
diff --git a/www/chromium/files/patch-remoting_host_setup_start__host__main.cc b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc
index 36de6e32f65f..2ef68f477eaf 100644
--- a/www/chromium/files/patch-remoting_host_setup_start__host__main.cc
+++ b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc
@@ -1,15 +1,15 @@
---- remoting/host/setup/start_host_main.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/setup/start_host_main.cc.orig 2025-07-02 06:08:04 UTC
+++ remoting/host/setup/start_host_main.cc
-@@ -32,7 +32,7 @@
+@@ -44,7 +44,7 @@
#include <unistd.h>
#endif // BUILDFLAG(IS_POSIX)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/base/crash/crash_reporting_crashpad.h"
#include "remoting/host/setup/daemon_controller_delegate_linux.h"
#include "remoting/host/setup/start_host_as_root.h"
- #endif // BUILDFLAG(IS_LINUX)
-@@ -126,7 +126,7 @@ void OnDone(HostStarter::Result result) {
+@@ -370,7 +370,7 @@ bool InitializeCloudMachineParams(HostStarter::Params&
} // namespace
int StartHostMain(int argc, char** argv) {
@@ -18,12 +18,21 @@
// Minimize the amount of code that runs as root on Posix systems.
if (getuid() == 0) {
return remoting::StartHostAsRoot(argc, argv);
-@@ -163,7 +163,7 @@ int StartHostMain(int argc, char** argv) {
- // for the account which generated |code|.
- std::string host_owner = command_line->GetSwitchValueASCII("host-owner");
+@@ -395,7 +395,7 @@ int StartHostMain(int argc, char** argv) {
+
+ mojo::core::Init();
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (command_line->HasSwitch("no-start")) {
// On Linux, registering the host with systemd and starting it is the only
// reason start_host requires root. The --no-start options skips that final
+@@ -445,7 +445,7 @@ int StartHostMain(int argc, char** argv) {
+ // We don't have a config file yet so we can't use IsUsageStatsAllowed(),
+ // instead we can just check the command line parameter.
+ if (params.enable_crash_reporting) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ InitializeCrashpadReporting();
+ #elif BUILDFLAG(IS_WIN)
+ InitializeBreakpadReporting();
diff --git a/www/chromium/files/patch-remoting_host_webauthn_desktop__session__type__util.cc b/www/chromium/files/patch-remoting_host_webauthn_desktop__session__type__util.cc
new file mode 100644
index 000000000000..f344f53751c9
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_webauthn_desktop__session__type__util.cc
@@ -0,0 +1,20 @@
+--- remoting/host/webauthn/desktop_session_type_util.cc.orig 2025-05-28 14:55:43 UTC
++++ remoting/host/webauthn/desktop_session_type_util.cc
+@@ -11,7 +11,7 @@
+ namespace remoting {
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ DesktopSessionType GetDesktopSessionTypeInternal(
+ std::unique_ptr<base::Environment> environment) {
+ // Currently on Linux, a desktop session is either remote-only or local-only.
+@@ -29,7 +29,7 @@ DesktopSessionType GetDesktopSessionTypeInternal(
+ } // namespace
+
+ DesktopSessionType GetDesktopSessionType() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ static const DesktopSessionType desktop_session_type =
+ GetDesktopSessionTypeInternal(base::Environment::Create());
+ return desktop_session_type;
diff --git a/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc b/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc
index 95c3357b6bc0..b9da889b82e8 100644
--- a/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc
+++ b/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc
@@ -1,6 +1,6 @@
---- remoting/host/webauthn/remote_webauthn_caller_security_utils.cc.orig 2022-06-17 14:20:10 UTC
+--- remoting/host/webauthn/remote_webauthn_caller_security_utils.cc.orig 2025-05-28 14:55:43 UTC
+++ remoting/host/webauthn/remote_webauthn_caller_security_utils.cc
-@@ -9,7 +9,7 @@
+@@ -14,7 +14,7 @@
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
@@ -8,8 +8,8 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "base/containers/fixed_flat_set.h"
#include "base/files/file_path.h"
- #include "base/process/process_handle.h"
-@@ -37,7 +37,7 @@ namespace {
+ #include "remoting/host/base/process_util.h"
+@@ -48,7 +48,7 @@ namespace {
// No static variables needed for debug builds.
@@ -17,8 +17,8 @@
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
constexpr auto kAllowedCallerPrograms =
- base::MakeFixedFlatSet<base::FilePath::StringPieceType>({
-@@ -76,7 +76,7 @@ bool IsLaunchedByTrustedProcess() {
+ base::MakeFixedFlatSet<base::FilePath::StringViewType>({
+@@ -99,7 +99,7 @@ bool IsLaunchedByTrustedProcess() {
#if !defined(NDEBUG)
// Just return true on debug builds for the convenience of development.
return true;
@@ -26,4 +26,4 @@
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::ProcessId parent_pid =
base::GetParentProcessId(base::GetCurrentProcessHandle());
- base::FilePath parent_image_path = GetProcessImagePath(parent_pid);
+ // Note that on Linux the process image may no longer exist in its original
diff --git a/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc b/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc
index 58f274d57c36..bde200049f1f 100644
--- a/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc
+++ b/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc
@@ -1,7 +1,7 @@
---- remoting/host/webauthn/remote_webauthn_extension_notifier.cc.orig 2022-06-17 14:20:10 UTC
+--- remoting/host/webauthn/remote_webauthn_extension_notifier.cc.orig 2025-07-02 06:08:04 UTC
+++ remoting/host/webauthn/remote_webauthn_extension_notifier.cc
-@@ -23,7 +23,7 @@
- #include "base/threading/sequenced_task_runner_handle.h"
+@@ -27,7 +27,7 @@
+ #include "base/task/thread_pool.h"
#include "build/build_config.h"
-#if BUILDFLAG(IS_LINUX)
@@ -9,7 +9,7 @@
#include "base/environment.h"
#include "base/nix/xdg_util.h"
#include "base/strings/string_util.h"
-@@ -68,14 +68,14 @@ static constexpr char kExtensionWakeupFileContent[] =
+@@ -72,14 +72,14 @@ static constexpr char kExtensionWakeupFileContent[] =
// Caller should check if the directory exists before writing files to it. A
// directory only exists if the corresponding Chrome version is installed.
std::vector<base::FilePath> GetRemoteStateChangeDirPaths() {
diff --git a/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__main.cc b/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__main.cc
new file mode 100644
index 000000000000..df0429a6408a
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_webauthn_remote__webauthn__main.cc
@@ -0,0 +1,20 @@
+--- remoting/host/webauthn/remote_webauthn_main.cc.orig 2025-07-02 06:08:04 UTC
++++ remoting/host/webauthn/remote_webauthn_main.cc
+@@ -27,7 +27,7 @@
+ #include "remoting/host/webauthn/remote_webauthn_caller_security_utils.h"
+ #include "remoting/host/webauthn/remote_webauthn_native_messaging_host.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/base/crash/crash_reporting_crashpad.h"
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -50,7 +50,7 @@ int RemoteWebAuthnMain(int argc, char** argv) {
+
+ #if defined(REMOTING_ENABLE_CRASH_REPORTING)
+ if (IsUsageStatsAllowed()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ InitializeCrashpadReporting();
+ #elif BUILDFLAG(IS_WIN)
+ InitializeBreakpadReporting();
diff --git a/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc b/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc
new file mode 100644
index 000000000000..66e2af2f59cc
--- /dev/null
+++ b/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc
@@ -0,0 +1,11 @@
+--- remoting/protocol/webrtc_video_stream.cc.orig 2025-03-05 08:14:56 UTC
++++ remoting/protocol/webrtc_video_stream.cc
+@@ -267,7 +267,7 @@ WebrtcVideoStream::WebrtcVideoStream(const SessionOpti
+ : session_options_(session_options) {
+ // TODO(joedow): Dig into the threading model on other platforms to see if they
+ // can also be updated to run on a dedicated thread.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ core_task_runner_ = base::ThreadPool::CreateSingleThreadTaskRunner(
+ {base::TaskPriority::HIGHEST},
+ base::SingleThreadTaskRunnerThreadMode::DEDICATED);
diff --git a/www/chromium/files/patch-remoting_resources_remoting__strings.grd b/www/chromium/files/patch-remoting_resources_remoting__strings.grd
deleted file mode 100644
index 7ab1d6f71943..000000000000
--- a/www/chromium/files/patch-remoting_resources_remoting__strings.grd
+++ /dev/null
@@ -1,20 +0,0 @@
---- remoting/resources/remoting_strings.grd.orig 2022-05-19 14:06:27 UTC
-+++ remoting/resources/remoting_strings.grd
-@@ -955,7 +955,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium.
- <message name="IDS_URL_FORWARDER_INCORRECTLY_CONFIGURED" desc="Message shown when the Chrome Remote Desktop URL forwarder is incorrectly configured.">
- <ph name="URL_FORWARDER_NAME">%s<ex>Chrome Remote Desktop URL Forwarder</ex></ph> is not configured correctly. Please choose a different default web browser and then enable URL forwarding again.
- </message>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_SESSION_DIALOG_MESSAGE" desc="The message to show at the top of the session-selection dialog.">
- Select a session to launch within your Chrome Remote Desktop environment. (Note that some session types may not support running within Chrome Remote Desktop and on the local console simultaneously.)
- </message>
-@@ -971,7 +971,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium.
- <message name="IDS_SESSION_DIALOG_DEFAULT_SESSION_COMMENT" desc="The comment for the entry to launch the default session.">
- Launch the default XSession
- </message>
-- </if> <!-- is_linux -->
-+ </if> <!-- is_posix -->
- </messages>
- </release>
- </grit>
diff --git a/www/chromium/files/patch-remoting_signaling_ftl__host__device__id__provider.cc b/www/chromium/files/patch-remoting_signaling_ftl__host__device__id__provider.cc
new file mode 100644
index 000000000000..a944a9226dbe
--- /dev/null
+++ b/www/chromium/files/patch-remoting_signaling_ftl__host__device__id__provider.cc
@@ -0,0 +1,11 @@
+--- remoting/signaling/ftl_host_device_id_provider.cc.orig 2025-03-05 08:14:56 UTC
++++ remoting/signaling/ftl_host_device_id_provider.cc
+@@ -16,7 +16,7 @@ constexpr char kDeviceIdPrefix[] = "crd-win-host-";
+ constexpr char kDeviceIdPrefix[] = "crd-mac-host-";
+ #elif BUILDFLAG(IS_CHROMEOS)
+ constexpr char kDeviceIdPrefix[] = "crd-cros-host-";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr char kDeviceIdPrefix[] = "crd-linux-host-";
+ #else
+ constexpr char kDeviceIdPrefix[] = "crd-unknown-host-";
diff --git a/www/chromium/files/patch-sandbox_BUILD.gn b/www/chromium/files/patch-sandbox_BUILD.gn
index 108ac6980ab9..6b1329566d7d 100644
--- a/www/chromium/files/patch-sandbox_BUILD.gn
+++ b/www/chromium/files/patch-sandbox_BUILD.gn
@@ -1,6 +1,6 @@
---- sandbox/BUILD.gn.orig 2022-04-21 18:48:31 UTC
+--- sandbox/BUILD.gn.orig 2022-08-31 12:19:35 UTC
+++ sandbox/BUILD.gn
-@@ -36,7 +36,7 @@ group("sandbox") {
+@@ -49,7 +49,7 @@ group("sandbox") {
"//sandbox/mac:system_services",
"//sandbox/mac/mojom",
]
diff --git a/www/chromium/files/patch-sandbox_linux_BUILD.gn b/www/chromium/files/patch-sandbox_linux_BUILD.gn
index 6a4fd43ab003..6b3014a09e85 100644
--- a/www/chromium/files/patch-sandbox_linux_BUILD.gn
+++ b/www/chromium/files/patch-sandbox_linux_BUILD.gn
@@ -1,6 +1,6 @@
---- sandbox/linux/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- sandbox/linux/BUILD.gn.orig 2025-05-05 10:57:53 UTC
+++ sandbox/linux/BUILD.gn
-@@ -12,12 +12,12 @@ if (is_android) {
+@@ -12,11 +12,11 @@ if (is_android) {
}
declare_args() {
@@ -10,18 +10,15 @@
- compile_credentials = is_linux || is_chromeos
+ compile_credentials = (is_linux || is_chromeos) && !is_bsd
- # On Android, use plain GTest.
-- use_base_test_suite = is_linux || is_chromeos
-+ use_base_test_suite = (is_linux || is_chromeos) && !is_bsd
- }
+- compile_syscall_broker = is_linux || is_chromeos
++ compile_syscall_broker = (is_linux || is_chromeos) && !is_bsd
- # We have two principal targets: sandbox and sandbox_linux_unittests
-@@ -367,6 +367,39 @@ component("sandbox_services") {
- sources += [
- "services/libc_interceptor.cc",
+ # On Android, use plain GTest.
+ use_base_test_suite = is_linux || is_chromeos
+@@ -369,6 +369,17 @@ component("sandbox_services") {
"services/libc_interceptor.h",
-+ ]
-+ }
+ ]
+ }
+
+ if (is_bsd) {
+ sources -= [
@@ -31,28 +28,8 @@
+ "services/syscall_wrappers.h",
+ "services/yama.cc",
+ "services/yama.h",
-+ "syscall_broker/broker_channel.cc",
-+ "syscall_broker/broker_channel.h",
-+ "syscall_broker/broker_client.cc",
-+ "syscall_broker/broker_client.h",
-+ "syscall_broker/broker_command.cc",
-+ "syscall_broker/broker_command.h",
-+ "syscall_broker/broker_file_permission.cc",
-+ "syscall_broker/broker_file_permission.h",
-+ "syscall_broker/broker_host.cc",
-+ "syscall_broker/broker_host.h",
-+ "syscall_broker/broker_permission_list.cc",
-+ "syscall_broker/broker_permission_list.h",
-+ "syscall_broker/broker_process.cc",
-+ "syscall_broker/broker_process.h",
-+ "syscall_broker/broker_sandbox_config.cc",
-+ "syscall_broker/broker_sandbox_config.h",
-+ "syscall_broker/broker_simple_message.cc",
-+ "syscall_broker/broker_simple_message.h",
-+ "syscall_broker/remote_syscall_arg_handler.cc",
-+ "syscall_broker/remote_syscall_arg_handler.h",
-+ "syscall_broker/syscall_dispatcher.cc",
-+ "syscall_broker/syscall_dispatcher.h",
- ]
- }
++ ]
++ }
}
+
+ source_set("sandbox_services_headers") {
diff --git a/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc b/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc
index 8ec351166a19..46e9d66c26e0 100644
--- a/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc
+++ b/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc
@@ -1,14 +1,14 @@
---- sandbox/linux/services/init_process_reaper.cc.orig 2022-02-07 13:39:41 UTC
+--- sandbox/linux/services/init_process_reaper.cc.orig 2025-03-05 08:14:56 UTC
+++ sandbox/linux/services/init_process_reaper.cc
-@@ -2,6 +2,7 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
+@@ -7,6 +7,7 @@
+ #pragma allow_unsafe_libc_calls
+ #endif
+#if 0
#include "sandbox/linux/services/init_process_reaper.h"
#include <signal.h>
-@@ -100,3 +101,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo
+@@ -105,3 +106,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo
}
} // namespace sandbox.
diff --git a/www/chromium/files/patch-sandbox_linux_services_libc__interceptor.cc b/www/chromium/files/patch-sandbox_linux_services_libc__interceptor.cc
index 95d56126696b..a5c167713139 100644
--- a/www/chromium/files/patch-sandbox_linux_services_libc__interceptor.cc
+++ b/www/chromium/files/patch-sandbox_linux_services_libc__interceptor.cc
@@ -1,16 +1,16 @@
---- sandbox/linux/services/libc_interceptor.cc.orig 2022-02-28 16:54:41 UTC
+--- sandbox/linux/services/libc_interceptor.cc.orig 2024-08-26 12:06:38 UTC
+++ sandbox/linux/services/libc_interceptor.cc
-@@ -11,7 +11,9 @@
+@@ -17,7 +17,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>
#include <sys/types.h>
#include <time.h>
-@@ -94,7 +96,7 @@ bool ReadTimeStruct(base::PickleIterator* iter,
+@@ -173,7 +175,7 @@ bool ReadTimeStruct(base::PickleIterator* iter,
} else {
base::AutoLock lock(g_timezones_lock.Get());
auto ret_pair = g_timezones.Get().insert(timezone);
diff --git a/www/chromium/files/patch-sandbox_policy_BUILD.gn b/www/chromium/files/patch-sandbox_policy_BUILD.gn
index 88f6b4be2c31..8a0aafacdf7e 100644
--- a/www/chromium/files/patch-sandbox_policy_BUILD.gn
+++ b/www/chromium/files/patch-sandbox_policy_BUILD.gn
@@ -1,15 +1,15 @@
---- sandbox/policy/BUILD.gn.orig 2022-06-17 14:20:10 UTC
+--- sandbox/policy/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ sandbox/policy/BUILD.gn
-@@ -36,7 +36,7 @@ component("policy") {
- "//sandbox/policy/mojom",
- ]
- public_deps = [ "//sandbox:common" ]
+@@ -46,7 +46,7 @@ component("policy") {
+ "//third_party/jni_zero",
+ ]
+ }
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [
"linux/bpf_audio_policy_linux.cc",
"linux/bpf_audio_policy_linux.h",
-@@ -95,6 +95,27 @@ component("policy") {
+@@ -115,6 +115,27 @@ component("policy") {
"//sandbox/linux:sandbox_services",
"//sandbox/linux:seccomp_bpf",
"//sandbox/linux:suid_sandbox_client",
@@ -36,4 +36,4 @@
+ "//ui/gfx/x",
]
}
- if (is_chromeos_ash) {
+ if (is_chromeos) {
diff --git a/www/chromium/files/patch-sandbox_policy_features.cc b/www/chromium/files/patch-sandbox_policy_features.cc
index 256b92a6232b..a5ec08769523 100644
--- a/www/chromium/files/patch-sandbox_policy_features.cc
+++ b/www/chromium/files/patch-sandbox_policy_features.cc
@@ -1,14 +1,14 @@
---- sandbox/policy/features.cc.orig 2022-04-21 18:48:31 UTC
+--- sandbox/policy/features.cc.orig 2025-04-04 08:52:13 UTC
+++ sandbox/policy/features.cc
-@@ -14,7 +14,11 @@ namespace sandbox::policy::features {
- // Enables network service sandbox.
- // (Only causes an effect when feature kNetworkService is enabled.)
- const base::Feature kNetworkServiceSandbox{"NetworkServiceSandbox",
+@@ -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)
-+ base::FEATURE_ENABLED_BY_DEFAULT};
++ base::FEATURE_ENABLED_BY_DEFAULT);
+#else
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT);
+#endif
- #endif // !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_FUCHSIA)
- #if BUILDFLAG(IS_WIN)
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ // Enables a fine-grained seccomp-BPF syscall filter for the network service.
diff --git a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc
index b853583c6f47..28f8771959c2 100644
--- a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc
+++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc
@@ -1,11 +1,11 @@
---- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2022-04-21 18:48:31 UTC
+--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2024-11-14 07:57:23 UTC
+++ sandbox/policy/freebsd/sandbox_freebsd.cc
-@@ -0,0 +1,247 @@
+@@ -0,0 +1,211 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/freebsd/sandbox_freebsd.h"
+
+#include <dirent.h>
+#include <fcntl.h>
@@ -21,8 +21,6 @@
+#include <string>
+#include <vector>
+
-+#include "base/bind.h"
-+#include "base/callback_helpers.h"
+#include "base/command_line.h"
+#include "base/debug/stack_trace.h"
+#include "base/feature_list.h"
@@ -35,8 +33,11 @@
+#include "base/posix/eintr_wrapper.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/system/sys_info.h"
++#include "base/threading/thread.h"
+#include "base/time/time.h"
+#include "build/build_config.h"
++#include "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,25 +56,13 @@
+#include <sanitizer/common_interface_defs.h>
+#endif
+
-+#if defined(USE_NSS_CERTS)
++#if BUILDFLAG(USE_NSS_CERTS)
+#include "crypto/nss_util.h"
+#endif
+
-+#include "ui/gfx/x/connection.h"
-+#include "ui/gfx/font_util.h"
-+
-+#include <X11/Xlib.h>
-+
-+#define MAXTOKENS 3
++#include "third_party/boringssl/src/include/openssl/crypto.h"
+
-+#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";
++#include "ui/gfx/font_util.h"
+
+namespace sandbox {
+namespace policy {
@@ -97,6 +86,11 @@
+ return instance;
+}
+
++void SandboxLinux::StopThread(base::Thread* thread) {
++ DCHECK(thread);
++ thread->Stop();
++}
++
+void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) {
+ CHECK(!pre_initialized_);
+#if BUILDFLAG(USING_SANITIZER)
@@ -111,44 +105,43 @@
+
+ base::SysInfo::AmountOfPhysicalMemory();
+ base::SysInfo::NumberOfProcessors();
++ base::SysInfo::CPUModelName();
+
-+#if defined(USE_NSS_CERTS)
-+ // The main process has to initialize the ~/.pki dir which won't work
-+ // after unveil(2).
-+ if (process_type.empty())
-+ crypto::EnsureNSSInit();
++ 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();
+
-+ // cache the XErrorDB by forcing a read on it
-+ {
-+ auto* connection = x11::Connection::Get();
-+ auto* display = connection->GetXlibDisplay().display();
++ base::FilePath cache_directory, local_directory;
+
-+ char buf[1];
-+ XGetErrorDatabaseText(display, "XProtoError", "0", "", buf, std::size(buf));
-+ }
++ base::PathService::Get(base::DIR_CACHE, &cache_directory);
++ base::PathService::Get(base::DIR_HOME, &local_directory);
+
-+ if (process_type.empty()) {
-+ base::FilePath cache_directory, local_directory;
++ cache_directory = cache_directory.AppendASCII("chromium");
++ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications");
+
-+ base::PathService::Get(base::DIR_CACHE, &cache_directory);
-+ base::PathService::Get(base::DIR_HOME, &local_directory);
++ if (!base::CreateDirectory(cache_directory)) {
++ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory.";
++ }
+
-+ 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(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();
-+
+ pre_initialized_ = true;
+}
+
@@ -166,7 +159,7 @@
+ return true;
+
+ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type="
-+ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type);
++ << process_type << " sandbox_type=" << sandbox_type;
+
+ // Only one thread is running, pre-initialize if not already done.
+ if (!pre_initialized_)
@@ -182,6 +175,9 @@
+ PCHECK(limited_as);
+ }
+
++ if (hook)
++ CHECK(std::move(hook).Run(options));
++
+ return true;
+}
+
@@ -214,37 +210,5 @@
+ // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER)
+}
+
-+// static
-+std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) {
-+ switch (sandbox_type) {
-+ case sandbox::mojom::Sandbox::kNoSandbox:
-+ return "Unsandboxed";
-+ case sandbox::mojom::Sandbox::kRenderer:
-+ return "Renderer";
-+ case sandbox::mojom::Sandbox::kUtility:
-+ return "Utility";
-+ case sandbox::mojom::Sandbox::kGpu:
-+ return "GPU";
-+ case sandbox::mojom::Sandbox::kPpapi:
-+ return "PPAPI";
-+ case sandbox::mojom::Sandbox::kNetwork:
-+ return "Network";
-+ case sandbox::mojom::Sandbox::kCdm:
-+ return "CDM";
-+ case sandbox::mojom::Sandbox::kPrintCompositor:
-+ return "Print Compositor";
-+ case sandbox::mojom::Sandbox::kAudio:
-+ return "Audio";
-+ case sandbox::mojom::Sandbox::kSpeechRecognition:
-+ return "Speech Recognition";
-+ case sandbox::mojom::Sandbox::kService:
-+ return "Service";
-+ case sandbox::mojom::Sandbox::kVideoCapture:
-+ return "Video Capture";
-+ default:
-+ return "Unknown";
-+ }
-+}
-+
+} // namespace policy
+} // namespace sandbox
diff --git a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h
index 574ddb9a6687..486c0e08ea8b 100644
--- a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h
+++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h
@@ -1,6 +1,6 @@
---- sandbox/policy/freebsd/sandbox_freebsd.h.orig 2022-02-07 13:39:41 UTC
+--- sandbox/policy/freebsd/sandbox_freebsd.h.orig 2024-11-14 07:57:23 UTC
+++ sandbox/policy/freebsd/sandbox_freebsd.h
-@@ -0,0 +1,278 @@
+@@ -0,0 +1,276 @@
+// 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.
@@ -16,7 +16,7 @@
+#include "sandbox/policy/export.h"
+#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h"
+#include "sandbox/policy/mojom/sandbox.mojom.h"
-+#include "sandbox/policy/sanitizer_buildflags.h"
++#include "base/sanitizer_buildflags.h"
+
+#if BUILDFLAG(USING_SANITIZER)
+#include <sanitizer/common_interface_defs.h>
@@ -169,8 +169,6 @@
+ // is called from inside these processes.
+ int GetStatus();
+
-+ static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type);
-+
+ // Returns true if the current process is single-threaded or if the number
+ // of threads cannot be determined.
+ bool IsSingleThreaded() const;
diff --git a/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom
index f90d8902aba2..8b927e59c4d1 100644
--- a/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom
+++ b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom
@@ -1,8 +1,8 @@
---- sandbox/policy/mojom/sandbox.mojom.orig 2022-04-21 18:48:31 UTC
+--- sandbox/policy/mojom/sandbox.mojom.orig 2025-02-19 07:43:18 UTC
+++ sandbox/policy/mojom/sandbox.mojom
-@@ -72,6 +72,12 @@ enum Sandbox {
- [EnableIf=is_fuchsia]
- kVideoCapture,
+@@ -74,6 +74,12 @@ enum Sandbox {
+ // Minimally privileged sandbox on Fuchsia.
+ [EnableIf=is_fuchsia] kVideoCapture,
+ [EnableIf=is_openbsd]
+ kVideoCapture,
@@ -12,4 +12,4 @@
+
// Allows access to file contents and Windows APIs for parsing icons from PE
// files.
- [EnableIf=is_win]
+ [EnableIf=is_win] kIconReader,
diff --git a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc
index 0898af1e5a6c..421d198975d1 100644
--- a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc
+++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc
@@ -1,6 +1,6 @@
---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2022-04-21 18:48:31 UTC
+--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2025-07-02 06:08:04 UTC
+++ sandbox/policy/openbsd/sandbox_openbsd.cc
-@@ -0,0 +1,407 @@
+@@ -0,0 +1,400 @@
+// 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.
@@ -22,8 +22,6 @@
+#include <string>
+#include <vector>
+
-+#include "base/bind.h"
-+#include "base/callback_helpers.h"
+#include "base/command_line.h"
+#include "base/debug/stack_trace.h"
+#include "base/feature_list.h"
@@ -36,8 +34,11 @@
+#include "base/posix/eintr_wrapper.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/system/sys_info.h"
++#include "base/threading/thread.h"
+#include "base/time/time.h"
+#include "build/build_config.h"
++#include "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"
@@ -56,24 +57,19 @@
+#include <sanitizer/common_interface_defs.h>
+#endif
+
-+#if defined(USE_NSS_CERTS)
++#if BUILDFLAG(USE_NSS_CERTS)
+#include "crypto/nss_util.h"
+#endif
+
+#include "third_party/boringssl/src/include/openssl/crypto.h"
+
-+#include "ui/gfx/x/connection.h"
-+#include "ui/gfx/font_util.h"
-+
-+#include <X11/Xlib.h>
++#include <fontconfig/fontconfig.h>
++#include "ui/gfx/linux/fontconfig_util.h"
+
+#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";
@@ -101,6 +97,11 @@
+ return instance;
+}
+
++void SandboxLinux::StopThread(base::Thread* thread) {
++ DCHECK(thread);
++ thread->Stop();
++}
++
+void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) {
+ CHECK(!pre_initialized_);
+#if BUILDFLAG(USING_SANITIZER)
@@ -117,49 +118,44 @@
+ 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();
-+
-+ // cache the XErrorDB by forcing a read on it
-+ {
-+ auto* connection = x11::Connection::Get();
-+ auto* display = connection->GetXlibDisplay().display();
++ base::FilePath cache_directory, local_directory;
+
-+ char buf[1];
-+ XGetErrorDatabaseText(display, "XProtoError", "0", "", buf, std::size(buf));
-+ }
++ base::PathService::Get(base::DIR_CACHE, &cache_directory);
++ base::PathService::Get(base::DIR_HOME, &local_directory);
+
-+ if (process_type.empty()) {
-+ base::FilePath cache_directory, local_directory;
++ cache_directory = cache_directory.AppendASCII("chromium");
++ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications");
+
-+ base::PathService::Get(base::DIR_CACHE, &cache_directory);
-+ base::PathService::Get(base::DIR_HOME, &local_directory);
++ if (!base::CreateDirectory(cache_directory)) {
++ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory.";
++ }
+
-+ cache_directory = cache_directory.AppendASCII("chromium");
-+ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications");
++ if (!base::CreateDirectory(local_directory)) {
++ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory.";
++ }
+
-+ if (!base::CreateDirectory(cache_directory)) {
-+ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory.";
++ break;
+ }
-+
-+ if (!base::CreateDirectory(local_directory)) {
-+ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory.";
++ case sandbox::mojom::Sandbox::kRenderer:
++ {
++ FcConfig* config = gfx::GetGlobalFontConfig();
++ DCHECK(config);
++ break;
+ }
++ default:
++ break;
+ }
+
-+ if (process_type == switches::kRendererProcess)
-+ gfx::InitializeFonts();
-+
-+ if (!command_line->HasSwitch(switches::kDisableUnveil))
-+ SetUnveil(process_type, sandbox_type);
-+
+ pre_initialized_ = true;
+}
+
@@ -172,6 +168,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) {
@@ -180,10 +177,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;
+ }
+ }
@@ -196,28 +194,31 @@
+bool SandboxLinux::SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type) {
+ FILE *fp;
+ char *s = NULL, *cp = NULL, *home = NULL, **ap, *tokens[MAXTOKENS];
++ char *xdg_var = NULL;
+ char path[PATH_MAX];
+ const char *ufile;
+ size_t len = 0, lineno = 0;
+
-+ if (process_type.empty()) {
-+ ufile = _UNVEIL_MAIN;
-+ } else if (process_type == switches::kRendererProcess) {
-+ ufile = _UNVEIL_RENDERER;
-+ } else if (process_type == switches::kGpuProcess) {
-+ ufile = _UNVEIL_GPU;
-+ } else if (process_type == switches::kPpapiPluginProcess) {
-+ ufile = _UNVEIL_PLUGIN;
-+ } else if (process_type == switches::kUtilityProcess) {
-+ if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) {
++ switch (sandbox_type) {
++ case sandbox::mojom::Sandbox::kNoSandbox:
++ ufile = _UNVEIL_MAIN;
++ break;
++ case sandbox::mojom::Sandbox::kGpu:
++ case sandbox::mojom::Sandbox::kOnDeviceModelExecution:
++ 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");
@@ -258,6 +259,13 @@
+ strncpy(path, home, sizeof(path) - 1);
+ path[sizeof(path) - 1] = '\0';
+ strncat(path, tokens[0], sizeof(path) - 1 - strlen(path));
++ } else if (strncmp(tokens[0], "XDG_", 4) == 0) {
++ if ((xdg_var = getenv(tokens[0])) == NULL || *xdg_var == '\0') {
++ LOG(ERROR) << "failed to get " << tokens[0];
++ continue;
++ }
++ strncpy(path, xdg_var, sizeof(path) - 1);
++ path[sizeof(path) - 1] = '\0';
+ } else {
+ strncpy(path, tokens[0], sizeof(path) - 1);
+ path[sizeof(path) - 1] = '\0';
@@ -267,7 +275,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);
@@ -276,6 +284,7 @@
+ _exit(1);
+ }
+
++done:
+ unveil_initialized_ = true;
+
+ return true;
@@ -299,7 +308,7 @@
+ return true;
+
+ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type="
-+ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type);
++ << process_type << " sandbox_type=" << sandbox_type;
+
+ // Only one thread is running, pre-initialize if not already done.
+ if (!pre_initialized_)
@@ -315,31 +324,47 @@
+ 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 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:
++ case sandbox::mojom::Sandbox::kOnDeviceModelExecution:
++ SetPledge("stdio drm inet rpath flock cpath wpath prot_exec recvfd sendfd tmppath unix", 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: " << sandbox_type;
++ break;
+ }
+
+ return true;
@@ -374,37 +399,5 @@
+ // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER)
+}
+
-+// static
-+std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) {
-+ switch (sandbox_type) {
-+ case sandbox::mojom::Sandbox::kNoSandbox:
-+ return "Unsandboxed";
-+ case sandbox::mojom::Sandbox::kRenderer:
-+ return "Renderer";
-+ case sandbox::mojom::Sandbox::kUtility:
-+ return "Utility";
-+ case sandbox::mojom::Sandbox::kGpu:
-+ return "GPU";
-+ case sandbox::mojom::Sandbox::kPpapi:
-+ return "PPAPI";
-+ case sandbox::mojom::Sandbox::kNetwork:
-+ return "Network";
-+ case sandbox::mojom::Sandbox::kCdm:
-+ return "CDM";
-+ case sandbox::mojom::Sandbox::kPrintCompositor:
-+ return "Print Compositor";
-+ case sandbox::mojom::Sandbox::kAudio:
-+ return "Audio";
-+ case sandbox::mojom::Sandbox::kSpeechRecognition:
-+ return "Speech Recognition";
-+ case sandbox::mojom::Sandbox::kService:
-+ return "Service";
-+ case sandbox::mojom::Sandbox::kVideoCapture:
-+ return "Video Capture";
-+ default:
-+ return "Unknown";
-+ }
-+}
-+
+} // namespace policy
+} // namespace sandbox
diff --git a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h
index 5e1af030852b..ac491437c39e 100644
--- a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h
+++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h
@@ -1,6 +1,6 @@
---- sandbox/policy/openbsd/sandbox_openbsd.h.orig 2022-03-25 21:59:56 UTC
+--- sandbox/policy/openbsd/sandbox_openbsd.h.orig 2024-11-14 07:57:23 UTC
+++ sandbox/policy/openbsd/sandbox_openbsd.h
-@@ -0,0 +1,282 @@
+@@ -0,0 +1,280 @@
+// 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.
@@ -16,7 +16,7 @@
+#include "sandbox/policy/export.h"
+#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h"
+#include "sandbox/policy/mojom/sandbox.mojom.h"
-+#include "sandbox/policy/sanitizer_buildflags.h"
++#include "base/sanitizer_buildflags.h"
+
+#if BUILDFLAG(USING_SANITIZER)
+#include <sanitizer/common_interface_defs.h>
@@ -169,8 +169,6 @@
+ // is called from inside these processes.
+ int GetStatus();
+
-+ static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type);
-+
+ // Returns true if the current process is single-threaded or if the number
+ // of threads cannot be determined.
+ bool IsSingleThreaded() const;
diff --git a/www/chromium/files/patch-sandbox_policy_sandbox.cc b/www/chromium/files/patch-sandbox_policy_sandbox.cc
index 1cd4771d4c1c..cfa13b30c1b2 100644
--- a/www/chromium/files/patch-sandbox_policy_sandbox.cc
+++ b/www/chromium/files/patch-sandbox_policy_sandbox.cc
@@ -1,17 +1,17 @@
---- sandbox/policy/sandbox.cc.orig 2022-02-28 16:54:41 UTC
+--- sandbox/policy/sandbox.cc.orig 2024-04-19 13:02:56 UTC
+++ sandbox/policy/sandbox.cc
-@@ -17,6 +17,10 @@
+@@ -18,6 +18,10 @@
#include "sandbox/policy/linux/sandbox_linux.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox.h"
+#endif // BUILDFLAG(IS_BSD)
+
#if BUILDFLAG(IS_MAC)
#include "sandbox/mac/seatbelt.h"
#endif // BUILDFLAG(IS_MAC)
-@@ -30,7 +34,7 @@
+@@ -32,7 +36,7 @@
namespace sandbox {
namespace policy {
diff --git a/www/chromium/files/patch-sandbox_policy_sandbox.h b/www/chromium/files/patch-sandbox_policy_sandbox.h
index e94b3c010f2b..33481e3eb47b 100644
--- a/www/chromium/files/patch-sandbox_policy_sandbox.h
+++ b/www/chromium/files/patch-sandbox_policy_sandbox.h
@@ -1,17 +1,19 @@
---- sandbox/policy/sandbox.h.orig 2022-02-28 16:54:41 UTC
+--- sandbox/policy/sandbox.h.orig 2023-04-28 17:01:32 UTC
+++ 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/chromium/files/patch-sandbox_policy_sandbox__type.cc b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc
index 6f7c2411faec..89a2a4231d20 100644
--- a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc
+++ b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc
@@ -1,25 +1,53 @@
---- sandbox/policy/sandbox_type.cc.orig 2022-06-17 14:20:10 UTC
+--- sandbox/policy/sandbox_type.cc.orig 2025-07-02 06:08:04 UTC
+++ sandbox/policy/sandbox_type.cc
-@@ -39,7 +39,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
+@@ -17,7 +17,7 @@
+ #include "chromeos/ash/components/assistant/buildflags.h"
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "media/gpu/buildflags.h" // nogncheck
#endif
- case Sandbox::kAudio:
- return false;
--#if BUILDFLAG(IS_FUCHSIA)
-+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- case Sandbox::kVideoCapture:
- return false;
+
+@@ -42,7 +42,7 @@ constexpr char kPpapiSandbox[] = "ppapi";
#endif
-@@ -62,7 +62,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
- case Sandbox::kMirroring:
- case Sandbox::kNaClLoader:
+
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ constexpr char kPrintBackendSandbox[] = "print_backend";
+ constexpr char kScreenAISandbox[] = "screen_ai";
#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- case Sandbox::kHardwareVideoDecoding:
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
- #if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -127,7 +127,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+@@ -60,15 +60,15 @@ constexpr char kWindowsSystemProxyResolverSandbox[] =
+ constexpr char kMirroringSandbox[] = "mirroring";
+ #endif // BUILDFLAG(IS_MAC)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr char kVideoEffectsSandbox[] = "video_effects";
#endif
+
+-#if BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ constexpr char kVideoCaptureSandbox[] = "video_capture";
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // USE_LINUX_VIDEO_ACCELERATION implies IS_LINUX || IS_CHROMEOS, so this double
+ // #if is redundant, however, we cannot include "media/gpu/buildflags.h" on all
+ // platforms, only one those that need to evaluate the use..., hence this
+@@ -88,7 +88,7 @@ constexpr char kLibassistantSandbox[] = "libassistant"
+ #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ constexpr char kOnDeviceTranslationSandbox[] = "on_device_translation";
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+
+@@ -150,7 +150,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+ case Sandbox::kCdm:
case Sandbox::kPrintCompositor:
case Sandbox::kAudio:
-#if BUILDFLAG(IS_FUCHSIA)
@@ -27,44 +55,130 @@
case Sandbox::kVideoCapture:
#endif
#if BUILDFLAG(IS_WIN)
-@@ -138,7 +138,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+@@ -161,7 +161,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
case Sandbox::kMediaFoundationCdm:
case Sandbox::kWindowsSystemProxyResolver:
#endif // BUILDFLAG(IS_WIN)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION)
case Sandbox::kHardwareVideoDecoding:
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
- #if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -257,7 +257,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
- return switches::kUtilitySandbox;
+ case Sandbox::kHardwareVideoEncoding:
+@@ -179,15 +179,15 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+ case Sandbox::kMirroring:
+ #endif // BUILDFLAG(IS_MAC)
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ case Sandbox::kPrintBackend:
+ case Sandbox::kScreenAI:
+ #endif
+ case Sandbox::kSpeechRecognition:
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ case Sandbox::kVideoEffects:
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ case Sandbox::kOnDeviceTranslation:
+ #endif
+ DCHECK(command_line->GetSwitchValueASCII(switches::kProcessType) ==
+@@ -197,7 +197,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+ switches::kServiceSandboxType,
+ StringFromUtilitySandboxType(sandbox_type));
+ break;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ case Sandbox::kZygoteIntermediateSandbox:
+ break;
+ #endif
+@@ -237,7 +237,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine(
+ return Sandbox::kUtility;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Intermediate process gains a sandbox later.
+ if (process_type == switches::kZygoteProcessType)
+ return Sandbox::kZygoteIntermediateSandbox;
+@@ -279,7 +279,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+ return kUtilitySandbox;
case Sandbox::kAudio:
- return switches::kAudioSandbox;
+ return kAudioSandbox;
-#if BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
case Sandbox::kVideoCapture:
- return switches::kVideoCaptureSandbox;
+ return kVideoCaptureSandbox;
+ #endif
+@@ -290,17 +290,17 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+ case Sandbox::kSpeechRecognition:
+ return kSpeechRecognitionSandbox;
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ case Sandbox::kPrintBackend:
+ return kPrintBackendSandbox;
+ case Sandbox::kScreenAI:
+ return kScreenAISandbox;
#endif
-@@ -287,7 +287,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ case Sandbox::kVideoEffects:
+ return kVideoEffectsSandbox;
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ case Sandbox::kOnDeviceTranslation:
+ return kOnDeviceTranslationSandbox;
+ #endif
+@@ -320,7 +320,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
case Sandbox::kMirroring:
- return switches::kMirroringSandbox;
+ return kMirroringSandbox;
#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION)
case Sandbox::kHardwareVideoDecoding:
- return switches::kHardwareVideoDecodingSandbox;
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -375,11 +375,11 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
- if (sandbox_string == switches::kScreenAISandbox)
+ return kHardwareVideoDecodingSandbox;
+@@ -343,7 +343,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+ // The following are not utility processes so should not occur.
+ case Sandbox::kRenderer:
+ case Sandbox::kGpu:
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ case Sandbox::kZygoteIntermediateSandbox:
+ #endif
+ NOTREACHED();
+@@ -421,7 +421,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
+ return Sandbox::kSpeechRecognition;
+ }
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (sandbox_string == kPrintBackendSandbox) {
+ return Sandbox::kPrintBackend;
+ }
+@@ -429,7 +429,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
return Sandbox::kScreenAI;
+ }
+ #endif
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (sandbox_string == kVideoEffectsSandbox) {
+ return Sandbox::kVideoEffects;
+ }
+@@ -439,12 +439,12 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
+ return Sandbox::kOnDeviceTranslation;
+ }
#endif
-#if BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- if (sandbox_string == switches::kVideoCaptureSandbox)
+ if (sandbox_string == kVideoCaptureSandbox) {
return Sandbox::kVideoCapture;
+ }
#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- if (sandbox_string == switches::kHardwareVideoDecodingSandbox)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION)
+ if (sandbox_string == kHardwareVideoDecodingSandbox) {
return Sandbox::kHardwareVideoDecoding;
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/www/chromium/files/patch-sandbox_policy_switches.cc b/www/chromium/files/patch-sandbox_policy_switches.cc
index 5b12c91f9438..1b42116d2891 100644
--- a/www/chromium/files/patch-sandbox_policy_switches.cc
+++ b/www/chromium/files/patch-sandbox_policy_switches.cc
@@ -1,15 +1,6 @@
---- sandbox/policy/switches.cc.orig 2022-06-17 14:20:10 UTC
+--- sandbox/policy/switches.cc.orig 2025-04-04 08:52:13 UTC
+++ sandbox/policy/switches.cc
-@@ -54,7 +54,7 @@ const char kWindowsSystemProxyResolverSandbox[] = "pro
- const char kMirroringSandbox[] = "mirroring";
- #endif // BUILDFLAG(IS_MAC)
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- const char kHardwareVideoDecodingSandbox[] = "hardware_video_decoding";
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-
-@@ -101,7 +101,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f
+@@ -37,7 +37,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/chromium/files/patch-sandbox_policy_switches.h b/www/chromium/files/patch-sandbox_policy_switches.h
index d3234c31c975..b19609d509fb 100644
--- a/www/chromium/files/patch-sandbox_policy_switches.h
+++ b/www/chromium/files/patch-sandbox_policy_switches.h
@@ -1,15 +1,6 @@
---- sandbox/policy/switches.h.orig 2022-06-17 14:20:10 UTC
+--- sandbox/policy/switches.h.orig 2025-02-19 07:43:18 UTC
+++ sandbox/policy/switches.h
-@@ -56,7 +56,7 @@ SANDBOX_POLICY_EXPORT extern const char kWindowsSystem
- SANDBOX_POLICY_EXPORT extern const char kMirroringSandbox[];
- #endif // BUILDFLAG(IS_MAC)
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
- SANDBOX_POLICY_EXPORT extern const char kHardwareVideoDecodingSandbox[];
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-
-@@ -78,7 +78,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid
+@@ -23,7 +23,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/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc
index 1cef871d0556..a9065d56db5c 100644
--- a/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc
+++ b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc
@@ -1,14 +1,14 @@
---- services/audio/audio_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC
+--- services/audio/audio_sandbox_hook_linux.cc.orig 2025-05-28 14:55:43 UTC
+++ services/audio/audio_sandbox_hook_linux.cc
-@@ -143,6 +143,7 @@ void AddPulseAudioFilePermissions(
+@@ -147,6 +147,7 @@ void AddPulseAudioFilePermissions(
}
#endif
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
std::vector<BrokerFilePermission> GetAudioFilePermissions() {
std::vector<BrokerFilePermission> permissions{
BrokerFilePermission::ReadOnly("/dev/urandom"),
-@@ -171,10 +172,12 @@ void LoadAudioLibraries() {
+@@ -175,10 +176,12 @@ void LoadAudioLibraries() {
}
}
}
@@ -17,12 +17,12 @@
} // 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({
-@@ -194,6 +197,7 @@ bool AudioPreSandboxHook(sandbox::policy::SandboxLinux
- // TODO(https://crbug.com/850878) enable namespace sandbox. Currently, if
+@@ -196,6 +199,7 @@ bool AudioPreSandboxHook(sandbox::policy::SandboxLinux
+ // TODO(crbug.com/40579955) enable namespace sandbox. Currently, if
// enabled, connect() on pulse native socket fails with ENOENT (called from
// pa_context_connect).
+#endif
diff --git a/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h
index 9752d8bc1437..80faea30f5ea 100644
--- a/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h
+++ b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h
@@ -1,11 +1,13 @@
---- services/audio/audio_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
+--- services/audio/audio_sandbox_hook_linux.h.orig 2023-09-13 12:11:42 UTC
+++ 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/chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc b/www/chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc
deleted file mode 100644
index 75a1cdaffb46..000000000000
--- a/www/chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- services/cert_verifier/cert_verifier_creation.cc.orig 2022-06-17 14:20:10 UTC
-+++ services/cert_verifier/cert_verifier_creation.cc
-@@ -12,7 +12,7 @@
- #include "net/cert_net/cert_net_fetcher_url_request.h"
- #include "net/net_buildflags.h"
-
--#if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) || \
-+#if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) || BUILDFLAG(IS_BSD) || \
- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- #include "net/cert/cert_verify_proc_builtin.h"
- #include "net/cert/internal/system_trust_store.h"
-@@ -94,7 +94,7 @@ class OldDefaultCertVerifyProcFactory : public net::Ce
- scoped_refptr<net::CertNetFetcher> cert_net_fetcher,
- const net::ChromeRootStoreData* root_store_data) override {
- scoped_refptr<net::CertVerifyProc> 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 = net::CreateCertVerifyProcBuiltin(
- std::move(cert_net_fetcher), net::CreateSslSystemTrustStore());
- #else
-@@ -272,6 +272,7 @@ std::unique_ptr<net::CertVerifierWithUpdatableProc> Cr
- bool IsUsingCertNetFetcher() {
- #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
-+ BUILDFLAG(IS_BSD) || \
- BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) || \
- BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) || \
- BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED)
diff --git a/www/chromium/files/patch-services_device_BUILD.gn b/www/chromium/files/patch-services_device_BUILD.gn
new file mode 100644
index 000000000000..0da3cba064cf
--- /dev/null
+++ b/www/chromium/files/patch-services_device_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/device/BUILD.gn.orig 2025-05-28 14:55:43 UTC
++++ services/device/BUILD.gn
+@@ -17,7 +17,7 @@ if (is_ios) {
+ }
+
+ is_serial_enabled_platform =
+- is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_android
++ is_win || ((!is_bsd && is_linux || is_chromeos) && use_udev) || is_mac || is_android
+
+ source_set("lib") {
+ # This should be visible only to embedders of the Device Service, and the
diff --git a/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc b/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc
deleted file mode 100644
index 86f216c72fe8..000000000000
--- a/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/device/geolocation/location_arbitrator.cc.orig 2022-02-28 16:54:41 UTC
-+++ services/device/geolocation/location_arbitrator.cc
-@@ -161,7 +161,7 @@ LocationArbitrator::NewNetworkLocationProvider(
-
- std::unique_ptr<LocationProvider>
- LocationArbitrator::NewSystemLocationProvider() {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- return nullptr;
- #else
- return device::NewSystemLocationProvider(main_task_runner_,
diff --git a/www/chromium/files/patch-services_device_geolocation_location__provider__manager.cc b/www/chromium/files/patch-services_device_geolocation_location__provider__manager.cc
new file mode 100644
index 000000000000..975eac2132a6
--- /dev/null
+++ b/www/chromium/files/patch-services_device_geolocation_location__provider__manager.cc
@@ -0,0 +1,11 @@
+--- services/device/geolocation/location_provider_manager.cc.orig 2025-05-05 10:57:53 UTC
++++ services/device/geolocation/location_provider_manager.cc
+@@ -91,7 +91,7 @@ LocationProviderManager::LocationProviderManager(
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
+ // On Android and iOS, default to using the platform location provider.
+ provider_manager_mode_ = kPlatformOnly;
+-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Ash / Lacros / Linux, default to using the network location provider.
+ provider_manager_mode_ = kNetworkOnly;
+ #else
diff --git a/www/chromium/files/patch-services_device_hid_BUILD.gn b/www/chromium/files/patch-services_device_hid_BUILD.gn
index 75291680145b..1015a93c0ff9 100644
--- a/www/chromium/files/patch-services_device_hid_BUILD.gn
+++ b/www/chromium/files/patch-services_device_hid_BUILD.gn
@@ -1,9 +1,10 @@
---- services/device/hid/BUILD.gn.orig 2022-02-28 16:54:41 UTC
+--- services/device/hid/BUILD.gn.orig 2025-02-19 07:43:18 UTC
+++ services/device/hid/BUILD.gn
-@@ -35,6 +35,25 @@ source_set("hid") {
+@@ -34,7 +34,26 @@ source_set("hid") {
"//services/device/public/mojom",
]
+- if ((is_linux || is_chromeos) && use_udev) {
+ if (is_openbsd) {
+ sources += [
+ "hid_connection_fido.cc",
@@ -23,6 +24,7 @@
+ ]
+ }
+
- if ((is_linux || is_chromeos) && use_udev) {
++ if ((is_linux || is_chromeos) && !is_bsd && use_udev) {
sources += [
"hid_connection_linux.cc",
+ "hid_connection_linux.h",
diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc b/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc
index 2a0b172b142a..f665938c7512 100644
--- a/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc
@@ -1,53 +1,58 @@
---- services/device/hid/hid_connection_fido.cc.orig 2022-06-17 14:20:10 UTC
+--- services/device/hid/hid_connection_fido.cc.orig 2024-06-17 12:56:06 UTC
+++ services/device/hid/hid_connection_fido.cc
-@@ -0,0 +1,197 @@
-+// Copyright (c) 2020 The Chromium Authors. All rights reserved.
+@@ -0,0 +1,216 @@
++// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/hid/hid_connection_fido.h"
+
-+#include "base/bind.h"
++#include <errno.h>
++#include <sys/ioctl.h>
++
++#include <memory>
++#include <string>
++#include <utility>
++
+#include "base/files/file_descriptor_watcher_posix.h"
-+#include "base/location.h"
-+#include "base/numerics/safe_math.h"
++#include "base/memory/ref_counted_memory.h"
+#include "base/posix/eintr_wrapper.h"
-+#include "base/task/single_thread_task_runner.h"
+#include "base/threading/scoped_blocking_call.h"
-+#include "base/threading/thread_restrictions.h"
-+#include "base/threading/thread_task_runner_handle.h"
+#include "components/device_event_log/device_event_log.h"
+#include "services/device/hid/hid_service.h"
+
+namespace device {
+
-+class HidConnectionFido::BlockingTaskHelper {
-+public:
-+ BlockingTaskHelper(base::ScopedFD fd,
-+ scoped_refptr<HidDeviceInfo> device_info,
-+ base::WeakPtr<HidConnectionFido> connection)
++class HidConnectionFido::BlockingTaskRunnerHelper {
++ public:
++ BlockingTaskRunnerHelper(base::ScopedFD fd,
++ scoped_refptr<HidDeviceInfo> device_info,
++ base::WeakPtr<HidConnectionFido> connection)
+ : fd_(std::move(fd)),
-+ // Report buffers must always have room for the report ID.
-+ report_buffer_size_(device_info->max_input_report_size() + 1),
-+ has_report_id_(device_info->has_report_id()), connection_(connection),
-+ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ connection_(connection),
++ origin_task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
++ // Report buffers must always have room for the report ID.
++ report_buffer_size_ = device_info->max_input_report_size() + 1;
++ has_report_id_ = device_info->has_report_id();
+ }
+
-+ BlockingTaskHelper(const BlockingTaskHelper&) = delete;
-+ BlockingTaskHelper& operator=(const BlockingTaskHelper&) = delete;
++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete;
++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete;
+
-+ ~BlockingTaskHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); }
++ ~BlockingTaskRunnerHelper() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ }
+
+ // Starts the FileDescriptorWatcher that reads input events from the device.
+ // Must be called on a thread that has a base::MessageLoopForIO.
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ base::internal::AssertBlockingAllowed();
+
+ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
-+ fd_.get(), base::BindRepeating(&BlockingTaskHelper::OnFileCanReadWithoutBlocking,
-+ base::Unretained(this)));
++ fd_.get(), base::BindRepeating(
++ &BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking,
++ base::Unretained(this)));
+ }
+
+ void Write(scoped_refptr<base::RefCountedBytes> buffer,
@@ -56,7 +61,7 @@
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+
-+ auto data = buffer->front();
++ auto data = buffer->data();
+ size_t size = buffer->size();
+ // if report id is 0, it shouldn't be included
+ if (data[0] == 0) {
@@ -64,13 +69,20 @@
+ size--;
+ }
+
-+ ssize_t result = HANDLE_EINTR(write(fd_.get(), data, size));
-+ bool success = static_cast<size_t>(result) == size;
-+ if (!success) {
-+ HID_LOG(EVENT) << "HID write failed: " << result << " != " << size;
++ ssize_t result =
++ HANDLE_EINTR(write(fd_.get(), data, size));
++ if (result < 0) {
++ HID_PLOG(EVENT) << "Write failed";
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), false));
++ } else {
++ if (static_cast<size_t>(result) != size) {
++ HID_LOG(EVENT) << "Incomplete HID write: " << result
++ << " != " << buffer->size();
++ }
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), true));
+ }
-+ origin_task_runner_->PostTask(FROM_HERE,
-+ base::BindOnce(std::move(callback), success));
+ }
+
+ void GetFeatureReport(uint8_t report_id,
@@ -87,22 +99,24 @@
+ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ HID_PLOG(EVENT) << "SendFeatureReport not implemented on OpenBSD";
+ origin_task_runner_->PostTask(FROM_HERE,
-+ base::BindOnce(std::move(callback), false));
++ base::BindOnce(std::move(callback), false));
+ }
+
-+private:
++ private:
+ void OnFileCanReadWithoutBlocking() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
-+ scoped_refptr<base::RefCountedBytes> buffer(
-+ new base::RefCountedBytes(report_buffer_size_));
-+ unsigned char *data = buffer->front();
++ auto buffer =
++ base::MakeRefCounted<base::RefCountedBytes>(report_buffer_size_);
++ uint8_t* data = buffer->as_vector().data();
+ size_t length = report_buffer_size_;
+ if (!has_report_id_) {
-+ // OpenBSD will not prefix the buffer with a report ID if report IDs are
-+ // not used by the device. Prefix the buffer with 0.
++ // Fido will not prefix the buffer with a report ID if report IDs are not
++ // used by the device. Prefix the buffer with 0.
+ *data++ = 0;
+ length--;
+ }
@@ -132,69 +146,74 @@
+
+ SEQUENCE_CHECKER(sequence_checker_);
+ base::ScopedFD fd_;
-+ const size_t report_buffer_size_;
-+ const bool has_report_id_;
++ size_t report_buffer_size_;
++ bool has_report_id_;
+ base::WeakPtr<HidConnectionFido> connection_;
+ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_;
+ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
+};
+
+HidConnectionFido::HidConnectionFido(
-+ scoped_refptr<HidDeviceInfo> device_info, base::ScopedFD fd,
++ scoped_refptr<HidDeviceInfo> device_info,
++ base::ScopedFD fd,
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
-+ bool allow_protected_reports, bool allow_fido_reports)
++ bool allow_protected_reports,
++ bool allow_fido_reports)
+ : HidConnection(device_info, allow_protected_reports, allow_fido_reports),
-+ blocking_task_runner_(std::move(blocking_task_runner)),
-+ weak_factory_(this),
-+ helper_(std::make_unique<BlockingTaskHelper>(
-+ std::move(fd), device_info, weak_factory_.GetWeakPtr())) {
++ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)),
++ blocking_task_runner_(std::move(blocking_task_runner)) {
++ helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info,
++ weak_factory_.GetWeakPtr()));
+ blocking_task_runner_->PostTask(
-+ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Start,
++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start,
+ base::Unretained(helper_.get())));
+}
+
-+HidConnectionFido::~HidConnectionFido() = default;
++HidConnectionFido::~HidConnectionFido() {}
+
+void HidConnectionFido::PlatformClose() {
+ // By closing the device on the blocking task runner 1) the requirement that
+ // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied
+ // and 2) any tasks posted to this task runner that refer to this file will
+ // complete before it is closed.
-+ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
++ helper_.reset();
+}
+
+void HidConnectionFido::PlatformWrite(
-+ scoped_refptr<base::RefCountedBytes> buffer, WriteCallback callback) {
++ scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) {
++ // Fido expects the first byte of the buffer to always be a report ID so the
++ // buffer can be used directly.
+ blocking_task_runner_->PostTask(
-+ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Write,
++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Write,
+ base::Unretained(helper_.get()), buffer,
+ std::move(callback)));
+}
+
+void HidConnectionFido::PlatformGetFeatureReport(uint8_t report_id,
-+ ReadCallback callback) {
++ ReadCallback callback) {
+ // The first byte of the destination buffer is the report ID being requested
+ // and is overwritten by the feature report.
+ DCHECK_GT(device_info()->max_feature_report_size(), 0u);
-+ scoped_refptr<base::RefCountedBytes> buffer(
-+ new base::RefCountedBytes(device_info()->max_feature_report_size() + 1));
-+ if (report_id != 0)
-+ buffer->data()[0] = report_id;
++ auto buffer = base::MakeRefCounted<base::RefCountedBytes>(
++ device_info()->max_feature_report_size() + 1);
++ buffer->as_vector().data()[0] = report_id;
+
+ blocking_task_runner_->PostTask(
-+ FROM_HERE, base::BindOnce(&BlockingTaskHelper::GetFeatureReport,
++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::GetFeatureReport,
+ base::Unretained(helper_.get()), report_id,
+ buffer, std::move(callback)));
+}
+
+void HidConnectionFido::PlatformSendFeatureReport(
-+ scoped_refptr<base::RefCountedBytes> buffer, WriteCallback callback) {
-+ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
-+ base::BlockingType::MAY_BLOCK);
++ scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) {
++ // Fido expects the first byte of the buffer to always be a report ID so the
++ // buffer can be used directly.
+ blocking_task_runner_->PostTask(
-+ FROM_HERE, base::BindOnce(&BlockingTaskHelper::SendFeatureReport,
++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport,
+ base::Unretained(helper_.get()), buffer,
+ std::move(callback)));
+}
+
-+} // namespace device
++} // namespace device
diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__fido.h b/www/chromium/files/patch-services_device_hid_hid__connection__fido.h
index a491864edae6..9e5e403189a4 100644
--- a/www/chromium/files/patch-services_device_hid_hid__connection__fido.h
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__fido.h
@@ -1,35 +1,41 @@
---- services/device/hid/hid_connection_fido.h.orig 2022-02-07 13:39:41 UTC
+--- services/device/hid/hid_connection_fido.h.orig 2022-10-28 16:39:00 UTC
+++ services/device/hid/hid_connection_fido.h
-@@ -0,0 +1,57 @@
-+// Copyright (c) 2020 The Chromium Authors. All rights reserved.
+@@ -0,0 +1,60 @@
++// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
-+#ifndef SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_
-+#define SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_
++#ifndef SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_
++#define SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_
++
++#include <stddef.h>
++#include <stdint.h>
+
+#include "base/files/scoped_file.h"
-+#include "base/memory/ptr_util.h"
-+#include "base/memory/ref_counted_memory.h"
+#include "base/memory/weak_ptr.h"
-+#include "base/sequence_checker.h"
++#include "base/task/sequenced_task_runner.h"
+#include "services/device/hid/hid_connection.h"
+
++namespace base {
++class SequencedTaskRunner;
++}
++
+namespace device {
+
+class HidConnectionFido : public HidConnection {
-+public:
++ public:
+ HidConnectionFido(
-+ scoped_refptr<HidDeviceInfo> device_info, base::ScopedFD fd,
++ scoped_refptr<HidDeviceInfo> device_info,
++ base::ScopedFD fd,
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
-+ bool allow_protected_reports, bool allow_fido_reports);
++ bool allow_protected_reports,
++ bool allow_fido_reports);
++ HidConnectionFido(HidConnectionFido&) = delete;
++ HidConnectionFido& operator=(HidConnectionFido&) = delete;
+
-+private:
++ private:
+ friend class base::RefCountedThreadSafe<HidConnectionFido>;
-+ class BlockingTaskHelper;
-+
-+ HidConnectionFido(const HidConnectionFido&) = delete;
-+ HidConnectionFido& operator=(const HidConnectionFido&) = delete;
++ class BlockingTaskRunnerHelper;
+
+ ~HidConnectionFido() override;
+
@@ -42,19 +48,16 @@
+ void PlatformSendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) override;
+
-+ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
-+ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
-+
-+ SEQUENCE_CHECKER(sequence_checker_);
-+
-+ base::WeakPtrFactory<HidConnectionFido> weak_factory_;
-+
+ // |helper_| lives on the sequence to which |blocking_task_runner_| posts
+ // tasks so all calls must be posted there including this object's
+ // destruction.
-+ std::unique_ptr<BlockingTaskHelper> helper_;
++ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_;
++
++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
++
++ base::WeakPtrFactory<HidConnectionFido> weak_factory_{this};
+};
+
-+} // namespace device
++} // namespace device
+
-+#endif // SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_
++#endif // SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_
diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
index ae990e29ff3d..a1d83847aba6 100644
--- a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
@@ -1,6 +1,6 @@
---- services/device/hid/hid_connection_freebsd.cc.orig 2022-06-17 14:20:10 UTC
+--- services/device/hid/hid_connection_freebsd.cc.orig 2025-01-19 19:00:05 UTC
+++ services/device/hid/hid_connection_freebsd.cc
-@@ -0,0 +1,242 @@
+@@ -0,0 +1,240 @@
+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -10,7 +10,6 @@
+#include <dev/usb/usbhid.h>
+#include <dev/usb/usb_ioctl.h>
+
-+#include "base/bind.h"
+#include "base/files/file_descriptor_watcher_posix.h"
+#include "base/location.h"
+#include "base/numerics/safe_math.h"
@@ -19,7 +18,6 @@
+#include "base/task/single_thread_task_runner.h"
+#include "base/threading/scoped_blocking_call.h"
+#include "base/threading/thread_restrictions.h"
-+#include "base/threading/thread_task_runner_handle.h"
+#include "components/device_event_log/device_event_log.h"
+#include "services/device/hid/hid_service.h"
+
@@ -32,7 +30,7 @@
+ base::WeakPtr<HidConnectionFreeBSD> connection)
+ : fd_(std::move(fd)),
+ connection_(connection),
-+ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ origin_task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
+ // Report buffers must always have room for the report ID.
+ report_buffer_size_ = device_info->max_input_report_size() + 1;
@@ -48,7 +46,7 @@
+ // Must be called on a thread that has a base::MessageLoopForIO.
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ base::internal::AssertBlockingAllowed();
++ base::AssertBlockingAllowed();
+
+ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
+ fd_.get(), base::BindRepeating(&BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking,
@@ -61,7 +59,7 @@
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+
-+ auto data = buffer->front();
++ auto data = buffer->as_vector().data();
+ size_t size = buffer->size();
+ // if report id is 0, it shouldn't be included
+ if (data[0] == 0) {
@@ -88,7 +86,7 @@
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ struct usb_gen_descriptor ugd;
+ ugd.ugd_report_type = UHID_FEATURE_REPORT;
-+ ugd.ugd_data = buffer->front();
++ ugd.ugd_data = buffer->as_vector().data();
+ ugd.ugd_maxlen = buffer->size();
+ int result = HANDLE_EINTR(
+ ioctl(fd_.get(), USB_GET_REPORT, &ugd));
@@ -111,14 +109,14 @@
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ struct usb_gen_descriptor ugd;
+ ugd.ugd_report_type = UHID_FEATURE_REPORT;
-+ ugd.ugd_data = buffer->front();
++ ugd.ugd_data = buffer->as_vector().data();
+ ugd.ugd_maxlen = buffer->size();
+ // FreeBSD does not require report id if it's not used
-+ if (buffer->front()[0] == 0) {
-+ ugd.ugd_data = buffer->front() + 1;
++ if (buffer->data()[0] == 0) {
++ ugd.ugd_data = buffer->as_vector().data() + 1;
+ ugd.ugd_maxlen = buffer->size() - 1;
+ } else {
-+ ugd.ugd_data = buffer->front();
++ ugd.ugd_data = buffer->as_vector().data();
+ ugd.ugd_maxlen = buffer->size();
+ }
+ int result = HANDLE_EINTR(
@@ -138,7 +136,7 @@
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ scoped_refptr<base::RefCountedBytes> buffer(new base::RefCountedBytes(report_buffer_size_));
-+ unsigned char* data = buffer->front();
++ unsigned char* data = buffer->as_vector().data();
+ size_t length = report_buffer_size_;
+ if (!has_report_id_) {
+ // FreeBSD will not prefix the buffer with a report ID if report IDs are not
@@ -222,7 +220,7 @@
+ scoped_refptr<base::RefCountedBytes> buffer(
+ new base::RefCountedBytes(device_info()->max_feature_report_size() + 1));
+ if (report_id != 0)
-+ buffer->data()[0] = report_id;
++ buffer->as_vector().data()[0] = report_id;
+
+ blocking_task_runner_->PostTask(
+ FROM_HERE,
diff --git a/www/chromium/files/patch-services_device_hid_hid__service.cc b/www/chromium/files/patch-services_device_hid_hid__service.cc
index 52e2a11ac3e5..0830326cab3c 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__service.cc
@@ -1,6 +1,6 @@
---- services/device/hid/hid_service.cc.orig 2022-05-19 14:06:27 UTC
+--- services/device/hid/hid_service.cc.orig 2022-11-30 08:12:58 UTC
+++ services/device/hid/hid_service.cc
-@@ -19,6 +19,10 @@
+@@ -20,6 +20,10 @@
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV)
#include "services/device/hid/hid_service_linux.h"
@@ -11,14 +11,14 @@
#elif BUILDFLAG(IS_MAC)
#include "services/device/hid/hid_service_mac.h"
#elif BUILDFLAG(IS_WIN)
-@@ -62,6 +66,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr
+@@ -68,6 +72,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr
std::unique_ptr<HidService> HidService::Create() {
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV)
- return base::WrapUnique(new HidServiceLinux());
+ return std::make_unique<HidServiceLinux>();
+#elif BUILDFLAG(IS_OPENBSD)
-+ return base::WrapUnique(new HidServiceFido());
++ return std::make_unique<HidServiceFido>();
+#elif BUILDFLAG(IS_FREEBSD)
-+ return base::WrapUnique(new HidServiceFreeBSD());
++ return std::make_unique<HidServiceFreeBSD>();
#elif BUILDFLAG(IS_MAC)
- return base::WrapUnique(new HidServiceMac());
+ return std::make_unique<HidServiceMac>();
#elif BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-services_device_hid_hid__service__fido.cc b/www/chromium/files/patch-services_device_hid_hid__service__fido.cc
index e0deca268d8a..a8583e40625b 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service__fido.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__service__fido.cc
@@ -1,7 +1,7 @@
---- services/device/hid/hid_service_fido.cc.orig 2022-06-17 14:20:10 UTC
+--- services/device/hid/hid_service_fido.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/hid/hid_service_fido.cc
-@@ -0,0 +1,327 @@
-+// Copyright 2020 The Chromium Authors. All rights reserved.
+@@ -0,0 +1,396 @@
++// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
@@ -10,76 +10,38 @@
+#include <fcntl.h>
+#include <poll.h>
+#include <stdint.h>
-+#include <sys/socket.h>
-+#include <sys/un.h>
-+#include <unistd.h>
+
-+// TODO: remove once the missing guard in fido.h is fixed upstream.
-+extern "C" {
++#include <dlfcn.h>
+#include <fido.h>
-+}
+
-+#include <set>
++#include <limits>
++#include <memory>
+#include <string>
-+#include <vector>
++#include <utility>
+
-+#include "base/bind.h"
+#include "base/files/file.h"
-+#include "base/files/file_descriptor_watcher_posix.h"
-+#include "base/files/file_enumerator.h"
++#include "base/files/file_path.h"
++#include "base/files/file_util.h"
++#include "base/files/scoped_file.h"
+#include "base/location.h"
-+#include "base/logging.h"
-+#include "base/posix/eintr_wrapper.h"
-+#include "base/task/single_thread_task_runner.h"
-+#include "base/task/thread_pool.h"
-+#include "base/stl_util.h"
-+#include "base/strings/pattern.h"
++#include "base/sequence_checker.h"
++#include "base/strings/string_number_conversions.h"
+#include "base/strings/string_split.h"
+#include "base/strings/string_util.h"
-+#include "base/strings/stringprintf.h"
-+#include "base/strings/sys_string_conversions.h"
++#include "base/task/sequenced_task_runner.h"
++#include "base/task/thread_pool.h"
+#include "base/threading/scoped_blocking_call.h"
-+#include "base/threading/thread_task_runner_handle.h"
++#include "build/build_config.h"
++#include "build/chromeos_buildflags.h"
+#include "components/device_event_log/device_event_log.h"
++#include "device/udev_linux/scoped_udev.h"
++#include "device/udev_linux/udev_watcher.h"
+#include "services/device/hid/hid_connection_fido.h"
+
+namespace device {
+
+namespace {
+
-+struct ConnectParams {
-+ ConnectParams(scoped_refptr<HidDeviceInfo> device_info,
-+ HidService::ConnectCallback callback)
-+ : device_info(std::move(device_info)), callback(std::move(callback)),
-+ task_runner(base::ThreadTaskRunnerHandle::Get()),
-+ blocking_task_runner(base::ThreadPool::CreateSequencedTaskRunner(
-+ HidService::kBlockingTaskTraits)) {}
-+ ~ConnectParams() {}
-+
-+ scoped_refptr<HidDeviceInfo> device_info;
-+ HidService::ConnectCallback callback;
-+ scoped_refptr<base::SequencedTaskRunner> task_runner;
-+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner;
-+ base::ScopedFD fd;
-+ bool allow_protected_reports;
-+ bool allow_fido_reports;
-+};
-+
-+void CreateConnection(std::unique_ptr<ConnectParams> params) {
-+ DCHECK(params->fd.is_valid());
-+ std::move(params->callback).Run(base::MakeRefCounted<HidConnectionFido>(
-+ std::move(params->device_info), std::move(params->fd),
-+ std::move(params->blocking_task_runner), params->allow_protected_reports,
-+ params->allow_fido_reports));
-+}
-+
-+void FinishOpen(std::unique_ptr<ConnectParams> params) {
-+ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
-+
-+ task_runner->PostTask(FROM_HERE,
-+ base::BindOnce(&CreateConnection, std::move(params)));
-+}
-+
+bool terrible_ping_kludge(int fd, const std::string &path) {
+ u_char data[256];
+ int i, n;
@@ -95,8 +57,8 @@
+ /* Ping command */
+ data[5] = 0x81;
+ /* One byte ping only, Vasili */
-+ data[6] = 0;
-+ data[7] = 1;
++ data[6] = 0;
++ data[7] = 1;
+ HID_LOG(EVENT) << "send ping " << i << " " << path;
+ if (write(fd, data, 64) == -1) {
+ HID_PLOG(ERROR) << "write " << path;
@@ -104,7 +66,7 @@
+ }
+ HID_LOG(EVENT) << "wait reply " << path;
+ memset(&pfd, 0, sizeof(pfd));
-+ pfd.fd = fd;
++ pfd.fd = fd;
+ pfd.events = POLLIN;
+ if ((n = poll(&pfd, 1, 100)) == -1) {
+ HID_PLOG(EVENT) << "poll " << path;
@@ -113,7 +75,7 @@
+ HID_LOG(EVENT) << "timed out " << path;
+ continue;
+ }
-+ if (read(fd, data, 64) == -1) {
++ if (read(fd, data, 64) == -1) {
+ HID_PLOG(ERROR) << "read " << path;
+ return false;
+ }
@@ -129,31 +91,6 @@
+ return false;
+}
+
-+void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params) {
-+ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
-+ base::BlockingType::MAY_BLOCK);
-+ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
-+
-+ const auto &device_node = params->device_info->device_node();
-+ base::FilePath device_path(device_node);
-+ int flags =
-+ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
-+ base::File device_file(device_path, flags);
-+ if (!device_file.IsValid()) {
-+ HID_LOG(EVENT) << "Failed to open '" << device_node << "': "
-+ << base::File::ErrorToString(device_file.error_details());
-+ task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr));
-+ return;
-+ }
-+ if (!terrible_ping_kludge(device_file.GetPlatformFile(), device_node)) {
-+ HID_LOG(EVENT) << "Failed to ping " << device_node;
-+ task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr));
-+ return;
-+ }
-+ params->fd.reset(device_file.TakePlatformFile());
-+ FinishOpen(std::move(params));
-+}
-+
+// HID report descriptor for U2F interface. Copied from:
+// https://chromium.googlesource.com/chromiumos/platform2/+/c6c7e4e54fce11932fedaa3ea10236bf75d85a2b%5E%21/u2fd/u2fhid.cc
+// Apparently Chromium wants to see these bytes, but OpenBSD fido(4)
@@ -178,26 +115,66 @@
+ 0xC0 /* End Collection */
+};
+
-+} // namespace
++} // namespace
++
++struct HidServiceFido::ConnectParams {
++ ConnectParams(scoped_refptr<HidDeviceInfo> device_info,
++ bool allow_protected_reports,
++ bool allow_fido_reports,
++ ConnectCallback callback)
++ : device_info(std::move(device_info)),
++ allow_protected_reports(allow_protected_reports),
++ allow_fido_reports(allow_fido_reports),
++ callback(std::move(callback)),
++ task_runner(base::SequencedTaskRunner::GetCurrentDefault()),
++ blocking_task_runner(
++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {}
++ ~ConnectParams() {}
++
++ scoped_refptr<HidDeviceInfo> device_info;
++ bool allow_protected_reports;
++ bool allow_fido_reports;
++ ConnectCallback callback;
++ scoped_refptr<base::SequencedTaskRunner> task_runner;
++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner;
++ base::ScopedFD fd;
++};
+
-+class HidServiceFido::BlockingTaskHelper {
-+public:
-+ BlockingTaskHelper(base::WeakPtr<HidServiceFido> service)
++class HidServiceFido::BlockingTaskRunnerHelper : public UdevWatcher::Observer {
++ public:
++ BlockingTaskRunnerHelper(base::WeakPtr<HidServiceFido> service)
+ : service_(std::move(service)),
-+ task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
+ }
+
-+ BlockingTaskHelper(const BlockingTaskHelper&) = delete;
-+ BlockingTaskHelper& operator=(const BlockingTaskHelper&) = delete;
++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete;
++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete;
+
-+ ~BlockingTaskHelper() = default;
++ ~BlockingTaskRunnerHelper() override {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ }
+
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ base::ScopedBlockingCall scoped_blocking_call(
-+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+
++ void *library = dlopen("libudev.so", RTLD_NOW | RTLD_LOCAL);
++ if (library) {
++ dlclose(library);
++ watcher_ = UdevWatcher::StartWatching(this);
++ watcher_->EnumerateExistingDevices();
++ } else {
++ HID_LOG(ERROR) << "No udev available, failling back to single enumeration";
++ WalkFidoDevices(nullptr);
++ }
++
++ task_runner_->PostTask(
++ FROM_HERE,
++ base::BindOnce(&HidServiceFido::FirstEnumerationComplete, service_));
++ }
++
++ private:
++ void WalkFidoDevices(const char *name) {
+ fido_dev_info_t *devlist = NULL;
+ fido_dev_t *dev = NULL;
+ size_t devlist_len = 0, i;
@@ -220,65 +197,99 @@
+
+ for (i = 0; i < devlist_len; i++) {
+ const fido_dev_info_t *di = fido_dev_info_ptr(devlist, i);
++
+ if (di == NULL) {
+ HID_LOG(ERROR) << "fido_dev_info_ptr " << i << " failed";
+ continue;
+ }
++
+ if ((path = fido_dev_info_path(di)) == NULL) {
+ HID_LOG(ERROR) << "fido_dev_info_path " << i << " failed";
+ continue;
+ }
++
++ if (name != nullptr && !strcmp(path, name)) {
++ HID_LOG(EVENT) << "hotplug device " << i << ": " << path;
++ OnFidoDeviceAdded(di);
++ break;
++ }
++
+ HID_LOG(EVENT) << "trying device " << i << ": " << path;
+ if ((dev = fido_dev_new()) == NULL) {
+ HID_LOG(ERROR) << "fido_dev_new failed";
+ continue;
+ }
++
+ if ((r = fido_dev_open(dev, path)) != FIDO_OK) {
+ HID_LOG(ERROR) << "fido_dev_open failed " << path;
+ fido_dev_free(&dev);
+ continue;
+ }
-+ OnDeviceAdded(di);
++
+ fido_dev_close(dev);
+ fido_dev_free(&dev);
-+ }
+
++ OnFidoDeviceAdded(di);
++ }
+ out:
+ if (devlist != NULL)
+ fido_dev_info_free(&devlist, MAX_FIDO_DEVICES);
-+
-+ task_runner_->PostTask(
-+ FROM_HERE,
-+ base::BindOnce(&HidServiceFido::FirstEnumerationComplete, service_));
+ }
+
-+ void OnDeviceAdded(const fido_dev_info_t *di) {
++ void OnFidoDeviceAdded(const fido_dev_info_t *di) {
+ auto null_as_empty = [](const char *r) -> std::string {
+ return (r != nullptr) ? r : "";
+ };
-+ std::string device_node(null_as_empty(fido_dev_info_path(di)));
++ std::string device_node(null_as_empty(fido_dev_info_path(di)));
+ std::vector<uint8_t> report_descriptor(
+ kU2fReportDesc, kU2fReportDesc + sizeof(kU2fReportDesc));
-+ scoped_refptr<HidDeviceInfo> device_info(new HidDeviceInfo(
-+ device_node, /*physical_device_id=*/"", fido_dev_info_vendor(di),
++
++ auto device_info = base::MakeRefCounted<HidDeviceInfo>(
++ device_node, /*physical_device_id*/"", fido_dev_info_vendor(di),
+ fido_dev_info_product(di), null_as_empty(fido_dev_info_product_string(di)),
+ null_as_empty(fido_dev_info_manufacturer_string(di)),
-+ device::mojom::HidBusType::kHIDBusTypeUSB, report_descriptor,
-+ device_node));
++ device::mojom::HidBusType::kHIDBusTypeUSB, report_descriptor,
++ device_node);
++
++ task_runner_->PostTask(
++ FROM_HERE,
++ base::BindOnce(&HidServiceFido::AddDevice, service_, device_info));
++ }
++
++ // UdevWatcher::Observer
++ void OnDeviceAdded(ScopedUdevDevicePtr device) override {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++
++ const char* subsystem = udev_device_get_subsystem(device.get());
++ if (!subsystem || strcmp(subsystem, "fido") != 0)
++ return;
+
-+ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::AddDevice,
-+ service_, device_info));
++ const char* device_path = udev_device_get_syspath(device.get());
++ if (!device_path)
++ return;
++
++ WalkFidoDevices(device_path);
+ }
+
-+ void OnDeviceRemoved(std::string device_node) {
++ void OnDeviceRemoved(ScopedUdevDevicePtr device) override {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
-+ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::RemoveDevice,
-+ service_, device_node));
++
++ const char* device_path = udev_device_get_syspath(device.get());
++ if (device_path) {
++ task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(&HidServiceFido::RemoveDevice, service_,
++ std::string(device_path)));
++ }
+ }
+
-+private:
++ void OnDeviceChanged(ScopedUdevDevicePtr) override {}
++
+ SEQUENCE_CHECKER(sequence_checker_);
++ std::unique_ptr<UdevWatcher> watcher_;
+
+ // This weak pointer is only valid when checked on this task runner.
+ base::WeakPtr<HidServiceFido> service_;
@@ -286,45 +297,103 @@
+};
+
+HidServiceFido::HidServiceFido()
-+ : task_runner_(base::ThreadTaskRunnerHandle::Get()),
-+ blocking_task_runner_(
++ : blocking_task_runner_(
+ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)),
-+ weak_factory_(this), helper_(std::make_unique<BlockingTaskHelper>(
-+ weak_factory_.GetWeakPtr())) {
++ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) {
++ // We need to properly initialize |blocking_task_helper_| here because we need
++ // |weak_factory_| to be created first.
++ helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr()));
+ blocking_task_runner_->PostTask(
-+ FROM_HERE,
-+ base::BindOnce(&BlockingTaskHelper::Start, base::Unretained(helper_.get())));
++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start,
++ base::Unretained(helper_.get())));
+}
+
-+HidServiceFido::~HidServiceFido() {
-+ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
-+}
++HidServiceFido::~HidServiceFido() = default;
+
+base::WeakPtr<HidService> HidServiceFido::GetWeakPtr() {
+ return weak_factory_.GetWeakPtr();
+}
+
-+void HidServiceFido::Connect(const std::string &device_guid,
-+ bool allow_protected_reports,
-+ bool allow_fido_reports,
-+ ConnectCallback callback) {
++void HidServiceFido::Connect(const std::string& device_guid,
++ bool allow_protected_reports,
++ bool allow_fido_reports,
++ ConnectCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
-+ const auto &map_entry = devices().find(device_guid);
++ const auto& map_entry = devices().find(device_guid);
+ if (map_entry == devices().end()) {
-+ base::ThreadTaskRunnerHandle::Get()->PostTask(
++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(callback), nullptr));
+ return;
+ }
-+
+ scoped_refptr<HidDeviceInfo> device_info = map_entry->second;
+
-+ auto params = std::make_unique<ConnectParams>(device_info, std::move(callback));
-+
++ auto params =
++ std::make_unique<ConnectParams>(device_info, allow_protected_reports,
++ allow_fido_reports, std::move(callback));
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner =
+ params->blocking_task_runner;
+ blocking_task_runner->PostTask(
-+ FROM_HERE, base::BindOnce(&OpenOnBlockingThread, std::move(params)));
++ FROM_HERE, base::BindOnce(&HidServiceFido::OpenOnBlockingThread,
++ std::move(params)));
++}
++
++// static
++void HidServiceFido::OpenOnBlockingThread(
++ std::unique_ptr<ConnectParams> params) {
++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
++ base::BlockingType::MAY_BLOCK);
++ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
++
++ base::FilePath device_path(params->device_info->device_node());
++ base::File device_file;
++ int flags =
++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
++ device_file.Initialize(device_path, flags);
++ if (!device_file.IsValid()) {
++ base::File::Error file_error = device_file.error_details();
++
++ if (file_error == base::File::FILE_ERROR_ACCESS_DENIED) {
++ HID_LOG(EVENT)
++ << "Access denied opening device read-write, trying read-only.";
++ flags = base::File::FLAG_OPEN | base::File::FLAG_READ;
++ device_file.Initialize(device_path, flags);
++ }
++ }
++ if (!device_file.IsValid()) {
++ HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node()
++ << "': "
++ << base::File::ErrorToString(device_file.error_details());
++ task_runner->PostTask(FROM_HERE,
++ base::BindOnce(std::move(params->callback), nullptr));
++ return;
++ }
++ if (!terrible_ping_kludge(device_file.GetPlatformFile(), params->device_info->device_node())) {
++ HID_LOG(EVENT) << "Failed to ping " << params->device_info->device_node();
++ task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr));
++ return;
++ }
++ params->fd.reset(device_file.TakePlatformFile());
++
++ task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::FinishOpen,
++ std::move(params)));
++}
++
++// static
++void HidServiceFido::FinishOpen(std::unique_ptr<ConnectParams> params) {
++ DCHECK(params->fd.is_valid());
++
++ if (!base::SetNonBlocking(params->fd.get())) {
++ HID_PLOG(DEBUG) << "Failed to set the non-blocking flag on the device fd";
++ std::move(params->callback).Run(nullptr);
++ return;
++ }
++
++ std::move(params->callback)
++ .Run(base::MakeRefCounted<HidConnectionFido>(
++ std::move(params->device_info), std::move(params->fd),
++ std::move(params->blocking_task_runner),
++ params->allow_protected_reports, params->allow_fido_reports));
+}
+
-+} // namespace device
++} // namespace device
diff --git a/www/chromium/files/patch-services_device_hid_hid__service__fido.h b/www/chromium/files/patch-services_device_hid_hid__service__fido.h
index 77e12e42fe1c..c5af55c5d3c5 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service__fido.h
+++ b/www/chromium/files/patch-services_device_hid_hid__service__fido.h
@@ -1,46 +1,68 @@
---- services/device/hid/hid_service_fido.h.orig 2022-02-07 13:39:41 UTC
+--- services/device/hid/hid_service_fido.h.orig 2022-10-28 16:39:00 UTC
+++ services/device/hid/hid_service_fido.h
-@@ -0,0 +1,43 @@
-+// Copyright 2020 The Chromium Authors. All rights reserved.
+@@ -0,0 +1,65 @@
++// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
-+#ifndef SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_
-+#define SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_
++#ifndef SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_
++#define SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_
+
-+#include <string>
++#include <memory>
+
-+#include "base/memory/ref_counted.h"
++#include "base/compiler_specific.h"
++#include "base/files/scoped_file.h"
+#include "base/memory/weak_ptr.h"
++#include "base/task/sequenced_task_runner.h"
++#include "build/build_config.h"
++#include "build/chromeos_buildflags.h"
++#include "services/device/hid/hid_device_info.h"
+#include "services/device/hid/hid_service.h"
+
+namespace device {
+
+class HidServiceFido : public HidService {
-+public:
++ public:
+ HidServiceFido();
-+
-+ HidServiceFido(const HidServiceFido&) = delete;
-+ HidServiceFido& operator=(const HidServiceFido&) = delete;
-+
++ HidServiceFido(HidServiceFido&) = delete;
++ HidServiceFido& operator=(HidServiceFido&) = delete;
+ ~HidServiceFido() override;
+
-+ void Connect(const std::string &device_guid,
++ // HidService:
++ void Connect(const std::string& device_id,
+ bool allow_protected_reports,
+ bool allow_fido_reports,
-+ ConnectCallback connect) override;
++ ConnectCallback callback) override;
+ base::WeakPtr<HidService> GetWeakPtr() override;
+
-+private:
-+ class BlockingTaskHelper;
-+ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
++ private:
++ struct ConnectParams;
++ class BlockingTaskRunnerHelper;
++
++// These functions implement the process of locating, requesting access to and
++// opening a device. Because this operation crosses multiple threads these
++// functions are static and the necessary parameters are passed as a single
++// struct.
++#if BUILDFLAG(IS_CHROMEOS_ASH)
++ static void OnPathOpenComplete(std::unique_ptr<ConnectParams> params,
++ base::ScopedFD fd);
++ static void OnPathOpenError(const std::string& device_path,
++ ConnectCallback callback,
++ const std::string& error_name,
++ const std::string& error_message);
++#else
++ static void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params);
++#endif
++ static void FinishOpen(std::unique_ptr<ConnectParams> params);
++
+ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
-+ base::WeakPtrFactory<HidServiceFido> weak_factory_;
++
+ // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds
+ // a weak reference back to the service that owns it.
-+ std::unique_ptr<BlockingTaskHelper> helper_;
++ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_;
++ base::WeakPtrFactory<HidServiceFido> weak_factory_{this};
+};
+
-+} // namespace device
++} // namespace device
+
-+#endif // SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_
++#endif // SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_
diff --git a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
index 4ed1d48f5445..59661d7c81ea 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
@@ -1,6 +1,6 @@
---- services/device/hid/hid_service_freebsd.cc.orig 2022-06-17 14:20:10 UTC
+--- services/device/hid/hid_service_freebsd.cc.orig 2025-01-19 19:00:05 UTC
+++ services/device/hid/hid_service_freebsd.cc
-@@ -0,0 +1,397 @@
+@@ -0,0 +1,395 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -16,7 +16,6 @@
+#include <string>
+#include <vector>
+
-+#include "base/bind.h"
+#include "base/files/file_descriptor_watcher_posix.h"
+#include "base/files/file_enumerator.h"
+#include "base/files/file_util.h"
@@ -33,7 +32,6 @@
+#include "base/task/single_thread_task_runner.h"
+#include "base/task/thread_pool.h"
+#include "base/threading/scoped_blocking_call.h"
-+#include "base/threading/thread_task_runner_handle.h"
+#include "base/threading/thread_restrictions.h"
+#include "components/device_event_log/device_event_log.h"
+#include "services/device/hid/hid_connection_freebsd.h"
@@ -51,7 +49,7 @@
+ allow_protected_reports(allow_protected_reports),
+ allow_fido_reports(allow_fido_reports),
+ callback(std::move(callback)),
-+ task_runner(base::ThreadTaskRunnerHandle::Get()),
++ task_runner(base::SequencedTaskRunner::GetCurrentDefault()),
+ blocking_task_runner(
+ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {}
+ ~ConnectParams() {}
@@ -69,7 +67,7 @@
+ public:
+ BlockingTaskRunnerHelper(base::WeakPtr<HidServiceFreeBSD> service)
+ : service_(std::move(service)),
-+ task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
+
+ timer_.reset(new base::RepeatingTimer());
@@ -108,7 +106,7 @@
+
+ bool HaveReadWritePermissions(std::string device_id) {
+ std::string device_node = "/dev/" + device_id;
-+ base::internal::AssertBlockingAllowed();
++ base::AssertBlockingAllowed();
+
+ base::FilePath device_path(device_node);
+ base::File device_file;
@@ -132,7 +130,7 @@
+
+ std::vector<uint8_t> report_descriptor;
+
-+ base::internal::AssertBlockingAllowed();
++ base::AssertBlockingAllowed();
+
+ base::FilePath device_path(device_node);
+ base::File device_file;
@@ -198,7 +196,7 @@
+ private:
+
+ void CheckPendingPermissionChange() {
-+ base::internal::AssertBlockingAllowed();
++ base::AssertBlockingAllowed();
+ std::map<std::string, int>::iterator it;
+ for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) {
+ std::string device_name = it->first;
@@ -224,7 +222,7 @@
+ }
+
+ void SetupDevdMonitor() {
-+ base::internal::AssertBlockingAllowed();
++ base::AssertBlockingAllowed();
+
+ int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
+ if (devd_fd < 0)
@@ -360,7 +358,7 @@
+
+ const auto& map_entry = devices().find(device_guid);
+ if (map_entry == devices().end()) {
-+ base::ThreadTaskRunnerHandle::Get()->PostTask(
++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(callback), nullptr));
+ return;
+ }
diff --git a/www/chromium/files/patch-services_device_public_cpp_device__features.cc b/www/chromium/files/patch-services_device_public_cpp_device__features.cc
new file mode 100644
index 000000000000..625b5a28ce7b
--- /dev/null
+++ b/www/chromium/files/patch-services_device_public_cpp_device__features.cc
@@ -0,0 +1,11 @@
+--- services/device/public/cpp/device_features.cc.orig 2025-05-28 14:55:43 UTC
++++ services/device/public/cpp/device_features.cc
+@@ -140,7 +140,7 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() {
+
+ // Controls whether Chrome will try to automatically detach kernel drivers when
+ // a USB interface is busy.
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kAutomaticUsbDetach,
+ "AutomaticUsbDetach",
+ base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-services_device_public_cpp_device__features.h b/www/chromium/files/patch-services_device_public_cpp_device__features.h
new file mode 100644
index 000000000000..905e38fe5337
--- /dev/null
+++ b/www/chromium/files/patch-services_device_public_cpp_device__features.h
@@ -0,0 +1,11 @@
+--- services/device/public/cpp/device_features.h.orig 2025-04-04 08:52:13 UTC
++++ services/device/public/cpp/device_features.h
+@@ -53,7 +53,7 @@ extern const DEVICE_FEATURES_EXPORT
+
+ DEVICE_FEATURES_EXPORT bool IsOsLevelGeolocationPermissionSupportEnabled();
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ DEVICE_FEATURES_EXPORT BASE_DECLARE_FEATURE(kAutomaticUsbDetach);
+ #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h b/www/chromium/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h
new file mode 100644
index 000000000000..ae295b3276ed
--- /dev/null
+++ b/www/chromium/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h
@@ -0,0 +1,11 @@
+--- services/device/public/cpp/generic_sensor/sensor_reading.h.orig 2023-11-03 10:09:45 UTC
++++ 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/chromium/files/patch-services_device_public_mojom_BUILD.gn b/www/chromium/files/patch-services_device_public_mojom_BUILD.gn
new file mode 100644
index 000000000000..d3fcd6156eec
--- /dev/null
+++ b/www/chromium/files/patch-services_device_public_mojom_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/device/public/mojom/BUILD.gn.orig 2025-07-02 06:08:04 UTC
++++ services/device/public/mojom/BUILD.gn
+@@ -99,7 +99,7 @@ mojom("device_service") {
+ enable_js_fuzzing = false
+
+ enabled_features = []
+- if ((is_linux || is_chromeos) && use_udev) {
++ if ((is_linux || is_chromeos) && !is_bsd && use_udev) {
+ enabled_features += [ "enable_input_device_manager" ]
+ }
+
diff --git a/www/chromium/files/patch-services_device_serial_BUILD.gn b/www/chromium/files/patch-services_device_serial_BUILD.gn
index 90d8884067c7..af1019f78680 100644
--- a/www/chromium/files/patch-services_device_serial_BUILD.gn
+++ b/www/chromium/files/patch-services_device_serial_BUILD.gn
@@ -1,16 +1,11 @@
---- services/device/serial/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- services/device/serial/BUILD.gn.orig 2025-04-04 08:52:13 UTC
+++ services/device/serial/BUILD.gn
-@@ -83,6 +83,13 @@ if (is_win || ((is_linux || is_chromeos) && use_udev)
- ]
- }
+@@ -4,7 +4,7 @@
-+ if (is_bsd) {
-+ sources -= [
-+ "serial_device_enumerator_linux.cc",
-+ "serial_device_enumerator_linux.h"
-+ ]
-+ }
-+
- if (use_udev) {
- deps += [ "//device/udev_linux" ]
- }
+ import("//build/config/features.gni")
+
+-if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_android) {
++if (is_win || ((!is_bsd && is_linux || is_chromeos) && use_udev) || is_mac || is_android) {
+ config("platform_support") {
+ visibility = [ ":serial" ]
+ if (is_win) {
diff --git a/www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc b/www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc
index 88202dc0ac11..5c203817afb9 100644
--- a/www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc
+++ b/www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc
@@ -1,6 +1,6 @@
---- services/device/serial/serial_device_enumerator.cc.orig 2022-05-19 14:06:27 UTC
+--- services/device/serial/serial_device_enumerator.cc.orig 2025-07-02 06:08:04 UTC
+++ services/device/serial/serial_device_enumerator.cc
-@@ -11,7 +11,7 @@
+@@ -12,7 +12,7 @@
#include "build/build_config.h"
#include "components/device_event_log/device_event_log.h"
@@ -9,7 +9,7 @@
#include "services/device/serial/serial_device_enumerator_linux.h"
#elif BUILDFLAG(IS_MAC)
#include "services/device/serial/serial_device_enumerator_mac.h"
-@@ -24,7 +24,7 @@ namespace device {
+@@ -27,7 +27,7 @@ namespace device {
// static
std::unique_ptr<SerialDeviceEnumerator> SerialDeviceEnumerator::Create(
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
diff --git a/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc b/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc
index 4fdce4ce7f02..c6e3f37fc9c4 100644
--- a/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc
+++ b/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc
@@ -1,6 +1,6 @@
---- services/device/serial/serial_io_handler_posix.cc.orig 2022-06-17 14:20:10 UTC
+--- services/device/serial/serial_io_handler_posix.cc.orig 2024-08-26 12:06:38 UTC
+++ services/device/serial/serial_io_handler_posix.cc
-@@ -67,7 +67,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
+@@ -73,7 +73,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
BITRATE_TO_SPEED_CASE(9600)
BITRATE_TO_SPEED_CASE(19200)
BITRATE_TO_SPEED_CASE(38400)
diff --git a/www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc b/www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc
index e4ec8aa2cd76..fef990fccb85 100644
--- a/www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc
+++ b/www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc
@@ -1,14 +1,15 @@
---- services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2022-04-21 18:48:31 UTC
+--- services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2025-03-05 08:14:56 UTC
+++ services/device/time_zone_monitor/time_zone_monitor_linux.cc
-@@ -136,7 +136,11 @@ class TimeZoneMonitorLinuxImpl
+@@ -131,9 +131,12 @@ class TimeZoneMonitorLinuxImpl
// false positives are harmless, assuming the false positive rate is
// reasonable.
- const char* const kFilesToWatch[] = {
-+#if defined(OS_BSD)
-+ "/etc/localtime",
+ const auto kFilesToWatch = std::to_array<const char*>({
++#if BUILDFLAG(IS_BSD)
+ "/etc/localtime",
+#else
- "/etc/localtime", "/etc/timezone", "/etc/TZ",
+ "/etc/timezone",
+ "/etc/TZ",
+#endif
- };
+ });
for (size_t index = 0; index < std::size(kFilesToWatch); ++index) {
file_path_watchers_.push_back(std::make_unique<base::FilePathWatcher>());
diff --git a/www/chromium/files/patch-services_device_usb_BUILD.gn b/www/chromium/files/patch-services_device_usb_BUILD.gn
index 9e9f692c95ad..73d54126ff52 100644
--- a/www/chromium/files/patch-services_device_usb_BUILD.gn
+++ b/www/chromium/files/patch-services_device_usb_BUILD.gn
@@ -1,33 +1,29 @@
---- services/device/usb/BUILD.gn.orig 2022-02-28 16:54:41 UTC
+--- services/device/usb/BUILD.gn.orig 2025-03-05 08:14:56 UTC
+++ services/device/usb/BUILD.gn
-@@ -103,15 +103,17 @@ static_library("usb") {
+@@ -90,7 +90,7 @@ static_library("usb") {
deps += [ "//third_party/re2" ]
}
- if (is_mac) {
-- sources += [
-- "usb_device_handle_mac.cc",
-- "usb_device_handle_mac.h",
-- "usb_device_mac.cc",
-- "usb_device_mac.h",
-- "usb_service_mac.cc",
-- "usb_service_mac.h",
-- ]
-+ if (is_mac || is_bsd) {
-+ if (is_mac) {
-+ sources += [
-+ "usb_device_handle_mac.cc",
-+ "usb_device_handle_mac.h",
-+ "usb_device_mac.cc",
-+ "usb_device_mac.h",
-+ "usb_service_mac.cc",
-+ "usb_service_mac.h",
-+ ]
-+ }
-
++ if (is_mac || is_openbsd) {
# These sources and deps are required for libusb.
- # TODO(https://crbug.com/1096743) Remove these sources.
-@@ -152,7 +154,7 @@ static_library("usb") {
+ # TODO(crbug.com/40136337) Remove these sources.
+ sources += [
+@@ -113,6 +113,13 @@ static_library("usb") {
+ deps += [ "//third_party/libusb" ]
+ }
+
++ if (is_freebsd) {
++ sources += [
++ "usb_service_fake.cc",
++ "usb_service_fake.h",
++ ]
++ }
++
+ if (is_linux || is_chromeos) {
+ sources += [
+ "usb_device_linux.cc",
+@@ -134,7 +141,7 @@ static_library("usb") {
deps += [ "//device/udev_linux" ]
}
diff --git a/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc b/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc
new file mode 100644
index 000000000000..8a1c5f243f27
--- /dev/null
+++ b/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc
@@ -0,0 +1,38 @@
+--- services/device/usb/usb_device_handle_usbfs.cc.orig 2025-07-02 06:08:04 UTC
++++ services/device/usb/usb_device_handle_usbfs.cc
+@@ -38,7 +38,7 @@
+ #include "chromeos/dbus/permission_broker/permission_broker_client.h"
+ #endif
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "services/device/public/cpp/device_features.h"
+ #include "services/device/usb/usb_interface_detach_allowlist.h"
+ #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+@@ -270,7 +270,7 @@ bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::R
+ return true;
+ }
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::DetachInterface(
+ int interface_number,
+ const CombinedInterfaceInfo& interface_info) {
+@@ -598,7 +598,7 @@ void UsbDeviceHandleUsbfs::ClaimInterface(int interfac
+ return;
+ }
+ #endif
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(features::kAutomaticUsbDetach)) {
+ const mojom::UsbConfigurationInfo* config =
+ device_->GetActiveConfiguration();
+@@ -944,7 +944,7 @@ void UsbDeviceHandleUsbfs::ReleaseInterfaceComplete(in
+ return;
+ }
+ #endif
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(features::kAutomaticUsbDetach)) {
+ helper_.AsyncCall(&BlockingTaskRunnerHelper::ReattachInterface)
+ .WithArgs(interface_number)
diff --git a/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.h b/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.h
new file mode 100644
index 000000000000..448537157c55
--- /dev/null
+++ b/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.h
@@ -0,0 +1,38 @@
+--- services/device/usb/usb_device_handle_usbfs.h.orig 2025-05-05 10:57:53 UTC
++++ services/device/usb/usb_device_handle_usbfs.h
+@@ -19,7 +19,7 @@
+ #include "base/threading/sequence_bound.h"
+ #include "services/device/usb/usb_device_handle.h"
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/containers/flat_set.h"
+ #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+
+@@ -215,7 +215,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper {
+ bool ClearHalt(uint8_t endpoint_address);
+ void DiscardUrb(Transfer* transfer);
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Detach the interface from a kernel driver before ClaimInterface
+ virtual bool DetachInterface(int interface_number,
+ const CombinedInterfaceInfo& interfaceInfo);
+@@ -228,7 +228,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper {
+ // Called when |fd_| is writable without blocking.
+ void OnFileCanWriteWithoutBlocking();
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Called from |DetachInterface|.
+ std::string GetKernelDriver(int interface_number) const;
+ #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+@@ -240,7 +240,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper {
+ std::unique_ptr<base::FileDescriptorWatcher::Controller> watch_controller_;
+ SEQUENCE_CHECKER(sequence_checker_);
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // All interfaces that have been detached from kernel drivers
+ base::flat_set<int> detached_interfaces_;
+ #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-services_device_usb_usb__service.cc b/www/chromium/files/patch-services_device_usb_usb__service.cc
new file mode 100644
index 000000000000..3bfbcb92200a
--- /dev/null
+++ b/www/chromium/files/patch-services_device_usb_usb__service.cc
@@ -0,0 +1,35 @@
+--- services/device/usb/usb_service.cc.orig 2025-07-02 06:08:04 UTC
++++ services/device/usb/usb_service.cc
+@@ -20,12 +20,16 @@
+
+ #if BUILDFLAG(IS_ANDROID)
+ #include "services/device/usb/usb_service_android.h"
+-#elif defined(USE_UDEV)
++#elif defined(USE_UDEV) && !BUILDFLAG(IS_BSD)
+ #include "services/device/usb/usb_service_linux.h"
+ #elif BUILDFLAG(IS_MAC)
+ #include "services/device/usb/usb_service_impl.h"
+ #elif BUILDFLAG(IS_WIN)
+ #include "services/device/usb/usb_service_win.h"
++#elif BUILDFLAG(IS_OPENBSD)
++#include "services/device/usb/usb_service_impl.h"
++#elif BUILDFLAG(IS_FREEBSD)
++#include "services/device/usb/usb_service_fake.h"
+ #endif
+
+ namespace device {
+@@ -48,11 +52,13 @@ constexpr base::TaskTraits UsbService::kBlockingTaskTr
+ std::unique_ptr<UsbService> UsbService::Create() {
+ #if BUILDFLAG(IS_ANDROID)
+ return base::WrapUnique(new UsbServiceAndroid());
+-#elif defined(USE_UDEV)
++#elif defined(USE_UDEV) && !BUILDFLAG(IS_BSD)
+ return base::WrapUnique(new UsbServiceLinux());
+ #elif BUILDFLAG(IS_WIN)
+ return base::WrapUnique(new UsbServiceWin());
+ #elif BUILDFLAG(IS_MAC)
++ return base::WrapUnique(new UsbServiceImpl());
++#elif BUILDFLAG(IS_BSD)
+ return base::WrapUnique(new UsbServiceImpl());
+ #else
+ return nullptr;
diff --git a/www/chromium/files/patch-services_device_usb_usb__service__fake.cc b/www/chromium/files/patch-services_device_usb_usb__service__fake.cc
new file mode 100644
index 000000000000..dd8e89a9ce71
--- /dev/null
+++ b/www/chromium/files/patch-services_device_usb_usb__service__fake.cc
@@ -0,0 +1,52 @@
+--- services/device/usb/usb_service_fake.cc.orig 2023-03-09 06:31:50 UTC
++++ services/device/usb/usb_service_fake.cc
+@@ -0,0 +1,49 @@
++// Copyright 2014 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#include "services/device/usb/usb_service_fake.h"
++
++#include <stdint.h>
++
++#include <list>
++#include <memory>
++#include <set>
++#include <utility>
++
++#include "base/barrier_closure.h"
++#include "base/containers/contains.h"
++#include "base/location.h"
++#include "base/memory/ref_counted_memory.h"
++#include "base/memory/weak_ptr.h"
++#include "base/strings/string_number_conversions.h"
++#include "base/strings/utf_string_conversions.h"
++#include "base/task/sequenced_task_runner.h"
++#include "base/task/single_thread_task_runner.h"
++#include "base/task/thread_pool.h"
++#include "base/threading/scoped_blocking_call.h"
++#include "build/build_config.h"
++#include "components/device_event_log/device_event_log.h"
++#include "services/device/usb/usb_device_handle.h"
++#include "services/device/usb/usb_error.h"
++#include "services/device/usb/webusb_descriptors.h"
++
++namespace device {
++
++UsbServiceImpl::UsbServiceImpl()
++ : task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
++ NOTIMPLEMENTED();
++}
++
++UsbServiceImpl::~UsbServiceImpl() {
++ NOTIMPLEMENTED();
++ NotifyWillDestroyUsbService();
++}
++
++void UsbServiceImpl::GetDevices(GetDevicesCallback callback) {
++ NOTIMPLEMENTED();
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ UsbService::GetDevices(std::move(callback));
++}
++
++} // namespace device
diff --git a/www/chromium/files/patch-services_device_usb_usb__service__fake.h b/www/chromium/files/patch-services_device_usb_usb__service__fake.h
new file mode 100644
index 000000000000..2e123db7f3be
--- /dev/null
+++ b/www/chromium/files/patch-services_device_usb_usb__service__fake.h
@@ -0,0 +1,51 @@
+--- services/device/usb/usb_service_fake.h.orig 2022-10-29 13:32:26 UTC
++++ services/device/usb/usb_service_fake.h
+@@ -0,0 +1,48 @@
++// Copyright 2015 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_
++#define SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_
++
++#include "services/device/usb/usb_service.h"
++
++#include <stddef.h>
++
++#include <map>
++#include <set>
++#include <string>
++#include <vector>
++
++#include "base/containers/queue.h"
++#include "base/memory/weak_ptr.h"
++#include "build/build_config.h"
++#include "services/device/usb/usb_context.h"
++#include "services/device/usb/usb_device_impl.h"
++#include "third_party/abseil-cpp/absl/types/optional.h"
++
++namespace device {
++
++class UsbDeviceImpl;
++
++class UsbServiceImpl final : public UsbService {
++ public:
++ UsbServiceImpl();
++
++ UsbServiceImpl(const UsbServiceImpl&) = delete;
++ UsbServiceImpl& operator=(const UsbServiceImpl&) = delete;
++
++ ~UsbServiceImpl() override;
++
++ private:
++ // device::UsbService implementation
++ void GetDevices(GetDevicesCallback callback) override;
++
++ void OnUsbContext(scoped_refptr<UsbContext> context);
++
++ scoped_refptr<base::SequencedTaskRunner> task_runner_;
++};
++
++} // namespace device
++
++#endif // SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_
diff --git a/www/chromium/files/patch-services_network_BUILD.gn b/www/chromium/files/patch-services_network_BUILD.gn
index 85e273769ebf..10f43d6030c0 100644
--- a/www/chromium/files/patch-services_network_BUILD.gn
+++ b/www/chromium/files/patch-services_network_BUILD.gn
@@ -1,10 +1,10 @@
---- services/network/BUILD.gn.orig 2022-06-17 14:20:10 UTC
+--- services/network/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ services/network/BUILD.gn
-@@ -332,7 +332,6 @@ if (is_linux || is_chromeos) {
+@@ -417,7 +417,6 @@ if (is_linux || is_chromeos) {
]
deps = [
"//base:base",
- "//sandbox/linux:sandbox_services",
"//sandbox/policy:policy",
]
- }
+ configs += [ "//build/config/compiler:wexit_time_destructors" ]
diff --git a/www/chromium/files/patch-services_network_network__context.cc b/www/chromium/files/patch-services_network_network__context.cc
new file mode 100644
index 000000000000..6740f701df54
--- /dev/null
+++ b/www/chromium/files/patch-services_network_network__context.cc
@@ -0,0 +1,20 @@
+--- services/network/network_context.cc.orig 2025-07-02 06:08:04 UTC
++++ services/network/network_context.cc
+@@ -611,7 +611,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_) {
+@@ -2556,7 +2556,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/chromium/files/patch-services_network_network__context.h b/www/chromium/files/patch-services_network_network__context.h
new file mode 100644
index 000000000000..f7cb52d775ad
--- /dev/null
+++ b/www/chromium/files/patch-services_network_network__context.h
@@ -0,0 +1,11 @@
+--- services/network/network_context.h.orig 2025-07-02 06:08:04 UTC
++++ services/network/network_context.h
+@@ -730,7 +730,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/chromium/files/patch-services_network_network__sandbox__hook__linux.cc b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc
index 8aec4c470be5..fc3372ba765a 100644
--- a/www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc
+++ b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc
@@ -1,26 +1,37 @@
---- services/network/network_sandbox_hook_linux.cc.orig 2022-03-19 12:56:15 UTC
+--- services/network/network_sandbox_hook_linux.cc.orig 2024-04-19 13:02:56 UTC
+++ services/network/network_sandbox_hook_linux.cc
-@@ -26,12 +26,15 @@ sandbox::syscall_broker::BrokerCommandSet GetNetworkBr
- });
- }
+@@ -15,11 +15,14 @@
+ #include "sandbox/linux/syscall_broker/broker_file_permission.h"
+ #include "sandbox/policy/features.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,
+@@ -103,9 +106,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
+@@ -118,6 +123,7 @@ bool NetworkPreSandboxHook(std::vector<std::string> ne
+ GetNetworkBrokerCommandSet(),
+ GetNetworkFilePermissions(std::move(network_context_parent_dirs)),
+ options);
+#endif
+
return true;
}
-
diff --git a/www/chromium/files/patch-services_network_network__sandbox__hook__linux.h b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.h
index 169fa0c9707c..29f99471cfc7 100644
--- a/www/chromium/files/patch-services_network_network__sandbox__hook__linux.h
+++ b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.h
@@ -1,11 +1,11 @@
---- services/network/network_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
+--- services/network/network_sandbox_hook_linux.h.orig 2023-04-28 17:01:32 UTC
+++ 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/chromium/files/patch-services_network_network__service.cc b/www/chromium/files/patch-services_network_network__service.cc
index 5b6a4e94b1db..2087a12e2163 100644
--- a/www/chromium/files/patch-services_network_network__service.cc
+++ b/www/chromium/files/patch-services_network_network__service.cc
@@ -1,11 +1,34 @@
---- services/network/network_service.cc.orig 2022-03-25 21:59:56 UTC
+--- services/network/network_service.cc.orig 2025-07-02 06:08:04 UTC
+++ services/network/network_service.cc
-@@ -82,7 +82,7 @@
+@@ -102,11 +102,11 @@
#include "third_party/boringssl/src/include/openssl/cpu.h"
#endif
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) && \
- !BUILDFLAG(IS_CHROMECAST)
- #include "components/os_crypt/key_storage_config_linux.h"
+-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS)
+ #include "components/os_crypt/sync/key_storage_config_linux.h"
#endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "services/network/network_change_notifier_passive_factory.h"
+ #endif
+
+@@ -1042,7 +1042,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) {
+@@ -1148,7 +1148,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/chromium/files/patch-services_network_network__service.h b/www/chromium/files/patch-services_network_network__service.h
new file mode 100644
index 000000000000..c2de826ab678
--- /dev/null
+++ b/www/chromium/files/patch-services_network_network__service.h
@@ -0,0 +1,29 @@
+--- services/network/network_service.h.orig 2025-07-02 06:08:04 UTC
++++ services/network/network_service.h
+@@ -251,7 +251,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService
+ const std::vector<ContentSettingPatternSource>& settings) 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;
+@@ -294,7 +294,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)
+@@ -552,7 +552,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/chromium/files/patch-services_network_public_cpp_BUILD.gn b/www/chromium/files/patch-services_network_public_cpp_BUILD.gn
new file mode 100644
index 000000000000..d3a3ec7f95e4
--- /dev/null
+++ b/www/chromium/files/patch-services_network_public_cpp_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/network/public/cpp/BUILD.gn.orig 2025-07-02 06:08:04 UTC
++++ services/network/public/cpp/BUILD.gn
+@@ -654,7 +654,7 @@ 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/chromium/files/patch-services_network_public_cpp_features.cc b/www/chromium/files/patch-services_network_public_cpp_features.cc
new file mode 100644
index 000000000000..255576606b5e
--- /dev/null
+++ b/www/chromium/files/patch-services_network_public_cpp_features.cc
@@ -0,0 +1,20 @@
+--- services/network/public/cpp/features.cc.orig 2025-07-02 06:08:04 UTC
++++ services/network/public/cpp/features.cc
+@@ -109,7 +109,7 @@ BASE_FEATURE(kSplitAuthCacheByNetworkIsolationKey,
+ BASE_FEATURE(kDnsOverHttpsUpgrade,
+ "DnsOverHttpsUpgrade",
+ #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_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -359,7 +359,7 @@ BASE_FEATURE(kAvoidResourceRequestCopies,
+ BASE_FEATURE(kDocumentIsolationPolicy,
+ "DocumentIsolationPolicy",
+ #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_LINUX)
++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-services_network_public_mojom_BUILD.gn b/www/chromium/files/patch-services_network_public_mojom_BUILD.gn
new file mode 100644
index 000000000000..a456691abc98
--- /dev/null
+++ b/www/chromium/files/patch-services_network_public_mojom_BUILD.gn
@@ -0,0 +1,25 @@
+--- services/network/public/mojom/BUILD.gn.orig 2025-07-02 06:08:04 UTC
++++ services/network/public/mojom/BUILD.gn
+@@ -679,11 +679,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/40263697): Remove this once is_linux in the mojom IDL does
+ # not include lacros.
+ enabled_features += [ "use_network_interface_change_listener" ]
+@@ -1795,7 +1795,7 @@ mojom("mojom") {
+ }
+ }
+
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ # TODO(crbug.com/40263697): Remove this once is_linux in the mojom IDL does
+ # not include lacros.
+ enabled_features += [ "use_network_interface_change_listener" ]
diff --git a/www/chromium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h b/www/chromium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h
new file mode 100644
index 000000000000..95eaff0bbd97
--- /dev/null
+++ b/www/chromium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h
@@ -0,0 +1,11 @@
+--- services/network/shared_dictionary/shared_dictionary_writer_in_memory.h.orig 2023-08-17 07:33:31 UTC
++++ 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/chromium/files/patch-services_on__device__model_on__device__model__service.h b/www/chromium/files/patch-services_on__device__model_on__device__model__service.h
new file mode 100644
index 000000000000..8ac8fd1a0d0f
--- /dev/null
+++ b/www/chromium/files/patch-services_on__device__model_on__device__model__service.h
@@ -0,0 +1,22 @@
+--- services/on_device_model/on_device_model_service.h.orig 2024-11-14 07:57:23 UTC
++++ services/on_device_model/on_device_model_service.h
+@@ -31,6 +31,10 @@ class OnDeviceModelInternalImpl;
+ class TsHolder;
+ }
+
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#endif
++
+ namespace on_device_model {
+
+ class COMPONENT_EXPORT(ON_DEVICE_MODEL) OnDeviceModelService
+@@ -44,7 +48,7 @@ class COMPONENT_EXPORT(ON_DEVICE_MODEL) OnDeviceModelS
+ // Must be called in the service's process after the run loop finished.
+ [[nodiscard]] static bool Shutdown();
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ static void AddSandboxLinuxOptions(
+ sandbox::policy::SandboxLinux::Options& options);
+ #endif
diff --git a/www/chromium/files/patch-services_on__device__model_pre__sandbox__init.cc b/www/chromium/files/patch-services_on__device__model_pre__sandbox__init.cc
new file mode 100644
index 000000000000..f2c3ca39d2b4
--- /dev/null
+++ b/www/chromium/files/patch-services_on__device__model_pre__sandbox__init.cc
@@ -0,0 +1,38 @@
+--- services/on_device_model/pre_sandbox_init.cc.orig 2025-07-02 06:08:04 UTC
++++ services/on_device_model/pre_sandbox_init.cc
+@@ -14,7 +14,7 @@
+ #include "services/on_device_model/ml/chrome_ml.h" // nogncheck
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "gpu/config/gpu_info_collector.h" // nogncheck
+ #endif
+
+@@ -28,7 +28,7 @@ namespace on_device_model {
+
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ constexpr uint32_t kVendorIdAMD = 0x1002;
+ constexpr uint32_t kVendorIdIntel = 0x8086;
+ constexpr uint32_t kVendorIdNVIDIA = 0x10DE;
+@@ -62,7 +62,7 @@ void UpdateSandboxOptionsForGpu(
+ // enabling the sandbox.
+ BASE_FEATURE(kOnDeviceModelWarmDrivers,
+ "OnDeviceModelWarmDrivers",
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -127,7 +127,7 @@ bool OnDeviceModelService::PreSandboxInit() {
+ return true;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // static
+ void OnDeviceModelService::AddSandboxLinuxOptions(
+ sandbox::policy::SandboxLinux::Options& options) {
diff --git a/www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
index 42c61c4feafe..11be16df0415 100644
--- a/www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
+++ b/www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
@@ -1,6 +1,6 @@
---- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2022-07-22 17:30:31 UTC
+--- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2025-06-17 06:32:04 UTC
+++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc
-@@ -52,7 +52,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO
+@@ -54,7 +54,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO
uint32_t shared_resident_kb) {
DCHECK(os_dump.platform_private_footprint);
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
@@ -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;
-@@ -80,7 +80,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl
+@@ -83,7 +83,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);
@@ -17,17 +17,17 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
os_dump->private_footprint_swap_kb =
internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024;
- #endif
-@@ -259,7 +259,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch(
+ os_dump->mappings_count = internal_os_dump.mappings_count;
+@@ -222,7 +222,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch(
// On most platforms each process can dump data about their own process
// so ask each process to do so Linux is special see below.
-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
request->pending_responses.insert({client_info.pid, ResponseType::kOSDump});
- client->RequestOSMemoryDump(request->memory_map_option(),
- {base::kNullProcessId},
-@@ -274,7 +274,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch(
+ client->RequestOSMemoryDump(
+ request->memory_map_option(), request->memory_dump_flags(),
+@@ -237,7 +237,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;
-@@ -320,7 +320,7 @@ void QueuedRequestDispatcher::SetUpAndDispatchVmRegion
+@@ -284,7 +284,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) {
-@@ -371,7 +371,7 @@ QueuedRequestDispatcher::FinalizeVmRegionRequest(
+@@ -334,7 +334,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());
-@@ -433,7 +433,7 @@ void QueuedRequestDispatcher::Finalize(QueuedRequest*
+@@ -395,7 +395,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/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn
index ccccdb7c2c2d..c39e93b3e49c 100644
--- a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn
+++ b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn
@@ -1,6 +1,6 @@
---- services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn.orig 2022-03-25 21:59:56 UTC
+--- services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn.orig 2025-02-19 07:43:18 UTC
+++ services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn
-@@ -29,8 +29,12 @@ component("memory_instrumentation") {
+@@ -27,8 +27,12 @@ component("memory_instrumentation") {
sources += [ "os_metrics_win.cc" ]
}
diff --git a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h
index f91b0917c11f..4ed74d748c4c 100644
--- a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h
+++ b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h
@@ -1,17 +1,17 @@
---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2022-02-28 16:54:41 UTC
+--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2025-06-17 06:32:04 UTC
+++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h
-@@ -45,7 +45,7 @@ class COMPONENT_EXPORT(
- mojom::RawOSMemDump*);
- static std::vector<mojom::VmRegionPtr> GetProcessMemoryMaps(base::ProcessId);
+@@ -65,7 +65,7 @@ class COMPONENT_EXPORT(
+ static std::vector<mojom::VmRegionPtr> GetProcessMemoryMaps(
+ base::ProcessHandle);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
static void SetProcSmapsForTesting(FILE*);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
// BUILDFLAG(IS_ANDROID)
-@@ -62,7 +62,7 @@ class COMPONENT_EXPORT(
- static std::vector<mojom::VmRegionPtr> GetProcessModules(base::ProcessId);
- #endif
+@@ -87,7 +87,7 @@ class COMPONENT_EXPORT(
+ GetMemoryInfo(base::ProcessHandle handle);
+ #endif // !BUILDFLAG(IS_APPLE)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc
index cec6a7646af2..facff4f9072b 100644
--- a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc
+++ b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc
@@ -1,6 +1,6 @@
---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_bsd.cc.orig 2022-03-25 21:59:56 UTC
+--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_bsd.cc.orig 2025-06-17 06:32:04 UTC
+++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_bsd.cc
-@@ -0,0 +1,58 @@
+@@ -0,0 +1,59 @@
+// Copyright 2022 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.
@@ -26,6 +26,7 @@
+
+// static
+bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
++ const MemDumpFlagSet& flags,
+ mojom::RawOSMemDump* dump) {
+ base::Process process = pid == base::kNullProcessId
+ ? base::Process::Current()
diff --git a/www/chromium/files/patch-services_screen__ai_public_cpp_utilities.cc b/www/chromium/files/patch-services_screen__ai_public_cpp_utilities.cc
new file mode 100644
index 000000000000..58e4acfd7b3a
--- /dev/null
+++ b/www/chromium/files/patch-services_screen__ai_public_cpp_utilities.cc
@@ -0,0 +1,29 @@
+--- services/screen_ai/public/cpp/utilities.cc.orig 2025-07-02 06:08:04 UTC
++++ services/screen_ai/public/cpp/utilities.cc
+@@ -21,7 +21,7 @@ namespace {
+ // The maximum image dimension which is processed without downsampling by OCR.
+ constexpr uint32_t kMaxImageDimensionForOcr = 2048;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ constexpr char kBinaryPathSwitch[] = "screen-ai-binary";
+ #endif
+
+@@ -42,7 +42,7 @@ constexpr char kScreenAIDlcRootPath[] =
+ #endif
+
+ #if BUILDFLAG(ENABLE_SCREEN_AI_BROWSERTESTS)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr base::FilePath::CharType kScreenAIResourcePathForTests[] =
+ FILE_PATH_LITERAL("third_party/screen-ai/linux/resources");
+ #elif BUILDFLAG(IS_MAC)
+@@ -131,7 +131,7 @@ base::FilePath GetComponentBinaryPathForTests() {
+
+ const char* GetBinaryPathSwitch() {
+ // This is only used on Linux and ChromeOS.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return kBinaryPathSwitch;
+ #else
+ return nullptr;
diff --git a/www/chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/www/chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc
new file mode 100644
index 000000000000..6f0894c533ea
--- /dev/null
+++ b/www/chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc
@@ -0,0 +1,18 @@
+--- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2025-03-05 08:14:56 UTC
++++ services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc
+@@ -58,6 +58,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path
+ }
+ }
+
++#if !BUILDFLAG(IS_BSD)
+ auto* instance = sandbox::policy::SandboxLinux::GetInstance();
+
+ std::vector<BrokerFilePermission> permissions{
+@@ -79,6 +80,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path
+ sandbox::syscall_broker::COMMAND_OPEN}),
+ permissions, options);
+ instance->EngageNamespaceSandboxIfPossible();
++#endif
+
+ return true;
+ }
diff --git a/www/chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h b/www/chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h
new file mode 100644
index 000000000000..e4f1e4e5bf6f
--- /dev/null
+++ b/www/chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h
@@ -0,0 +1,16 @@
+--- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h.orig 2024-04-19 13:02:56 UTC
++++ services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h
+@@ -6,7 +6,13 @@
+ #define SERVICES_SCREEN_AI_SANDBOX_SCREEN_AI_SANDBOX_HOOK_LINUX_H_
+
+ #include "base/files/file_path.h"
++#include "build/build_config.h"
++
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+
+ namespace screen_ai {
+
diff --git a/www/chromium/files/patch-services_service__manager_BUILD.gn b/www/chromium/files/patch-services_service__manager_BUILD.gn
index feeef0b864c2..66121a4ca8ac 100644
--- a/www/chromium/files/patch-services_service__manager_BUILD.gn
+++ b/www/chromium/files/patch-services_service__manager_BUILD.gn
@@ -1,6 +1,6 @@
---- services/service_manager/BUILD.gn.orig 2021-12-31 00:57:38 UTC
+--- services/service_manager/BUILD.gn.orig 2025-02-19 07:43:18 UTC
+++ services/service_manager/BUILD.gn
-@@ -67,7 +67,7 @@ source_set("service_manager") {
+@@ -65,7 +65,7 @@ source_set("service_manager") {
]
}
diff --git a/www/chromium/files/patch-services_tracing_public_cpp_perfetto_perfetto__config.cc b/www/chromium/files/patch-services_tracing_public_cpp_perfetto_perfetto__config.cc
deleted file mode 100644
index 0db160132971..000000000000
--- a/www/chromium/files/patch-services_tracing_public_cpp_perfetto_perfetto__config.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/tracing/public/cpp/perfetto/perfetto_config.cc.orig 2022-06-17 14:20:10 UTC
-+++ services/tracing/public/cpp/perfetto/perfetto_config.cc
-@@ -125,7 +125,7 @@ void AddDataSourceConfigs(
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if BUILDFLAG(IS_CHROMEOS_ASH) || \
-- (BUILDFLAG(IS_CHROMECAST) && BUILDFLAG(IS_LINUX))
-+ (BUILDFLAG(IS_CHROMECAST) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)))
- if (source_names.empty() ||
- source_names.count(tracing::mojom::kSystemTraceDataSourceName) == 1) {
- AddDataSourceConfig(
diff --git a/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
new file mode 100644
index 000000000000..d84fbd75962f
--- /dev/null
+++ b/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
@@ -0,0 +1,11 @@
+--- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2024-01-30 07:53:34 UTC
++++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc
+@@ -38,7 +38,7 @@
+ #include "third_party/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.h"
+ #include "third_party/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pbzero.h"
+
+-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
+ #include "base/profiler/thread_delegate_posix.h"
+ #define INITIALIZE_THREAD_DELEGATE_POSIX 1
+ #else // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE)
diff --git a/www/chromium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc b/www/chromium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc
new file mode 100644
index 000000000000..1522c753e19e
--- /dev/null
+++ b/www/chromium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc
@@ -0,0 +1,13 @@
+--- services/tracing/public/cpp/system_metrics_sampler.cc.orig 2025-05-28 14:55:43 UTC
++++ services/tracing/public/cpp/system_metrics_sampler.cc
+@@ -166,8 +166,8 @@ void SystemMetricsSampler::ProcessSampler::SampleProce
+ TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"),
+ "PhysicalMemoryFootprint",
+ memory_info->physical_footprint_bytes);
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)) && defined(notyet)
+ TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"), "VmSwapMemory",
+ memory_info->vm_swap_bytes);
+ TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"), "RssAnonMemory",
diff --git a/www/chromium/files/patch-services_tracing_public_cpp_trace__startup.cc b/www/chromium/files/patch-services_tracing_public_cpp_trace__startup.cc
new file mode 100644
index 000000000000..72c022d67d2b
--- /dev/null
+++ b/www/chromium/files/patch-services_tracing_public_cpp_trace__startup.cc
@@ -0,0 +1,11 @@
+--- services/tracing/public/cpp/trace_startup.cc.orig 2025-07-02 06:08:04 UTC
++++ services/tracing/public/cpp/trace_startup.cc
+@@ -66,7 +66,7 @@ void EnableStartupTracingIfNeeded(bool with_thread) {
+ // Create the PerfettoTracedProcess.
+ if (with_thread) {
+ g_tracing_with_thread = true;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ PerfettoTracedProcess::MaybeCreateInstanceWithThread(
+ /*will_trace_thread_restart=*/true);
+ #else
diff --git a/www/chromium/files/patch-services_video__capture_broadcasting__receiver.cc b/www/chromium/files/patch-services_video__capture_broadcasting__receiver.cc
deleted file mode 100644
index 234059638de3..000000000000
--- a/www/chromium/files/patch-services_video__capture_broadcasting__receiver.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/video_capture/broadcasting_receiver.cc.orig 2022-06-17 14:20:10 UTC
-+++ services/video_capture/broadcasting_receiver.cc
-@@ -234,7 +234,7 @@ void BroadcastingReceiver::BufferContext::
- ConvertRawFileDescriptorToUnsafeShmemRegion() {
- DCHECK(buffer_handle_->is_shared_memory_via_raw_file_descriptor());
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- const size_t handle_size =
- buffer_handle_->get_shared_memory_via_raw_file_descriptor()
- ->shared_memory_size_in_bytes;
diff --git a/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom
index 0932c940affa..d4d28170a9c0 100644
--- a/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom
+++ b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom
@@ -1,6 +1,6 @@
---- services/video_capture/public/mojom/video_capture_service.mojom.orig 2022-02-07 13:39:41 UTC
+--- services/video_capture/public/mojom/video_capture_service.mojom.orig 2023-03-09 06:31:50 UTC
+++ services/video_capture/public/mojom/video_capture_service.mojom
-@@ -21,10 +21,10 @@ interface AcceleratorFactory {
+@@ -25,10 +25,10 @@ interface AcceleratorFactory {
pending_receiver<chromeos_camera.mojom.MjpegDecodeAccelerator> jda);
};
diff --git a/www/chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc b/www/chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc
new file mode 100644
index 000000000000..99b5d37be9e1
--- /dev/null
+++ b/www/chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc
@@ -0,0 +1,27 @@
+--- services/video_effects/video_effects_sandbox_hook_linux.cc.orig 2025-02-19 07:43:18 UTC
++++ services/video_effects/video_effects_sandbox_hook_linux.cc
+@@ -6,7 +6,13 @@
+
+ #include <dlfcn.h>
+
++#include "build/build_config.h"
++
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+ #include "services/on_device_model/ml/chrome_ml_holder.h"
+
+ namespace video_effects {
+@@ -29,8 +35,10 @@ bool VideoEffectsPreSandboxHook(
+ DVLOG(1) << "Successfully opened Chrome ML shared library.";
+ }
+
++#if !BUILDFLAG(IS_BSD)
+ auto* instance = sandbox::policy::SandboxLinux::GetInstance();
+ instance->EngageNamespaceSandboxIfPossible();
++#endif
+ return true;
+ }
+
diff --git a/www/chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h b/www/chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h
new file mode 100644
index 000000000000..2db51ef5a895
--- /dev/null
+++ b/www/chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h
@@ -0,0 +1,16 @@
+--- services/video_effects/video_effects_sandbox_hook_linux.h.orig 2024-11-14 07:57:23 UTC
++++ services/video_effects/video_effects_sandbox_hook_linux.h
+@@ -5,7 +5,13 @@
+ #ifndef SERVICES_VIDEO_EFFECTS_VIDEO_EFFECTS_SANDBOX_HOOK_LINUX_H_
+ #define SERVICES_VIDEO_EFFECTS_VIDEO_EFFECTS_SANDBOX_HOOK_LINUX_H_
+
++#include "build/build_config.h"
++
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+
+ namespace video_effects {
+
diff --git a/www/chromium/files/patch-services_viz_public_mojom_BUILD.gn b/www/chromium/files/patch-services_viz_public_mojom_BUILD.gn
new file mode 100644
index 000000000000..d5893839ff74
--- /dev/null
+++ b/www/chromium/files/patch-services_viz_public_mojom_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/viz/public/mojom/BUILD.gn.orig 2025-05-28 14:55:43 UTC
++++ services/viz/public/mojom/BUILD.gn
+@@ -57,7 +57,7 @@ mojom("mojom") {
+
+ # Used in thread.mojom
+ enabled_features = []
+- if (is_fuchsia || is_apple) {
++ if (is_fuchsia || is_apple || is_bsd) {
+ enabled_features += [ "thread_id_is_64_bit" ]
+ } else {
+ enabled_features += [ "thread_id_is_32_bit" ]
diff --git a/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp b/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp
index 41c940e9e113..f1eecda7f683 100644
--- a/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp
+++ b/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp
@@ -1,6 +1,15 @@
---- skia/ext/SkMemory_new_handler.cpp.orig 2022-03-25 21:59:56 UTC
+--- skia/ext/SkMemory_new_handler.cpp.orig 2025-03-05 08:14:56 UTC
+++ skia/ext/SkMemory_new_handler.cpp
-@@ -79,7 +79,7 @@ static void* malloc_nothrow(size_t size) {
+@@ -24,7 +24,7 @@
+ #include <windows.h>
+ #elif BUILDFLAG(IS_APPLE)
+ #include <malloc/malloc.h>
+-#else
++#elif !BUILDFLAG(IS_BSD)
+ #include <malloc.h>
+ #endif
+
+@@ -110,7 +110,7 @@ static void* malloc_nothrow(size_t size, int debug_sen
// TODO(b.kelemen): we should always use UncheckedMalloc but currently it
// doesn't work as intended everywhere.
void* result;
diff --git a/www/chromium/files/patch-skia_ext_font__utils.cc b/www/chromium/files/patch-skia_ext_font__utils.cc
new file mode 100644
index 000000000000..ab91a0543b0e
--- /dev/null
+++ b/www/chromium/files/patch-skia_ext_font__utils.cc
@@ -0,0 +1,20 @@
+--- skia/ext/font_utils.cc.orig 2025-05-05 10:57:53 UTC
++++ skia/ext/font_utils.cc
+@@ -21,7 +21,7 @@
+ #include "third_party/skia/include/ports/SkFontMgr_mac_ct.h"
+ #endif
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "third_party/skia/include/ports/SkFontConfigInterface.h"
+ #include "third_party/skia/include/ports/SkFontMgr_FontConfigInterface.h"
+ #include "third_party/skia/include/ports/SkFontScanner_Fontations.h"
+@@ -67,7 +67,7 @@ static sk_sp<SkFontMgr> fontmgr_factory() {
+ }
+ #elif BUILDFLAG(IS_APPLE)
+ return SkFontMgr_New_CoreText(nullptr);
+-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ sk_sp<SkFontConfigInterface> fci(SkFontConfigInterface::RefGlobal());
+ if (base::FeatureList::IsEnabled(skia::kFontationsLinuxSystemFonts)) {
+ return fci ? SkFontMgr_New_FCI(std::move(fci),
diff --git a/www/chromium/files/patch-skia_ext_skcolorspace__trfn.cc b/www/chromium/files/patch-skia_ext_skcolorspace__trfn.cc
new file mode 100644
index 000000000000..7e7dd2bfef35
--- /dev/null
+++ b/www/chromium/files/patch-skia_ext_skcolorspace__trfn.cc
@@ -0,0 +1,11 @@
+--- skia/ext/skcolorspace_trfn.cc.orig 2025-03-05 08:14:56 UTC
++++ 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 <array>
diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h
index 387488bd6863..7f72dc12f3ed 100644
--- a/www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h
+++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h
@@ -1,21 +1,21 @@
---- third_party/abseil-cpp/absl/base/config.h.orig 2022-05-19 14:06:27 UTC
+--- third_party/abseil-cpp/absl/base/config.h.orig 2025-05-05 10:57:53 UTC
+++ third_party/abseil-cpp/absl/base/config.h
-@@ -448,7 +448,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
- // POSIX.1-2001.
+@@ -409,7 +409,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
-@@ -463,7 +464,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
+@@ -424,7 +424,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/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc
index 647e814932d4..21ed864d5f1a 100644
--- a/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc
+++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc
@@ -1,4 +1,4 @@
---- third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2022-06-17 14:20:10 UTC
+--- third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2024-09-30 07:45:04 UTC
+++ third_party/abseil-cpp/absl/base/internal/sysinfo.cc
@@ -30,7 +30,7 @@
#include <sys/syscall.h>
@@ -9,7 +9,23 @@
#include <sys/sysctl.h>
#endif
-@@ -307,9 +307,11 @@ static double GetNominalCPUFrequency() {
+@@ -198,6 +198,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) {
+@@ -230,6 +231,7 @@ static bool ReadLongFromFile(const char *file, long *v
+ }
+ return ret;
+ }
++#endif
+
+ #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY)
+
+@@ -329,9 +331,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 +37,29 @@
#if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY)
// On these platforms, the TSC frequency is the nominal CPU
+@@ -350,10 +354,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
+@@ -463,6 +469,12 @@ 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(__Fuchsia__)
diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h b/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h
index 34a830d59012..056ea45c4f02 100644
--- a/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h
+++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h
@@ -1,11 +1,11 @@
---- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2022-05-19 14:06:27 UTC
+--- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2025-01-15 09:18:26 UTC
+++ third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h
-@@ -32,7 +32,8 @@
- #endif
-
- #if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \
-- !defined(__native_client__) && !defined(__asmjs__) && !defined(__wasm__)
-+ !defined(__native_client__) && !defined(__asmjs__) && !defined(__wasm__) && \
+@@ -35,7 +35,8 @@
+ #if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \
+ !defined(__native_client__) && !defined(__asmjs__) && \
+ !defined(__wasm__) && !defined(__HAIKU__) && !defined(__sun) && \
+- !defined(__VXWORKS__) && !defined(__hexagon__) && !defined(__XTENSA__)
++ !defined(__VXWORKS__) && !defined(__hexagon__) && !defined(__XTENSA__) && \
+ !defined(__FreeBSD__)
#define ABSL_HAVE_ELF_MEM_IMAGE 1
#endif
diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc b/www/chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc
deleted file mode 100644
index b28aae3acd42..000000000000
--- a/www/chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc.orig 2022-02-07 13:39:41 UTC
-+++ third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc
-@@ -19,7 +19,7 @@
- #endif
-
- #if defined(HAS_STRPTIME) && HAS_STRPTIME
--#if !defined(_XOPEN_SOURCE)
-+#if !defined(_XOPEN_SOURCE) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
- #define _XOPEN_SOURCE // Definedness suffices for strptime.
- #endif
- #endif
diff --git a/www/chromium/files/patch-third__party_angle_BUILD.gn b/www/chromium/files/patch-third__party_angle_BUILD.gn
index 627bc209fa67..2a40c4629f1c 100644
--- a/www/chromium/files/patch-third__party_angle_BUILD.gn
+++ b/www/chromium/files/patch-third__party_angle_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/angle/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- third_party/angle/BUILD.gn.orig 2025-05-28 14:55:43 UTC
+++ third_party/angle/BUILD.gn
-@@ -223,7 +223,6 @@ config("extra_warnings") {
+@@ -360,7 +360,6 @@ config("extra_warnings") {
"-Wtautological-type-limit-compare",
"-Wundefined-reinterpret-cast",
"-Wunneeded-internal-declaration",
@@ -8,16 +8,16 @@
"-Wsuggest-destructor-override",
"-Wsuggest-override",
-@@ -401,7 +400,7 @@ angle_static_library("angle_common") {
- all_dependent_configs = [ ":angle_disable_pool_alloc" ]
- }
+@@ -537,7 +536,7 @@ template("angle_common_lib") {
+ all_dependent_configs = [ ":angle_disable_pool_alloc" ]
+ }
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- libs = [ "dl" ]
- }
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ libs = [ "dl" ]
+ }
-@@ -522,6 +521,9 @@ angle_static_library("angle_gpu_info_util") {
+@@ -692,6 +691,9 @@ angle_static_library("angle_gpu_info_util") {
"Xi",
"Xext",
]
diff --git a/www/chromium/files/patch-third__party_angle_src_common_platform.h b/www/chromium/files/patch-third__party_angle_src_common_platform.h
index 19c34403d542..1669015e497a 100644
--- a/www/chromium/files/patch-third__party_angle_src_common_platform.h
+++ b/www/chromium/files/patch-third__party_angle_src_common_platform.h
@@ -1,6 +1,6 @@
---- third_party/angle/src/common/platform.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/angle/src/common/platform.h.orig 2025-05-05 10:57:53 UTC
+++ third_party/angle/src/common/platform.h
-@@ -26,7 +26,15 @@
+@@ -23,7 +23,15 @@
#elif defined(__linux__) || defined(EMSCRIPTEN)
# define ANGLE_PLATFORM_LINUX 1
# define ANGLE_PLATFORM_POSIX 1
diff --git a/www/chromium/files/patch-third__party_angle_src_common_platform__helpers.h b/www/chromium/files/patch-third__party_angle_src_common_platform__helpers.h
new file mode 100644
index 000000000000..820b5461143f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_common_platform__helpers.h
@@ -0,0 +1,11 @@
+--- third_party/angle/src/common/platform_helpers.h.orig 2023-09-13 12:11:42 UTC
++++ 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/chromium/files/patch-third__party_angle_src_common_system__utils.cpp b/www/chromium/files/patch-third__party_angle_src_common_system__utils.cpp
new file mode 100644
index 000000000000..12144206c6e7
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_common_system__utils.cpp
@@ -0,0 +1,11 @@
+--- third_party/angle/src/common/system_utils.cpp.orig 2024-01-30 07:53:34 UTC
++++ third_party/angle/src/common/system_utils.cpp
+@@ -25,7 +25,7 @@ namespace angle
+ {
+ std::string GetExecutableName()
+ {
+-#if defined(ANGLE_PLATFORM_ANDROID) && __ANDROID_API__ >= 21
++#if (defined(ANGLE_PLATFORM_ANDROID) && __ANDROID_API__ >= 21) || defined(ANGLE_PLATFORM_BSD)
+ // Support for "getprogname" function in bionic was introduced in L (API level 21)
+ const char *executableName = getprogname();
+ return (executableName) ? std::string(executableName) : "ANGLE";
diff --git a/www/chromium/files/patch-third__party_angle_src_common_system__utils__linux.cpp b/www/chromium/files/patch-third__party_angle_src_common_system__utils__linux.cpp
new file mode 100644
index 000000000000..54e9b2220087
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_common_system__utils__linux.cpp
@@ -0,0 +1,37 @@
+--- third_party/angle/src/common/system_utils_linux.cpp.orig 2025-02-19 07:43:18 UTC
++++ third_party/angle/src/common/system_utils_linux.cpp
+@@ -15,10 +15,15 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
++#if ANGLE_PLATFORM_OPENBSD
++#include <pthread_np.h>
++#endif
++
+ #include <array>
+
+ namespace angle
+ {
++#if ANGLE_PLATFORM_LINUX
+ std::string GetExecutablePath()
+ {
+ // We cannot use lstat to get the size of /proc/self/exe as it always returns 0
+@@ -34,6 +39,7 @@ std::string GetExecutablePath()
+ path[result] = '\0';
+ return path;
+ }
++#endif
+
+ std::string GetExecutableDirectory()
+ {
+@@ -59,6 +65,10 @@ void SetCurrentThreadName(const char *name)
+ // There's a 15-character (16 including '\0') limit. If the name is too big (and ERANGE is
+ // returned), name will be ignored.
+ ASSERT(strlen(name) < 16);
++#if ANGLE_PLATFORM_OPENBSD
++ pthread_set_name_np(pthread_self(), name);
++#else
+ pthread_setname_np(pthread_self(), name);
++#endif
+ }
+ } // namespace angle
diff --git a/www/chromium/files/patch-third__party_angle_src_common_system__utils__posix.cpp b/www/chromium/files/patch-third__party_angle_src_common_system__utils__posix.cpp
deleted file mode 100644
index 43f8ba375f95..000000000000
--- a/www/chromium/files/patch-third__party_angle_src_common_system__utils__posix.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/angle/src/common/system_utils_posix.cpp.orig 2022-05-19 14:06:27 UTC
-+++ third_party/angle/src/common/system_utils_posix.cpp
-@@ -201,7 +201,9 @@ void *OpenSystemLibraryWithExtensionAndGetError(const
- int extraFlags = 0;
- if (searchType == SearchType::AlreadyLoaded)
- {
-+#if !defined(__OpenBSD__)
- extraFlags = RTLD_NOLOAD;
-+#endif
- }
-
- std::string fullPath = directory + libraryName;
diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h
index db6b7e57c3e7..2efc21546a2f 100644
--- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h
+++ b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h
@@ -1,6 +1,6 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2022-02-23 19:25:59 UTC
+--- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2023-05-31 08:12:17 UTC
+++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h
-@@ -14,6 +14,13 @@
+@@ -15,6 +15,13 @@
namespace angle
{
diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp
index 7ee489108a0d..cc9c21c8f280 100644
--- a/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp
+++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp
@@ -1,16 +1,16 @@
---- third_party/angle/src/libANGLE/Display.cpp.orig 2022-07-22 17:30:31 UTC
+--- third_party/angle/src/libANGLE/Display.cpp.orig 2025-05-28 14:55:43 UTC
+++ third_party/angle/src/libANGLE/Display.cpp
-@@ -55,7 +55,7 @@
+@@ -58,7 +58,7 @@
# include "libANGLE/renderer/gl/wgl/DisplayWGL.h"
- # elif defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_IOS)
- # include "libANGLE/renderer/gl/apple/DisplayApple_api.h"
+ # elif ANGLE_ENABLE_CGL
+ # include "libANGLE/renderer/gl/cgl/DisplayCGL.h"
-# elif defined(ANGLE_PLATFORM_LINUX)
+# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
# include "libANGLE/renderer/gl/egl/DisplayEGL.h"
- # if defined(ANGLE_USE_GBM)
- # include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h"
-@@ -326,7 +326,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
- impl = rx::CreateDisplayCGLOrEAGL(state);
+ # if defined(ANGLE_USE_X11)
+ # include "libANGLE/renderer/gl/glx/DisplayGLX_api.h"
+@@ -422,7 +422,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+ impl = new rx::DisplayCGL(state);
break;
-# elif defined(ANGLE_PLATFORM_LINUX)
@@ -18,16 +18,16 @@
# if defined(ANGLE_USE_GBM)
if (platformType == 0)
{
-@@ -369,7 +369,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+@@ -468,7 +468,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)
-@@ -420,7 +420,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+ if (platformType == 0)
+ {
+@@ -519,7 +519,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
impl = rx::CreateVulkanWin32Display(state);
}
break;
@@ -36,7 +36,16 @@
# if defined(ANGLE_USE_GBM)
if (platformType == EGL_PLATFORM_GBM_KHR && rx::IsVulkanGbmDisplayAvailable())
{
-@@ -1955,7 +1955,7 @@ static ClientExtensions GenerateClientExtensions()
+@@ -2136,7 +2136,7 @@ static ClientExtensions GenerateClientExtensions()
+ extensions.platformWaylandEXT = true;
+ #endif
+
+-#if defined(ANGLE_PLATFORM_LINUX) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN))
++#if (defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN))
+ extensions.platformSurfacelessMESA = true;
+ #endif
+
+@@ -2183,7 +2183,7 @@ static ClientExtensions GenerateClientExtensions()
extensions.x11Visual = true;
#endif
diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_formatutils.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_formatutils.cpp
deleted file mode 100644
index ae00ae38d0b4..000000000000
--- a/www/chromium/files/patch-third__party_angle_src_libANGLE_formatutils.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/src/libANGLE/formatutils.cpp.orig 2022-07-22 17:30:31 UTC
-+++ third_party/angle/src/libANGLE/formatutils.cpp
-@@ -1391,7 +1391,7 @@ static InternalFormatInfoMap BuildInternalFormatInfoMa
- AddYUVFormat(&map, GL_G8_B8R8_2PLANE_420_UNORM_ANGLE, true, 8, 8, 8, 0, 0, GL_G8_B8R8_2PLANE_420_UNORM_ANGLE, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, NeverSupported, NeverSupported);
- AddYUVFormat(&map, GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE, true, 8, 8, 8, 0, 0, GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, NeverSupported, NeverSupported);
-
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
- // From GL_OES_required_internalformat
- // The |shared| bit shouldn't be 2. But given this hits assertion when bits
- // are checked, it's fine to have this bit set as 2 as a workaround.
diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
deleted file mode 100644
index 8cf1aa4b9191..000000000000
--- a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2022-06-17 14:20:10 UTC
-+++ third_party/angle/src/libANGLE/renderer/driver_utils.h
-@@ -183,7 +183,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/chromium/files/patch-third__party_angle_util_BUILD.gn b/www/chromium/files/patch-third__party_angle_util_BUILD.gn
index 3d2ec7b5c464..2bd296520ce2 100644
--- a/www/chromium/files/patch-third__party_angle_util_BUILD.gn
+++ b/www/chromium/files/patch-third__party_angle_util_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/angle/util/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- third_party/angle/util/BUILD.gn.orig 2025-04-04 08:52:13 UTC
+++ third_party/angle/util/BUILD.gn
-@@ -246,7 +246,7 @@ foreach(is_shared_library,
+@@ -332,7 +332,7 @@ foreach(is_shared_library,
]
libs = []
diff --git a/www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc b/www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc
index 7ac18c48300c..d2dd295605bb 100644
--- a/www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc
+++ b/www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc
@@ -1,8 +1,8 @@
---- third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2025-02-19 07:43:18 UTC
+++ 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;
+@@ -77,7 +77,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/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h b/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h
index 38d43155bb49..09a660bc7f41 100644
--- a/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h
+++ b/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h
@@ -1,9 +1,9 @@
---- third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2025-02-19 07:43:18 UTC
+++ 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};
+@@ -65,7 +65,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/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h b/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h
index 8a8cfffc0c32..55383cb9bf0b 100644
--- a/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h
+++ b/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h
@@ -1,7 +1,7 @@
---- third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2025-02-19 07:43:18 UTC
+++ third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h
-@@ -157,7 +157,7 @@ struct BLINK_COMMON_EXPORT
- return data.accept_languages;
+@@ -180,7 +180,7 @@ struct BLINK_COMMON_EXPORT
+ return data.send_subresource_notification;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-third__party_blink_public_platform_platform.h b/www/chromium/files/patch-third__party_blink_public_platform_platform.h
new file mode 100644
index 000000000000..9f817dd4a559
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_public_platform_platform.h
@@ -0,0 +1,11 @@
+--- third_party/blink/public/platform/platform.h.orig 2025-07-02 06:08:04 UTC
++++ third_party/blink/public/platform/platform.h
+@@ -371,7 +371,7 @@ class BLINK_PLATFORM_EXPORT Platform {
+ return nullptr;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // This is called after the thread is created, so the embedder
+ // can initiate an IPC to change its thread type (on Linux we can't
+ // increase the nice value, so we need to ask the browser process). This
diff --git a/www/chromium/files/patch-third__party_blink_public_platform_web__vector.h b/www/chromium/files/patch-third__party_blink_public_platform_web__vector.h
deleted file mode 100644
index b1fd398c03fd..000000000000
--- a/www/chromium/files/patch-third__party_blink_public_platform_web__vector.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/public/platform/web_vector.h.orig 2022-02-07 13:39:41 UTC
-+++ third_party/blink/public/platform/web_vector.h
-@@ -81,7 +81,7 @@ class WebVector {
- // The vector can be populated using reserve() and emplace_back().
- WebVector() = default;
-
--#if defined(ARCH_CPU_64_BITS)
-+#if defined(ARCH_CPU_64_BITS) || defined(__OpenBSD__)
- // Create a vector with |size| default-constructed elements. We define
- // a constructor with size_t otherwise we'd have a duplicate define.
- explicit WebVector(size_t size) : data_(size) {}
diff --git a/www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py b/www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py
index 85f535fc625d..d4a1bd36f219 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py
+++ b/www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py
@@ -1,9 +1,9 @@
---- third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2022-02-07 13:39:41 UTC
+--- third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2024-06-17 12:56:06 UTC
+++ third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py
-@@ -28,7 +28,7 @@ def init(root_src_dir, enable_style_format=True):
- root_src_dir = os.path.abspath(root_src_dir)
+@@ -30,7 +30,7 @@ def init(root_src_dir, enable_style_format=True):
# Determine //buildtools/<platform>/ directory
+ new_path_platform_suffix = ""
- if sys.platform.startswith("linux"):
+ if sys.platform.startswith(("linux","openbsd","freebsd")):
platform = "linux64"
diff --git a/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
index bd02eeff8f3f..8229d26be7fb 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
@@ -1,7 +1,7 @@
---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2022-07-22 17:30:31 UTC
+--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2025-05-28 14:55:43 UTC
+++ third_party/blink/renderer/controller/blink_initializer.cc
-@@ -73,12 +73,12 @@
- #include "third_party/blink/renderer/controller/oom_intervention_impl.h"
+@@ -82,12 +82,12 @@
+ #include "third_party/blink/renderer/controller/private_memory_footprint_provider.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -10,26 +10,26 @@
#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
-@@ -166,7 +166,7 @@ void InitializeCommon(Platform* platform, mojo::Binder
- #endif
-
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
-- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring.
- if (UserLevelMemoryPressureSignalGenerator::Enabled())
- UserLevelMemoryPressureSignalGenerator::Instance();
-@@ -240,7 +240,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
- main_thread->GetTaskRunner());
+@@ -255,7 +255,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
+ main_thread_task_runner);
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- binders.Add(ConvertToBaseRepeatingCallback(
- CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)),
- main_thread->GetTaskRunner());
+ binders.Add<mojom::blink::MemoryUsageMonitorLinux>(
+ ConvertToBaseRepeatingCallback(
+ CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)),
+@@ -303,7 +303,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform
+ MemorySaverController::Initialize();
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
+- 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/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc b/www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc
index 4d6ac85cc1bc..c5c0e5b6dc37 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2022-06-17 14:20:10 UTC
+--- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2025-05-28 14:55:43 UTC
+++ third_party/blink/renderer/controller/memory_usage_monitor_posix.cc
-@@ -129,15 +129,17 @@ void MemoryUsageMonitorPosix::ResetFileDescriptors() {
+@@ -132,15 +132,17 @@ void MemoryUsageMonitorPosix::ResetFileDescriptors() {
void MemoryUsageMonitorPosix::SetProcFiles(base::File statm_file,
base::File status_file) {
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
index 4297a55b2180..9c44202bb41b 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2022-02-28 16:54:41 UTC
+--- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2024-08-26 12:06:38 UTC
+++ third_party/blink/renderer/core/editing/editing_behavior.cc
-@@ -280,7 +280,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb
+@@ -304,7 +304,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb
// unexpected behaviour
if (ch < ' ')
return false;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc b/www/chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc
new file mode 100644
index 000000000000..aa1b234b4f30
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/core/execution_context/navigator_base.cc.orig 2023-04-05 11:05:06 UTC
++++ third_party/blink/renderer/core/execution_context/navigator_base.cc
+@@ -31,7 +31,7 @@ String GetReducedNavigatorPlatform() {
+ return "Win32";
+ #elif BUILDFLAG(IS_FUCHSIA)
+ return "";
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return "Linux x86_64";
+ #elif BUILDFLAG(IS_IOS)
+ return "iPhone";
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
index ff0aa2880c70..30a3fd0d4c7d 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
@@ -1,20 +1,20 @@
---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2022-07-22 17:30:31 UTC
+--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -401,7 +401,7 @@ SkFontHinting RendererPreferencesToSkiaHinting(
+@@ -430,7 +430,7 @@ void RecordPrerenderActivationSignalDelay(const String
+ #if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN)
+ SkFontHinting RendererPreferencesToSkiaHinting(
const blink::RendererPreferences& prefs) {
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (!prefs.should_antialias_text) {
// When anti-aliasing is off, GTK maps all non-zero hinting settings to
// 'Normal' hinting so we do the same. Otherwise, folks who have 'Slight'
-@@ -3203,7 +3203,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
+@@ -3422,7 +3422,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
+ gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE);
+ WebFontRenderStyle::SetSubpixelPositioning(
renderer_preferences_.use_subpixel_positioning);
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) && \
- !BUILDFLAG(IS_ANDROID)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (!renderer_preferences_.system_font_family_name.empty()) {
WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8(
+ renderer_preferences_.system_font_family_name));
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc b/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc
index 4b8ae3a6d627..5643c6672e18 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc
@@ -1,17 +1,17 @@
---- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2022-07-22 17:30:31 UTC
+--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2025-04-04 08:52:13 UTC
+++ third_party/blink/renderer/core/frame/web_frame_test.cc
-@@ -6331,7 +6331,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) {
- MoveCaretStaysHorizontallyAlignedWhenMoved
- #endif
- // TODO(crbug.com/1317375): Build these tests on all platforms.
--#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
-+#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
- TEST_F(WebFrameTest, MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved) {
- RegisterMockedHttpURLLoad("move_caret.html");
+@@ -6471,7 +6471,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) {
+ }
-@@ -6710,7 +6710,7 @@ TEST_F(CompositedSelectionBoundsTest, SVGBasic) {
- TEST_F(CompositedSelectionBoundsTest, SVGTextWithFragments) {
- RunTest("composited_selection_bounds_svg_text_with_fragments.html");
+ #if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
+ // 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 \
+@@ -6880,7 +6880,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc
+ TEST_F(CompositedSelectionBoundsTest, LargeSelectionNoScroll) {
+ RunTest("composited_selection_bounds_large_selection_noscroll.html");
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
index 27c5cdf1225c..43625137dabe 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2022-05-19 14:06:27 UTC
+--- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2025-05-05 10:57:53 UTC
+++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc
-@@ -45,7 +45,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin
+@@ -51,7 +51,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/chromium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc b/www/chromium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc
index e3f53f951af8..e62709ecbee3 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2022-06-17 14:20:10 UTC
+--- third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2025-03-05 08:14:56 UTC
+++ third_party/blink/renderer/core/inspector/inspector_memory_agent.cc
-@@ -190,7 +190,7 @@ InspectorMemoryAgent::GetSamplingProfileById(uint32_t
+@@ -192,7 +192,7 @@ InspectorMemoryAgent::GetSamplingProfileById(uint32_t
Vector<String> InspectorMemoryAgent::Symbolize(
- const WebVector<void*>& addresses) {
+ const std::vector<const void*>& addresses) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// TODO(alph): Move symbolization to the client.
- Vector<void*> addresses_to_symbolize;
- for (size_t i = 0; i < addresses.size(); i++) {
+ Vector<const void*> addresses_to_symbolize;
+ for (const void* address : addresses) {
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc
index 03a35f1e970c..60ebeed946b1 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/core/layout/layout_view.cc.orig 2022-05-19 14:06:27 UTC
+--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/core/layout/layout_view.cc
-@@ -65,7 +65,7 @@
+@@ -74,7 +74,7 @@
#include "ui/display/screen_info.h"
#include "ui/gfx/geometry/quad_f.h"
@@ -9,9 +9,9 @@
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#endif
-@@ -360,7 +360,7 @@ void LayoutView::UpdateLayout() {
- DCHECK(!layout_state_);
- LayoutState root_layout_state(*this);
+@@ -789,7 +789,7 @@ void LayoutView::LayoutRoot() {
+ intrinsic_logical_widths_ = LogicalWidth();
+ }
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_loader_mixed__content__checker.cc b/www/chromium/files/patch-third__party_blink_renderer_core_loader_mixed__content__checker.cc
new file mode 100644
index 000000000000..d6ea42d34c5b
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_loader_mixed__content__checker.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/core/loader/mixed_content_checker.cc.orig 2025-07-02 06:08:04 UTC
++++ third_party/blink/renderer/core/loader/mixed_content_checker.cc
+@@ -510,7 +510,7 @@ bool MixedContentChecker::ShouldBlockFetch(
+ switch (context_type) {
+ case mojom::blink::MixedContentContextType::kOptionallyBlockable:
+
+-#if (BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX)) && \
++#if (BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && \
+ BUILDFLAG(ENABLE_CAST_RECEIVER)
+ // Fuchsia WebEngine can be configured to allow loading Mixed Content from
+ // an insecure IP address. This is a workaround to revert Fuchsia Cast
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc b/www/chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc
new file mode 100644
index 000000000000..1b49f55c076f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/core/origin_trials/origin_trial_context.cc.orig 2025-07-02 06:08:04 UTC
++++ third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
+@@ -568,7 +568,7 @@ bool OriginTrialContext::CanEnableTrialFromName(const
+ }
+
+ if (trial_name == "TranslationAPI") {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(features::kTranslationAPI);
+ #else
+ return false;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc b/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc
new file mode 100644
index 000000000000..7abee87bc8c0
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/core/page/context_menu_controller.cc.orig 2025-07-02 06:08:04 UTC
++++ third_party/blink/renderer/core/page/context_menu_controller.cc
+@@ -654,7 +654,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame
+ if (potential_image_node != nullptr &&
+ IsA<HTMLCanvasElement>(potential_image_node)) {
+ data.media_type = mojom::blink::ContextMenuDataMediaType::kCanvas;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/40902474): Support reading from the WebGPU front buffer
+ // on Linux and remove the below code, which results in "Copy Image" and
+ // "Save Image To" being grayed out in the context menu.
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc b/www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
index 150ecdb32192..a5092cac50e9 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/core/paint/paint_layer.cc.orig 2022-02-28 16:54:41 UTC
+--- third_party/blink/renderer/core/paint/paint_layer.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/core/paint/paint_layer.cc
-@@ -108,7 +108,7 @@ namespace blink {
+@@ -125,7 +125,7 @@ namespace blink {
namespace {
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc
index 0976e0e3f31e..81de50bf1c1e 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc
@@ -1,20 +1,20 @@
---- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2022-07-22 17:30:31 UTC
+--- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2025-04-04 08:52:13 UTC
+++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc
-@@ -151,7 +151,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const
+@@ -146,7 +146,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const
+ // Disable snapback on desktop Linux to better integrate with the desktop
+ // behavior. Typically, Linux apps do not implement scrollbar snapback (this
// is true for at least GTK and QT apps).
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return false;
#else
return true;
-@@ -325,7 +325,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr
- const WebMouseEvent& event) {
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+@@ -423,7 +423,7 @@ ScrollbarPart ScrollbarThemeAura::PartsToInvalidateOnT
+
+ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scrollbar& scrollbar,
+ const WebMouseEvent& event) const {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (event.button == WebPointerProperties::Button::kMiddle)
return true;
#endif
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h b/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h
new file mode 100644
index 000000000000..a085ea4a2ab0
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h
@@ -0,0 +1,14 @@
+--- third_party/blink/renderer/core/xml/xslt_processor.h.orig 2024-02-23 21:04:38 UTC
++++ third_party/blink/renderer/core/xml/xslt_processor.h
+@@ -77,7 +77,11 @@ class XSLTProcessor final : public ScriptWrappable {
+
+ void reset();
+
++#if (LIBXML_VERSION >= 21200)
+ static void ParseErrorFunc(void* user_data, const xmlError*);
++#else
++ static void ParseErrorFunc(void* user_data, xmlError*);
++#endif
+ static void GenericErrorFunc(void* user_data, const char* msg, ...);
+
+ // Only for libXSLT callbacks
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc b/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc
new file mode 100644
index 000000000000..7f546d1705c7
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc
@@ -0,0 +1,14 @@
+--- third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.orig 2025-02-19 07:43:18 UTC
++++ third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
+@@ -68,7 +68,11 @@ void XSLTProcessor::GenericErrorFunc(void*, const char
+ // It would be nice to do something with this error message.
+ }
+
++#if (LIBXML_VERSION >= 21200)
+ void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
++#else
++void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
++#endif
+ FrameConsole* console = static_cast<FrameConsole*>(user_data);
+ if (!console)
+ return;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc
index cb1cb611fb66..ddfe7f3df77c 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/modules/media/audio/audio_device_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- third_party/blink/renderer/modules/media/audio/audio_device_factory.cc.orig 2025-04-04 08:52:13 UTC
+++ third_party/blink/renderer/modules/media/audio/audio_device_factory.cc
-@@ -34,7 +34,7 @@ AudioDeviceFactory* AudioDeviceFactory::factory_ = nul
- namespace {
+@@ -33,7 +33,7 @@ namespace {
+ // Set when the default factory is overridden.
+ AudioDeviceFactory* g_factory_override = nullptr;
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Due to driver deadlock issues on Windows (http://crbug/422522) there is a
// chance device authorization response is never received from the browser side.
// In this case we will time out, to avoid renderer hang forever waiting for
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc
index 70c37604e227..a1e16069f938 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc
@@ -1,9 +1,9 @@
---- third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2022-02-28 16:54:41 UTC
+--- third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2025-05-05 10:57:53 UTC
+++ third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc
-@@ -678,7 +678,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten
+@@ -857,7 +857,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/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc
new file mode 100644
index 000000000000..733377f47069
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc
@@ -0,0 +1,10 @@
+--- third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc.orig 2024-11-14 07:57:23 UTC
++++ third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc
+@@ -542,6 +542,7 @@ void RTCDataChannel::send(Blob* data, ExceptionState&
+ pending_messages_.push_back(message);
+ }
+
++#undef close
+ void RTCDataChannel::close() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ if (state_ == webrtc::DataChannelInterface::kClosing ||
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
index 0986b5111949..c33751d275b0 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
@@ -1,9 +1,9 @@
---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2022-05-19 14:06:27 UTC
+--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc
-@@ -288,7 +288,7 @@ TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_VerifyS
+@@ -382,7 +382,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar
SetupRenderer(kDefaultOutputDeviceId);
renderer_proxy_->Start();
- #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)
static const int kExpectedBufferSize = kHardwareSampleRate / 100;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc
index fb15f518017d..c2bb19e11bb9 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2022-06-17 14:20:10 UTC
+--- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2025-02-19 07:43:18 UTC
+++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc
-@@ -378,7 +378,7 @@ class AudioWorkletThreadPriorityTest
+@@ -465,7 +465,7 @@ class AudioWorkletThreadPriorityTest
// TODO(crbug.com/1022888): The worklet thread priority is always NORMAL
// on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (expected_priority == base::ThreadPriority::REALTIME_AUDIO ||
- expected_priority == base::ThreadPriority::DISPLAY) {
- EXPECT_EQ(actual_priority, base::ThreadPriority::NORMAL);
+ if (expected_priority == base::ThreadPriorityForTest::kRealtimeAudio ||
+ expected_priority == base::ThreadPriorityForTest::kDisplay) {
+ EXPECT_EQ(actual_priority, base::ThreadPriorityForTest::kNormal);
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc
index cd5ab78446e0..2c74017131b9 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc
@@ -1,8 +1,8 @@
---- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2022-07-22 17:30:31 UTC
+--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
-@@ -6100,7 +6100,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid
- constexpr bool kAllowZeroCopyImages = true;
- #endif
+@@ -6383,7 +6383,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid
+ // unmultiply has been requested or we need to never premultiply for Image
+ // creation from a VideoFrame.
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc
deleted file mode 100644
index cd162e1f2ea1..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/modules/webgl/webgl_webcodecs_video_frame.cc.orig 2022-07-22 17:30:31 UTC
-+++ third_party/blink/renderer/modules/webgl/webgl_webcodecs_video_frame.cc
-@@ -101,7 +101,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_MAC)
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc
new file mode 100644
index 000000000000..48553cdfcd95
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/modules/webgpu/gpu_canvas_context.cc.orig 2025-07-02 06:08:04 UTC
++++ third_party/blink/renderer/modules/webgpu/gpu_canvas_context.cc
+@@ -218,7 +218,7 @@ CanvasResourceProvider* GPUCanvasContext::PaintRenderi
+
+ scoped_refptr<WebGPUMailboxTexture> front_buffer_texture;
+ if (source_buffer == kFrontBuffer) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // By returning false here the canvas will show up as black in the scenarios
+ // that copy the front buffer, such as printing.
+ // TODO(crbug.com/40902474): Support concurrent SharedImage reads via Dawn
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc
new file mode 100644
index 000000000000..be88472afd3f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/modules/webgpu/gpu_queue.cc.orig 2025-05-28 14:55:43 UTC
++++ third_party/blink/renderer/modules/webgpu/gpu_queue.cc
+@@ -814,7 +814,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)
+ bool forceReadback = true;
+ #elif BUILDFLAG(IS_ANDROID)
+ // TODO(crbug.com/dawn/1969): Some Android devices don't fail to copy from
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn b/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn
index db6da3f5b6da..e718dbe47673 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/platform/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- third_party/blink/renderer/platform/BUILD.gn.orig 2025-05-28 14:55:43 UTC
+++ third_party/blink/renderer/platform/BUILD.gn
-@@ -1880,7 +1880,7 @@ static_library("test_support") {
+@@ -2060,7 +2060,7 @@ static_library("test_support") {
]
# fuzzed_data_provider may not work with a custom toolchain.
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc
index bb6dc6e01c3d..723187ec8f5e 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2022-05-19 14:06:27 UTC
+--- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/platform/fonts/font_cache.cc
-@@ -75,7 +75,7 @@ extern const char kNotoColorEmojiCompat[] = "Noto Colo
+@@ -82,7 +82,7 @@ extern const char kNotoColorEmojiCompat[] = "Noto Colo
SkFontMgr* FontCache::static_font_manager_ = nullptr;
@@ -9,12 +9,12 @@
float FontCache::device_scale_factor_ = 1.0;
#endif
-@@ -120,7 +120,7 @@ FontCache::~FontCache() = default;
- FontPlatformData* FontCache::SystemFontPlatformData(
+@@ -136,7 +136,7 @@ const FontPlatformData* FontCache::SystemFontPlatformD
const FontDescription& font_description) {
const AtomicString& family = FontCache::SystemFontFamily();
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- if (family.IsEmpty() || family == font_family_names::kSystemUi)
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \
+- BUILDFLAG(IS_IOS)
++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD)
+ if (family.empty() || family == font_family_names::kSystemUi)
return nullptr;
#else
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
index e4a946da2ee4..a111a5a16fe2 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2022-05-19 14:06:27 UTC
+--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/platform/fonts/font_cache.h
-@@ -57,7 +57,7 @@
+@@ -55,7 +55,7 @@
#include "third_party/skia/include/core/SkFontMgr.h"
#include "third_party/skia/include/core/SkRefCnt.h"
@@ -9,16 +9,16 @@
#include "ui/gfx/font_fallback_linux.h"
#endif
-@@ -184,7 +184,7 @@ class PLATFORM_EXPORT FontCache final {
- static void PrewarmFamily(const AtomicString& family_name) {}
- #endif
+@@ -171,7 +171,7 @@ class PLATFORM_EXPORT FontCache final {
+
+ static void MaybePreloadSystemFonts();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// These are needed for calling QueryRenderStyleForStrike, since
// gfx::GetFontRenderParams makes distinctions based on DSF.
static float DeviceScaleFactor() { return device_scale_factor_; }
-@@ -267,7 +267,7 @@ class PLATFORM_EXPORT FontCache final {
+@@ -247,7 +247,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*);
-@@ -347,7 +347,7 @@ class PLATFORM_EXPORT FontCache final {
+@@ -320,7 +320,7 @@ class PLATFORM_EXPORT FontCache final {
const FontFaceCreationParams&,
std::string& name);
@@ -36,8 +36,8 @@
static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
UChar32,
const FontDescription&,
-@@ -389,7 +389,7 @@ class PLATFORM_EXPORT FontCache final {
- std::unique_ptr<FallbackFamilyStyleCache> fallback_params_cache_;
+@@ -357,7 +357,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/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
index 20600175b40f..45053d8e8fee 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2025-05-05 10:57:53 UTC
+++ third_party/blink/renderer/platform/fonts/font_description.cc
-@@ -39,7 +39,7 @@
+@@ -41,7 +41,7 @@
#include "third_party/blink/renderer/platform/wtf/text/string_hash.h"
#include "third_party/blink/renderer/platform/wtf/text/string_hasher.h"
@@ -9,9 +9,9 @@
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#endif
-@@ -262,7 +262,7 @@ FontCacheKey FontDescription::CacheKey(
- static_cast<unsigned>(fields_.orientation_) << 1 | // bit 2-3
- static_cast<unsigned>(fields_.subpixel_text_position_); // bit 1
+@@ -280,7 +280,7 @@ FontCacheKey FontDescription::CacheKey(
+ static_cast<unsigned>(fields_.orientation_) << 1 | // bit 2-3
+ static_cast<unsigned>(fields_.subpixel_text_position_); // bit 1
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc
index d360fa692560..33f26889dd36 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc
@@ -1,4 +1,4 @@
---- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2024-02-23 21:04:38 UTC
+++ third_party/blink/renderer/platform/fonts/font_metrics.cc
@@ -39,7 +39,7 @@
namespace blink {
@@ -9,7 +9,7 @@
// This is the largest VDMX table which we'll try to load and parse.
static const size_t kMaxVDMXTableSize = 1024 * 1024; // 1 MB
#endif
-@@ -69,7 +69,7 @@ void FontMetrics::AscentDescentWithHacks(
+@@ -67,7 +67,7 @@ void FontMetrics::AscentDescentWithHacks(
bool is_vdmx_valid = false;
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
@@ -18,12 +18,12 @@
// Manually digging up VDMX metrics is only applicable when bytecode hinting
// using FreeType. With DirectWrite or CoreText, no bytecode hinting is ever
// done. This code should be pushed into FreeType (hinted font metrics).
-@@ -117,7 +117,7 @@ void FontMetrics::AscentDescentWithHacks(
- if (descent < metrics.fDescent) {
- visual_overflow_inflation_for_descent = 1;
+@@ -111,7 +111,7 @@ void FontMetrics::AscentDescentWithHacks(
+ descent = SkScalarRoundToScalar(metrics.fDescent);
+
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- // When subpixel positioning is enabled, if the descent is rounded down,
- // the descent part of the glyph may be truncated when displayed in a
- // 'overflow: hidden' container. To avoid that, borrow 1 unit from the
+ // When subpixel positioning is enabled, if the descent is rounded down,
+ // the descent part of the glyph may be truncated when displayed in a
+ // 'overflow: hidden' container. To avoid that, borrow 1 unit from the
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc
deleted file mode 100644
index 1e36a597ee4d..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/platform/fonts/font_platform_data.cc.orig 2022-07-22 17:30:31 UTC
-+++ third_party/blink/renderer/platform/fonts/font_platform_data.cc
-@@ -46,7 +46,7 @@
- namespace blink {
- namespace {
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Getting the system font render style takes a significant amount of time on
- // Linux because looking up fonts using fontconfig can be very slow. We fetch
- // the render style for each font family and text size, while it's very
-@@ -120,7 +120,7 @@ FontPlatformData::FontPlatformData(sk_sp<SkTypeface> t
- style_ = WebFontRenderStyle::GetDefault();
- #if !BUILDFLAG(IS_WIN)
- WebFontRenderStyle system_style;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- bool override_font_name_and_size =
- base::FeatureList::IsEnabled(kOptimizeLinuxFonts);
- #else
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
index 6af46f3fc269..5e3e9f188986 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
@@ -1,7 +1,7 @@
---- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2025-02-19 07:43:18 UTC
+++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc
-@@ -60,7 +60,7 @@ AtomicString ToAtomicString(const SkString& str) {
- return AtomicString::FromUTF8(str.c_str(), str.size());
+@@ -65,7 +65,7 @@ AtomicString ToAtomicString(const SkString& str) {
+ return AtomicString::FromUTF8(std::string_view(str.begin(), str.end()));
}
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -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.
-@@ -236,7 +236,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
-@@ -263,7 +263,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon
+@@ -246,7 +246,7 @@ const FontPlatformData* FontCache::CreateFontPlatformD
std::string name;
sk_sp<SkTypeface> typeface;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc
index 33e51bdf717a..2d67c82fbbaf 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc
@@ -1,13 +1,14 @@
---- third_party/blink/renderer/platform/graphics/begin_frame_provider.cc.orig 2022-06-17 14:20:10 UTC
+--- third_party/blink/renderer/platform/graphics/begin_frame_provider.cc.orig 2025-05-28 14:55:43 UTC
+++ third_party/blink/renderer/platform/graphics/begin_frame_provider.cc
-@@ -76,7 +76,11 @@ void BeginFrameProvider::CreateCompositorFrameSinkIfNe
+@@ -70,8 +70,12 @@ void BeginFrameProvider::CreateCompositorFrameSinkIfNe
- // Once we are using RAF, this thread is driving Display updates. Update
- // priority accordingly.
+ // Once we are using RAF, this thread is driving user interactive display
+ // updates. Update priority accordingly.
+ // pledge(2)
+ // stop this baloney
+#if !defined(OS_OPENBSD)
- base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY);
+ base::PlatformThread::SetCurrentThreadType(
+ base::ThreadType::kDisplayCritical);
+#endif
mojo::Remote<mojom::blink::EmbeddedFrameSinkProvider> provider;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc
new file mode 100644
index 000000000000..aafbf15e688a
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc.orig 2025-05-05 10:57:53 UTC
++++ third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
+@@ -47,7 +47,7 @@ scoped_refptr<StaticBitmapImage> MakeAccelerated(
+
+ const auto paint_image = source->PaintImageForCurrentFrame();
+ const auto image_info = paint_image.GetSkImageInfo();
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(b/330865436): On Linux, CanvasResourceProvider doesn't always check
+ // for SCANOUT support correctly on X11 and it's never supported in
+ // practice. Therefore, don't include it until this flow is reworked.
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
index ebd86e15f802..8c41a5962ed1 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2022-07-22 17:30:31 UTC
+--- third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/platform/graphics/video_frame_submitter.cc
-@@ -332,7 +332,7 @@ void VideoFrameSubmitter::OnBeginFrame(
- continue;
- auto& feedback =
- timing_details.find(frame_token)->value.presentation_feedback;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+@@ -394,7 +394,7 @@ void VideoFrameSubmitter::OnBeginFrame(
+ auto& details = timing_details.find(frame_token)->value;
+ auto& feedback = details.presentation_feedback;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// TODO: On Linux failure flag is unreliable, and perfectly rendered frames
// are reported as failures all the time.
bool presentation_failure = false;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_instrumentation_partition__alloc__memory__dump__provider.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_instrumentation_partition__alloc__memory__dump__provider.cc
new file mode 100644
index 000000000000..b668448809b7
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_instrumentation_partition__alloc__memory__dump__provider.cc
@@ -0,0 +1,28 @@
+--- third_party/blink/renderer/platform/instrumentation/partition_alloc_memory_dump_provider.cc.orig 2024-04-19 13:02:56 UTC
++++ third_party/blink/renderer/platform/instrumentation/partition_alloc_memory_dump_provider.cc
+@@ -14,7 +14,9 @@
+
+ namespace blink {
+
++#if !BUILDFLAG(IS_BSD)
+ const char kPartitionAllocDumpName[] = "partition_alloc";
++#endif
+
+ PartitionAllocMemoryDumpProvider* PartitionAllocMemoryDumpProvider::Instance() {
+ DEFINE_STATIC_LOCAL(PartitionAllocMemoryDumpProvider, instance, ());
+@@ -24,6 +26,7 @@ PartitionAllocMemoryDumpProvider* PartitionAllocMemory
+ bool PartitionAllocMemoryDumpProvider::OnMemoryDump(
+ const base::trace_event::MemoryDumpArgs& args,
+ base::trace_event::ProcessMemoryDump* memory_dump) {
++#if !BUILDFLAG(IS_BSD)
+ using base::trace_event::MemoryDumpLevelOfDetail;
+
+ MemoryDumpLevelOfDetail level_of_detail = args.level_of_detail;
+@@ -49,6 +52,7 @@ bool PartitionAllocMemoryDumpProvider::OnMemoryDump(
+ "size", "bytes", partition_stats_dumper.total_active_bytes());
+ memory_dump->AddOwnershipEdge(allocated_objects_dump->guid(),
+ partitions_dump->guid());
++#endif
+
+ return true;
+ }
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc
new file mode 100644
index 000000000000..9cc3e05ffb4c
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc
@@ -0,0 +1,17 @@
+--- third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc.orig 2025-05-05 10:57:53 UTC
++++ third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc
+@@ -324,12 +324,12 @@ SupportedFormats GetSupportedFormatsInternal(
+ supported_formats.profiles.push_back(profile.profile);
+ supported_formats.sdp_formats.push_back(std::move(*format));
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_WIN)
+ const bool kShouldAddH264Cbp =
+ base::FeatureList::IsEnabled(kMediaFoundationH264CbpEncoding) &&
+ profile.profile == media::VideoCodecProfile::H264PROFILE_BASELINE;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ const bool kShouldAddH264Cbp =
+ profile.profile == media::VideoCodecProfile::H264PROFILE_BASELINE;
+ #endif
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 b/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
index 79663fd3c3be..9d8835996847 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
@@ -1,62 +1,74 @@
---- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2022-07-22 17:30:31 UTC
+--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -33,7 +33,7 @@
- // shipped stable can have its runtime flag removed soon after.
- status: {
- valid_values: ["stable", "experimental", "test"],
-- valid_keys: ["Android", "Win", "ChromeOS_Ash", "ChromeOS_Lacros", "Mac", "Linux"]
-+ valid_keys: ["Android", "Win", "ChromeOS_Ash", "ChromeOS_Lacros", "Mac", "Linux", "OpenBSD", "FreeBSD"]
- },
-
- // "implied_by" or "depends_on" specifies relationship to other features:
-@@ -1069,7 +1069,7 @@
- depends_on: ["FileSystemAccess"],
- status: {"Android": "test", "default": "experimental"},
- origin_trial_feature_name: "FileHandling",
-- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"],
-+ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"],
+@@ -501,7 +501,7 @@
+ name: "AppTitle",
+ status: "experimental",
+ origin_trial_feature_name: "AppTitle",
+- origin_trial_os: ["win", "mac", "linux", "chromeos"],
++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"],
+ base_feature: "WebAppEnableAppTitle",
},
{
- name: "FileHandlingIcons",
-@@ -2403,7 +2403,7 @@
+@@ -1840,7 +1840,7 @@
+ name: "DocumentIsolationPolicy",
+ status: "experimental",
+ origin_trial_feature_name: "DocumentIsolationPolicy",
+- origin_trial_os: ["win", "mac", "linux", "chromeos"],
++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"],
+ base_feature: "none",
+ },
{
- name: "U2FSecurityKeyAPI",
- origin_trial_feature_name: "U2FSecurityKeyAPI",
+@@ -2101,7 +2101,7 @@
+ base_feature: "none",
+ public: true,
+ origin_trial_feature_name: "FedCmMultipleIdentityProviders",
- origin_trial_os: ["win", "mac", "linux", "chromeos"],
+ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"],
- origin_trial_type: "deprecation",
+ origin_trial_allows_third_party: true,
},
{
-@@ -2422,7 +2422,7 @@
+@@ -3594,7 +3594,7 @@
+ // Tracking bug for the implementation: https://crbug.com/1462930
+ name: "PermissionElement",
+ origin_trial_feature_name: "PermissionElement",
+- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "android"],
++ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "android", "openbsd", "freebsd"],
+ status: "experimental",
+ public: true,
+ base_feature_status: "enabled",
+@@ -3758,7 +3758,7 @@
{
+ name: "PrivateNetworkAccessPermissionPrompt",
+ origin_trial_feature_name: "PrivateNetworkAccessPermissionPrompt",
+- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"],
++ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"],
+ status: "stable",
+ public: true,
+ base_feature: "none",
+@@ -5047,7 +5047,7 @@
name: "UnrestrictedSharedArrayBuffer",
+ base_feature: "none",
origin_trial_feature_name: "UnrestrictedSharedArrayBuffer",
- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"],
+ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"],
},
+ // Enables using policy-controlled feature "usb-unrestricted" to allow
+ // isolated context to access protected USB interface classes and to
+@@ -5217,7 +5217,7 @@
{
- name: "URLPattern",
-@@ -2444,7 +2444,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"],
- },
- {
- name: "UUID",
-@@ -2569,12 +2569,12 @@
- name: "WebAppUrlHandling",
- status: "experimental",
- origin_trial_feature_name: "WebAppUrlHandling",
-- origin_trial_os: ["win", "mac", "linux"],
-+ origin_trial_os: ["win", "mac", "linux", "openbsd", "freebsd"]
- },
- {
- name: "WebAppWindowControlsOverlay",
- origin_trial_feature_name: "WebAppWindowControlsOverlay",
+ name: "WebAppScopeExtensions",
+ origin_trial_feature_name: "WebAppScopeExtensions",
- origin_trial_os: ["win", "mac", "linux", "chromeos"],
+ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"],
status: "experimental",
+ base_feature: "none",
},
+@@ -5504,7 +5504,7 @@
{
+ name: "WebIdentityDigitalCredentials",
+ origin_trial_feature_name: "WebIdentityDigitalCredentials",
+- origin_trial_os: ["android", "win", "mac", "linux", "chromeos"],
++ origin_trial_os: ["android", "win", "mac", "linux", "chromeos", "openbsd", "freebsd"],
+ origin_trial_allows_third_party: true,
+ implied_by: ["WebIdentityDigitalCredentialsCreation"],
+ public: true,
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc
index 15b77f0efb40..458b6d28e5fe 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc
@@ -1,12 +1,11 @@
---- third_party/blink/renderer/platform/scheduler/common/thread.cc.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/renderer/platform/scheduler/common/thread.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/platform/scheduler/common/thread.cc
-@@ -99,7 +99,8 @@ void Thread::CreateAndSetCompositorThread() {
- std::make_unique<scheduler::CompositorThread>(params);
- compositor_thread->Init();
+@@ -95,7 +95,7 @@ void Thread::CreateAndSetCompositorThread() {
+ // the program's lifetime once assigned.
+ base::Unretained(compositor_thread.get())));
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+// pledge(2)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_OPENBSD)
- if (base::FeatureList::IsEnabled(
- features::kBlinkCompositorUseDisplayThreadPriority)) {
- compositor_thread->GetTaskRunner()->PostTaskAndReplyWithResult(
+ compositor_thread->GetTaskRunner()->PostTaskAndReplyWithResult(
+ FROM_HERE, base::BindOnce(&base::PlatformThread::CurrentId),
+ base::BindOnce([](base::PlatformThreadId compositor_thread_id) {
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc
new file mode 100644
index 000000000000..3bb5fae960f1
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/platform/widget/compositing/blink_categorized_worker_pool_delegate.cc.orig 2023-05-31 08:12:17 UTC
++++ 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/chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h
index 25658e65ff2b..44b323ca11ef 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/platform/wtf/container_annotations.h.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/renderer/platform/wtf/container_annotations.h.orig 2025-04-04 08:52:13 UTC
+++ third_party/blink/renderer/platform/wtf/container_annotations.h
-@@ -12,7 +12,7 @@
+@@ -11,7 +11,7 @@
// TODO(ochang): Remove the ARCH_CPU_X86_64 condition to enable this for X86
// once the crashes there have been fixed: http://crbug.com/461406
#if defined(ADDRESS_SANITIZER) && \
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
index 12cba2eaeffb..3585f22d214a 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
@@ -1,7 +1,7 @@
---- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/blink/renderer/platform/wtf/stack_util.cc
-@@ -18,6 +18,11 @@
- extern "C" void* __libc_stack_end; // NOLINT
+@@ -27,6 +27,11 @@ extern "C" void* __libc_stack_end; // NOLINT
+ #include <sanitizer/asan_interface.h>
#endif
+#if BUILDFLAG(IS_BSD)
@@ -12,16 +12,16 @@
namespace WTF {
size_t GetUnderestimatedStackSize() {
-@@ -62,6 +67,8 @@ size_t GetUnderestimatedStackSize() {
+@@ -71,6 +76,8 @@ size_t GetUnderestimatedStackSize() {
// low as 512k.
//
return 512 * 1024;
+#elif BUILDFLAG(IS_OPENBSD)
+ return 512 * 1024;
- #elif BUILDFLAG(IS_MAC)
+ #elif BUILDFLAG(IS_APPLE)
// pthread_get_stacksize_np() returns too low a value for the main thread on
// OSX 10.9,
-@@ -147,6 +154,13 @@ void* GetStackStart() {
+@@ -161,6 +168,13 @@ void* GetStackStartImpl() {
::GetCurrentThreadStackLimits(&lowLimit, &highLimit);
return reinterpret_cast<void*>(highLimit);
#endif
diff --git a/www/chromium/files/patch-third__party_boringssl_BUILD.generated.gni b/www/chromium/files/patch-third__party_boringssl_BUILD.generated.gni
deleted file mode 100644
index 46fe2b5a0632..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_BUILD.generated.gni
+++ /dev/null
@@ -1,18 +0,0 @@
---- third_party/boringssl/BUILD.generated.gni.orig 2022-07-22 17:30:31 UTC
-+++ third_party/boringssl/BUILD.generated.gni
-@@ -78,6 +78,7 @@ crypto_sources = [
- "src/crypto/cpu_aarch64_apple.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_linux.c",
-@@ -184,6 +185,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/chromium/files/patch-third__party_boringssl_BUILD.gn b/www/chromium/files/patch-third__party_boringssl_BUILD.gn
deleted file mode 100644
index 990e5f02025e..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/boringssl/BUILD.gn.orig 2022-03-25 21:59:56 UTC
-+++ 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/chromium/files/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c b/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c
deleted file mode 100644
index b39339d2b999..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c
+++ /dev/null
@@ -1,60 +0,0 @@
---- third_party/boringssl/src/crypto/cpu_aarch64_openbsd.c.orig 2022-03-25 21:59:56 UTC
-+++ 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/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_rand_internal.h b/www/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_rand_internal.h
deleted file mode 100644
index 603745fa809c..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_rand_internal.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/boringssl/src/crypto/fipsmodule/rand/internal.h.orig 2022-03-25 21:59:56 UTC
-+++ third_party/boringssl/src/crypto/fipsmodule/rand/internal.h
-@@ -26,7 +26,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/chromium/files/patch-third__party_boringssl_src_crypto_rand__extra_arc4random.c b/www/chromium/files/patch-third__party_boringssl_src_crypto_rand__extra_arc4random.c
deleted file mode 100644
index 42d35499cc94..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_src_crypto_rand__extra_arc4random.c
+++ /dev/null
@@ -1,36 +0,0 @@
---- third_party/boringssl/src/crypto/rand_extra/arc4random.c.orig 2022-02-07 13:39:41 UTC
-+++ 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/chromium/files/patch-third__party_boringssl_src_crypto_refcount__c11.c b/www/chromium/files/patch-third__party_boringssl_src_crypto_refcount__c11.c
deleted file mode 100644
index 77f5256190d9..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_src_crypto_refcount__c11.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/boringssl/src/crypto/refcount_c11.c.orig 2022-02-07 13:39:41 UTC
-+++ third_party/boringssl/src/crypto/refcount_c11.c
-@@ -24,6 +24,9 @@
-
- #include <openssl/type_check.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/chromium/files/patch-third__party_boringssl_src_include_openssl_base.h b/www/chromium/files/patch-third__party_boringssl_src_include_openssl_base.h
deleted file mode 100644
index 54bc562d67b7..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_src_include_openssl_base.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/boringssl/src/include/openssl/base.h.orig 2022-07-22 17:30:31 UTC
-+++ third_party/boringssl/src/include/openssl/base.h
-@@ -155,6 +155,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/chromium/files/patch-third__party_boringssl_src_include_openssl_thread.h b/www/chromium/files/patch-third__party_boringssl_src_include_openssl_thread.h
deleted file mode 100644
index 4a3c9a829e59..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_src_include_openssl_thread.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/boringssl/src/include/openssl/thread.h.orig 2022-05-19 14:06:27 UTC
-+++ 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/chromium/files/patch-third__party_cpuinfo_cpuinfo.gni b/www/chromium/files/patch-third__party_cpuinfo_cpuinfo.gni
new file mode 100644
index 000000000000..d0376ccfe3a3
--- /dev/null
+++ b/www/chromium/files/patch-third__party_cpuinfo_cpuinfo.gni
@@ -0,0 +1,11 @@
+--- third_party/cpuinfo/cpuinfo.gni.orig 2024-03-22 08:19:40 UTC
++++ third_party/cpuinfo/cpuinfo.gni
+@@ -8,7 +8,7 @@ use_cpuinfo =
+ current_cpu != "s390" && current_cpu != "s390x" &&
+ current_cpu != "riscv64" &&
+ # 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/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni b/www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
index cad468b3f569..9ab634aac0f0 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
@@ -1,8 +1,8 @@
---- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2022-02-07 13:39:41 UTC
+--- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2025-05-28 14:55:43 UTC
+++ third_party/crashpad/crashpad/build/crashpad_buildconfig.gni
-@@ -58,7 +58,7 @@ if (crashpad_is_in_chromium) {
- crashpad_is_mac = is_mac
- crashpad_is_ios = is_ios
+@@ -67,7 +67,7 @@ if (crashpad_is_in_chromium) {
+ crashpad_is_tvos = is_ios && target_platform == "tvos"
+ 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
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
index f2c74a32ab17..2c534e9b9b3c 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/crashpad/crashpad/client/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- third_party/crashpad/crashpad/client/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ third_party/crashpad/crashpad/client/BUILD.gn
-@@ -130,6 +130,13 @@ static_library("common") {
+@@ -148,6 +148,13 @@ static_library("common") {
if (crashpad_is_win) {
sources += [ "crash_report_database_win.cc" ]
}
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h
index 89caf45be9d7..4def4d0d97f7 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h
@@ -1,6 +1,6 @@
---- third_party/crashpad/crashpad/util/misc/capture_context.h.orig 2022-02-28 16:54:41 UTC
+--- third_party/crashpad/crashpad/util/misc/capture_context.h.orig 2025-07-02 06:08:04 UTC
+++ third_party/crashpad/crashpad/util/misc/capture_context.h
-@@ -21,7 +21,8 @@
+@@ -21,8 +21,11 @@
#include <mach/mach.h>
#elif BUILDFLAG(IS_WIN)
#include <windows.h>
@@ -8,15 +8,18 @@
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
+ BUILDFLAG(IS_FREEBSD)
#include <ucontext.h>
- #elif BUILDFLAG(IS_FUCHSIA)
- #include <signal.h>
-@@ -38,7 +39,8 @@ using NativeCPUContext = arm_unified_thread_state;
++#elif BUILDFLAG(IS_OPENBSD)
++#include <sys/signal.h>
+ #endif // BUILDFLAG(IS_APPLE)
+
+ namespace crashpad {
+@@ -35,7 +38,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) || BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
-+ BUILDFLAG(IS_BSD)
+-#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/chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc
index 114a1c66d674..52c37d1bd6c6 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc
@@ -1,6 +1,6 @@
---- third_party/crashpad/crashpad/util/misc/uuid.cc.orig 2022-02-28 16:54:41 UTC
+--- third_party/crashpad/crashpad/util/misc/uuid.cc.orig 2024-06-17 12:56:06 UTC
+++ third_party/crashpad/crashpad/util/misc/uuid.cc
-@@ -101,7 +101,7 @@ bool UUID::InitializeWithNew() {
+@@ -110,7 +110,7 @@ bool UUID::InitializeWithNew() {
InitializeFromBytes(uuid);
return true;
#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc
index 64580c643c83..042fea641e74 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc
@@ -1,6 +1,6 @@
---- third_party/crashpad/crashpad/util/posix/close_multiple.cc.orig 2022-02-28 16:54:41 UTC
+--- third_party/crashpad/crashpad/util/posix/close_multiple.cc.orig 2023-12-10 06:10:27 UTC
+++ third_party/crashpad/crashpad/util/posix/close_multiple.cc
-@@ -72,7 +72,7 @@ void CloseNowOrOnExec(int fd, bool ebadf_ok) {
+@@ -73,7 +73,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) {
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc
index e2d6396942c6..efaa7aaa5485 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc
@@ -1,4 +1,4 @@
---- third_party/crashpad/crashpad/util/posix/signals.cc.orig 2022-04-21 18:48:31 UTC
+--- third_party/crashpad/crashpad/util/posix/signals.cc.orig 2022-08-31 12:19:35 UTC
+++ third_party/crashpad/crashpad/util/posix/signals.cc
@@ -51,7 +51,7 @@ constexpr int kCrashSignals[] = {
#if defined(SIGEMT)
@@ -18,7 +18,7 @@
SIGIO,
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
};
-@@ -232,8 +232,12 @@ bool Signals::WillSignalReraiseAutonomously(const sigi
+@@ -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 &&
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc
index ade30531a9b6..d7779cb87f3e 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc
@@ -1,6 +1,6 @@
---- third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2022-04-21 18:48:31 UTC
+--- third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2024-08-26 12:06:38 UTC
+++ third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc
-@@ -67,7 +67,7 @@ constexpr const char* kSignalNames[] = {
+@@ -68,7 +68,7 @@ constexpr const char* kSignalNames[] = {
"INFO",
"USR1",
"USR2",
@@ -9,7 +9,7 @@
#if defined(ARCH_CPU_MIPS_FAMILY)
"HUP",
"INT",
-@@ -138,7 +138,7 @@ constexpr const char* kSignalNames[] = {
+@@ -139,7 +139,7 @@ constexpr const char* kSignalNames[] = {
#endif // defined(ARCH_CPU_MIPS_FAMILY)
#endif
};
diff --git a/www/chromium/files/patch-third__party_crc32c_BUILD.gn b/www/chromium/files/patch-third__party_crc32c_BUILD.gn
index 22c22b3f8a03..126452e1a4c2 100644
--- a/www/chromium/files/patch-third__party_crc32c_BUILD.gn
+++ b/www/chromium/files/patch-third__party_crc32c_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/crc32c/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- third_party/crc32c/BUILD.gn.orig 2023-04-28 17:01:32 UTC
+++ 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/chromium/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h b/www/chromium/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h
index a9540b506096..446299bfb0ff 100644
--- a/www/chromium/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h
+++ b/www/chromium/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h
@@ -1,11 +1,11 @@
---- third_party/dawn/include/dawn/native/VulkanBackend.h.orig 2022-07-22 17:30:31 UTC
+--- third_party/dawn/include/dawn/native/VulkanBackend.h.orig 2024-06-17 12:56:06 UTC
+++ third_party/dawn/include/dawn/native/VulkanBackend.h
-@@ -70,7 +70,7 @@ struct ExternalImageExportInfoVk : ExternalImageExport
+@@ -83,7 +83,7 @@ struct ExternalImageExportInfoVk : ExternalImageExport
};
// Can't use DAWN_PLATFORM_IS(LINUX) since header included in both Dawn and Chrome
--#ifdef __linux__
-+#if defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+-#if defined(__linux__) || defined(__Fuchsia__)
++#if defined(__linux__) || defined(__Fuchsia__) || defined(__OpenBSD__) || defined(__FreeBSD__)
// Common properties of external images represented by FDs. On successful import the file
// descriptor's ownership is transferred to the Dawn implementation and they shouldn't be
diff --git a/www/chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h b/www/chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h
index f9441bdf30c1..93d63f7106d1 100644
--- a/www/chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h
+++ b/www/chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h
@@ -1,6 +1,6 @@
---- third_party/dawn/src/dawn/common/Platform.h.orig 2022-07-22 17:30:31 UTC
+--- third_party/dawn/src/dawn/common/Platform.h.orig 2025-04-04 08:52:13 UTC
+++ third_party/dawn/src/dawn/common/Platform.h
-@@ -26,6 +26,11 @@
+@@ -60,6 +60,11 @@
#error "Unsupported Windows platform."
#endif
diff --git a/www/chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp b/www/chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp
index 9d4fa090d6d0..2a5fe46d0392 100644
--- a/www/chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp
+++ b/www/chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp
@@ -1,6 +1,6 @@
---- third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp.orig 2022-07-22 17:30:31 UTC
+--- third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp.orig 2025-05-28 14:55:43 UTC
+++ third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp
-@@ -42,7 +42,7 @@ constexpr char kSwiftshaderLibName[] = "libvk_swiftsha
+@@ -56,7 +56,7 @@ constexpr char kSwiftshaderLibName[] = "libvk_swiftsha
#endif
#if DAWN_PLATFORM_IS(LINUX)
diff --git a/www/chromium/files/patch-third__party_ffmpeg_BUILD.gn b/www/chromium/files/patch-third__party_ffmpeg_BUILD.gn
index cac1b977b0b2..f1d36333ae9c 100644
--- a/www/chromium/files/patch-third__party_ffmpeg_BUILD.gn
+++ b/www/chromium/files/patch-third__party_ffmpeg_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/ffmpeg/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- third_party/ffmpeg/BUILD.gn.orig 2025-05-28 14:55:43 UTC
+++ third_party/ffmpeg/BUILD.gn
-@@ -349,7 +349,6 @@ target(link_target_type, "ffmpeg_internal") {
+@@ -355,7 +355,6 @@ target(link_target_type, "ffmpeg_internal") {
libs += [
"m",
"z",
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h
deleted file mode 100644
index 629eac589e0a..000000000000
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h
+++ /dev/null
@@ -1,740 +0,0 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h.orig 2022-05-19 14:06:27 UTC
-+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h
-@@ -0,0 +1,737 @@
-+/* Automatically generated by configure - do not modify! */
-+#ifndef FFMPEG_CONFIG_H
-+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/d/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags=-O2 --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
-+#define CONFIG_THIS_YEAR 2022
-+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
-+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "OpenBSD clang version 13.0.0"
-+#define OS_NAME openbsd
-+#define av_restrict restrict
-+#define EXTERN_PREFIX ""
-+#define EXTERN_ASM
-+#define BUILDSUF ""
-+#define SLIBSUF ".so"
-+#define HAVE_MMX2 HAVE_MMXEXT
-+#define SWS_MAX_FILTER_SIZE 256
-+#define ARCH_AARCH64 1
-+#define ARCH_ALPHA 0
-+#define ARCH_ARM 0
-+#define ARCH_AVR32 0
-+#define ARCH_AVR32_AP 0
-+#define ARCH_AVR32_UC 0
-+#define ARCH_BFIN 0
-+#define ARCH_IA64 0
-+#define ARCH_LOONGARCH 0
-+#define ARCH_LOONGARCH32 0
-+#define ARCH_LOONGARCH64 0
-+#define ARCH_M68K 0
-+#define ARCH_MIPS 0
-+#define ARCH_MIPS64 0
-+#define ARCH_PARISC 0
-+#define ARCH_PPC 0
-+#define ARCH_PPC64 0
-+#define ARCH_RISCV 0
-+#define ARCH_S390 0
-+#define ARCH_SH4 0
-+#define ARCH_SPARC 0
-+#define ARCH_SPARC64 0
-+#define ARCH_TILEGX 0
-+#define ARCH_TILEPRO 0
-+#define ARCH_TOMI 0
-+#define ARCH_X86 0
-+#define ARCH_X86_32 0
-+#define ARCH_X86_64 0
-+#define HAVE_ARMV5TE 0
-+#define HAVE_ARMV6 0
-+#define HAVE_ARMV6T2 0
-+#define HAVE_ARMV8 1
-+#define HAVE_NEON 1
-+#define HAVE_VFP 1
-+#define HAVE_VFPV3 0
-+#define HAVE_SETEND 0
-+#define HAVE_ALTIVEC 0
-+#define HAVE_DCBZL 0
-+#define HAVE_LDBRX 0
-+#define HAVE_POWER8 0
-+#define HAVE_PPC4XX 0
-+#define HAVE_VSX 0
-+#define HAVE_AESNI 0
-+#define HAVE_AMD3DNOW 0
-+#define HAVE_AMD3DNOWEXT 0
-+#define HAVE_AVX 0
-+#define HAVE_AVX2 0
-+#define HAVE_AVX512 0
-+#define HAVE_AVX512ICL 0
-+#define HAVE_FMA3 0
-+#define HAVE_FMA4 0
-+#define HAVE_MMX 0
-+#define HAVE_MMXEXT 0
-+#define HAVE_SSE 0
-+#define HAVE_SSE2 0
-+#define HAVE_SSE3 0
-+#define HAVE_SSE4 0
-+#define HAVE_SSE42 0
-+#define HAVE_SSSE3 0
-+#define HAVE_XOP 0
-+#define HAVE_CPUNOP 0
-+#define HAVE_I686 0
-+#define HAVE_MIPSFPU 0
-+#define HAVE_MIPS32R2 0
-+#define HAVE_MIPS32R5 0
-+#define HAVE_MIPS64R2 0
-+#define HAVE_MIPS32R6 0
-+#define HAVE_MIPS64R6 0
-+#define HAVE_MIPSDSP 0
-+#define HAVE_MIPSDSPR2 0
-+#define HAVE_MSA 0
-+#define HAVE_LOONGSON2 0
-+#define HAVE_LOONGSON3 0
-+#define HAVE_MMI 0
-+#define HAVE_LSX 0
-+#define HAVE_LASX 0
-+#define HAVE_ARMV5TE_EXTERNAL 0
-+#define HAVE_ARMV6_EXTERNAL 0
-+#define HAVE_ARMV6T2_EXTERNAL 0
-+#define HAVE_ARMV8_EXTERNAL 1
-+#define HAVE_NEON_EXTERNAL 1
-+#define HAVE_VFP_EXTERNAL 1
-+#define HAVE_VFPV3_EXTERNAL 0
-+#define HAVE_SETEND_EXTERNAL 0
-+#define HAVE_ALTIVEC_EXTERNAL 0
-+#define HAVE_DCBZL_EXTERNAL 0
-+#define HAVE_LDBRX_EXTERNAL 0
-+#define HAVE_POWER8_EXTERNAL 0
-+#define HAVE_PPC4XX_EXTERNAL 0
-+#define HAVE_VSX_EXTERNAL 0
-+#define HAVE_AESNI_EXTERNAL 0
-+#define HAVE_AMD3DNOW_EXTERNAL 0
-+#define HAVE_AMD3DNOWEXT_EXTERNAL 0
-+#define HAVE_AVX_EXTERNAL 0
-+#define HAVE_AVX2_EXTERNAL 0
-+#define HAVE_AVX512_EXTERNAL 0
-+#define HAVE_AVX512ICL_EXTERNAL 0
-+#define HAVE_FMA3_EXTERNAL 0
-+#define HAVE_FMA4_EXTERNAL 0
-+#define HAVE_MMX_EXTERNAL 0
-+#define HAVE_MMXEXT_EXTERNAL 0
-+#define HAVE_SSE_EXTERNAL 0
-+#define HAVE_SSE2_EXTERNAL 0
-+#define HAVE_SSE3_EXTERNAL 0
-+#define HAVE_SSE4_EXTERNAL 0
-+#define HAVE_SSE42_EXTERNAL 0
-+#define HAVE_SSSE3_EXTERNAL 0
-+#define HAVE_XOP_EXTERNAL 0
-+#define HAVE_CPUNOP_EXTERNAL 0
-+#define HAVE_I686_EXTERNAL 0
-+#define HAVE_MIPSFPU_EXTERNAL 0
-+#define HAVE_MIPS32R2_EXTERNAL 0
-+#define HAVE_MIPS32R5_EXTERNAL 0
-+#define HAVE_MIPS64R2_EXTERNAL 0
-+#define HAVE_MIPS32R6_EXTERNAL 0
-+#define HAVE_MIPS64R6_EXTERNAL 0
-+#define HAVE_MIPSDSP_EXTERNAL 0
-+#define HAVE_MIPSDSPR2_EXTERNAL 0
-+#define HAVE_MSA_EXTERNAL 0
-+#define HAVE_LOONGSON2_EXTERNAL 0
-+#define HAVE_LOONGSON3_EXTERNAL 0
-+#define HAVE_MMI_EXTERNAL 0
-+#define HAVE_LSX_EXTERNAL 0
-+#define HAVE_LASX_EXTERNAL 0
-+#define HAVE_ARMV5TE_INLINE 0
-+#define HAVE_ARMV6_INLINE 0
-+#define HAVE_ARMV6T2_INLINE 0
-+#define HAVE_ARMV8_INLINE 1
-+#define HAVE_NEON_INLINE 1
-+#define HAVE_VFP_INLINE 1
-+#define HAVE_VFPV3_INLINE 0
-+#define HAVE_SETEND_INLINE 0
-+#define HAVE_ALTIVEC_INLINE 0
-+#define HAVE_DCBZL_INLINE 0
-+#define HAVE_LDBRX_INLINE 0
-+#define HAVE_POWER8_INLINE 0
-+#define HAVE_PPC4XX_INLINE 0
-+#define HAVE_VSX_INLINE 0
-+#define HAVE_AESNI_INLINE 0
-+#define HAVE_AMD3DNOW_INLINE 0
-+#define HAVE_AMD3DNOWEXT_INLINE 0
-+#define HAVE_AVX_INLINE 0
-+#define HAVE_AVX2_INLINE 0
-+#define HAVE_AVX512_INLINE 0
-+#define HAVE_AVX512ICL_INLINE 0
-+#define HAVE_FMA3_INLINE 0
-+#define HAVE_FMA4_INLINE 0
-+#define HAVE_MMX_INLINE 0
-+#define HAVE_MMXEXT_INLINE 0
-+#define HAVE_SSE_INLINE 0
-+#define HAVE_SSE2_INLINE 0
-+#define HAVE_SSE3_INLINE 0
-+#define HAVE_SSE4_INLINE 0
-+#define HAVE_SSE42_INLINE 0
-+#define HAVE_SSSE3_INLINE 0
-+#define HAVE_XOP_INLINE 0
-+#define HAVE_CPUNOP_INLINE 0
-+#define HAVE_I686_INLINE 0
-+#define HAVE_MIPSFPU_INLINE 0
-+#define HAVE_MIPS32R2_INLINE 0
-+#define HAVE_MIPS32R5_INLINE 0
-+#define HAVE_MIPS64R2_INLINE 0
-+#define HAVE_MIPS32R6_INLINE 0
-+#define HAVE_MIPS64R6_INLINE 0
-+#define HAVE_MIPSDSP_INLINE 0
-+#define HAVE_MIPSDSPR2_INLINE 0
-+#define HAVE_MSA_INLINE 0
-+#define HAVE_LOONGSON2_INLINE 0
-+#define HAVE_LOONGSON3_INLINE 0
-+#define HAVE_MMI_INLINE 0
-+#define HAVE_LSX_INLINE 0
-+#define HAVE_LASX_INLINE 0
-+#define HAVE_ALIGNED_STACK 1
-+#define HAVE_FAST_64BIT 1
-+#define HAVE_FAST_CLZ 1
-+#define HAVE_FAST_CMOV 0
-+#define HAVE_LOCAL_ALIGNED 0
-+#define HAVE_SIMD_ALIGN_16 1
-+#define HAVE_SIMD_ALIGN_32 0
-+#define HAVE_SIMD_ALIGN_64 0
-+#define HAVE_ATOMIC_CAS_PTR 0
-+#define HAVE_MACHINE_RW_BARRIER 0
-+#define HAVE_MEMORYBARRIER 0
-+#define HAVE_MM_EMPTY 0
-+#define HAVE_RDTSC 0
-+#define HAVE_SEM_TIMEDWAIT 1
-+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
-+#define HAVE_CABS 0
-+#define HAVE_CEXP 0
-+#define HAVE_INLINE_ASM 1
-+#define HAVE_SYMVER 0
-+#define HAVE_X86ASM 0
-+#define HAVE_BIGENDIAN 0
-+#define HAVE_FAST_UNALIGNED 1
-+#define HAVE_ARPA_INET_H 0
-+#define HAVE_ASM_TYPES_H 0
-+#define HAVE_CDIO_PARANOIA_H 0
-+#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+#define HAVE_CUDA_H 0
-+#define HAVE_DISPATCH_DISPATCH_H 0
-+#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
-+#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
-+#define HAVE_DEV_IC_BT8XX_H 1
-+#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
-+#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
-+#define HAVE_DIRECT_H 0
-+#define HAVE_DIRENT_H 1
-+#define HAVE_DXGIDEBUG_H 0
-+#define HAVE_DXVA_H 0
-+#define HAVE_ES2_GL_H 0
-+#define HAVE_GSM_H 0
-+#define HAVE_IO_H 0
-+#define HAVE_LINUX_DMA_BUF_H 0
-+#define HAVE_LINUX_PERF_EVENT_H 0
-+#define HAVE_MACHINE_IOCTL_BT848_H 0
-+#define HAVE_MACHINE_IOCTL_METEOR_H 0
-+#define HAVE_MALLOC_H 0
-+#define HAVE_OPENCV2_CORE_CORE_C_H 0
-+#define HAVE_OPENGL_GL3_H 0
-+#define HAVE_POLL_H 1
-+#define HAVE_SYS_PARAM_H 1
-+#define HAVE_SYS_RESOURCE_H 1
-+#define HAVE_SYS_SELECT_H 1
-+#define HAVE_SYS_SOUNDCARD_H 0
-+#define HAVE_SYS_TIME_H 1
-+#define HAVE_SYS_UN_H 1
-+#define HAVE_SYS_VIDEOIO_H 1
-+#define HAVE_TERMIOS_H 1
-+#define HAVE_UDPLITE_H 0
-+#define HAVE_UNISTD_H 1
-+#define HAVE_VALGRIND_VALGRIND_H 0 /* #define HAVE_VALGRIND_VALGRIND_H 1 -- forced to 0. See https://crbug.com/590440 */
-+#define HAVE_WINDOWS_H 0
-+#define HAVE_WINSOCK2_H 0
-+#define HAVE_INTRINSICS_NEON 1
-+#define HAVE_ATANF 1
-+#define HAVE_ATAN2F 1
-+#define HAVE_CBRT 1
-+#define HAVE_CBRTF 1
-+#define HAVE_COPYSIGN 1
-+#define HAVE_COSF 1
-+#define HAVE_ERF 1
-+#define HAVE_EXP2 1
-+#define HAVE_EXP2F 1
-+#define HAVE_EXPF 1
-+#define HAVE_HYPOT 1
-+#define HAVE_ISFINITE 1
-+#define HAVE_ISINF 1
-+#define HAVE_ISNAN 1
-+#define HAVE_LDEXPF 1
-+#define HAVE_LLRINT 1
-+#define HAVE_LLRINTF 1
-+#define HAVE_LOG2 1
-+#define HAVE_LOG2F 1
-+#define HAVE_LOG10F 1
-+#define HAVE_LRINT 1
-+#define HAVE_LRINTF 1
-+#define HAVE_POWF 1
-+#define HAVE_RINT 1
-+#define HAVE_ROUND 1
-+#define HAVE_ROUNDF 1
-+#define HAVE_SINF 1
-+#define HAVE_TRUNC 1
-+#define HAVE_TRUNCF 1
-+#define HAVE_DOS_PATHS 0
-+#define HAVE_LIBC_MSVCRT 0
-+#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
-+#define HAVE_SECTION_DATA_REL_RO 1
-+#define HAVE_THREADS 1
-+#define HAVE_UWP 0
-+#define HAVE_WINRT 0
-+#define HAVE_ACCESS 1
-+#define HAVE_ALIGNED_MALLOC 0
-+#define HAVE_ARC4RANDOM 1
-+#define HAVE_CLOCK_GETTIME 1
-+#define HAVE_CLOSESOCKET 0
-+#define HAVE_COMMANDLINETOARGVW 0
-+#define HAVE_FCNTL 1
-+#define HAVE_GETADDRINFO 0
-+#define HAVE_GETAUXVAL 0
-+#define HAVE_GETHRTIME 0
-+#define HAVE_GETOPT 1
-+#define HAVE_GETMODULEHANDLE 0
-+#define HAVE_GETPROCESSAFFINITYMASK 0
-+#define HAVE_GETPROCESSMEMORYINFO 0
-+#define HAVE_GETPROCESSTIMES 0
-+#define HAVE_GETRUSAGE 1
-+#define HAVE_GETSTDHANDLE 0
-+#define HAVE_GETSYSTEMTIMEASFILETIME 0
-+#define HAVE_GETTIMEOFDAY 1
-+#define HAVE_GLOB 1
-+#define HAVE_GLXGETPROCADDRESS 0
-+#define HAVE_GMTIME_R 1
-+#define HAVE_INET_ATON 0
-+#define HAVE_ISATTY 1
-+#define HAVE_KBHIT 0
-+#define HAVE_LOCALTIME_R 1
-+#define HAVE_LSTAT 1
-+#define HAVE_LZO1X_999_COMPRESS 0
-+#define HAVE_MACH_ABSOLUTE_TIME 0
-+#define HAVE_MAPVIEWOFFILE 0
-+#define HAVE_MEMALIGN 0
-+#define HAVE_MKSTEMP 1
-+#define HAVE_MMAP 1
-+#define HAVE_MPROTECT 1
-+#define HAVE_NANOSLEEP 1
-+#define HAVE_PEEKNAMEDPIPE 0
-+#define HAVE_POSIX_MEMALIGN 1
-+#define HAVE_PTHREAD_CANCEL 1
-+#define HAVE_SCHED_GETAFFINITY 0
-+#define HAVE_SECITEMIMPORT 0
-+#define HAVE_SETCONSOLETEXTATTRIBUTE 0
-+#define HAVE_SETCONSOLECTRLHANDLER 0
-+#define HAVE_SETDLLDIRECTORY 0
-+#define HAVE_SETMODE 0
-+#define HAVE_SETRLIMIT 1
-+#define HAVE_SLEEP 0
-+#define HAVE_STRERROR_R 1
-+#define HAVE_SYSCONF 1
-+#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 1 -- forced to 0 for Fuchsia */
-+#define HAVE_USLEEP 1
-+#define HAVE_UTGETOSTYPEFROMSTRING 0
-+#define HAVE_VIRTUALALLOC 0
-+#define HAVE_WGLGETPROCADDRESS 0
-+#define HAVE_BCRYPT 0
-+#define HAVE_VAAPI_DRM 0
-+#define HAVE_VAAPI_X11 0
-+#define HAVE_VDPAU_X11 0
-+#define HAVE_PTHREADS 1
-+#define HAVE_OS2THREADS 0
-+#define HAVE_W32THREADS 0
-+#define HAVE_AS_ARCH_DIRECTIVE 0
-+#define HAVE_AS_DN_DIRECTIVE 0
-+#define HAVE_AS_FPU_DIRECTIVE 0
-+#define HAVE_AS_FUNC 0
-+#define HAVE_AS_OBJECT_ARCH 0
-+#define HAVE_ASM_MOD_Q 0
-+#define HAVE_BLOCKS_EXTENSION 0
-+#define HAVE_EBP_AVAILABLE 0
-+#define HAVE_EBX_AVAILABLE 0
-+#define HAVE_GNU_AS 0
-+#define HAVE_GNU_WINDRES 0
-+#define HAVE_IBM_ASM 0
-+#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 0
-+#define HAVE_INLINE_ASM_LABELS 1
-+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
-+#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 0
-+#define HAVE_SYMVER_ASM_LABEL 1
-+#define HAVE_SYMVER_GNU_ASM 1
-+/* #define HAVE_VFP_ARGS 0 -- softfp/hardfp selection is done by the chrome build */
-+#define HAVE_XFORM_ASM 0
-+#define HAVE_XMM_CLOBBERS 0
-+#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
-+#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
-+#define HAVE_KCMVIDEOCODECTYPE_VP9 0
-+#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
-+#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
-+#define HAVE_SOCKLEN_T 0
-+#define HAVE_STRUCT_ADDRINFO 0
-+#define HAVE_STRUCT_GROUP_SOURCE_REQ 0
-+#define HAVE_STRUCT_IP_MREQ_SOURCE 0
-+#define HAVE_STRUCT_IPV6_MREQ 0
-+#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0
-+#define HAVE_STRUCT_POLLFD 0
-+#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
-+#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
-+#define HAVE_STRUCT_SOCKADDR_IN6 0
-+#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
-+#define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
-+#define HAVE_GZIP 1
-+#define HAVE_LIBDRM_GETFB2 0
-+#define HAVE_MAKEINFO 1
-+#define HAVE_MAKEINFO_HTML 0
-+#define HAVE_OPENCL_D3D11 0
-+#define HAVE_OPENCL_DRM_ARM 0
-+#define HAVE_OPENCL_DRM_BEIGNET 0
-+#define HAVE_OPENCL_DXVA2 0
-+#define HAVE_OPENCL_VAAPI_BEIGNET 0
-+#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+#define HAVE_PERL 1
-+#define HAVE_POD2MAN 1
-+#define HAVE_TEXI2HTML 0
-+#define HAVE_XMLLINT 1
-+#define HAVE_ZLIB_GZIP 0
-+#define CONFIG_DOC 0
-+#define CONFIG_HTMLPAGES 0
-+#define CONFIG_MANPAGES 0
-+#define CONFIG_PODPAGES 0
-+#define CONFIG_TXTPAGES 0
-+#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
-+#define CONFIG_AVIO_READING_EXAMPLE 1
-+#define CONFIG_DECODE_AUDIO_EXAMPLE 1
-+#define CONFIG_DECODE_VIDEO_EXAMPLE 1
-+#define CONFIG_DEMUXING_DECODING_EXAMPLE 1
-+#define CONFIG_ENCODE_AUDIO_EXAMPLE 1
-+#define CONFIG_ENCODE_VIDEO_EXAMPLE 1
-+#define CONFIG_EXTRACT_MVS_EXAMPLE 1
-+#define CONFIG_FILTER_AUDIO_EXAMPLE 0
-+#define CONFIG_FILTERING_AUDIO_EXAMPLE 0
-+#define CONFIG_FILTERING_VIDEO_EXAMPLE 0
-+#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1
-+#define CONFIG_HW_DECODE_EXAMPLE 1
-+#define CONFIG_METADATA_EXAMPLE 1
-+#define CONFIG_MUXING_EXAMPLE 0
-+#define CONFIG_QSVDEC_EXAMPLE 0
-+#define CONFIG_REMUXING_EXAMPLE 1
-+#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0
-+#define CONFIG_SCALING_VIDEO_EXAMPLE 0
-+#define CONFIG_TRANSCODE_AAC_EXAMPLE 0
-+#define CONFIG_TRANSCODING_EXAMPLE 0
-+#define CONFIG_VAAPI_ENCODE_EXAMPLE 0
-+#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
-+#define CONFIG_AVISYNTH 0
-+#define CONFIG_FREI0R 0
-+#define CONFIG_LIBCDIO 0
-+#define CONFIG_LIBDAVS2 0
-+#define CONFIG_LIBRUBBERBAND 0
-+#define CONFIG_LIBVIDSTAB 0
-+#define CONFIG_LIBX264 0
-+#define CONFIG_LIBX265 0
-+#define CONFIG_LIBXAVS 0
-+#define CONFIG_LIBXAVS2 0
-+#define CONFIG_LIBXVID 0
-+#define CONFIG_DECKLINK 0
-+#define CONFIG_LIBFDK_AAC 0
-+#define CONFIG_LIBTLS 0
-+#define CONFIG_GMP 0
-+#define CONFIG_LIBARIBB24 0
-+#define CONFIG_LIBLENSFUN 0
-+#define CONFIG_LIBOPENCORE_AMRNB 0
-+#define CONFIG_LIBOPENCORE_AMRWB 0
-+#define CONFIG_LIBVO_AMRWBENC 0
-+#define CONFIG_MBEDTLS 0
-+#define CONFIG_RKMPP 0
-+#define CONFIG_LIBSMBCLIENT 0
-+#define CONFIG_CHROMAPRINT 0
-+#define CONFIG_GCRYPT 0
-+#define CONFIG_GNUTLS 0
-+#define CONFIG_JNI 0
-+#define CONFIG_LADSPA 0
-+#define CONFIG_LIBAOM 0
-+#define CONFIG_LIBASS 0
-+#define CONFIG_LIBBLURAY 0
-+#define CONFIG_LIBBS2B 0
-+#define CONFIG_LIBCACA 0
-+#define CONFIG_LIBCELT 0
-+#define CONFIG_LIBCODEC2 0
-+#define CONFIG_LIBDAV1D 0
-+#define CONFIG_LIBDC1394 0
-+#define CONFIG_LIBDRM 0
-+#define CONFIG_LIBFLITE 0
-+#define CONFIG_LIBFONTCONFIG 0
-+#define CONFIG_LIBFREETYPE 0
-+#define CONFIG_LIBFRIBIDI 0
-+#define CONFIG_LIBGLSLANG 0
-+#define CONFIG_LIBGME 0
-+#define CONFIG_LIBGSM 0
-+#define CONFIG_LIBIEC61883 0
-+#define CONFIG_LIBILBC 0
-+#define CONFIG_LIBJACK 0
-+#define CONFIG_LIBKLVANC 0
-+#define CONFIG_LIBKVAZAAR 0
-+#define CONFIG_LIBMODPLUG 0
-+#define CONFIG_LIBMP3LAME 0
-+#define CONFIG_LIBMYSOFA 0
-+#define CONFIG_LIBOPENCV 0
-+#define CONFIG_LIBOPENH264 0
-+#define CONFIG_LIBOPENJPEG 0
-+#define CONFIG_LIBOPENMPT 0
-+#define CONFIG_LIBOPENVINO 0
-+#define CONFIG_LIBOPUS 1
-+#define CONFIG_LIBPLACEBO 0
-+#define CONFIG_LIBPULSE 0
-+#define CONFIG_LIBRABBITMQ 0
-+#define CONFIG_LIBRAV1E 0
-+#define CONFIG_LIBRIST 0
-+#define CONFIG_LIBRSVG 0
-+#define CONFIG_LIBRTMP 0
-+#define CONFIG_LIBSHADERC 0
-+#define CONFIG_LIBSHINE 0
-+#define CONFIG_LIBSMBCLIENT 0
-+#define CONFIG_LIBSNAPPY 0
-+#define CONFIG_LIBSOXR 0
-+#define CONFIG_LIBSPEEX 0
-+#define CONFIG_LIBSRT 0
-+#define CONFIG_LIBSSH 0
-+#define CONFIG_LIBSVTAV1 0
-+#define CONFIG_LIBTENSORFLOW 0
-+#define CONFIG_LIBTESSERACT 0
-+#define CONFIG_LIBTHEORA 0
-+#define CONFIG_LIBTWOLAME 0
-+#define CONFIG_LIBUAVS3D 0
-+#define CONFIG_LIBV4L2 0
-+#define CONFIG_LIBVMAF 0
-+#define CONFIG_LIBVORBIS 0
-+#define CONFIG_LIBVPX 0
-+#define CONFIG_LIBWEBP 0
-+#define CONFIG_LIBXML2 0
-+#define CONFIG_LIBZIMG 0
-+#define CONFIG_LIBZMQ 0
-+#define CONFIG_LIBZVBI 0
-+#define CONFIG_LV2 0
-+#define CONFIG_MEDIACODEC 0
-+#define CONFIG_OPENAL 0
-+#define CONFIG_OPENGL 0
-+#define CONFIG_OPENSSL 0
-+#define CONFIG_POCKETSPHINX 0
-+#define CONFIG_VAPOURSYNTH 0
-+#define CONFIG_ALSA 0
-+#define CONFIG_APPKIT 0
-+#define CONFIG_AVFOUNDATION 0
-+#define CONFIG_BZLIB 0
-+#define CONFIG_COREIMAGE 0
-+#define CONFIG_ICONV 0
-+#define CONFIG_LIBXCB 0
-+#define CONFIG_LIBXCB_SHM 0
-+#define CONFIG_LIBXCB_SHAPE 0
-+#define CONFIG_LIBXCB_XFIXES 0
-+#define CONFIG_LZMA 0
-+#define CONFIG_MEDIAFOUNDATION 0
-+#define CONFIG_METAL 0
-+#define CONFIG_SCHANNEL 0
-+#define CONFIG_SDL2 0
-+#define CONFIG_SECURETRANSPORT 0
-+#define CONFIG_SNDIO 0
-+#define CONFIG_XLIB 0
-+#define CONFIG_ZLIB 0
-+#define CONFIG_CUDA_NVCC 0
-+#define CONFIG_CUDA_SDK 0
-+#define CONFIG_LIBNPP 0
-+#define CONFIG_LIBMFX 0
-+#define CONFIG_MMAL 0
-+#define CONFIG_OMX 0
-+#define CONFIG_OPENCL 0
-+#define CONFIG_AMF 0
-+#define CONFIG_AUDIOTOOLBOX 0
-+#define CONFIG_CRYSTALHD 0
-+#define CONFIG_CUDA 0
-+#define CONFIG_CUDA_LLVM 0
-+#define CONFIG_CUVID 0
-+#define CONFIG_D3D11VA 0
-+#define CONFIG_DXVA2 0
-+#define CONFIG_FFNVCODEC 0
-+#define CONFIG_NVDEC 0
-+#define CONFIG_NVENC 0
-+#define CONFIG_VAAPI 0
-+#define CONFIG_VDPAU 0
-+#define CONFIG_VIDEOTOOLBOX 0
-+#define CONFIG_VULKAN 0
-+#define CONFIG_V4L2_M2M 0
-+#define CONFIG_FTRAPV 0
-+#define CONFIG_GRAY 0
-+#define CONFIG_HARDCODED_TABLES 0
-+#define CONFIG_OMX_RPI 0
-+#define CONFIG_RUNTIME_CPUDETECT 1
-+#define CONFIG_SAFE_BITSTREAM_READER 1
-+#define CONFIG_SHARED 0
-+#define CONFIG_SMALL 0
-+#define CONFIG_STATIC 1
-+#define CONFIG_SWSCALE_ALPHA 1
-+#define CONFIG_GPL 0
-+#define CONFIG_NONFREE 0
-+#define CONFIG_VERSION3 0
-+#define CONFIG_AVDEVICE 0
-+#define CONFIG_AVFILTER 0
-+#define CONFIG_SWSCALE 0
-+#define CONFIG_POSTPROC 0
-+#define CONFIG_AVFORMAT 1
-+#define CONFIG_AVCODEC 1
-+#define CONFIG_SWRESAMPLE 0
-+#define CONFIG_AVUTIL 1
-+#define CONFIG_FFPLAY 0
-+#define CONFIG_FFPROBE 0
-+#define CONFIG_FFMPEG 0
-+#define CONFIG_DCT 1
-+#define CONFIG_DWT 0
-+#define CONFIG_ERROR_RESILIENCE 0
-+#define CONFIG_FAAN 0
-+#define CONFIG_FAST_UNALIGNED 1
-+#define CONFIG_FFT 1
-+#define CONFIG_LSP 0
-+#define CONFIG_MDCT 1
-+#define CONFIG_PIXELUTILS 0
-+#define CONFIG_NETWORK 0
-+#define CONFIG_RDFT 1
-+#define CONFIG_AUTODETECT 0
-+#define CONFIG_FONTCONFIG 0
-+#define CONFIG_LARGE_TESTS 1
-+#define CONFIG_LINUX_PERF 0
-+#define CONFIG_MACOS_KPERF 0
-+#define CONFIG_MEMORY_POISONING 0
-+#define CONFIG_NEON_CLOBBER_TEST 0
-+#define CONFIG_OSSFUZZ 0
-+#define CONFIG_PIC 1
-+#define CONFIG_PTX_COMPRESSION 0
-+#define CONFIG_THUMB 0
-+#define CONFIG_VALGRIND_BACKTRACE 0
-+#define CONFIG_XMM_CLOBBER_TEST 0
-+#define CONFIG_BSFS 0
-+#define CONFIG_DECODERS 1
-+#define CONFIG_ENCODERS 0
-+#define CONFIG_HWACCELS 0
-+#define CONFIG_PARSERS 1
-+#define CONFIG_INDEVS 0
-+#define CONFIG_OUTDEVS 0
-+#define CONFIG_FILTERS 0
-+#define CONFIG_DEMUXERS 1
-+#define CONFIG_MUXERS 0
-+#define CONFIG_PROTOCOLS 0
-+#define CONFIG_AANDCTTABLES 0
-+#define CONFIG_AC3DSP 0
-+#define CONFIG_ADTS_HEADER 1
-+#define CONFIG_ATSC_A53 1
-+#define CONFIG_AUDIO_FRAME_QUEUE 0
-+#define CONFIG_AUDIODSP 0
-+#define CONFIG_BLOCKDSP 0
-+#define CONFIG_BSWAPDSP 0
-+#define CONFIG_CABAC 1
-+#define CONFIG_CBS 0
-+#define CONFIG_CBS_AV1 0
-+#define CONFIG_CBS_H264 0
-+#define CONFIG_CBS_H265 0
-+#define CONFIG_CBS_JPEG 0
-+#define CONFIG_CBS_MPEG2 0
-+#define CONFIG_CBS_VP9 0
-+#define CONFIG_DEFLATE_WRAPPER 0
-+#define CONFIG_DIRAC_PARSE 1
-+#define CONFIG_DNN 0
-+#define CONFIG_DOVI_RPU 0
-+#define CONFIG_DVPROFILE 0
-+#define CONFIG_EXIF 0
-+#define CONFIG_FAANDCT 0
-+#define CONFIG_FAANIDCT 0
-+#define CONFIG_FDCTDSP 0
-+#define CONFIG_FLACDSP 1
-+#define CONFIG_FMTCONVERT 0
-+#define CONFIG_FRAME_THREAD_ENCODER 0
-+#define CONFIG_G722DSP 0
-+#define CONFIG_GOLOMB 1
-+#define CONFIG_GPLV3 0
-+#define CONFIG_H263DSP 0
-+#define CONFIG_H264CHROMA 1
-+#define CONFIG_H264DSP 1
-+#define CONFIG_H264PARSE 1
-+#define CONFIG_H264PRED 1
-+#define CONFIG_H264QPEL 1
-+#define CONFIG_HEVCPARSE 0
-+#define CONFIG_HPELDSP 1
-+#define CONFIG_HUFFMAN 0
-+#define CONFIG_HUFFYUVDSP 0
-+#define CONFIG_HUFFYUVENCDSP 0
-+#define CONFIG_IDCTDSP 0
-+#define CONFIG_IIRFILTER 0
-+#define CONFIG_MDCT15 1
-+#define CONFIG_INFLATE_WRAPPER 0
-+#define CONFIG_INTRAX8 0
-+#define CONFIG_ISO_MEDIA 1
-+#define CONFIG_IVIDSP 0
-+#define CONFIG_JPEGTABLES 0
-+#define CONFIG_LGPLV3 0
-+#define CONFIG_LIBX262 0
-+#define CONFIG_LLAUDDSP 0
-+#define CONFIG_LLVIDDSP 0
-+#define CONFIG_LLVIDENCDSP 0
-+#define CONFIG_LPC 0
-+#define CONFIG_LZF 0
-+#define CONFIG_ME_CMP 0
-+#define CONFIG_MPEG_ER 0
-+#define CONFIG_MPEGAUDIO 1
-+#define CONFIG_MPEGAUDIODSP 1
-+#define CONFIG_MPEGAUDIOHEADER 1
-+#define CONFIG_MPEG4AUDIO 1
-+#define CONFIG_MPEGVIDEO 0
-+#define CONFIG_MPEGVIDEODEC 0
-+#define CONFIG_MPEGVIDEOENC 0
-+#define CONFIG_MSS34DSP 0
-+#define CONFIG_PIXBLOCKDSP 0
-+#define CONFIG_QPELDSP 0
-+#define CONFIG_QSV 0
-+#define CONFIG_QSVDEC 0
-+#define CONFIG_QSVENC 0
-+#define CONFIG_QSVVPP 0
-+#define CONFIG_RANGECODER 0
-+#define CONFIG_RIFFDEC 1
-+#define CONFIG_RIFFENC 0
-+#define CONFIG_RTPDEC 0
-+#define CONFIG_RTPENC_CHAIN 0
-+#define CONFIG_RV34DSP 0
-+#define CONFIG_SCENE_SAD 0
-+#define CONFIG_SINEWIN 1
-+#define CONFIG_SNAPPY 0
-+#define CONFIG_SRTP 0
-+#define CONFIG_STARTCODE 1
-+#define CONFIG_TEXTUREDSP 0
-+#define CONFIG_TEXTUREDSPENC 0
-+#define CONFIG_TPELDSP 0
-+#define CONFIG_VAAPI_1 0
-+#define CONFIG_VAAPI_ENCODE 0
-+#define CONFIG_VC1DSP 0
-+#define CONFIG_VIDEODSP 1
-+#define CONFIG_VP3DSP 1
-+#define CONFIG_VP56DSP 0
-+#define CONFIG_VP8DSP 1
-+#define CONFIG_WMA_FREQS 0
-+#define CONFIG_WMV2DSP 0
-+#endif /* FFMPEG_CONFIG_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h
deleted file mode 100644
index be34e11ef073..000000000000
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h
+++ /dev/null
@@ -1,2066 +0,0 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config_components.h.orig 2022-05-19 14:06:27 UTC
-+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config_components.h
-@@ -0,0 +1,2063 @@
-+/* Automatically generated by configure - do not modify! */
-+#ifndef FFMPEG_CONFIG_COMPONENTS_H
-+#define FFMPEG_CONFIG_COMPONENTS_H
-+#define CONFIG_AAC_ADTSTOASC_BSF 0
-+#define CONFIG_AV1_FRAME_MERGE_BSF 0
-+#define CONFIG_AV1_FRAME_SPLIT_BSF 0
-+#define CONFIG_AV1_METADATA_BSF 0
-+#define CONFIG_CHOMP_BSF 0
-+#define CONFIG_DUMP_EXTRADATA_BSF 0
-+#define CONFIG_DCA_CORE_BSF 0
-+#define CONFIG_DV_ERROR_MARKER_BSF 0
-+#define CONFIG_EAC3_CORE_BSF 0
-+#define CONFIG_EXTRACT_EXTRADATA_BSF 0
-+#define CONFIG_FILTER_UNITS_BSF 0
-+#define CONFIG_H264_METADATA_BSF 0
-+#define CONFIG_H264_MP4TOANNEXB_BSF 0
-+#define CONFIG_H264_REDUNDANT_PPS_BSF 0
-+#define CONFIG_HAPQA_EXTRACT_BSF 0
-+#define CONFIG_HEVC_METADATA_BSF 0
-+#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
-+#define CONFIG_IMX_DUMP_HEADER_BSF 0
-+#define CONFIG_MJPEG2JPEG_BSF 0
-+#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
-+#define CONFIG_MPEG2_METADATA_BSF 0
-+#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
-+#define CONFIG_MOV2TEXTSUB_BSF 0
-+#define CONFIG_NOISE_BSF 0
-+#define CONFIG_NULL_BSF 0
-+#define CONFIG_OPUS_METADATA_BSF 0
-+#define CONFIG_PCM_RECHUNK_BSF 0
-+#define CONFIG_PRORES_METADATA_BSF 0
-+#define CONFIG_REMOVE_EXTRADATA_BSF 0
-+#define CONFIG_SETTS_BSF 0
-+#define CONFIG_TEXT2MOVSUB_BSF 0
-+#define CONFIG_TRACE_HEADERS_BSF 0
-+#define CONFIG_TRUEHD_CORE_BSF 0
-+#define CONFIG_VP9_METADATA_BSF 0
-+#define CONFIG_VP9_RAW_REORDER_BSF 0
-+#define CONFIG_VP9_SUPERFRAME_BSF 0
-+#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
-+#define CONFIG_AASC_DECODER 0
-+#define CONFIG_AIC_DECODER 0
-+#define CONFIG_ALIAS_PIX_DECODER 0
-+#define CONFIG_AGM_DECODER 0
-+#define CONFIG_AMV_DECODER 0
-+#define CONFIG_ANM_DECODER 0
-+#define CONFIG_ANSI_DECODER 0
-+#define CONFIG_APNG_DECODER 0
-+#define CONFIG_ARBC_DECODER 0
-+#define CONFIG_ARGO_DECODER 0
-+#define CONFIG_ASV1_DECODER 0
-+#define CONFIG_ASV2_DECODER 0
-+#define CONFIG_AURA_DECODER 0
-+#define CONFIG_AURA2_DECODER 0
-+#define CONFIG_AVRP_DECODER 0
-+#define CONFIG_AVRN_DECODER 0
-+#define CONFIG_AVS_DECODER 0
-+#define CONFIG_AVUI_DECODER 0
-+#define CONFIG_AYUV_DECODER 0
-+#define CONFIG_BETHSOFTVID_DECODER 0
-+#define CONFIG_BFI_DECODER 0
-+#define CONFIG_BINK_DECODER 0
-+#define CONFIG_BITPACKED_DECODER 0
-+#define CONFIG_BMP_DECODER 0
-+#define CONFIG_BMV_VIDEO_DECODER 0
-+#define CONFIG_BRENDER_PIX_DECODER 0
-+#define CONFIG_C93_DECODER 0
-+#define CONFIG_CAVS_DECODER 0
-+#define CONFIG_CDGRAPHICS_DECODER 0
-+#define CONFIG_CDTOONS_DECODER 0
-+#define CONFIG_CDXL_DECODER 0
-+#define CONFIG_CFHD_DECODER 0
-+#define CONFIG_CINEPAK_DECODER 0
-+#define CONFIG_CLEARVIDEO_DECODER 0
-+#define CONFIG_CLJR_DECODER 0
-+#define CONFIG_CLLC_DECODER 0
-+#define CONFIG_COMFORTNOISE_DECODER 0
-+#define CONFIG_CPIA_DECODER 0
-+#define CONFIG_CRI_DECODER 0
-+#define CONFIG_CSCD_DECODER 0
-+#define CONFIG_CYUV_DECODER 0
-+#define CONFIG_DDS_DECODER 0
-+#define CONFIG_DFA_DECODER 0
-+#define CONFIG_DIRAC_DECODER 0
-+#define CONFIG_DNXHD_DECODER 0
-+#define CONFIG_DPX_DECODER 0
-+#define CONFIG_DSICINVIDEO_DECODER 0
-+#define CONFIG_DVAUDIO_DECODER 0
-+#define CONFIG_DVVIDEO_DECODER 0
-+#define CONFIG_DXA_DECODER 0
-+#define CONFIG_DXTORY_DECODER 0
-+#define CONFIG_DXV_DECODER 0
-+#define CONFIG_EACMV_DECODER 0
-+#define CONFIG_EAMAD_DECODER 0
-+#define CONFIG_EATGQ_DECODER 0
-+#define CONFIG_EATGV_DECODER 0
-+#define CONFIG_EATQI_DECODER 0
-+#define CONFIG_EIGHTBPS_DECODER 0
-+#define CONFIG_EIGHTSVX_EXP_DECODER 0
-+#define CONFIG_EIGHTSVX_FIB_DECODER 0
-+#define CONFIG_ESCAPE124_DECODER 0
-+#define CONFIG_ESCAPE130_DECODER 0
-+#define CONFIG_EXR_DECODER 0
-+#define CONFIG_FFV1_DECODER 0
-+#define CONFIG_FFVHUFF_DECODER 0
-+#define CONFIG_FIC_DECODER 0
-+#define CONFIG_FITS_DECODER 0
-+#define CONFIG_FLASHSV_DECODER 0
-+#define CONFIG_FLASHSV2_DECODER 0
-+#define CONFIG_FLIC_DECODER 0
-+#define CONFIG_FLV_DECODER 0
-+#define CONFIG_FMVC_DECODER 0
-+#define CONFIG_FOURXM_DECODER 0
-+#define CONFIG_FRAPS_DECODER 0
-+#define CONFIG_FRWU_DECODER 0
-+#define CONFIG_G2M_DECODER 0
-+#define CONFIG_GDV_DECODER 0
-+#define CONFIG_GEM_DECODER 0
-+#define CONFIG_GIF_DECODER 0
-+#define CONFIG_H261_DECODER 0
-+#define CONFIG_H263_DECODER 0
-+#define CONFIG_H263I_DECODER 0
-+#define CONFIG_H263P_DECODER 0
-+#define CONFIG_H263_V4L2M2M_DECODER 0
-+#define CONFIG_H264_DECODER 1
-+#define CONFIG_H264_CRYSTALHD_DECODER 0
-+#define CONFIG_H264_V4L2M2M_DECODER 0
-+#define CONFIG_H264_MEDIACODEC_DECODER 0
-+#define CONFIG_H264_MMAL_DECODER 0
-+#define CONFIG_H264_QSV_DECODER 0
-+#define CONFIG_H264_RKMPP_DECODER 0
-+#define CONFIG_HAP_DECODER 0
-+#define CONFIG_HEVC_DECODER 0
-+#define CONFIG_HEVC_QSV_DECODER 0
-+#define CONFIG_HEVC_RKMPP_DECODER 0
-+#define CONFIG_HEVC_V4L2M2M_DECODER 0
-+#define CONFIG_HNM4_VIDEO_DECODER 0
-+#define CONFIG_HQ_HQA_DECODER 0
-+#define CONFIG_HQX_DECODER 0
-+#define CONFIG_HUFFYUV_DECODER 0
-+#define CONFIG_HYMT_DECODER 0
-+#define CONFIG_IDCIN_DECODER 0
-+#define CONFIG_IFF_ILBM_DECODER 0
-+#define CONFIG_IMM4_DECODER 0
-+#define CONFIG_IMM5_DECODER 0
-+#define CONFIG_INDEO2_DECODER 0
-+#define CONFIG_INDEO3_DECODER 0
-+#define CONFIG_INDEO4_DECODER 0
-+#define CONFIG_INDEO5_DECODER 0
-+#define CONFIG_INTERPLAY_VIDEO_DECODER 0
-+#define CONFIG_IPU_DECODER 0
-+#define CONFIG_JPEG2000_DECODER 0
-+#define CONFIG_JPEGLS_DECODER 0
-+#define CONFIG_JV_DECODER 0
-+#define CONFIG_KGV1_DECODER 0
-+#define CONFIG_KMVC_DECODER 0
-+#define CONFIG_LAGARITH_DECODER 0
-+#define CONFIG_LOCO_DECODER 0
-+#define CONFIG_LSCR_DECODER 0
-+#define CONFIG_M101_DECODER 0
-+#define CONFIG_MAGICYUV_DECODER 0
-+#define CONFIG_MDEC_DECODER 0
-+#define CONFIG_MIMIC_DECODER 0
-+#define CONFIG_MJPEG_DECODER 0
-+#define CONFIG_MJPEGB_DECODER 0
-+#define CONFIG_MMVIDEO_DECODER 0
-+#define CONFIG_MOBICLIP_DECODER 0
-+#define CONFIG_MOTIONPIXELS_DECODER 0
-+#define CONFIG_MPEG1VIDEO_DECODER 0
-+#define CONFIG_MPEG2VIDEO_DECODER 0
-+#define CONFIG_MPEG4_DECODER 0
-+#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
-+#define CONFIG_MPEG4_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG4_MMAL_DECODER 0
-+#define CONFIG_MPEGVIDEO_DECODER 0
-+#define CONFIG_MPEG1_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG2_MMAL_DECODER 0
-+#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
-+#define CONFIG_MPEG2_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG2_QSV_DECODER 0
-+#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-+#define CONFIG_MSA1_DECODER 0
-+#define CONFIG_MSCC_DECODER 0
-+#define CONFIG_MSMPEG4V1_DECODER 0
-+#define CONFIG_MSMPEG4V2_DECODER 0
-+#define CONFIG_MSMPEG4V3_DECODER 0
-+#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
-+#define CONFIG_MSP2_DECODER 0
-+#define CONFIG_MSRLE_DECODER 0
-+#define CONFIG_MSS1_DECODER 0
-+#define CONFIG_MSS2_DECODER 0
-+#define CONFIG_MSVIDEO1_DECODER 0
-+#define CONFIG_MSZH_DECODER 0
-+#define CONFIG_MTS2_DECODER 0
-+#define CONFIG_MV30_DECODER 0
-+#define CONFIG_MVC1_DECODER 0
-+#define CONFIG_MVC2_DECODER 0
-+#define CONFIG_MVDV_DECODER 0
-+#define CONFIG_MVHA_DECODER 0
-+#define CONFIG_MWSC_DECODER 0
-+#define CONFIG_MXPEG_DECODER 0
-+#define CONFIG_NOTCHLC_DECODER 0
-+#define CONFIG_NUV_DECODER 0
-+#define CONFIG_PAF_VIDEO_DECODER 0
-+#define CONFIG_PAM_DECODER 0
-+#define CONFIG_PBM_DECODER 0
-+#define CONFIG_PCX_DECODER 0
-+#define CONFIG_PFM_DECODER 0
-+#define CONFIG_PGM_DECODER 0
-+#define CONFIG_PGMYUV_DECODER 0
-+#define CONFIG_PGX_DECODER 0
-+#define CONFIG_PHOTOCD_DECODER 0
-+#define CONFIG_PICTOR_DECODER 0
-+#define CONFIG_PIXLET_DECODER 0
-+#define CONFIG_PNG_DECODER 0
-+#define CONFIG_PPM_DECODER 0
-+#define CONFIG_PRORES_DECODER 0
-+#define CONFIG_PROSUMER_DECODER 0
-+#define CONFIG_PSD_DECODER 0
-+#define CONFIG_PTX_DECODER 0
-+#define CONFIG_QDRAW_DECODER 0
-+#define CONFIG_QPEG_DECODER 0
-+#define CONFIG_QTRLE_DECODER 0
-+#define CONFIG_R10K_DECODER 0
-+#define CONFIG_R210_DECODER 0
-+#define CONFIG_RASC_DECODER 0
-+#define CONFIG_RAWVIDEO_DECODER 0
-+#define CONFIG_RL2_DECODER 0
-+#define CONFIG_ROQ_DECODER 0
-+#define CONFIG_RPZA_DECODER 0
-+#define CONFIG_RSCC_DECODER 0
-+#define CONFIG_RV10_DECODER 0
-+#define CONFIG_RV20_DECODER 0
-+#define CONFIG_RV30_DECODER 0
-+#define CONFIG_RV40_DECODER 0
-+#define CONFIG_S302M_DECODER 0
-+#define CONFIG_SANM_DECODER 0
-+#define CONFIG_SCPR_DECODER 0
-+#define CONFIG_SCREENPRESSO_DECODER 0
-+#define CONFIG_SGA_DECODER 0
-+#define CONFIG_SGI_DECODER 0
-+#define CONFIG_SGIRLE_DECODER 0
-+#define CONFIG_SHEERVIDEO_DECODER 0
-+#define CONFIG_SIMBIOSIS_IMX_DECODER 0
-+#define CONFIG_SMACKER_DECODER 0
-+#define CONFIG_SMC_DECODER 0
-+#define CONFIG_SMVJPEG_DECODER 0
-+#define CONFIG_SNOW_DECODER 0
-+#define CONFIG_SP5X_DECODER 0
-+#define CONFIG_SPEEDHQ_DECODER 0
-+#define CONFIG_SPEEX_DECODER 0
-+#define CONFIG_SRGC_DECODER 0
-+#define CONFIG_SUNRAST_DECODER 0
-+#define CONFIG_SVQ1_DECODER 0
-+#define CONFIG_SVQ3_DECODER 0
-+#define CONFIG_TARGA_DECODER 0
-+#define CONFIG_TARGA_Y216_DECODER 0
-+#define CONFIG_TDSC_DECODER 0
-+#define CONFIG_THEORA_DECODER 1
-+#define CONFIG_THP_DECODER 0
-+#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
-+#define CONFIG_TIFF_DECODER 0
-+#define CONFIG_TMV_DECODER 0
-+#define CONFIG_TRUEMOTION1_DECODER 0
-+#define CONFIG_TRUEMOTION2_DECODER 0
-+#define CONFIG_TRUEMOTION2RT_DECODER 0
-+#define CONFIG_TSCC_DECODER 0
-+#define CONFIG_TSCC2_DECODER 0
-+#define CONFIG_TXD_DECODER 0
-+#define CONFIG_ULTI_DECODER 0
-+#define CONFIG_UTVIDEO_DECODER 0
-+#define CONFIG_V210_DECODER 0
-+#define CONFIG_V210X_DECODER 0
-+#define CONFIG_V308_DECODER 0
-+#define CONFIG_V408_DECODER 0
-+#define CONFIG_V410_DECODER 0
-+#define CONFIG_VB_DECODER 0
-+#define CONFIG_VBLE_DECODER 0
-+#define CONFIG_VC1_DECODER 0
-+#define CONFIG_VC1_CRYSTALHD_DECODER 0
-+#define CONFIG_VC1IMAGE_DECODER 0
-+#define CONFIG_VC1_MMAL_DECODER 0
-+#define CONFIG_VC1_QSV_DECODER 0
-+#define CONFIG_VC1_V4L2M2M_DECODER 0
-+#define CONFIG_VCR1_DECODER 0
-+#define CONFIG_VMDVIDEO_DECODER 0
-+#define CONFIG_VMNC_DECODER 0
-+#define CONFIG_VP3_DECODER 1
-+#define CONFIG_VP4_DECODER 0
-+#define CONFIG_VP5_DECODER 0
-+#define CONFIG_VP6_DECODER 0
-+#define CONFIG_VP6A_DECODER 0
-+#define CONFIG_VP6F_DECODER 0
-+#define CONFIG_VP7_DECODER 0
-+#define CONFIG_VP8_DECODER 1
-+#define CONFIG_VP8_RKMPP_DECODER 0
-+#define CONFIG_VP8_V4L2M2M_DECODER 0
-+#define CONFIG_VP9_DECODER 0
-+#define CONFIG_VP9_RKMPP_DECODER 0
-+#define CONFIG_VP9_V4L2M2M_DECODER 0
-+#define CONFIG_VQA_DECODER 0
-+#define CONFIG_WEBP_DECODER 0
-+#define CONFIG_WCMV_DECODER 0
-+#define CONFIG_WRAPPED_AVFRAME_DECODER 0
-+#define CONFIG_WMV1_DECODER 0
-+#define CONFIG_WMV2_DECODER 0
-+#define CONFIG_WMV3_DECODER 0
-+#define CONFIG_WMV3_CRYSTALHD_DECODER 0
-+#define CONFIG_WMV3IMAGE_DECODER 0
-+#define CONFIG_WNV1_DECODER 0
-+#define CONFIG_XAN_WC3_DECODER 0
-+#define CONFIG_XAN_WC4_DECODER 0
-+#define CONFIG_XBM_DECODER 0
-+#define CONFIG_XFACE_DECODER 0
-+#define CONFIG_XL_DECODER 0
-+#define CONFIG_XPM_DECODER 0
-+#define CONFIG_XWD_DECODER 0
-+#define CONFIG_Y41P_DECODER 0
-+#define CONFIG_YLC_DECODER 0
-+#define CONFIG_YOP_DECODER 0
-+#define CONFIG_YUV4_DECODER 0
-+#define CONFIG_ZERO12V_DECODER 0
-+#define CONFIG_ZEROCODEC_DECODER 0
-+#define CONFIG_ZLIB_DECODER 0
-+#define CONFIG_ZMBV_DECODER 0
-+#define CONFIG_AAC_DECODER 1
-+#define CONFIG_AAC_FIXED_DECODER 0
-+#define CONFIG_AAC_LATM_DECODER 0
-+#define CONFIG_AC3_DECODER 0
-+#define CONFIG_AC3_FIXED_DECODER 0
-+#define CONFIG_ACELP_KELVIN_DECODER 0
-+#define CONFIG_ALAC_DECODER 0
-+#define CONFIG_ALS_DECODER 0
-+#define CONFIG_AMRNB_DECODER 0
-+#define CONFIG_AMRWB_DECODER 0
-+#define CONFIG_APE_DECODER 0
-+#define CONFIG_APTX_DECODER 0
-+#define CONFIG_APTX_HD_DECODER 0
-+#define CONFIG_ATRAC1_DECODER 0
-+#define CONFIG_ATRAC3_DECODER 0
-+#define CONFIG_ATRAC3AL_DECODER 0
-+#define CONFIG_ATRAC3P_DECODER 0
-+#define CONFIG_ATRAC3PAL_DECODER 0
-+#define CONFIG_ATRAC9_DECODER 0
-+#define CONFIG_BINKAUDIO_DCT_DECODER 0
-+#define CONFIG_BINKAUDIO_RDFT_DECODER 0
-+#define CONFIG_BMV_AUDIO_DECODER 0
-+#define CONFIG_COOK_DECODER 0
-+#define CONFIG_DCA_DECODER 0
-+#define CONFIG_DFPWM_DECODER 0
-+#define CONFIG_DOLBY_E_DECODER 0
-+#define CONFIG_DSD_LSBF_DECODER 0
-+#define CONFIG_DSD_MSBF_DECODER 0
-+#define CONFIG_DSD_LSBF_PLANAR_DECODER 0
-+#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
-+#define CONFIG_DSICINAUDIO_DECODER 0
-+#define CONFIG_DSS_SP_DECODER 0
-+#define CONFIG_DST_DECODER 0
-+#define CONFIG_EAC3_DECODER 0
-+#define CONFIG_EVRC_DECODER 0
-+#define CONFIG_FASTAUDIO_DECODER 0
-+#define CONFIG_FFWAVESYNTH_DECODER 0
-+#define CONFIG_FLAC_DECODER 1
-+#define CONFIG_G723_1_DECODER 0
-+#define CONFIG_G729_DECODER 0
-+#define CONFIG_GSM_DECODER 0
-+#define CONFIG_GSM_MS_DECODER 0
-+#define CONFIG_HCA_DECODER 0
-+#define CONFIG_HCOM_DECODER 0
-+#define CONFIG_IAC_DECODER 0
-+#define CONFIG_ILBC_DECODER 0
-+#define CONFIG_IMC_DECODER 0
-+#define CONFIG_INTERPLAY_ACM_DECODER 0
-+#define CONFIG_MACE3_DECODER 0
-+#define CONFIG_MACE6_DECODER 0
-+#define CONFIG_METASOUND_DECODER 0
-+#define CONFIG_MLP_DECODER 0
-+#define CONFIG_MP1_DECODER 0
-+#define CONFIG_MP1FLOAT_DECODER 0
-+#define CONFIG_MP2_DECODER 0
-+#define CONFIG_MP2FLOAT_DECODER 0
-+#define CONFIG_MP3FLOAT_DECODER 0
-+#define CONFIG_MP3_DECODER 1
-+#define CONFIG_MP3ADUFLOAT_DECODER 0
-+#define CONFIG_MP3ADU_DECODER 0
-+#define CONFIG_MP3ON4FLOAT_DECODER 0
-+#define CONFIG_MP3ON4_DECODER 0
-+#define CONFIG_MPC7_DECODER 0
-+#define CONFIG_MPC8_DECODER 0
-+#define CONFIG_MSNSIREN_DECODER 0
-+#define CONFIG_NELLYMOSER_DECODER 0
-+#define CONFIG_ON2AVC_DECODER 0
-+#define CONFIG_OPUS_DECODER 0
-+#define CONFIG_PAF_AUDIO_DECODER 0
-+#define CONFIG_QCELP_DECODER 0
-+#define CONFIG_QDM2_DECODER 0
-+#define CONFIG_QDMC_DECODER 0
-+#define CONFIG_RA_144_DECODER 0
-+#define CONFIG_RA_288_DECODER 0
-+#define CONFIG_RALF_DECODER 0
-+#define CONFIG_SBC_DECODER 0
-+#define CONFIG_SHORTEN_DECODER 0
-+#define CONFIG_SIPR_DECODER 0
-+#define CONFIG_SIREN_DECODER 0
-+#define CONFIG_SMACKAUD_DECODER 0
-+#define CONFIG_SONIC_DECODER 0
-+#define CONFIG_TAK_DECODER 0
-+#define CONFIG_TRUEHD_DECODER 0
-+#define CONFIG_TRUESPEECH_DECODER 0
-+#define CONFIG_TTA_DECODER 0
-+#define CONFIG_TWINVQ_DECODER 0
-+#define CONFIG_VMDAUDIO_DECODER 0
-+#define CONFIG_VORBIS_DECODER 1
-+#define CONFIG_WAVPACK_DECODER 0
-+#define CONFIG_WMALOSSLESS_DECODER 0
-+#define CONFIG_WMAPRO_DECODER 0
-+#define CONFIG_WMAV1_DECODER 0
-+#define CONFIG_WMAV2_DECODER 0
-+#define CONFIG_WMAVOICE_DECODER 0
-+#define CONFIG_WS_SND1_DECODER 0
-+#define CONFIG_XMA1_DECODER 0
-+#define CONFIG_XMA2_DECODER 0
-+#define CONFIG_PCM_ALAW_DECODER 1
-+#define CONFIG_PCM_BLURAY_DECODER 0
-+#define CONFIG_PCM_DVD_DECODER 0
-+#define CONFIG_PCM_F16LE_DECODER 0
-+#define CONFIG_PCM_F24LE_DECODER 0
-+#define CONFIG_PCM_F32BE_DECODER 0
-+#define CONFIG_PCM_F32LE_DECODER 1
-+#define CONFIG_PCM_F64BE_DECODER 0
-+#define CONFIG_PCM_F64LE_DECODER 0
-+#define CONFIG_PCM_LXF_DECODER 0
-+#define CONFIG_PCM_MULAW_DECODER 1
-+#define CONFIG_PCM_S8_DECODER 0
-+#define CONFIG_PCM_S8_PLANAR_DECODER 0
-+#define CONFIG_PCM_S16BE_DECODER 1
-+#define CONFIG_PCM_S16BE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S16LE_DECODER 1
-+#define CONFIG_PCM_S16LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S24BE_DECODER 1
-+#define CONFIG_PCM_S24DAUD_DECODER 0
-+#define CONFIG_PCM_S24LE_DECODER 1
-+#define CONFIG_PCM_S24LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S32BE_DECODER 0
-+#define CONFIG_PCM_S32LE_DECODER 1
-+#define CONFIG_PCM_S32LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S64BE_DECODER 0
-+#define CONFIG_PCM_S64LE_DECODER 0
-+#define CONFIG_PCM_SGA_DECODER 0
-+#define CONFIG_PCM_U8_DECODER 1
-+#define CONFIG_PCM_U16BE_DECODER 0
-+#define CONFIG_PCM_U16LE_DECODER 0
-+#define CONFIG_PCM_U24BE_DECODER 0
-+#define CONFIG_PCM_U24LE_DECODER 0
-+#define CONFIG_PCM_U32BE_DECODER 0
-+#define CONFIG_PCM_U32LE_DECODER 0
-+#define CONFIG_PCM_VIDC_DECODER 0
-+#define CONFIG_DERF_DPCM_DECODER 0
-+#define CONFIG_GREMLIN_DPCM_DECODER 0
-+#define CONFIG_INTERPLAY_DPCM_DECODER 0
-+#define CONFIG_ROQ_DPCM_DECODER 0
-+#define CONFIG_SDX2_DPCM_DECODER 0
-+#define CONFIG_SOL_DPCM_DECODER 0
-+#define CONFIG_XAN_DPCM_DECODER 0
-+#define CONFIG_ADPCM_4XM_DECODER 0
-+#define CONFIG_ADPCM_ADX_DECODER 0
-+#define CONFIG_ADPCM_AFC_DECODER 0
-+#define CONFIG_ADPCM_AGM_DECODER 0
-+#define CONFIG_ADPCM_AICA_DECODER 0
-+#define CONFIG_ADPCM_ARGO_DECODER 0
-+#define CONFIG_ADPCM_CT_DECODER 0
-+#define CONFIG_ADPCM_DTK_DECODER 0
-+#define CONFIG_ADPCM_EA_DECODER 0
-+#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0
-+#define CONFIG_ADPCM_EA_R1_DECODER 0
-+#define CONFIG_ADPCM_EA_R2_DECODER 0
-+#define CONFIG_ADPCM_EA_R3_DECODER 0
-+#define CONFIG_ADPCM_EA_XAS_DECODER 0
-+#define CONFIG_ADPCM_G722_DECODER 0
-+#define CONFIG_ADPCM_G726_DECODER 0
-+#define CONFIG_ADPCM_G726LE_DECODER 0
-+#define CONFIG_ADPCM_IMA_ACORN_DECODER 0
-+#define CONFIG_ADPCM_IMA_AMV_DECODER 0
-+#define CONFIG_ADPCM_IMA_ALP_DECODER 0
-+#define CONFIG_ADPCM_IMA_APC_DECODER 0
-+#define CONFIG_ADPCM_IMA_APM_DECODER 0
-+#define CONFIG_ADPCM_IMA_CUNNING_DECODER 0
-+#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
-+#define CONFIG_ADPCM_IMA_DK3_DECODER 0
-+#define CONFIG_ADPCM_IMA_DK4_DECODER 0
-+#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
-+#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0
-+#define CONFIG_ADPCM_IMA_ISS_DECODER 0
-+#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 0
-+#define CONFIG_ADPCM_IMA_MTF_DECODER 0
-+#define CONFIG_ADPCM_IMA_OKI_DECODER 0
-+#define CONFIG_ADPCM_IMA_QT_DECODER 0
-+#define CONFIG_ADPCM_IMA_RAD_DECODER 0
-+#define CONFIG_ADPCM_IMA_SSI_DECODER 0
-+#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0
-+#define CONFIG_ADPCM_IMA_WAV_DECODER 0
-+#define CONFIG_ADPCM_IMA_WS_DECODER 0
-+#define CONFIG_ADPCM_MS_DECODER 0
-+#define CONFIG_ADPCM_MTAF_DECODER 0
-+#define CONFIG_ADPCM_PSX_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_2_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_3_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_4_DECODER 0
-+#define CONFIG_ADPCM_SWF_DECODER 0
-+#define CONFIG_ADPCM_THP_DECODER 0
-+#define CONFIG_ADPCM_THP_LE_DECODER 0
-+#define CONFIG_ADPCM_VIMA_DECODER 0
-+#define CONFIG_ADPCM_XA_DECODER 0
-+#define CONFIG_ADPCM_YAMAHA_DECODER 0
-+#define CONFIG_ADPCM_ZORK_DECODER 0
-+#define CONFIG_SSA_DECODER 0
-+#define CONFIG_ASS_DECODER 0
-+#define CONFIG_CCAPTION_DECODER 0
-+#define CONFIG_DVBSUB_DECODER 0
-+#define CONFIG_DVDSUB_DECODER 0
-+#define CONFIG_JACOSUB_DECODER 0
-+#define CONFIG_MICRODVD_DECODER 0
-+#define CONFIG_MOVTEXT_DECODER 0
-+#define CONFIG_MPL2_DECODER 0
-+#define CONFIG_PGSSUB_DECODER 0
-+#define CONFIG_PJS_DECODER 0
-+#define CONFIG_REALTEXT_DECODER 0
-+#define CONFIG_SAMI_DECODER 0
-+#define CONFIG_SRT_DECODER 0
-+#define CONFIG_STL_DECODER 0
-+#define CONFIG_SUBRIP_DECODER 0
-+#define CONFIG_SUBVIEWER_DECODER 0
-+#define CONFIG_SUBVIEWER1_DECODER 0
-+#define CONFIG_TEXT_DECODER 0
-+#define CONFIG_VPLAYER_DECODER 0
-+#define CONFIG_WEBVTT_DECODER 0
-+#define CONFIG_XSUB_DECODER 0
-+#define CONFIG_AAC_AT_DECODER 0
-+#define CONFIG_AC3_AT_DECODER 0
-+#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
-+#define CONFIG_ALAC_AT_DECODER 0
-+#define CONFIG_AMR_NB_AT_DECODER 0
-+#define CONFIG_EAC3_AT_DECODER 0
-+#define CONFIG_GSM_MS_AT_DECODER 0
-+#define CONFIG_ILBC_AT_DECODER 0
-+#define CONFIG_MP1_AT_DECODER 0
-+#define CONFIG_MP2_AT_DECODER 0
-+#define CONFIG_MP3_AT_DECODER 0
-+#define CONFIG_PCM_ALAW_AT_DECODER 0
-+#define CONFIG_PCM_MULAW_AT_DECODER 0
-+#define CONFIG_QDMC_AT_DECODER 0
-+#define CONFIG_QDM2_AT_DECODER 0
-+#define CONFIG_LIBARIBB24_DECODER 0
-+#define CONFIG_LIBCELT_DECODER 0
-+#define CONFIG_LIBCODEC2_DECODER 0
-+#define CONFIG_LIBDAV1D_DECODER 0
-+#define CONFIG_LIBDAVS2_DECODER 0
-+#define CONFIG_LIBFDK_AAC_DECODER 0
-+#define CONFIG_LIBGSM_DECODER 0
-+#define CONFIG_LIBGSM_MS_DECODER 0
-+#define CONFIG_LIBILBC_DECODER 0
-+#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
-+#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
-+#define CONFIG_LIBOPENJPEG_DECODER 0
-+#define CONFIG_LIBOPUS_DECODER 1
-+#define CONFIG_LIBRSVG_DECODER 0
-+#define CONFIG_LIBSPEEX_DECODER 0
-+#define CONFIG_LIBUAVS3D_DECODER 0
-+#define CONFIG_LIBVORBIS_DECODER 0
-+#define CONFIG_LIBVPX_VP8_DECODER 0
-+#define CONFIG_LIBVPX_VP9_DECODER 0
-+#define CONFIG_LIBZVBI_TELETEXT_DECODER 0
-+#define CONFIG_BINTEXT_DECODER 0
-+#define CONFIG_XBIN_DECODER 0
-+#define CONFIG_IDF_DECODER 0
-+#define CONFIG_LIBAOM_AV1_DECODER 0
-+#define CONFIG_AV1_DECODER 0
-+#define CONFIG_AV1_CUVID_DECODER 0
-+#define CONFIG_AV1_QSV_DECODER 0
-+#define CONFIG_LIBOPENH264_DECODER 0
-+#define CONFIG_H264_CUVID_DECODER 0
-+#define CONFIG_HEVC_CUVID_DECODER 0
-+#define CONFIG_HEVC_MEDIACODEC_DECODER 0
-+#define CONFIG_MJPEG_CUVID_DECODER 0
-+#define CONFIG_MJPEG_QSV_DECODER 0
-+#define CONFIG_MPEG1_CUVID_DECODER 0
-+#define CONFIG_MPEG2_CUVID_DECODER 0
-+#define CONFIG_MPEG4_CUVID_DECODER 0
-+#define CONFIG_MPEG4_MEDIACODEC_DECODER 0
-+#define CONFIG_VC1_CUVID_DECODER 0
-+#define CONFIG_VP8_CUVID_DECODER 0
-+#define CONFIG_VP8_MEDIACODEC_DECODER 0
-+#define CONFIG_VP8_QSV_DECODER 0
-+#define CONFIG_VP9_CUVID_DECODER 0
-+#define CONFIG_VP9_MEDIACODEC_DECODER 0
-+#define CONFIG_VP9_QSV_DECODER 0
-+#define CONFIG_A64MULTI_ENCODER 0
-+#define CONFIG_A64MULTI5_ENCODER 0
-+#define CONFIG_ALIAS_PIX_ENCODER 0
-+#define CONFIG_AMV_ENCODER 0
-+#define CONFIG_APNG_ENCODER 0
-+#define CONFIG_ASV1_ENCODER 0
-+#define CONFIG_ASV2_ENCODER 0
-+#define CONFIG_AVRP_ENCODER 0
-+#define CONFIG_AVUI_ENCODER 0
-+#define CONFIG_AYUV_ENCODER 0
-+#define CONFIG_BITPACKED_ENCODER 0
-+#define CONFIG_BMP_ENCODER 0
-+#define CONFIG_CFHD_ENCODER 0
-+#define CONFIG_CINEPAK_ENCODER 0
-+#define CONFIG_CLJR_ENCODER 0
-+#define CONFIG_COMFORTNOISE_ENCODER 0
-+#define CONFIG_DNXHD_ENCODER 0
-+#define CONFIG_DPX_ENCODER 0
-+#define CONFIG_DVVIDEO_ENCODER 0
-+#define CONFIG_EXR_ENCODER 0
-+#define CONFIG_FFV1_ENCODER 0
-+#define CONFIG_FFVHUFF_ENCODER 0
-+#define CONFIG_FITS_ENCODER 0
-+#define CONFIG_FLASHSV_ENCODER 0
-+#define CONFIG_FLASHSV2_ENCODER 0
-+#define CONFIG_FLV_ENCODER 0
-+#define CONFIG_GIF_ENCODER 0
-+#define CONFIG_H261_ENCODER 0
-+#define CONFIG_H263_ENCODER 0
-+#define CONFIG_H263P_ENCODER 0
-+#define CONFIG_HAP_ENCODER 0
-+#define CONFIG_HUFFYUV_ENCODER 0
-+#define CONFIG_JPEG2000_ENCODER 0
-+#define CONFIG_JPEGLS_ENCODER 0
-+#define CONFIG_LJPEG_ENCODER 0
-+#define CONFIG_MAGICYUV_ENCODER 0
-+#define CONFIG_MJPEG_ENCODER 0
-+#define CONFIG_MPEG1VIDEO_ENCODER 0
-+#define CONFIG_MPEG2VIDEO_ENCODER 0
-+#define CONFIG_MPEG4_ENCODER 0
-+#define CONFIG_MSMPEG4V2_ENCODER 0
-+#define CONFIG_MSMPEG4V3_ENCODER 0
-+#define CONFIG_MSVIDEO1_ENCODER 0
-+#define CONFIG_PAM_ENCODER 0
-+#define CONFIG_PBM_ENCODER 0
-+#define CONFIG_PCX_ENCODER 0
-+#define CONFIG_PFM_ENCODER 0
-+#define CONFIG_PGM_ENCODER 0
-+#define CONFIG_PGMYUV_ENCODER 0
-+#define CONFIG_PNG_ENCODER 0
-+#define CONFIG_PPM_ENCODER 0
-+#define CONFIG_PRORES_ENCODER 0
-+#define CONFIG_PRORES_AW_ENCODER 0
-+#define CONFIG_PRORES_KS_ENCODER 0
-+#define CONFIG_QTRLE_ENCODER 0
-+#define CONFIG_R10K_ENCODER 0
-+#define CONFIG_R210_ENCODER 0
-+#define CONFIG_RAWVIDEO_ENCODER 0
-+#define CONFIG_ROQ_ENCODER 0
-+#define CONFIG_RPZA_ENCODER 0
-+#define CONFIG_RV10_ENCODER 0
-+#define CONFIG_RV20_ENCODER 0
-+#define CONFIG_S302M_ENCODER 0
-+#define CONFIG_SGI_ENCODER 0
-+#define CONFIG_SMC_ENCODER 0
-+#define CONFIG_SNOW_ENCODER 0
-+#define CONFIG_SPEEDHQ_ENCODER 0
-+#define CONFIG_SUNRAST_ENCODER 0
-+#define CONFIG_SVQ1_ENCODER 0
-+#define CONFIG_TARGA_ENCODER 0
-+#define CONFIG_TIFF_ENCODER 0
-+#define CONFIG_UTVIDEO_ENCODER 0
-+#define CONFIG_V210_ENCODER 0
-+#define CONFIG_V308_ENCODER 0
-+#define CONFIG_V408_ENCODER 0
-+#define CONFIG_V410_ENCODER 0
-+#define CONFIG_VC2_ENCODER 0
-+#define CONFIG_WRAPPED_AVFRAME_ENCODER 0
-+#define CONFIG_WMV1_ENCODER 0
-+#define CONFIG_WMV2_ENCODER 0
-+#define CONFIG_XBM_ENCODER 0
-+#define CONFIG_XFACE_ENCODER 0
-+#define CONFIG_XWD_ENCODER 0
-+#define CONFIG_Y41P_ENCODER 0
-+#define CONFIG_YUV4_ENCODER 0
-+#define CONFIG_ZLIB_ENCODER 0
-+#define CONFIG_ZMBV_ENCODER 0
-+#define CONFIG_AAC_ENCODER 0
-+#define CONFIG_AC3_ENCODER 0
-+#define CONFIG_AC3_FIXED_ENCODER 0
-+#define CONFIG_ALAC_ENCODER 0
-+#define CONFIG_APTX_ENCODER 0
-+#define CONFIG_APTX_HD_ENCODER 0
-+#define CONFIG_DCA_ENCODER 0
-+#define CONFIG_DFPWM_ENCODER 0
-+#define CONFIG_EAC3_ENCODER 0
-+#define CONFIG_FLAC_ENCODER 0
-+#define CONFIG_G723_1_ENCODER 0
-+#define CONFIG_MLP_ENCODER 0
-+#define CONFIG_MP2_ENCODER 0
-+#define CONFIG_MP2FIXED_ENCODER 0
-+#define CONFIG_NELLYMOSER_ENCODER 0
-+#define CONFIG_OPUS_ENCODER 0
-+#define CONFIG_RA_144_ENCODER 0
-+#define CONFIG_SBC_ENCODER 0
-+#define CONFIG_SONIC_ENCODER 0
-+#define CONFIG_SONIC_LS_ENCODER 0
-+#define CONFIG_TRUEHD_ENCODER 0
-+#define CONFIG_TTA_ENCODER 0
-+#define CONFIG_VORBIS_ENCODER 0
-+#define CONFIG_WAVPACK_ENCODER 0
-+#define CONFIG_WMAV1_ENCODER 0
-+#define CONFIG_WMAV2_ENCODER 0
-+#define CONFIG_PCM_ALAW_ENCODER 0
-+#define CONFIG_PCM_BLURAY_ENCODER 0
-+#define CONFIG_PCM_DVD_ENCODER 0
-+#define CONFIG_PCM_F32BE_ENCODER 0
-+#define CONFIG_PCM_F32LE_ENCODER 0
-+#define CONFIG_PCM_F64BE_ENCODER 0
-+#define CONFIG_PCM_F64LE_ENCODER 0
-+#define CONFIG_PCM_MULAW_ENCODER 0
-+#define CONFIG_PCM_S8_ENCODER 0
-+#define CONFIG_PCM_S8_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S16BE_ENCODER 0
-+#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S16LE_ENCODER 0
-+#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S24BE_ENCODER 0
-+#define CONFIG_PCM_S24DAUD_ENCODER 0
-+#define CONFIG_PCM_S24LE_ENCODER 0
-+#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S32BE_ENCODER 0
-+#define CONFIG_PCM_S32LE_ENCODER 0
-+#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S64BE_ENCODER 0
-+#define CONFIG_PCM_S64LE_ENCODER 0
-+#define CONFIG_PCM_U8_ENCODER 0
-+#define CONFIG_PCM_U16BE_ENCODER 0
-+#define CONFIG_PCM_U16LE_ENCODER 0
-+#define CONFIG_PCM_U24BE_ENCODER 0
-+#define CONFIG_PCM_U24LE_ENCODER 0
-+#define CONFIG_PCM_U32BE_ENCODER 0
-+#define CONFIG_PCM_U32LE_ENCODER 0
-+#define CONFIG_PCM_VIDC_ENCODER 0
-+#define CONFIG_ROQ_DPCM_ENCODER 0
-+#define CONFIG_ADPCM_ADX_ENCODER 0
-+#define CONFIG_ADPCM_ARGO_ENCODER 0
-+#define CONFIG_ADPCM_G722_ENCODER 0
-+#define CONFIG_ADPCM_G726_ENCODER 0
-+#define CONFIG_ADPCM_G726LE_ENCODER 0
-+#define CONFIG_ADPCM_IMA_AMV_ENCODER 0
-+#define CONFIG_ADPCM_IMA_ALP_ENCODER 0
-+#define CONFIG_ADPCM_IMA_APM_ENCODER 0
-+#define CONFIG_ADPCM_IMA_QT_ENCODER 0
-+#define CONFIG_ADPCM_IMA_SSI_ENCODER 0
-+#define CONFIG_ADPCM_IMA_WAV_ENCODER 0
-+#define CONFIG_ADPCM_IMA_WS_ENCODER 0
-+#define CONFIG_ADPCM_MS_ENCODER 0
-+#define CONFIG_ADPCM_SWF_ENCODER 0
-+#define CONFIG_ADPCM_YAMAHA_ENCODER 0
-+#define CONFIG_SSA_ENCODER 0
-+#define CONFIG_ASS_ENCODER 0
-+#define CONFIG_DVBSUB_ENCODER 0
-+#define CONFIG_DVDSUB_ENCODER 0
-+#define CONFIG_MOVTEXT_ENCODER 0
-+#define CONFIG_SRT_ENCODER 0
-+#define CONFIG_SUBRIP_ENCODER 0
-+#define CONFIG_TEXT_ENCODER 0
-+#define CONFIG_TTML_ENCODER 0
-+#define CONFIG_WEBVTT_ENCODER 0
-+#define CONFIG_XSUB_ENCODER 0
-+#define CONFIG_AAC_AT_ENCODER 0
-+#define CONFIG_ALAC_AT_ENCODER 0
-+#define CONFIG_ILBC_AT_ENCODER 0
-+#define CONFIG_PCM_ALAW_AT_ENCODER 0
-+#define CONFIG_PCM_MULAW_AT_ENCODER 0
-+#define CONFIG_LIBAOM_AV1_ENCODER 0
-+#define CONFIG_LIBCODEC2_ENCODER 0
-+#define CONFIG_LIBFDK_AAC_ENCODER 0
-+#define CONFIG_LIBGSM_ENCODER 0
-+#define CONFIG_LIBGSM_MS_ENCODER 0
-+#define CONFIG_LIBILBC_ENCODER 0
-+#define CONFIG_LIBMP3LAME_ENCODER 0
-+#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
-+#define CONFIG_LIBOPENJPEG_ENCODER 0
-+#define CONFIG_LIBOPUS_ENCODER 0
-+#define CONFIG_LIBRAV1E_ENCODER 0
-+#define CONFIG_LIBSHINE_ENCODER 0
-+#define CONFIG_LIBSPEEX_ENCODER 0
-+#define CONFIG_LIBSVTAV1_ENCODER 0
-+#define CONFIG_LIBTHEORA_ENCODER 0
-+#define CONFIG_LIBTWOLAME_ENCODER 0
-+#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
-+#define CONFIG_LIBVORBIS_ENCODER 0
-+#define CONFIG_LIBVPX_VP8_ENCODER 0
-+#define CONFIG_LIBVPX_VP9_ENCODER 0
-+#define CONFIG_LIBWEBP_ANIM_ENCODER 0
-+#define CONFIG_LIBWEBP_ENCODER 0
-+#define CONFIG_LIBX262_ENCODER 0
-+#define CONFIG_LIBX264_ENCODER 0
-+#define CONFIG_LIBX264RGB_ENCODER 0
-+#define CONFIG_LIBX265_ENCODER 0
-+#define CONFIG_LIBXAVS_ENCODER 0
-+#define CONFIG_LIBXAVS2_ENCODER 0
-+#define CONFIG_LIBXVID_ENCODER 0
-+#define CONFIG_AAC_MF_ENCODER 0
-+#define CONFIG_AC3_MF_ENCODER 0
-+#define CONFIG_H263_V4L2M2M_ENCODER 0
-+#define CONFIG_LIBOPENH264_ENCODER 0
-+#define CONFIG_H264_AMF_ENCODER 0
-+#define CONFIG_H264_MF_ENCODER 0
-+#define CONFIG_H264_NVENC_ENCODER 0
-+#define CONFIG_H264_OMX_ENCODER 0
-+#define CONFIG_H264_QSV_ENCODER 0
-+#define CONFIG_H264_V4L2M2M_ENCODER 0
-+#define CONFIG_H264_VAAPI_ENCODER 0
-+#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_HEVC_AMF_ENCODER 0
-+#define CONFIG_HEVC_MF_ENCODER 0
-+#define CONFIG_HEVC_NVENC_ENCODER 0
-+#define CONFIG_HEVC_QSV_ENCODER 0
-+#define CONFIG_HEVC_V4L2M2M_ENCODER 0
-+#define CONFIG_HEVC_VAAPI_ENCODER 0
-+#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_LIBKVAZAAR_ENCODER 0
-+#define CONFIG_MJPEG_QSV_ENCODER 0
-+#define CONFIG_MJPEG_VAAPI_ENCODER 0
-+#define CONFIG_MP3_MF_ENCODER 0
-+#define CONFIG_MPEG2_QSV_ENCODER 0
-+#define CONFIG_MPEG2_VAAPI_ENCODER 0
-+#define CONFIG_MPEG4_OMX_ENCODER 0
-+#define CONFIG_MPEG4_V4L2M2M_ENCODER 0
-+#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_VP8_V4L2M2M_ENCODER 0
-+#define CONFIG_VP8_VAAPI_ENCODER 0
-+#define CONFIG_VP9_VAAPI_ENCODER 0
-+#define CONFIG_VP9_QSV_ENCODER 0
-+#define CONFIG_AV1_D3D11VA_HWACCEL 0
-+#define CONFIG_AV1_D3D11VA2_HWACCEL 0
-+#define CONFIG_AV1_DXVA2_HWACCEL 0
-+#define CONFIG_AV1_NVDEC_HWACCEL 0
-+#define CONFIG_AV1_VAAPI_HWACCEL 0
-+#define CONFIG_H263_VAAPI_HWACCEL 0
-+#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_H264_D3D11VA_HWACCEL 0
-+#define CONFIG_H264_D3D11VA2_HWACCEL 0
-+#define CONFIG_H264_DXVA2_HWACCEL 0
-+#define CONFIG_H264_NVDEC_HWACCEL 0
-+#define CONFIG_H264_VAAPI_HWACCEL 0
-+#define CONFIG_H264_VDPAU_HWACCEL 0
-+#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_HEVC_D3D11VA_HWACCEL 0
-+#define CONFIG_HEVC_D3D11VA2_HWACCEL 0
-+#define CONFIG_HEVC_DXVA2_HWACCEL 0
-+#define CONFIG_HEVC_NVDEC_HWACCEL 0
-+#define CONFIG_HEVC_VAAPI_HWACCEL 0
-+#define CONFIG_HEVC_VDPAU_HWACCEL 0
-+#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MJPEG_NVDEC_HWACCEL 0
-+#define CONFIG_MJPEG_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG1_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG1_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MPEG2_D3D11VA_HWACCEL 0
-+#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0
-+#define CONFIG_MPEG2_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG2_DXVA2_HWACCEL 0
-+#define CONFIG_MPEG2_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG2_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MPEG4_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG4_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG4_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_VC1_D3D11VA_HWACCEL 0
-+#define CONFIG_VC1_D3D11VA2_HWACCEL 0
-+#define CONFIG_VC1_DXVA2_HWACCEL 0
-+#define CONFIG_VC1_NVDEC_HWACCEL 0
-+#define CONFIG_VC1_VAAPI_HWACCEL 0
-+#define CONFIG_VC1_VDPAU_HWACCEL 0
-+#define CONFIG_VP8_NVDEC_HWACCEL 0
-+#define CONFIG_VP8_VAAPI_HWACCEL 0
-+#define CONFIG_VP9_D3D11VA_HWACCEL 0
-+#define CONFIG_VP9_D3D11VA2_HWACCEL 0
-+#define CONFIG_VP9_DXVA2_HWACCEL 0
-+#define CONFIG_VP9_NVDEC_HWACCEL 0
-+#define CONFIG_VP9_VAAPI_HWACCEL 0
-+#define CONFIG_VP9_VDPAU_HWACCEL 0
-+#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_WMV3_D3D11VA_HWACCEL 0
-+#define CONFIG_WMV3_D3D11VA2_HWACCEL 0
-+#define CONFIG_WMV3_DXVA2_HWACCEL 0
-+#define CONFIG_WMV3_NVDEC_HWACCEL 0
-+#define CONFIG_WMV3_VAAPI_HWACCEL 0
-+#define CONFIG_WMV3_VDPAU_HWACCEL 0
-+#define CONFIG_AAC_PARSER 1
-+#define CONFIG_AAC_LATM_PARSER 0
-+#define CONFIG_AC3_PARSER 0
-+#define CONFIG_ADX_PARSER 0
-+#define CONFIG_AMR_PARSER 0
-+#define CONFIG_AV1_PARSER 0
-+#define CONFIG_AVS2_PARSER 0
-+#define CONFIG_AVS3_PARSER 0
-+#define CONFIG_BMP_PARSER 0
-+#define CONFIG_CAVSVIDEO_PARSER 0
-+#define CONFIG_COOK_PARSER 0
-+#define CONFIG_CRI_PARSER 0
-+#define CONFIG_DCA_PARSER 0
-+#define CONFIG_DIRAC_PARSER 0
-+#define CONFIG_DNXHD_PARSER 0
-+#define CONFIG_DOLBY_E_PARSER 0
-+#define CONFIG_DPX_PARSER 0
-+#define CONFIG_DVAUDIO_PARSER 0
-+#define CONFIG_DVBSUB_PARSER 0
-+#define CONFIG_DVDSUB_PARSER 0
-+#define CONFIG_DVD_NAV_PARSER 0
-+#define CONFIG_FLAC_PARSER 1
-+#define CONFIG_G723_1_PARSER 0
-+#define CONFIG_G729_PARSER 0
-+#define CONFIG_GIF_PARSER 0
-+#define CONFIG_GSM_PARSER 0
-+#define CONFIG_H261_PARSER 0
-+#define CONFIG_H263_PARSER 0
-+#define CONFIG_H264_PARSER 1
-+#define CONFIG_HEVC_PARSER 0
-+#define CONFIG_IPU_PARSER 0
-+#define CONFIG_JPEG2000_PARSER 0
-+#define CONFIG_MJPEG_PARSER 0
-+#define CONFIG_MLP_PARSER 0
-+#define CONFIG_MPEG4VIDEO_PARSER 0
-+#define CONFIG_MPEGAUDIO_PARSER 1
-+#define CONFIG_MPEGVIDEO_PARSER 0
-+#define CONFIG_OPUS_PARSER 1
-+#define CONFIG_PNG_PARSER 0
-+#define CONFIG_PNM_PARSER 0
-+#define CONFIG_RV30_PARSER 0
-+#define CONFIG_RV40_PARSER 0
-+#define CONFIG_SBC_PARSER 0
-+#define CONFIG_SIPR_PARSER 0
-+#define CONFIG_TAK_PARSER 0
-+#define CONFIG_VC1_PARSER 0
-+#define CONFIG_VORBIS_PARSER 1
-+#define CONFIG_VP3_PARSER 1
-+#define CONFIG_VP8_PARSER 1
-+#define CONFIG_VP9_PARSER 1
-+#define CONFIG_WEBP_PARSER 0
-+#define CONFIG_XBM_PARSER 0
-+#define CONFIG_XMA_PARSER 0
-+#define CONFIG_ALSA_INDEV 0
-+#define CONFIG_ANDROID_CAMERA_INDEV 0
-+#define CONFIG_AVFOUNDATION_INDEV 0
-+#define CONFIG_BKTR_INDEV 0
-+#define CONFIG_DECKLINK_INDEV 0
-+#define CONFIG_DSHOW_INDEV 0
-+#define CONFIG_FBDEV_INDEV 0
-+#define CONFIG_GDIGRAB_INDEV 0
-+#define CONFIG_IEC61883_INDEV 0
-+#define CONFIG_JACK_INDEV 0
-+#define CONFIG_KMSGRAB_INDEV 0
-+#define CONFIG_LAVFI_INDEV 0
-+#define CONFIG_OPENAL_INDEV 0
-+#define CONFIG_OSS_INDEV 0
-+#define CONFIG_PULSE_INDEV 0
-+#define CONFIG_SNDIO_INDEV 0
-+#define CONFIG_V4L2_INDEV 0
-+#define CONFIG_VFWCAP_INDEV 0
-+#define CONFIG_XCBGRAB_INDEV 0
-+#define CONFIG_LIBCDIO_INDEV 0
-+#define CONFIG_LIBDC1394_INDEV 0
-+#define CONFIG_ALSA_OUTDEV 0
-+#define CONFIG_AUDIOTOOLBOX_OUTDEV 0
-+#define CONFIG_CACA_OUTDEV 0
-+#define CONFIG_DECKLINK_OUTDEV 0
-+#define CONFIG_FBDEV_OUTDEV 0
-+#define CONFIG_OPENGL_OUTDEV 0
-+#define CONFIG_OSS_OUTDEV 0
-+#define CONFIG_PULSE_OUTDEV 0
-+#define CONFIG_SDL2_OUTDEV 0
-+#define CONFIG_SNDIO_OUTDEV 0
-+#define CONFIG_V4L2_OUTDEV 0
-+#define CONFIG_XV_OUTDEV 0
-+#define CONFIG_ABENCH_FILTER 0
-+#define CONFIG_ACOMPRESSOR_FILTER 0
-+#define CONFIG_ACONTRAST_FILTER 0
-+#define CONFIG_ACOPY_FILTER 0
-+#define CONFIG_ACUE_FILTER 0
-+#define CONFIG_ACROSSFADE_FILTER 0
-+#define CONFIG_ACROSSOVER_FILTER 0
-+#define CONFIG_ACRUSHER_FILTER 0
-+#define CONFIG_ADECLICK_FILTER 0
-+#define CONFIG_ADECLIP_FILTER 0
-+#define CONFIG_ADECORRELATE_FILTER 0
-+#define CONFIG_ADELAY_FILTER 0
-+#define CONFIG_ADENORM_FILTER 0
-+#define CONFIG_ADERIVATIVE_FILTER 0
-+#define CONFIG_ADYNAMICEQUALIZER_FILTER 0
-+#define CONFIG_ADYNAMICSMOOTH_FILTER 0
-+#define CONFIG_AECHO_FILTER 0
-+#define CONFIG_AEMPHASIS_FILTER 0
-+#define CONFIG_AEVAL_FILTER 0
-+#define CONFIG_AEXCITER_FILTER 0
-+#define CONFIG_AFADE_FILTER 0
-+#define CONFIG_AFFTDN_FILTER 0
-+#define CONFIG_AFFTFILT_FILTER 0
-+#define CONFIG_AFIR_FILTER 0
-+#define CONFIG_AFORMAT_FILTER 0
-+#define CONFIG_AFREQSHIFT_FILTER 0
-+#define CONFIG_AFWTDN_FILTER 0
-+#define CONFIG_AGATE_FILTER 0
-+#define CONFIG_AIIR_FILTER 0
-+#define CONFIG_AINTEGRAL_FILTER 0
-+#define CONFIG_AINTERLEAVE_FILTER 0
-+#define CONFIG_ALATENCY_FILTER 0
-+#define CONFIG_ALIMITER_FILTER 0
-+#define CONFIG_ALLPASS_FILTER 0
-+#define CONFIG_ALOOP_FILTER 0
-+#define CONFIG_AMERGE_FILTER 0
-+#define CONFIG_AMETADATA_FILTER 0
-+#define CONFIG_AMIX_FILTER 0
-+#define CONFIG_AMULTIPLY_FILTER 0
-+#define CONFIG_ANEQUALIZER_FILTER 0
-+#define CONFIG_ANLMDN_FILTER 0
-+#define CONFIG_ANLMF_FILTER 0
-+#define CONFIG_ANLMS_FILTER 0
-+#define CONFIG_ANULL_FILTER 0
-+#define CONFIG_APAD_FILTER 0
-+#define CONFIG_APERMS_FILTER 0
-+#define CONFIG_APHASER_FILTER 0
-+#define CONFIG_APHASESHIFT_FILTER 0
-+#define CONFIG_APSYCLIP_FILTER 0
-+#define CONFIG_APULSATOR_FILTER 0
-+#define CONFIG_AREALTIME_FILTER 0
-+#define CONFIG_ARESAMPLE_FILTER 0
-+#define CONFIG_AREVERSE_FILTER 0
-+#define CONFIG_ARNNDN_FILTER 0
-+#define CONFIG_ASDR_FILTER 0
-+#define CONFIG_ASEGMENT_FILTER 0
-+#define CONFIG_ASELECT_FILTER 0
-+#define CONFIG_ASENDCMD_FILTER 0
-+#define CONFIG_ASETNSAMPLES_FILTER 0
-+#define CONFIG_ASETPTS_FILTER 0
-+#define CONFIG_ASETRATE_FILTER 0
-+#define CONFIG_ASETTB_FILTER 0
-+#define CONFIG_ASHOWINFO_FILTER 0
-+#define CONFIG_ASIDEDATA_FILTER 0
-+#define CONFIG_ASOFTCLIP_FILTER 0
-+#define CONFIG_ASPECTRALSTATS_FILTER 0
-+#define CONFIG_ASPLIT_FILTER 0
-+#define CONFIG_ASR_FILTER 0
-+#define CONFIG_ASTATS_FILTER 0
-+#define CONFIG_ASTREAMSELECT_FILTER 0
-+#define CONFIG_ASUBBOOST_FILTER 0
-+#define CONFIG_ASUBCUT_FILTER 0
-+#define CONFIG_ASUPERCUT_FILTER 0
-+#define CONFIG_ASUPERPASS_FILTER 0
-+#define CONFIG_ASUPERSTOP_FILTER 0
-+#define CONFIG_ATEMPO_FILTER 0
-+#define CONFIG_ATILT_FILTER 0
-+#define CONFIG_ATRIM_FILTER 0
-+#define CONFIG_AXCORRELATE_FILTER 0
-+#define CONFIG_AZMQ_FILTER 0
-+#define CONFIG_BANDPASS_FILTER 0
-+#define CONFIG_BANDREJECT_FILTER 0
-+#define CONFIG_BASS_FILTER 0
-+#define CONFIG_BIQUAD_FILTER 0
-+#define CONFIG_BS2B_FILTER 0
-+#define CONFIG_CHANNELMAP_FILTER 0
-+#define CONFIG_CHANNELSPLIT_FILTER 0
-+#define CONFIG_CHORUS_FILTER 0
-+#define CONFIG_COMPAND_FILTER 0
-+#define CONFIG_COMPENSATIONDELAY_FILTER 0
-+#define CONFIG_CROSSFEED_FILTER 0
-+#define CONFIG_CRYSTALIZER_FILTER 0
-+#define CONFIG_DCSHIFT_FILTER 0
-+#define CONFIG_DEESSER_FILTER 0
-+#define CONFIG_DIALOGUENHANCE_FILTER 0
-+#define CONFIG_DRMETER_FILTER 0
-+#define CONFIG_DYNAUDNORM_FILTER 0
-+#define CONFIG_EARWAX_FILTER 0
-+#define CONFIG_EBUR128_FILTER 0
-+#define CONFIG_EQUALIZER_FILTER 0
-+#define CONFIG_EXTRASTEREO_FILTER 0
-+#define CONFIG_FIREQUALIZER_FILTER 0
-+#define CONFIG_FLANGER_FILTER 0
-+#define CONFIG_HAAS_FILTER 0
-+#define CONFIG_HDCD_FILTER 0
-+#define CONFIG_HEADPHONE_FILTER 0
-+#define CONFIG_HIGHPASS_FILTER 0
-+#define CONFIG_HIGHSHELF_FILTER 0
-+#define CONFIG_JOIN_FILTER 0
-+#define CONFIG_LADSPA_FILTER 0
-+#define CONFIG_LOUDNORM_FILTER 0
-+#define CONFIG_LOWPASS_FILTER 0
-+#define CONFIG_LOWSHELF_FILTER 0
-+#define CONFIG_LV2_FILTER 0
-+#define CONFIG_MCOMPAND_FILTER 0
-+#define CONFIG_PAN_FILTER 0
-+#define CONFIG_REPLAYGAIN_FILTER 0
-+#define CONFIG_RUBBERBAND_FILTER 0
-+#define CONFIG_SIDECHAINCOMPRESS_FILTER 0
-+#define CONFIG_SIDECHAINGATE_FILTER 0
-+#define CONFIG_SILENCEDETECT_FILTER 0
-+#define CONFIG_SILENCEREMOVE_FILTER 0
-+#define CONFIG_SOFALIZER_FILTER 0
-+#define CONFIG_SPEECHNORM_FILTER 0
-+#define CONFIG_STEREOTOOLS_FILTER 0
-+#define CONFIG_STEREOWIDEN_FILTER 0
-+#define CONFIG_SUPEREQUALIZER_FILTER 0
-+#define CONFIG_SURROUND_FILTER 0
-+#define CONFIG_TREBLE_FILTER 0
-+#define CONFIG_TREMOLO_FILTER 0
-+#define CONFIG_VIBRATO_FILTER 0
-+#define CONFIG_VOLUME_FILTER 0
-+#define CONFIG_VOLUMEDETECT_FILTER 0
-+#define CONFIG_AEVALSRC_FILTER 0
-+#define CONFIG_AFIRSRC_FILTER 0
-+#define CONFIG_ANOISESRC_FILTER 0
-+#define CONFIG_ANULLSRC_FILTER 0
-+#define CONFIG_FLITE_FILTER 0
-+#define CONFIG_HILBERT_FILTER 0
-+#define CONFIG_SINC_FILTER 0
-+#define CONFIG_SINE_FILTER 0
-+#define CONFIG_ANULLSINK_FILTER 0
-+#define CONFIG_ADDROI_FILTER 0
-+#define CONFIG_ALPHAEXTRACT_FILTER 0
-+#define CONFIG_ALPHAMERGE_FILTER 0
-+#define CONFIG_AMPLIFY_FILTER 0
-+#define CONFIG_ASS_FILTER 0
-+#define CONFIG_ATADENOISE_FILTER 0
-+#define CONFIG_AVGBLUR_FILTER 0
-+#define CONFIG_AVGBLUR_OPENCL_FILTER 0
-+#define CONFIG_AVGBLUR_VULKAN_FILTER 0
-+#define CONFIG_BBOX_FILTER 0
-+#define CONFIG_BENCH_FILTER 0
-+#define CONFIG_BILATERAL_FILTER 0
-+#define CONFIG_BITPLANENOISE_FILTER 0
-+#define CONFIG_BLACKDETECT_FILTER 0
-+#define CONFIG_BLACKFRAME_FILTER 0
-+#define CONFIG_BLEND_FILTER 0
-+#define CONFIG_BLEND_VULKAN_FILTER 0
-+#define CONFIG_BM3D_FILTER 0
-+#define CONFIG_BOXBLUR_FILTER 0
-+#define CONFIG_BOXBLUR_OPENCL_FILTER 0
-+#define CONFIG_BWDIF_FILTER 0
-+#define CONFIG_CAS_FILTER 0
-+#define CONFIG_CHROMABER_VULKAN_FILTER 0
-+#define CONFIG_CHROMAHOLD_FILTER 0
-+#define CONFIG_CHROMAKEY_FILTER 0
-+#define CONFIG_CHROMANR_FILTER 0
-+#define CONFIG_CHROMASHIFT_FILTER 0
-+#define CONFIG_CIESCOPE_FILTER 0
-+#define CONFIG_CODECVIEW_FILTER 0
-+#define CONFIG_COLORBALANCE_FILTER 0
-+#define CONFIG_COLORCHANNELMIXER_FILTER 0
-+#define CONFIG_COLORCONTRAST_FILTER 0
-+#define CONFIG_COLORCORRECT_FILTER 0
-+#define CONFIG_COLORIZE_FILTER 0
-+#define CONFIG_COLORKEY_FILTER 0
-+#define CONFIG_COLORKEY_OPENCL_FILTER 0
-+#define CONFIG_COLORHOLD_FILTER 0
-+#define CONFIG_COLORLEVELS_FILTER 0
-+#define CONFIG_COLORMATRIX_FILTER 0
-+#define CONFIG_COLORSPACE_FILTER 0
-+#define CONFIG_COLORTEMPERATURE_FILTER 0
-+#define CONFIG_CONVOLUTION_FILTER 0
-+#define CONFIG_CONVOLUTION_OPENCL_FILTER 0
-+#define CONFIG_CONVOLVE_FILTER 0
-+#define CONFIG_COPY_FILTER 0
-+#define CONFIG_COREIMAGE_FILTER 0
-+#define CONFIG_COVER_RECT_FILTER 0
-+#define CONFIG_CROP_FILTER 0
-+#define CONFIG_CROPDETECT_FILTER 0
-+#define CONFIG_CUE_FILTER 0
-+#define CONFIG_CURVES_FILTER 0
-+#define CONFIG_DATASCOPE_FILTER 0
-+#define CONFIG_DBLUR_FILTER 0
-+#define CONFIG_DCTDNOIZ_FILTER 0
-+#define CONFIG_DEBAND_FILTER 0
-+#define CONFIG_DEBLOCK_FILTER 0
-+#define CONFIG_DECIMATE_FILTER 0
-+#define CONFIG_DECONVOLVE_FILTER 0
-+#define CONFIG_DEDOT_FILTER 0
-+#define CONFIG_DEFLATE_FILTER 0
-+#define CONFIG_DEFLICKER_FILTER 0
-+#define CONFIG_DEINTERLACE_QSV_FILTER 0
-+#define CONFIG_DEINTERLACE_VAAPI_FILTER 0
-+#define CONFIG_DEJUDDER_FILTER 0
-+#define CONFIG_DELOGO_FILTER 0
-+#define CONFIG_DENOISE_VAAPI_FILTER 0
-+#define CONFIG_DERAIN_FILTER 0
-+#define CONFIG_DESHAKE_FILTER 0
-+#define CONFIG_DESHAKE_OPENCL_FILTER 0
-+#define CONFIG_DESPILL_FILTER 0
-+#define CONFIG_DETELECINE_FILTER 0
-+#define CONFIG_DILATION_FILTER 0
-+#define CONFIG_DILATION_OPENCL_FILTER 0
-+#define CONFIG_DISPLACE_FILTER 0
-+#define CONFIG_DNN_CLASSIFY_FILTER 0
-+#define CONFIG_DNN_DETECT_FILTER 0
-+#define CONFIG_DNN_PROCESSING_FILTER 0
-+#define CONFIG_DOUBLEWEAVE_FILTER 0
-+#define CONFIG_DRAWBOX_FILTER 0
-+#define CONFIG_DRAWGRAPH_FILTER 0
-+#define CONFIG_DRAWGRID_FILTER 0
-+#define CONFIG_DRAWTEXT_FILTER 0
-+#define CONFIG_EDGEDETECT_FILTER 0
-+#define CONFIG_ELBG_FILTER 0
-+#define CONFIG_ENTROPY_FILTER 0
-+#define CONFIG_EPX_FILTER 0
-+#define CONFIG_EQ_FILTER 0
-+#define CONFIG_EROSION_FILTER 0
-+#define CONFIG_EROSION_OPENCL_FILTER 0
-+#define CONFIG_ESTDIF_FILTER 0
-+#define CONFIG_EXPOSURE_FILTER 0
-+#define CONFIG_EXTRACTPLANES_FILTER 0
-+#define CONFIG_FADE_FILTER 0
-+#define CONFIG_FFTDNOIZ_FILTER 0
-+#define CONFIG_FFTFILT_FILTER 0
-+#define CONFIG_FIELD_FILTER 0
-+#define CONFIG_FIELDHINT_FILTER 0
-+#define CONFIG_FIELDMATCH_FILTER 0
-+#define CONFIG_FIELDORDER_FILTER 0
-+#define CONFIG_FILLBORDERS_FILTER 0
-+#define CONFIG_FIND_RECT_FILTER 0
-+#define CONFIG_FLIP_VULKAN_FILTER 0
-+#define CONFIG_FLOODFILL_FILTER 0
-+#define CONFIG_FORMAT_FILTER 0
-+#define CONFIG_FPS_FILTER 0
-+#define CONFIG_FRAMEPACK_FILTER 0
-+#define CONFIG_FRAMERATE_FILTER 0
-+#define CONFIG_FRAMESTEP_FILTER 0
-+#define CONFIG_FREEZEDETECT_FILTER 0
-+#define CONFIG_FREEZEFRAMES_FILTER 0
-+#define CONFIG_FREI0R_FILTER 0
-+#define CONFIG_FSPP_FILTER 0
-+#define CONFIG_GBLUR_FILTER 0
-+#define CONFIG_GBLUR_VULKAN_FILTER 0
-+#define CONFIG_GEQ_FILTER 0
-+#define CONFIG_GRADFUN_FILTER 0
-+#define CONFIG_GRAPHMONITOR_FILTER 0
-+#define CONFIG_GRAYWORLD_FILTER 0
-+#define CONFIG_GREYEDGE_FILTER 0
-+#define CONFIG_GUIDED_FILTER 0
-+#define CONFIG_HALDCLUT_FILTER 0
-+#define CONFIG_HFLIP_FILTER 0
-+#define CONFIG_HFLIP_VULKAN_FILTER 0
-+#define CONFIG_HISTEQ_FILTER 0
-+#define CONFIG_HISTOGRAM_FILTER 0
-+#define CONFIG_HQDN3D_FILTER 0
-+#define CONFIG_HQX_FILTER 0
-+#define CONFIG_HSTACK_FILTER 0
-+#define CONFIG_HSVHOLD_FILTER 0
-+#define CONFIG_HSVKEY_FILTER 0
-+#define CONFIG_HUE_FILTER 0
-+#define CONFIG_HUESATURATION_FILTER 0
-+#define CONFIG_HWDOWNLOAD_FILTER 0
-+#define CONFIG_HWMAP_FILTER 0
-+#define CONFIG_HWUPLOAD_FILTER 0
-+#define CONFIG_HWUPLOAD_CUDA_FILTER 0
-+#define CONFIG_HYSTERESIS_FILTER 0
-+#define CONFIG_IDENTITY_FILTER 0
-+#define CONFIG_IDET_FILTER 0
-+#define CONFIG_IL_FILTER 0
-+#define CONFIG_INFLATE_FILTER 0
-+#define CONFIG_INTERLACE_FILTER 0
-+#define CONFIG_INTERLEAVE_FILTER 0
-+#define CONFIG_KERNDEINT_FILTER 0
-+#define CONFIG_KIRSCH_FILTER 0
-+#define CONFIG_LAGFUN_FILTER 0
-+#define CONFIG_LATENCY_FILTER 0
-+#define CONFIG_LENSCORRECTION_FILTER 0
-+#define CONFIG_LENSFUN_FILTER 0
-+#define CONFIG_LIBPLACEBO_FILTER 0
-+#define CONFIG_LIBVMAF_FILTER 0
-+#define CONFIG_LIMITDIFF_FILTER 0
-+#define CONFIG_LIMITER_FILTER 0
-+#define CONFIG_LOOP_FILTER 0
-+#define CONFIG_LUMAKEY_FILTER 0
-+#define CONFIG_LUT_FILTER 0
-+#define CONFIG_LUT1D_FILTER 0
-+#define CONFIG_LUT2_FILTER 0
-+#define CONFIG_LUT3D_FILTER 0
-+#define CONFIG_LUTRGB_FILTER 0
-+#define CONFIG_LUTYUV_FILTER 0
-+#define CONFIG_MASKEDCLAMP_FILTER 0
-+#define CONFIG_MASKEDMAX_FILTER 0
-+#define CONFIG_MASKEDMERGE_FILTER 0
-+#define CONFIG_MASKEDMIN_FILTER 0
-+#define CONFIG_MASKEDTHRESHOLD_FILTER 0
-+#define CONFIG_MASKFUN_FILTER 0
-+#define CONFIG_MCDEINT_FILTER 0
-+#define CONFIG_MEDIAN_FILTER 0
-+#define CONFIG_MERGEPLANES_FILTER 0
-+#define CONFIG_MESTIMATE_FILTER 0
-+#define CONFIG_METADATA_FILTER 0
-+#define CONFIG_MIDEQUALIZER_FILTER 0
-+#define CONFIG_MINTERPOLATE_FILTER 0
-+#define CONFIG_MIX_FILTER 0
-+#define CONFIG_MONOCHROME_FILTER 0
-+#define CONFIG_MORPHO_FILTER 0
-+#define CONFIG_MPDECIMATE_FILTER 0
-+#define CONFIG_MSAD_FILTER 0
-+#define CONFIG_NEGATE_FILTER 0
-+#define CONFIG_NLMEANS_FILTER 0
-+#define CONFIG_NLMEANS_OPENCL_FILTER 0
-+#define CONFIG_NNEDI_FILTER 0
-+#define CONFIG_NOFORMAT_FILTER 0
-+#define CONFIG_NOISE_FILTER 0
-+#define CONFIG_NORMALIZE_FILTER 0
-+#define CONFIG_NULL_FILTER 0
-+#define CONFIG_OCR_FILTER 0
-+#define CONFIG_OCV_FILTER 0
-+#define CONFIG_OSCILLOSCOPE_FILTER 0
-+#define CONFIG_OVERLAY_FILTER 0
-+#define CONFIG_OVERLAY_OPENCL_FILTER 0
-+#define CONFIG_OVERLAY_QSV_FILTER 0
-+#define CONFIG_OVERLAY_VAAPI_FILTER 0
-+#define CONFIG_OVERLAY_VULKAN_FILTER 0
-+#define CONFIG_OVERLAY_CUDA_FILTER 0
-+#define CONFIG_OWDENOISE_FILTER 0
-+#define CONFIG_PAD_FILTER 0
-+#define CONFIG_PAD_OPENCL_FILTER 0
-+#define CONFIG_PALETTEGEN_FILTER 0
-+#define CONFIG_PALETTEUSE_FILTER 0
-+#define CONFIG_PERMS_FILTER 0
-+#define CONFIG_PERSPECTIVE_FILTER 0
-+#define CONFIG_PHASE_FILTER 0
-+#define CONFIG_PHOTOSENSITIVITY_FILTER 0
-+#define CONFIG_PIXDESCTEST_FILTER 0
-+#define CONFIG_PIXSCOPE_FILTER 0
-+#define CONFIG_PP_FILTER 0
-+#define CONFIG_PP7_FILTER 0
-+#define CONFIG_PREMULTIPLY_FILTER 0
-+#define CONFIG_PREWITT_FILTER 0
-+#define CONFIG_PREWITT_OPENCL_FILTER 0
-+#define CONFIG_PROCAMP_VAAPI_FILTER 0
-+#define CONFIG_PROGRAM_OPENCL_FILTER 0
-+#define CONFIG_PSEUDOCOLOR_FILTER 0
-+#define CONFIG_PSNR_FILTER 0
-+#define CONFIG_PULLUP_FILTER 0
-+#define CONFIG_QP_FILTER 0
-+#define CONFIG_RANDOM_FILTER 0
-+#define CONFIG_READEIA608_FILTER 0
-+#define CONFIG_READVITC_FILTER 0
-+#define CONFIG_REALTIME_FILTER 0
-+#define CONFIG_REMAP_FILTER 0
-+#define CONFIG_REMOVEGRAIN_FILTER 0
-+#define CONFIG_REMOVELOGO_FILTER 0
-+#define CONFIG_REPEATFIELDS_FILTER 0
-+#define CONFIG_REVERSE_FILTER 0
-+#define CONFIG_RGBASHIFT_FILTER 0
-+#define CONFIG_ROBERTS_FILTER 0
-+#define CONFIG_ROBERTS_OPENCL_FILTER 0
-+#define CONFIG_ROTATE_FILTER 0
-+#define CONFIG_SAB_FILTER 0
-+#define CONFIG_SCALE_FILTER 0
-+#define CONFIG_SCALE_CUDA_FILTER 0
-+#define CONFIG_SCALE_NPP_FILTER 0
-+#define CONFIG_SCALE_QSV_FILTER 0
-+#define CONFIG_SCALE_VAAPI_FILTER 0
-+#define CONFIG_SCALE_VULKAN_FILTER 0
-+#define CONFIG_SCALE2REF_FILTER 0
-+#define CONFIG_SCALE2REF_NPP_FILTER 0
-+#define CONFIG_SCDET_FILTER 0
-+#define CONFIG_SCHARR_FILTER 0
-+#define CONFIG_SCROLL_FILTER 0
-+#define CONFIG_SEGMENT_FILTER 0
-+#define CONFIG_SELECT_FILTER 0
-+#define CONFIG_SELECTIVECOLOR_FILTER 0
-+#define CONFIG_SENDCMD_FILTER 0
-+#define CONFIG_SEPARATEFIELDS_FILTER 0
-+#define CONFIG_SETDAR_FILTER 0
-+#define CONFIG_SETFIELD_FILTER 0
-+#define CONFIG_SETPARAMS_FILTER 0
-+#define CONFIG_SETPTS_FILTER 0
-+#define CONFIG_SETRANGE_FILTER 0
-+#define CONFIG_SETSAR_FILTER 0
-+#define CONFIG_SETTB_FILTER 0
-+#define CONFIG_SHARPEN_NPP_FILTER 0
-+#define CONFIG_SHARPNESS_VAAPI_FILTER 0
-+#define CONFIG_SHEAR_FILTER 0
-+#define CONFIG_SHOWINFO_FILTER 0
-+#define CONFIG_SHOWPALETTE_FILTER 0
-+#define CONFIG_SHUFFLEFRAMES_FILTER 0
-+#define CONFIG_SHUFFLEPIXELS_FILTER 0
-+#define CONFIG_SHUFFLEPLANES_FILTER 0
-+#define CONFIG_SIDEDATA_FILTER 0
-+#define CONFIG_SIGNALSTATS_FILTER 0
-+#define CONFIG_SIGNATURE_FILTER 0
-+#define CONFIG_SMARTBLUR_FILTER 0
-+#define CONFIG_SOBEL_FILTER 0
-+#define CONFIG_SOBEL_OPENCL_FILTER 0
-+#define CONFIG_SPLIT_FILTER 0
-+#define CONFIG_SPP_FILTER 0
-+#define CONFIG_SR_FILTER 0
-+#define CONFIG_SSIM_FILTER 0
-+#define CONFIG_STEREO3D_FILTER 0
-+#define CONFIG_STREAMSELECT_FILTER 0
-+#define CONFIG_SUBTITLES_FILTER 0
-+#define CONFIG_SUPER2XSAI_FILTER 0
-+#define CONFIG_SWAPRECT_FILTER 0
-+#define CONFIG_SWAPUV_FILTER 0
-+#define CONFIG_TBLEND_FILTER 0
-+#define CONFIG_TELECINE_FILTER 0
-+#define CONFIG_THISTOGRAM_FILTER 0
-+#define CONFIG_THRESHOLD_FILTER 0
-+#define CONFIG_THUMBNAIL_FILTER 0
-+#define CONFIG_THUMBNAIL_CUDA_FILTER 0
-+#define CONFIG_TILE_FILTER 0
-+#define CONFIG_TINTERLACE_FILTER 0
-+#define CONFIG_TLUT2_FILTER 0
-+#define CONFIG_TMEDIAN_FILTER 0
-+#define CONFIG_TMIDEQUALIZER_FILTER 0
-+#define CONFIG_TMIX_FILTER 0
-+#define CONFIG_TONEMAP_FILTER 0
-+#define CONFIG_TONEMAP_OPENCL_FILTER 0
-+#define CONFIG_TONEMAP_VAAPI_FILTER 0
-+#define CONFIG_TPAD_FILTER 0
-+#define CONFIG_TRANSPOSE_FILTER 0
-+#define CONFIG_TRANSPOSE_NPP_FILTER 0
-+#define CONFIG_TRANSPOSE_OPENCL_FILTER 0
-+#define CONFIG_TRANSPOSE_VAAPI_FILTER 0
-+#define CONFIG_TRANSPOSE_VULKAN_FILTER 0
-+#define CONFIG_TRIM_FILTER 0
-+#define CONFIG_UNPREMULTIPLY_FILTER 0
-+#define CONFIG_UNSHARP_FILTER 0
-+#define CONFIG_UNSHARP_OPENCL_FILTER 0
-+#define CONFIG_UNTILE_FILTER 0
-+#define CONFIG_USPP_FILTER 0
-+#define CONFIG_V360_FILTER 0
-+#define CONFIG_VAGUEDENOISER_FILTER 0
-+#define CONFIG_VARBLUR_FILTER 0
-+#define CONFIG_VECTORSCOPE_FILTER 0
-+#define CONFIG_VFLIP_FILTER 0
-+#define CONFIG_VFLIP_VULKAN_FILTER 0
-+#define CONFIG_VFRDET_FILTER 0
-+#define CONFIG_VIBRANCE_FILTER 0
-+#define CONFIG_VIDSTABDETECT_FILTER 0
-+#define CONFIG_VIDSTABTRANSFORM_FILTER 0
-+#define CONFIG_VIF_FILTER 0
-+#define CONFIG_VIGNETTE_FILTER 0
-+#define CONFIG_VMAFMOTION_FILTER 0
-+#define CONFIG_VPP_QSV_FILTER 0
-+#define CONFIG_VSTACK_FILTER 0
-+#define CONFIG_W3FDIF_FILTER 0
-+#define CONFIG_WAVEFORM_FILTER 0
-+#define CONFIG_WEAVE_FILTER 0
-+#define CONFIG_XBR_FILTER 0
-+#define CONFIG_XCORRELATE_FILTER 0
-+#define CONFIG_XFADE_FILTER 0
-+#define CONFIG_XFADE_OPENCL_FILTER 0
-+#define CONFIG_XMEDIAN_FILTER 0
-+#define CONFIG_XSTACK_FILTER 0
-+#define CONFIG_YADIF_FILTER 0
-+#define CONFIG_YADIF_CUDA_FILTER 0
-+#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0
-+#define CONFIG_YAEPBLUR_FILTER 0
-+#define CONFIG_ZMQ_FILTER 0
-+#define CONFIG_ZOOMPAN_FILTER 0
-+#define CONFIG_ZSCALE_FILTER 0
-+#define CONFIG_ALLRGB_FILTER 0
-+#define CONFIG_ALLYUV_FILTER 0
-+#define CONFIG_CELLAUTO_FILTER 0
-+#define CONFIG_COLOR_FILTER 0
-+#define CONFIG_COLORSPECTRUM_FILTER 0
-+#define CONFIG_COREIMAGESRC_FILTER 0
-+#define CONFIG_FREI0R_SRC_FILTER 0
-+#define CONFIG_GRADIENTS_FILTER 0
-+#define CONFIG_HALDCLUTSRC_FILTER 0
-+#define CONFIG_LIFE_FILTER 0
-+#define CONFIG_MANDELBROT_FILTER 0
-+#define CONFIG_MPTESTSRC_FILTER 0
-+#define CONFIG_NULLSRC_FILTER 0
-+#define CONFIG_OPENCLSRC_FILTER 0
-+#define CONFIG_PAL75BARS_FILTER 0
-+#define CONFIG_PAL100BARS_FILTER 0
-+#define CONFIG_RGBTESTSRC_FILTER 0
-+#define CONFIG_SIERPINSKI_FILTER 0
-+#define CONFIG_SMPTEBARS_FILTER 0
-+#define CONFIG_SMPTEHDBARS_FILTER 0
-+#define CONFIG_TESTSRC_FILTER 0
-+#define CONFIG_TESTSRC2_FILTER 0
-+#define CONFIG_YUVTESTSRC_FILTER 0
-+#define CONFIG_NULLSINK_FILTER 0
-+#define CONFIG_ABITSCOPE_FILTER 0
-+#define CONFIG_ADRAWGRAPH_FILTER 0
-+#define CONFIG_AGRAPHMONITOR_FILTER 0
-+#define CONFIG_AHISTOGRAM_FILTER 0
-+#define CONFIG_APHASEMETER_FILTER 0
-+#define CONFIG_AVECTORSCOPE_FILTER 0
-+#define CONFIG_CONCAT_FILTER 0
-+#define CONFIG_SHOWCQT_FILTER 0
-+#define CONFIG_SHOWFREQS_FILTER 0
-+#define CONFIG_SHOWSPATIAL_FILTER 0
-+#define CONFIG_SHOWSPECTRUM_FILTER 0
-+#define CONFIG_SHOWSPECTRUMPIC_FILTER 0
-+#define CONFIG_SHOWVOLUME_FILTER 0
-+#define CONFIG_SHOWWAVES_FILTER 0
-+#define CONFIG_SHOWWAVESPIC_FILTER 0
-+#define CONFIG_SPECTRUMSYNTH_FILTER 0
-+#define CONFIG_AMOVIE_FILTER 0
-+#define CONFIG_MOVIE_FILTER 0
-+#define CONFIG_AFIFO_FILTER 0
-+#define CONFIG_FIFO_FILTER 0
-+#define CONFIG_AA_DEMUXER 0
-+#define CONFIG_AAC_DEMUXER 1
-+#define CONFIG_AAX_DEMUXER 0
-+#define CONFIG_AC3_DEMUXER 0
-+#define CONFIG_ACE_DEMUXER 0
-+#define CONFIG_ACM_DEMUXER 0
-+#define CONFIG_ACT_DEMUXER 0
-+#define CONFIG_ADF_DEMUXER 0
-+#define CONFIG_ADP_DEMUXER 0
-+#define CONFIG_ADS_DEMUXER 0
-+#define CONFIG_ADX_DEMUXER 0
-+#define CONFIG_AEA_DEMUXER 0
-+#define CONFIG_AFC_DEMUXER 0
-+#define CONFIG_AIFF_DEMUXER 0
-+#define CONFIG_AIX_DEMUXER 0
-+#define CONFIG_ALP_DEMUXER 0
-+#define CONFIG_AMR_DEMUXER 0
-+#define CONFIG_AMRNB_DEMUXER 0
-+#define CONFIG_AMRWB_DEMUXER 0
-+#define CONFIG_ANM_DEMUXER 0
-+#define CONFIG_APC_DEMUXER 0
-+#define CONFIG_APE_DEMUXER 0
-+#define CONFIG_APM_DEMUXER 0
-+#define CONFIG_APNG_DEMUXER 0
-+#define CONFIG_APTX_DEMUXER 0
-+#define CONFIG_APTX_HD_DEMUXER 0
-+#define CONFIG_AQTITLE_DEMUXER 0
-+#define CONFIG_ARGO_ASF_DEMUXER 0
-+#define CONFIG_ARGO_BRP_DEMUXER 0
-+#define CONFIG_ARGO_CVG_DEMUXER 0
-+#define CONFIG_ASF_DEMUXER 0
-+#define CONFIG_ASF_O_DEMUXER 0
-+#define CONFIG_ASS_DEMUXER 0
-+#define CONFIG_AST_DEMUXER 0
-+#define CONFIG_AU_DEMUXER 0
-+#define CONFIG_AV1_DEMUXER 0
-+#define CONFIG_AVI_DEMUXER 0
-+#define CONFIG_AVISYNTH_DEMUXER 0
-+#define CONFIG_AVR_DEMUXER 0
-+#define CONFIG_AVS_DEMUXER 0
-+#define CONFIG_AVS2_DEMUXER 0
-+#define CONFIG_AVS3_DEMUXER 0
-+#define CONFIG_BETHSOFTVID_DEMUXER 0
-+#define CONFIG_BFI_DEMUXER 0
-+#define CONFIG_BINTEXT_DEMUXER 0
-+#define CONFIG_BINK_DEMUXER 0
-+#define CONFIG_BINKA_DEMUXER 0
-+#define CONFIG_BIT_DEMUXER 0
-+#define CONFIG_BITPACKED_DEMUXER 0
-+#define CONFIG_BMV_DEMUXER 0
-+#define CONFIG_BFSTM_DEMUXER 0
-+#define CONFIG_BRSTM_DEMUXER 0
-+#define CONFIG_BOA_DEMUXER 0
-+#define CONFIG_C93_DEMUXER 0
-+#define CONFIG_CAF_DEMUXER 0
-+#define CONFIG_CAVSVIDEO_DEMUXER 0
-+#define CONFIG_CDG_DEMUXER 0
-+#define CONFIG_CDXL_DEMUXER 0
-+#define CONFIG_CINE_DEMUXER 0
-+#define CONFIG_CODEC2_DEMUXER 0
-+#define CONFIG_CODEC2RAW_DEMUXER 0
-+#define CONFIG_CONCAT_DEMUXER 0
-+#define CONFIG_DASH_DEMUXER 0
-+#define CONFIG_DATA_DEMUXER 0
-+#define CONFIG_DAUD_DEMUXER 0
-+#define CONFIG_DCSTR_DEMUXER 0
-+#define CONFIG_DERF_DEMUXER 0
-+#define CONFIG_DFA_DEMUXER 0
-+#define CONFIG_DFPWM_DEMUXER 0
-+#define CONFIG_DHAV_DEMUXER 0
-+#define CONFIG_DIRAC_DEMUXER 0
-+#define CONFIG_DNXHD_DEMUXER 0
-+#define CONFIG_DSF_DEMUXER 0
-+#define CONFIG_DSICIN_DEMUXER 0
-+#define CONFIG_DSS_DEMUXER 0
-+#define CONFIG_DTS_DEMUXER 0
-+#define CONFIG_DTSHD_DEMUXER 0
-+#define CONFIG_DV_DEMUXER 0
-+#define CONFIG_DVBSUB_DEMUXER 0
-+#define CONFIG_DVBTXT_DEMUXER 0
-+#define CONFIG_DXA_DEMUXER 0
-+#define CONFIG_EA_DEMUXER 0
-+#define CONFIG_EA_CDATA_DEMUXER 0
-+#define CONFIG_EAC3_DEMUXER 0
-+#define CONFIG_EPAF_DEMUXER 0
-+#define CONFIG_FFMETADATA_DEMUXER 0
-+#define CONFIG_FILMSTRIP_DEMUXER 0
-+#define CONFIG_FITS_DEMUXER 0
-+#define CONFIG_FLAC_DEMUXER 1
-+#define CONFIG_FLIC_DEMUXER 0
-+#define CONFIG_FLV_DEMUXER 0
-+#define CONFIG_LIVE_FLV_DEMUXER 0
-+#define CONFIG_FOURXM_DEMUXER 0
-+#define CONFIG_FRM_DEMUXER 0
-+#define CONFIG_FSB_DEMUXER 0
-+#define CONFIG_FWSE_DEMUXER 0
-+#define CONFIG_G722_DEMUXER 0
-+#define CONFIG_G723_1_DEMUXER 0
-+#define CONFIG_G726_DEMUXER 0
-+#define CONFIG_G726LE_DEMUXER 0
-+#define CONFIG_G729_DEMUXER 0
-+#define CONFIG_GDV_DEMUXER 0
-+#define CONFIG_GENH_DEMUXER 0
-+#define CONFIG_GIF_DEMUXER 0
-+#define CONFIG_GSM_DEMUXER 0
-+#define CONFIG_GXF_DEMUXER 0
-+#define CONFIG_H261_DEMUXER 0
-+#define CONFIG_H263_DEMUXER 0
-+#define CONFIG_H264_DEMUXER 0
-+#define CONFIG_HCA_DEMUXER 0
-+#define CONFIG_HCOM_DEMUXER 0
-+#define CONFIG_HEVC_DEMUXER 0
-+#define CONFIG_HLS_DEMUXER 0
-+#define CONFIG_HNM_DEMUXER 0
-+#define CONFIG_ICO_DEMUXER 0
-+#define CONFIG_IDCIN_DEMUXER 0
-+#define CONFIG_IDF_DEMUXER 0
-+#define CONFIG_IFF_DEMUXER 0
-+#define CONFIG_IFV_DEMUXER 0
-+#define CONFIG_ILBC_DEMUXER 0
-+#define CONFIG_IMAGE2_DEMUXER 0
-+#define CONFIG_IMAGE2PIPE_DEMUXER 0
-+#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0
-+#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0
-+#define CONFIG_IMF_DEMUXER 0
-+#define CONFIG_INGENIENT_DEMUXER 0
-+#define CONFIG_IPMOVIE_DEMUXER 0
-+#define CONFIG_IPU_DEMUXER 0
-+#define CONFIG_IRCAM_DEMUXER 0
-+#define CONFIG_ISS_DEMUXER 0
-+#define CONFIG_IV8_DEMUXER 0
-+#define CONFIG_IVF_DEMUXER 0
-+#define CONFIG_IVR_DEMUXER 0
-+#define CONFIG_JACOSUB_DEMUXER 0
-+#define CONFIG_JV_DEMUXER 0
-+#define CONFIG_KUX_DEMUXER 0
-+#define CONFIG_KVAG_DEMUXER 0
-+#define CONFIG_LMLM4_DEMUXER 0
-+#define CONFIG_LOAS_DEMUXER 0
-+#define CONFIG_LUODAT_DEMUXER 0
-+#define CONFIG_LRC_DEMUXER 0
-+#define CONFIG_LVF_DEMUXER 0
-+#define CONFIG_LXF_DEMUXER 0
-+#define CONFIG_M4V_DEMUXER 0
-+#define CONFIG_MCA_DEMUXER 0
-+#define CONFIG_MCC_DEMUXER 0
-+#define CONFIG_MATROSKA_DEMUXER 1
-+#define CONFIG_MGSTS_DEMUXER 0
-+#define CONFIG_MICRODVD_DEMUXER 0
-+#define CONFIG_MJPEG_DEMUXER 0
-+#define CONFIG_MJPEG_2000_DEMUXER 0
-+#define CONFIG_MLP_DEMUXER 0
-+#define CONFIG_MLV_DEMUXER 0
-+#define CONFIG_MM_DEMUXER 0
-+#define CONFIG_MMF_DEMUXER 0
-+#define CONFIG_MODS_DEMUXER 0
-+#define CONFIG_MOFLEX_DEMUXER 0
-+#define CONFIG_MOV_DEMUXER 1
-+#define CONFIG_MP3_DEMUXER 1
-+#define CONFIG_MPC_DEMUXER 0
-+#define CONFIG_MPC8_DEMUXER 0
-+#define CONFIG_MPEGPS_DEMUXER 0
-+#define CONFIG_MPEGTS_DEMUXER 0
-+#define CONFIG_MPEGTSRAW_DEMUXER 0
-+#define CONFIG_MPEGVIDEO_DEMUXER 0
-+#define CONFIG_MPJPEG_DEMUXER 0
-+#define CONFIG_MPL2_DEMUXER 0
-+#define CONFIG_MPSUB_DEMUXER 0
-+#define CONFIG_MSF_DEMUXER 0
-+#define CONFIG_MSNWC_TCP_DEMUXER 0
-+#define CONFIG_MSP_DEMUXER 0
-+#define CONFIG_MTAF_DEMUXER 0
-+#define CONFIG_MTV_DEMUXER 0
-+#define CONFIG_MUSX_DEMUXER 0
-+#define CONFIG_MV_DEMUXER 0
-+#define CONFIG_MVI_DEMUXER 0
-+#define CONFIG_MXF_DEMUXER 0
-+#define CONFIG_MXG_DEMUXER 0
-+#define CONFIG_NC_DEMUXER 0
-+#define CONFIG_NISTSPHERE_DEMUXER 0
-+#define CONFIG_NSP_DEMUXER 0
-+#define CONFIG_NSV_DEMUXER 0
-+#define CONFIG_NUT_DEMUXER 0
-+#define CONFIG_NUV_DEMUXER 0
-+#define CONFIG_OBU_DEMUXER 0
-+#define CONFIG_OGG_DEMUXER 1
-+#define CONFIG_OMA_DEMUXER 0
-+#define CONFIG_PAF_DEMUXER 0
-+#define CONFIG_PCM_ALAW_DEMUXER 0
-+#define CONFIG_PCM_MULAW_DEMUXER 0
-+#define CONFIG_PCM_VIDC_DEMUXER 0
-+#define CONFIG_PCM_F64BE_DEMUXER 0
-+#define CONFIG_PCM_F64LE_DEMUXER 0
-+#define CONFIG_PCM_F32BE_DEMUXER 0
-+#define CONFIG_PCM_F32LE_DEMUXER 0
-+#define CONFIG_PCM_S32BE_DEMUXER 0
-+#define CONFIG_PCM_S32LE_DEMUXER 0
-+#define CONFIG_PCM_S24BE_DEMUXER 0
-+#define CONFIG_PCM_S24LE_DEMUXER 0
-+#define CONFIG_PCM_S16BE_DEMUXER 0
-+#define CONFIG_PCM_S16LE_DEMUXER 0
-+#define CONFIG_PCM_S8_DEMUXER 0
-+#define CONFIG_PCM_U32BE_DEMUXER 0
-+#define CONFIG_PCM_U32LE_DEMUXER 0
-+#define CONFIG_PCM_U24BE_DEMUXER 0
-+#define CONFIG_PCM_U24LE_DEMUXER 0
-+#define CONFIG_PCM_U16BE_DEMUXER 0
-+#define CONFIG_PCM_U16LE_DEMUXER 0
-+#define CONFIG_PCM_U8_DEMUXER 0
-+#define CONFIG_PJS_DEMUXER 0
-+#define CONFIG_PMP_DEMUXER 0
-+#define CONFIG_PP_BNK_DEMUXER 0
-+#define CONFIG_PVA_DEMUXER 0
-+#define CONFIG_PVF_DEMUXER 0
-+#define CONFIG_QCP_DEMUXER 0
-+#define CONFIG_R3D_DEMUXER 0
-+#define CONFIG_RAWVIDEO_DEMUXER 0
-+#define CONFIG_REALTEXT_DEMUXER 0
-+#define CONFIG_REDSPARK_DEMUXER 0
-+#define CONFIG_RL2_DEMUXER 0
-+#define CONFIG_RM_DEMUXER 0
-+#define CONFIG_ROQ_DEMUXER 0
-+#define CONFIG_RPL_DEMUXER 0
-+#define CONFIG_RSD_DEMUXER 0
-+#define CONFIG_RSO_DEMUXER 0
-+#define CONFIG_RTP_DEMUXER 0
-+#define CONFIG_RTSP_DEMUXER 0
-+#define CONFIG_S337M_DEMUXER 0
-+#define CONFIG_SAMI_DEMUXER 0
-+#define CONFIG_SAP_DEMUXER 0
-+#define CONFIG_SBC_DEMUXER 0
-+#define CONFIG_SBG_DEMUXER 0
-+#define CONFIG_SCC_DEMUXER 0
-+#define CONFIG_SCD_DEMUXER 0
-+#define CONFIG_SDP_DEMUXER 0
-+#define CONFIG_SDR2_DEMUXER 0
-+#define CONFIG_SDS_DEMUXER 0
-+#define CONFIG_SDX_DEMUXER 0
-+#define CONFIG_SEGAFILM_DEMUXER 0
-+#define CONFIG_SER_DEMUXER 0
-+#define CONFIG_SGA_DEMUXER 0
-+#define CONFIG_SHORTEN_DEMUXER 0
-+#define CONFIG_SIFF_DEMUXER 0
-+#define CONFIG_SIMBIOSIS_IMX_DEMUXER 0
-+#define CONFIG_SLN_DEMUXER 0
-+#define CONFIG_SMACKER_DEMUXER 0
-+#define CONFIG_SMJPEG_DEMUXER 0
-+#define CONFIG_SMUSH_DEMUXER 0
-+#define CONFIG_SOL_DEMUXER 0
-+#define CONFIG_SOX_DEMUXER 0
-+#define CONFIG_SPDIF_DEMUXER 0
-+#define CONFIG_SRT_DEMUXER 0
-+#define CONFIG_STR_DEMUXER 0
-+#define CONFIG_STL_DEMUXER 0
-+#define CONFIG_SUBVIEWER1_DEMUXER 0
-+#define CONFIG_SUBVIEWER_DEMUXER 0
-+#define CONFIG_SUP_DEMUXER 0
-+#define CONFIG_SVAG_DEMUXER 0
-+#define CONFIG_SVS_DEMUXER 0
-+#define CONFIG_SWF_DEMUXER 0
-+#define CONFIG_TAK_DEMUXER 0
-+#define CONFIG_TEDCAPTIONS_DEMUXER 0
-+#define CONFIG_THP_DEMUXER 0
-+#define CONFIG_THREEDOSTR_DEMUXER 0
-+#define CONFIG_TIERTEXSEQ_DEMUXER 0
-+#define CONFIG_TMV_DEMUXER 0
-+#define CONFIG_TRUEHD_DEMUXER 0
-+#define CONFIG_TTA_DEMUXER 0
-+#define CONFIG_TXD_DEMUXER 0
-+#define CONFIG_TTY_DEMUXER 0
-+#define CONFIG_TY_DEMUXER 0
-+#define CONFIG_V210_DEMUXER 0
-+#define CONFIG_V210X_DEMUXER 0
-+#define CONFIG_VAG_DEMUXER 0
-+#define CONFIG_VC1_DEMUXER 0
-+#define CONFIG_VC1T_DEMUXER 0
-+#define CONFIG_VIVIDAS_DEMUXER 0
-+#define CONFIG_VIVO_DEMUXER 0
-+#define CONFIG_VMD_DEMUXER 0
-+#define CONFIG_VOBSUB_DEMUXER 0
-+#define CONFIG_VOC_DEMUXER 0
-+#define CONFIG_VPK_DEMUXER 0
-+#define CONFIG_VPLAYER_DEMUXER 0
-+#define CONFIG_VQF_DEMUXER 0
-+#define CONFIG_W64_DEMUXER 0
-+#define CONFIG_WAV_DEMUXER 1
-+#define CONFIG_WC3_DEMUXER 0
-+#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
-+#define CONFIG_WEBVTT_DEMUXER 0
-+#define CONFIG_WSAUD_DEMUXER 0
-+#define CONFIG_WSD_DEMUXER 0
-+#define CONFIG_WSVQA_DEMUXER 0
-+#define CONFIG_WTV_DEMUXER 0
-+#define CONFIG_WVE_DEMUXER 0
-+#define CONFIG_WV_DEMUXER 0
-+#define CONFIG_XA_DEMUXER 0
-+#define CONFIG_XBIN_DEMUXER 0
-+#define CONFIG_XMV_DEMUXER 0
-+#define CONFIG_XVAG_DEMUXER 0
-+#define CONFIG_XWMA_DEMUXER 0
-+#define CONFIG_YOP_DEMUXER 0
-+#define CONFIG_YUV4MPEGPIPE_DEMUXER 0
-+#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 0
-+#define CONFIG_LIBGME_DEMUXER 0
-+#define CONFIG_LIBMODPLUG_DEMUXER 0
-+#define CONFIG_LIBOPENMPT_DEMUXER 0
-+#define CONFIG_VAPOURSYNTH_DEMUXER 0
-+#define CONFIG_A64_MUXER 0
-+#define CONFIG_AC3_MUXER 0
-+#define CONFIG_ADTS_MUXER 0
-+#define CONFIG_ADX_MUXER 0
-+#define CONFIG_AIFF_MUXER 0
-+#define CONFIG_ALP_MUXER 0
-+#define CONFIG_AMR_MUXER 0
-+#define CONFIG_AMV_MUXER 0
-+#define CONFIG_APM_MUXER 0
-+#define CONFIG_APNG_MUXER 0
-+#define CONFIG_APTX_MUXER 0
-+#define CONFIG_APTX_HD_MUXER 0
-+#define CONFIG_ARGO_ASF_MUXER 0
-+#define CONFIG_ARGO_CVG_MUXER 0
-+#define CONFIG_ASF_MUXER 0
-+#define CONFIG_ASS_MUXER 0
-+#define CONFIG_AST_MUXER 0
-+#define CONFIG_ASF_STREAM_MUXER 0
-+#define CONFIG_AU_MUXER 0
-+#define CONFIG_AVI_MUXER 0
-+#define CONFIG_AVM2_MUXER 0
-+#define CONFIG_AVS2_MUXER 0
-+#define CONFIG_AVS3_MUXER 0
-+#define CONFIG_BIT_MUXER 0
-+#define CONFIG_CAF_MUXER 0
-+#define CONFIG_CAVSVIDEO_MUXER 0
-+#define CONFIG_CODEC2_MUXER 0
-+#define CONFIG_CODEC2RAW_MUXER 0
-+#define CONFIG_CRC_MUXER 0
-+#define CONFIG_DASH_MUXER 0
-+#define CONFIG_DATA_MUXER 0
-+#define CONFIG_DAUD_MUXER 0
-+#define CONFIG_DFPWM_MUXER 0
-+#define CONFIG_DIRAC_MUXER 0
-+#define CONFIG_DNXHD_MUXER 0
-+#define CONFIG_DTS_MUXER 0
-+#define CONFIG_DV_MUXER 0
-+#define CONFIG_EAC3_MUXER 0
-+#define CONFIG_F4V_MUXER 0
-+#define CONFIG_FFMETADATA_MUXER 0
-+#define CONFIG_FIFO_MUXER 0
-+#define CONFIG_FIFO_TEST_MUXER 0
-+#define CONFIG_FILMSTRIP_MUXER 0
-+#define CONFIG_FITS_MUXER 0
-+#define CONFIG_FLAC_MUXER 0
-+#define CONFIG_FLV_MUXER 0
-+#define CONFIG_FRAMECRC_MUXER 0
-+#define CONFIG_FRAMEHASH_MUXER 0
-+#define CONFIG_FRAMEMD5_MUXER 0
-+#define CONFIG_G722_MUXER 0
-+#define CONFIG_G723_1_MUXER 0
-+#define CONFIG_G726_MUXER 0
-+#define CONFIG_G726LE_MUXER 0
-+#define CONFIG_GIF_MUXER 0
-+#define CONFIG_GSM_MUXER 0
-+#define CONFIG_GXF_MUXER 0
-+#define CONFIG_H261_MUXER 0
-+#define CONFIG_H263_MUXER 0
-+#define CONFIG_H264_MUXER 0
-+#define CONFIG_HASH_MUXER 0
-+#define CONFIG_HDS_MUXER 0
-+#define CONFIG_HEVC_MUXER 0
-+#define CONFIG_HLS_MUXER 0
-+#define CONFIG_ICO_MUXER 0
-+#define CONFIG_ILBC_MUXER 0
-+#define CONFIG_IMAGE2_MUXER 0
-+#define CONFIG_IMAGE2PIPE_MUXER 0
-+#define CONFIG_IPOD_MUXER 0
-+#define CONFIG_IRCAM_MUXER 0
-+#define CONFIG_ISMV_MUXER 0
-+#define CONFIG_IVF_MUXER 0
-+#define CONFIG_JACOSUB_MUXER 0
-+#define CONFIG_KVAG_MUXER 0
-+#define CONFIG_LATM_MUXER 0
-+#define CONFIG_LRC_MUXER 0
-+#define CONFIG_M4V_MUXER 0
-+#define CONFIG_MD5_MUXER 0
-+#define CONFIG_MATROSKA_MUXER 0
-+#define CONFIG_MATROSKA_AUDIO_MUXER 0
-+#define CONFIG_MICRODVD_MUXER 0
-+#define CONFIG_MJPEG_MUXER 0
-+#define CONFIG_MLP_MUXER 0
-+#define CONFIG_MMF_MUXER 0
-+#define CONFIG_MOV_MUXER 0
-+#define CONFIG_MP2_MUXER 0
-+#define CONFIG_MP3_MUXER 0
-+#define CONFIG_MP4_MUXER 0
-+#define CONFIG_MPEG1SYSTEM_MUXER 0
-+#define CONFIG_MPEG1VCD_MUXER 0
-+#define CONFIG_MPEG1VIDEO_MUXER 0
-+#define CONFIG_MPEG2DVD_MUXER 0
-+#define CONFIG_MPEG2SVCD_MUXER 0
-+#define CONFIG_MPEG2VIDEO_MUXER 0
-+#define CONFIG_MPEG2VOB_MUXER 0
-+#define CONFIG_MPEGTS_MUXER 0
-+#define CONFIG_MPJPEG_MUXER 0
-+#define CONFIG_MXF_MUXER 0
-+#define CONFIG_MXF_D10_MUXER 0
-+#define CONFIG_MXF_OPATOM_MUXER 0
-+#define CONFIG_NULL_MUXER 0
-+#define CONFIG_NUT_MUXER 0
-+#define CONFIG_OBU_MUXER 0
-+#define CONFIG_OGA_MUXER 0
-+#define CONFIG_OGG_MUXER 0
-+#define CONFIG_OGV_MUXER 0
-+#define CONFIG_OMA_MUXER 0
-+#define CONFIG_OPUS_MUXER 0
-+#define CONFIG_PCM_ALAW_MUXER 0
-+#define CONFIG_PCM_MULAW_MUXER 0
-+#define CONFIG_PCM_VIDC_MUXER 0
-+#define CONFIG_PCM_F64BE_MUXER 0
-+#define CONFIG_PCM_F64LE_MUXER 0
-+#define CONFIG_PCM_F32BE_MUXER 0
-+#define CONFIG_PCM_F32LE_MUXER 0
-+#define CONFIG_PCM_S32BE_MUXER 0
-+#define CONFIG_PCM_S32LE_MUXER 0
-+#define CONFIG_PCM_S24BE_MUXER 0
-+#define CONFIG_PCM_S24LE_MUXER 0
-+#define CONFIG_PCM_S16BE_MUXER 0
-+#define CONFIG_PCM_S16LE_MUXER 0
-+#define CONFIG_PCM_S8_MUXER 0
-+#define CONFIG_PCM_U32BE_MUXER 0
-+#define CONFIG_PCM_U32LE_MUXER 0
-+#define CONFIG_PCM_U24BE_MUXER 0
-+#define CONFIG_PCM_U24LE_MUXER 0
-+#define CONFIG_PCM_U16BE_MUXER 0
-+#define CONFIG_PCM_U16LE_MUXER 0
-+#define CONFIG_PCM_U8_MUXER 0
-+#define CONFIG_PSP_MUXER 0
-+#define CONFIG_RAWVIDEO_MUXER 0
-+#define CONFIG_RM_MUXER 0
-+#define CONFIG_ROQ_MUXER 0
-+#define CONFIG_RSO_MUXER 0
-+#define CONFIG_RTP_MUXER 0
-+#define CONFIG_RTP_MPEGTS_MUXER 0
-+#define CONFIG_RTSP_MUXER 0
-+#define CONFIG_SAP_MUXER 0
-+#define CONFIG_SBC_MUXER 0
-+#define CONFIG_SCC_MUXER 0
-+#define CONFIG_SEGAFILM_MUXER 0
-+#define CONFIG_SEGMENT_MUXER 0
-+#define CONFIG_STREAM_SEGMENT_MUXER 0
-+#define CONFIG_SMJPEG_MUXER 0
-+#define CONFIG_SMOOTHSTREAMING_MUXER 0
-+#define CONFIG_SOX_MUXER 0
-+#define CONFIG_SPX_MUXER 0
-+#define CONFIG_SPDIF_MUXER 0
-+#define CONFIG_SRT_MUXER 0
-+#define CONFIG_STREAMHASH_MUXER 0
-+#define CONFIG_SUP_MUXER 0
-+#define CONFIG_SWF_MUXER 0
-+#define CONFIG_TEE_MUXER 0
-+#define CONFIG_TG2_MUXER 0
-+#define CONFIG_TGP_MUXER 0
-+#define CONFIG_MKVTIMESTAMP_V2_MUXER 0
-+#define CONFIG_TRUEHD_MUXER 0
-+#define CONFIG_TTA_MUXER 0
-+#define CONFIG_TTML_MUXER 0
-+#define CONFIG_UNCODEDFRAMECRC_MUXER 0
-+#define CONFIG_VC1_MUXER 0
-+#define CONFIG_VC1T_MUXER 0
-+#define CONFIG_VOC_MUXER 0
-+#define CONFIG_W64_MUXER 0
-+#define CONFIG_WAV_MUXER 0
-+#define CONFIG_WEBM_MUXER 0
-+#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0
-+#define CONFIG_WEBM_CHUNK_MUXER 0
-+#define CONFIG_WEBP_MUXER 0
-+#define CONFIG_WEBVTT_MUXER 0
-+#define CONFIG_WSAUD_MUXER 0
-+#define CONFIG_WTV_MUXER 0
-+#define CONFIG_WV_MUXER 0
-+#define CONFIG_YUV4MPEGPIPE_MUXER 0
-+#define CONFIG_CHROMAPRINT_MUXER 0
-+#define CONFIG_ASYNC_PROTOCOL 0
-+#define CONFIG_BLURAY_PROTOCOL 0
-+#define CONFIG_CACHE_PROTOCOL 0
-+#define CONFIG_CONCAT_PROTOCOL 0
-+#define CONFIG_CONCATF_PROTOCOL 0
-+#define CONFIG_CRYPTO_PROTOCOL 0
-+#define CONFIG_DATA_PROTOCOL 0
-+#define CONFIG_FFRTMPCRYPT_PROTOCOL 0
-+#define CONFIG_FFRTMPHTTP_PROTOCOL 0
-+#define CONFIG_FILE_PROTOCOL 0
-+#define CONFIG_FTP_PROTOCOL 0
-+#define CONFIG_GOPHER_PROTOCOL 0
-+#define CONFIG_GOPHERS_PROTOCOL 0
-+#define CONFIG_HLS_PROTOCOL 0
-+#define CONFIG_HTTP_PROTOCOL 0
-+#define CONFIG_HTTPPROXY_PROTOCOL 0
-+#define CONFIG_HTTPS_PROTOCOL 0
-+#define CONFIG_ICECAST_PROTOCOL 0
-+#define CONFIG_MMSH_PROTOCOL 0
-+#define CONFIG_MMST_PROTOCOL 0
-+#define CONFIG_MD5_PROTOCOL 0
-+#define CONFIG_PIPE_PROTOCOL 0
-+#define CONFIG_PROMPEG_PROTOCOL 0
-+#define CONFIG_RTMP_PROTOCOL 0
-+#define CONFIG_RTMPE_PROTOCOL 0
-+#define CONFIG_RTMPS_PROTOCOL 0
-+#define CONFIG_RTMPT_PROTOCOL 0
-+#define CONFIG_RTMPTE_PROTOCOL 0
-+#define CONFIG_RTMPTS_PROTOCOL 0
-+#define CONFIG_RTP_PROTOCOL 0
-+#define CONFIG_SCTP_PROTOCOL 0
-+#define CONFIG_SRTP_PROTOCOL 0
-+#define CONFIG_SUBFILE_PROTOCOL 0
-+#define CONFIG_TEE_PROTOCOL 0
-+#define CONFIG_TCP_PROTOCOL 0
-+#define CONFIG_TLS_PROTOCOL 0
-+#define CONFIG_UDP_PROTOCOL 0
-+#define CONFIG_UDPLITE_PROTOCOL 0
-+#define CONFIG_UNIX_PROTOCOL 0
-+#define CONFIG_LIBAMQP_PROTOCOL 0
-+#define CONFIG_LIBRIST_PROTOCOL 0
-+#define CONFIG_LIBRTMP_PROTOCOL 0
-+#define CONFIG_LIBRTMPE_PROTOCOL 0
-+#define CONFIG_LIBRTMPS_PROTOCOL 0
-+#define CONFIG_LIBRTMPT_PROTOCOL 0
-+#define CONFIG_LIBRTMPTE_PROTOCOL 0
-+#define CONFIG_LIBSRT_PROTOCOL 0
-+#define CONFIG_LIBSSH_PROTOCOL 0
-+#define CONFIG_LIBSMBCLIENT_PROTOCOL 0
-+#define CONFIG_LIBZMQ_PROTOCOL 0
-+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm
deleted file mode 100644
index 96437337df10..000000000000
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm
+++ /dev/null
@@ -1,723 +0,0 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm.orig 2022-07-28 06:05:58 UTC
-+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm
-@@ -0,0 +1,720 @@
-+; Automatically generated by configure - do not modify!
-+%define ARCH_AARCH64 0
-+%define ARCH_ALPHA 0
-+%define ARCH_ARM 0
-+%define ARCH_AVR32 0
-+%define ARCH_AVR32_AP 0
-+%define ARCH_AVR32_UC 0
-+%define ARCH_BFIN 0
-+%define ARCH_IA64 0
-+%define ARCH_LOONGARCH 0
-+%define ARCH_LOONGARCH32 0
-+%define ARCH_LOONGARCH64 0
-+%define ARCH_M68K 0
-+%define ARCH_MIPS 0
-+%define ARCH_MIPS64 0
-+%define ARCH_PARISC 0
-+%define ARCH_PPC 0
-+%define ARCH_PPC64 0
-+%define ARCH_RISCV 0
-+%define ARCH_S390 0
-+%define ARCH_SH4 0
-+%define ARCH_SPARC 0
-+%define ARCH_SPARC64 0
-+%define ARCH_TILEGX 0
-+%define ARCH_TILEPRO 0
-+%define ARCH_TOMI 0
-+%define ARCH_X86 1
-+%define ARCH_X86_32 1
-+%define ARCH_X86_64 0
-+%define HAVE_ARMV5TE 0
-+%define HAVE_ARMV6 0
-+%define HAVE_ARMV6T2 0
-+%define HAVE_ARMV8 0
-+%define HAVE_NEON 0
-+%define HAVE_VFP 0
-+%define HAVE_VFPV3 0
-+%define HAVE_SETEND 0
-+%define HAVE_ALTIVEC 0
-+%define HAVE_DCBZL 0
-+%define HAVE_LDBRX 0
-+%define HAVE_POWER8 0
-+%define HAVE_PPC4XX 0
-+%define HAVE_VSX 0
-+%define HAVE_AESNI 1
-+%define HAVE_AMD3DNOW 1
-+%define HAVE_AMD3DNOWEXT 1
-+%define HAVE_AVX 1
-+%define HAVE_AVX2 1
-+%define HAVE_AVX512 1
-+%define HAVE_AVX512ICL 1
-+%define HAVE_FMA3 1
-+%define HAVE_FMA4 1
-+%define HAVE_MMX 1
-+%define HAVE_MMXEXT 1
-+%define HAVE_SSE 1
-+%define HAVE_SSE2 1
-+%define HAVE_SSE3 1
-+%define HAVE_SSE4 1
-+%define HAVE_SSE42 1
-+%define HAVE_SSSE3 1
-+%define HAVE_XOP 1
-+%define HAVE_CPUNOP 0
-+%define HAVE_I686 1
-+%define HAVE_MIPSFPU 0
-+%define HAVE_MIPS32R2 0
-+%define HAVE_MIPS32R5 0
-+%define HAVE_MIPS64R2 0
-+%define HAVE_MIPS32R6 0
-+%define HAVE_MIPS64R6 0
-+%define HAVE_MIPSDSP 0
-+%define HAVE_MIPSDSPR2 0
-+%define HAVE_MSA 0
-+%define HAVE_LOONGSON2 0
-+%define HAVE_LOONGSON3 0
-+%define HAVE_MMI 0
-+%define HAVE_LSX 0
-+%define HAVE_LASX 0
-+%define HAVE_ARMV5TE_EXTERNAL 0
-+%define HAVE_ARMV6_EXTERNAL 0
-+%define HAVE_ARMV6T2_EXTERNAL 0
-+%define HAVE_ARMV8_EXTERNAL 0
-+%define HAVE_NEON_EXTERNAL 0
-+%define HAVE_VFP_EXTERNAL 0
-+%define HAVE_VFPV3_EXTERNAL 0
-+%define HAVE_SETEND_EXTERNAL 0
-+%define HAVE_ALTIVEC_EXTERNAL 0
-+%define HAVE_DCBZL_EXTERNAL 0
-+%define HAVE_LDBRX_EXTERNAL 0
-+%define HAVE_POWER8_EXTERNAL 0
-+%define HAVE_PPC4XX_EXTERNAL 0
-+%define HAVE_VSX_EXTERNAL 0
-+%define HAVE_AESNI_EXTERNAL 1
-+%define HAVE_AMD3DNOW_EXTERNAL 1
-+%define HAVE_AMD3DNOWEXT_EXTERNAL 1
-+%define HAVE_AVX_EXTERNAL 1
-+%define HAVE_AVX2_EXTERNAL 1
-+%define HAVE_AVX512_EXTERNAL 1
-+%define HAVE_AVX512ICL_EXTERNAL 0
-+%define HAVE_FMA3_EXTERNAL 1
-+%define HAVE_FMA4_EXTERNAL 1
-+%define HAVE_MMX_EXTERNAL 1
-+%define HAVE_MMXEXT_EXTERNAL 1
-+%define HAVE_SSE_EXTERNAL 1
-+%define HAVE_SSE2_EXTERNAL 1
-+%define HAVE_SSE3_EXTERNAL 1
-+%define HAVE_SSE4_EXTERNAL 1
-+%define HAVE_SSE42_EXTERNAL 1
-+%define HAVE_SSSE3_EXTERNAL 1
-+%define HAVE_XOP_EXTERNAL 1
-+%define HAVE_CPUNOP_EXTERNAL 0
-+%define HAVE_I686_EXTERNAL 0
-+%define HAVE_MIPSFPU_EXTERNAL 0
-+%define HAVE_MIPS32R2_EXTERNAL 0
-+%define HAVE_MIPS32R5_EXTERNAL 0
-+%define HAVE_MIPS64R2_EXTERNAL 0
-+%define HAVE_MIPS32R6_EXTERNAL 0
-+%define HAVE_MIPS64R6_EXTERNAL 0
-+%define HAVE_MIPSDSP_EXTERNAL 0
-+%define HAVE_MIPSDSPR2_EXTERNAL 0
-+%define HAVE_MSA_EXTERNAL 0
-+%define HAVE_LOONGSON2_EXTERNAL 0
-+%define HAVE_LOONGSON3_EXTERNAL 0
-+%define HAVE_MMI_EXTERNAL 0
-+%define HAVE_LSX_EXTERNAL 0
-+%define HAVE_LASX_EXTERNAL 0
-+%define HAVE_ARMV5TE_INLINE 0
-+%define HAVE_ARMV6_INLINE 0
-+%define HAVE_ARMV6T2_INLINE 0
-+%define HAVE_ARMV8_INLINE 0
-+%define HAVE_NEON_INLINE 0
-+%define HAVE_VFP_INLINE 0
-+%define HAVE_VFPV3_INLINE 0
-+%define HAVE_SETEND_INLINE 0
-+%define HAVE_ALTIVEC_INLINE 0
-+%define HAVE_DCBZL_INLINE 0
-+%define HAVE_LDBRX_INLINE 0
-+%define HAVE_POWER8_INLINE 0
-+%define HAVE_PPC4XX_INLINE 0
-+%define HAVE_VSX_INLINE 0
-+%define HAVE_AESNI_INLINE 1
-+%define HAVE_AMD3DNOW_INLINE 1
-+%define HAVE_AMD3DNOWEXT_INLINE 1
-+%define HAVE_AVX_INLINE 1
-+%define HAVE_AVX2_INLINE 1
-+%define HAVE_AVX512_INLINE 1
-+%define HAVE_AVX512ICL_INLINE 1
-+%define HAVE_FMA3_INLINE 1
-+%define HAVE_FMA4_INLINE 1
-+%define HAVE_MMX_INLINE 1
-+%define HAVE_MMXEXT_INLINE 1
-+%define HAVE_SSE_INLINE 1
-+%define HAVE_SSE2_INLINE 1
-+%define HAVE_SSE3_INLINE 1
-+%define HAVE_SSE4_INLINE 1
-+%define HAVE_SSE42_INLINE 1
-+%define HAVE_SSSE3_INLINE 1
-+%define HAVE_XOP_INLINE 1
-+%define HAVE_CPUNOP_INLINE 0
-+%define HAVE_I686_INLINE 0
-+%define HAVE_MIPSFPU_INLINE 0
-+%define HAVE_MIPS32R2_INLINE 0
-+%define HAVE_MIPS32R5_INLINE 0
-+%define HAVE_MIPS64R2_INLINE 0
-+%define HAVE_MIPS32R6_INLINE 0
-+%define HAVE_MIPS64R6_INLINE 0
-+%define HAVE_MIPSDSP_INLINE 0
-+%define HAVE_MIPSDSPR2_INLINE 0
-+%define HAVE_MSA_INLINE 0
-+%define HAVE_LOONGSON2_INLINE 0
-+%define HAVE_LOONGSON3_INLINE 0
-+%define HAVE_MMI_INLINE 0
-+%define HAVE_LSX_INLINE 0
-+%define HAVE_LASX_INLINE 0
-+%define HAVE_ALIGNED_STACK 0
-+%define HAVE_FAST_64BIT 0
-+%define HAVE_FAST_CLZ 1
-+%define HAVE_FAST_CMOV 0
-+%define HAVE_LOCAL_ALIGNED 1
-+%define HAVE_SIMD_ALIGN_16 1
-+%define HAVE_SIMD_ALIGN_32 1
-+%define HAVE_SIMD_ALIGN_64 1
-+%define HAVE_ATOMIC_CAS_PTR 0
-+%define HAVE_MACHINE_RW_BARRIER 0
-+%define HAVE_MEMORYBARRIER 0
-+%define HAVE_MM_EMPTY 0
-+%define HAVE_RDTSC 0
-+%define HAVE_SEM_TIMEDWAIT 1
-+%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
-+%define HAVE_CABS 0
-+%define HAVE_CEXP 0
-+%define HAVE_INLINE_ASM 1
-+%define HAVE_SYMVER 0
-+%define HAVE_X86ASM 1
-+%define HAVE_BIGENDIAN 0
-+%define HAVE_FAST_UNALIGNED 1
-+%define HAVE_ARPA_INET_H 0
-+%define HAVE_ASM_TYPES_H 0
-+%define HAVE_CDIO_PARANOIA_H 0
-+%define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+%define HAVE_CUDA_H 0
-+%define HAVE_DISPATCH_DISPATCH_H 0
-+%define HAVE_DEV_BKTR_IOCTL_BT848_H 0
-+%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
-+%define HAVE_DEV_IC_BT8XX_H 1
-+%define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
-+%define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
-+%define HAVE_DIRECT_H 0
-+%define HAVE_DIRENT_H 1
-+%define HAVE_DXGIDEBUG_H 0
-+%define HAVE_DXVA_H 0
-+%define HAVE_ES2_GL_H 0
-+%define HAVE_GSM_H 0
-+%define HAVE_IO_H 0
-+%define HAVE_LINUX_DMA_BUF_H 0
-+%define HAVE_LINUX_PERF_EVENT_H 0
-+%define HAVE_MACHINE_IOCTL_BT848_H 0
-+%define HAVE_MACHINE_IOCTL_METEOR_H 0
-+%define HAVE_MALLOC_H 0
-+%define HAVE_OPENCV2_CORE_CORE_C_H 0
-+%define HAVE_OPENGL_GL3_H 0
-+%define HAVE_POLL_H 1
-+%define HAVE_SYS_PARAM_H 1
-+%define HAVE_SYS_RESOURCE_H 1
-+%define HAVE_SYS_SELECT_H 1
-+%define HAVE_SYS_SOUNDCARD_H 0
-+%define HAVE_SYS_TIME_H 1
-+%define HAVE_SYS_UN_H 1
-+%define HAVE_SYS_VIDEOIO_H 1
-+%define HAVE_TERMIOS_H 1
-+%define HAVE_UDPLITE_H 0
-+%define HAVE_UNISTD_H 1
-+%define HAVE_VALGRIND_VALGRIND_H 0 ; %define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440
-+%define HAVE_WINDOWS_H 0
-+%define HAVE_WINSOCK2_H 0
-+%define HAVE_INTRINSICS_NEON 0
-+%define HAVE_ATANF 1
-+%define HAVE_ATAN2F 1
-+%define HAVE_CBRT 1
-+%define HAVE_CBRTF 1
-+%define HAVE_COPYSIGN 1
-+%define HAVE_COSF 1
-+%define HAVE_ERF 1
-+%define HAVE_EXP2 1
-+%define HAVE_EXP2F 1
-+%define HAVE_EXPF 1
-+%define HAVE_HYPOT 1
-+%define HAVE_ISFINITE 1
-+%define HAVE_ISINF 1
-+%define HAVE_ISNAN 1
-+%define HAVE_LDEXPF 1
-+%define HAVE_LLRINT 1
-+%define HAVE_LLRINTF 1
-+%define HAVE_LOG2 1
-+%define HAVE_LOG2F 1
-+%define HAVE_LOG10F 1
-+%define HAVE_LRINT 1
-+%define HAVE_LRINTF 1
-+%define HAVE_POWF 1
-+%define HAVE_RINT 1
-+%define HAVE_ROUND 1
-+%define HAVE_ROUNDF 1
-+%define HAVE_SINF 1
-+%define HAVE_TRUNC 1
-+%define HAVE_TRUNCF 1
-+%define HAVE_DOS_PATHS 0
-+%define HAVE_LIBC_MSVCRT 0
-+%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
-+%define HAVE_SECTION_DATA_REL_RO 1
-+%define HAVE_THREADS 1
-+%define HAVE_UWP 0
-+%define HAVE_WINRT 0
-+%define HAVE_ACCESS 1
-+%define HAVE_ALIGNED_MALLOC 0
-+%define HAVE_ARC4RANDOM 1
-+%define HAVE_CLOCK_GETTIME 1
-+%define HAVE_CLOSESOCKET 0
-+%define HAVE_COMMANDLINETOARGVW 0
-+%define HAVE_FCNTL 1
-+%define HAVE_GETADDRINFO 0
-+%define HAVE_GETAUXVAL 0
-+%define HAVE_GETHRTIME 0
-+%define HAVE_GETOPT 1
-+%define HAVE_GETMODULEHANDLE 0
-+%define HAVE_GETPROCESSAFFINITYMASK 0
-+%define HAVE_GETPROCESSMEMORYINFO 0
-+%define HAVE_GETPROCESSTIMES 0
-+%define HAVE_GETRUSAGE 1
-+%define HAVE_GETSTDHANDLE 0
-+%define HAVE_GETSYSTEMTIMEASFILETIME 0
-+%define HAVE_GETTIMEOFDAY 1
-+%define HAVE_GLOB 1
-+%define HAVE_GLXGETPROCADDRESS 0
-+%define HAVE_GMTIME_R 1
-+%define HAVE_INET_ATON 0
-+%define HAVE_ISATTY 1
-+%define HAVE_KBHIT 0
-+%define HAVE_LOCALTIME_R 1
-+%define HAVE_LSTAT 1
-+%define HAVE_LZO1X_999_COMPRESS 0
-+%define HAVE_MACH_ABSOLUTE_TIME 0
-+%define HAVE_MAPVIEWOFFILE 0
-+%define HAVE_MEMALIGN 0
-+%define HAVE_MKSTEMP 1
-+%define HAVE_MMAP 1
-+%define HAVE_MPROTECT 1
-+%define HAVE_NANOSLEEP 1
-+%define HAVE_PEEKNAMEDPIPE 0
-+%define HAVE_POSIX_MEMALIGN 1
-+%define HAVE_PTHREAD_CANCEL 1
-+%define HAVE_SCHED_GETAFFINITY 0
-+%define HAVE_SECITEMIMPORT 0
-+%define HAVE_SETCONSOLETEXTATTRIBUTE 0
-+%define HAVE_SETCONSOLECTRLHANDLER 0
-+%define HAVE_SETDLLDIRECTORY 0
-+%define HAVE_SETMODE 0
-+%define HAVE_SETRLIMIT 1
-+%define HAVE_SLEEP 0
-+%define HAVE_STRERROR_R 1
-+%define HAVE_SYSCONF 1
-+%define HAVE_SYSCTL 0
-+%define HAVE_USLEEP 1
-+%define HAVE_UTGETOSTYPEFROMSTRING 0
-+%define HAVE_VIRTUALALLOC 0
-+%define HAVE_WGLGETPROCADDRESS 0
-+%define HAVE_BCRYPT 0
-+%define HAVE_VAAPI_DRM 0
-+%define HAVE_VAAPI_X11 0
-+%define HAVE_VDPAU_X11 0
-+%define HAVE_PTHREADS 1
-+%define HAVE_OS2THREADS 0
-+%define HAVE_W32THREADS 0
-+%define HAVE_AS_ARCH_DIRECTIVE 0
-+%define HAVE_AS_DN_DIRECTIVE 0
-+%define HAVE_AS_FPU_DIRECTIVE 0
-+%define HAVE_AS_FUNC 0
-+%define HAVE_AS_OBJECT_ARCH 0
-+%define HAVE_ASM_MOD_Q 0
-+%define HAVE_BLOCKS_EXTENSION 0
-+%define HAVE_EBP_AVAILABLE 1
-+%define HAVE_EBX_AVAILABLE 1
-+%define HAVE_GNU_AS 0
-+%define HAVE_GNU_WINDRES 0
-+%define HAVE_IBM_ASM 0
-+%define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1
-+%define HAVE_INLINE_ASM_LABELS 1
-+%define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
-+%define HAVE_PRAGMA_DEPRECATED 1
-+%define HAVE_RSYNC_CONTIMEOUT 1
-+%define HAVE_SYMVER_ASM_LABEL 1
-+%define HAVE_SYMVER_GNU_ASM 1
-+%define HAVE_VFP_ARGS 0
-+%define HAVE_XFORM_ASM 0
-+%define HAVE_XMM_CLOBBERS 1
-+%define HAVE_KCMVIDEOCODECTYPE_HEVC 0
-+%define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
-+%define HAVE_KCMVIDEOCODECTYPE_VP9 0
-+%define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
-+%define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
-+%define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
-+%define HAVE_SOCKLEN_T 0
-+%define HAVE_STRUCT_ADDRINFO 0
-+%define HAVE_STRUCT_GROUP_SOURCE_REQ 0
-+%define HAVE_STRUCT_IP_MREQ_SOURCE 0
-+%define HAVE_STRUCT_IPV6_MREQ 0
-+%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0
-+%define HAVE_STRUCT_POLLFD 0
-+%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
-+%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
-+%define HAVE_STRUCT_SOCKADDR_IN6 0
-+%define HAVE_STRUCT_SOCKADDR_SA_LEN 0
-+%define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+%define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+%define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
-+%define HAVE_GZIP 1
-+%define HAVE_LIBDRM_GETFB2 0
-+%define HAVE_MAKEINFO 1
-+%define HAVE_MAKEINFO_HTML 0
-+%define HAVE_OPENCL_D3D11 0
-+%define HAVE_OPENCL_DRM_ARM 0
-+%define HAVE_OPENCL_DRM_BEIGNET 0
-+%define HAVE_OPENCL_DXVA2 0
-+%define HAVE_OPENCL_VAAPI_BEIGNET 0
-+%define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+%define HAVE_PERL 1
-+%define HAVE_POD2MAN 1
-+%define HAVE_TEXI2HTML 0
-+%define HAVE_XMLLINT 1
-+%define HAVE_ZLIB_GZIP 0
-+%define CONFIG_DOC 0
-+%define CONFIG_HTMLPAGES 0
-+%define CONFIG_MANPAGES 0
-+%define CONFIG_PODPAGES 0
-+%define CONFIG_TXTPAGES 0
-+%define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
-+%define CONFIG_AVIO_READING_EXAMPLE 1
-+%define CONFIG_DECODE_AUDIO_EXAMPLE 1
-+%define CONFIG_DECODE_VIDEO_EXAMPLE 1
-+%define CONFIG_DEMUXING_DECODING_EXAMPLE 1
-+%define CONFIG_ENCODE_AUDIO_EXAMPLE 1
-+%define CONFIG_ENCODE_VIDEO_EXAMPLE 1
-+%define CONFIG_EXTRACT_MVS_EXAMPLE 1
-+%define CONFIG_FILTER_AUDIO_EXAMPLE 0
-+%define CONFIG_FILTERING_AUDIO_EXAMPLE 0
-+%define CONFIG_FILTERING_VIDEO_EXAMPLE 0
-+%define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1
-+%define CONFIG_HW_DECODE_EXAMPLE 1
-+%define CONFIG_METADATA_EXAMPLE 1
-+%define CONFIG_MUXING_EXAMPLE 0
-+%define CONFIG_QSVDEC_EXAMPLE 0
-+%define CONFIG_REMUXING_EXAMPLE 1
-+%define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0
-+%define CONFIG_SCALING_VIDEO_EXAMPLE 0
-+%define CONFIG_TRANSCODE_AAC_EXAMPLE 0
-+%define CONFIG_TRANSCODING_EXAMPLE 0
-+%define CONFIG_VAAPI_ENCODE_EXAMPLE 0
-+%define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
-+%define CONFIG_AVISYNTH 0
-+%define CONFIG_FREI0R 0
-+%define CONFIG_LIBCDIO 0
-+%define CONFIG_LIBDAVS2 0
-+%define CONFIG_LIBRUBBERBAND 0
-+%define CONFIG_LIBVIDSTAB 0
-+%define CONFIG_LIBX264 0
-+%define CONFIG_LIBX265 0
-+%define CONFIG_LIBXAVS 0
-+%define CONFIG_LIBXAVS2 0
-+%define CONFIG_LIBXVID 0
-+%define CONFIG_DECKLINK 0
-+%define CONFIG_LIBFDK_AAC 0
-+%define CONFIG_LIBTLS 0
-+%define CONFIG_GMP 0
-+%define CONFIG_LIBARIBB24 0
-+%define CONFIG_LIBLENSFUN 0
-+%define CONFIG_LIBOPENCORE_AMRNB 0
-+%define CONFIG_LIBOPENCORE_AMRWB 0
-+%define CONFIG_LIBVO_AMRWBENC 0
-+%define CONFIG_MBEDTLS 0
-+%define CONFIG_RKMPP 0
-+%define CONFIG_LIBSMBCLIENT 0
-+%define CONFIG_CHROMAPRINT 0
-+%define CONFIG_GCRYPT 0
-+%define CONFIG_GNUTLS 0
-+%define CONFIG_JNI 0
-+%define CONFIG_LADSPA 0
-+%define CONFIG_LIBAOM 0
-+%define CONFIG_LIBASS 0
-+%define CONFIG_LIBBLURAY 0
-+%define CONFIG_LIBBS2B 0
-+%define CONFIG_LIBCACA 0
-+%define CONFIG_LIBCELT 0
-+%define CONFIG_LIBCODEC2 0
-+%define CONFIG_LIBDAV1D 0
-+%define CONFIG_LIBDC1394 0
-+%define CONFIG_LIBDRM 0
-+%define CONFIG_LIBFLITE 0
-+%define CONFIG_LIBFONTCONFIG 0
-+%define CONFIG_LIBFREETYPE 0
-+%define CONFIG_LIBFRIBIDI 0
-+%define CONFIG_LIBGLSLANG 0
-+%define CONFIG_LIBGME 0
-+%define CONFIG_LIBGSM 0
-+%define CONFIG_LIBIEC61883 0
-+%define CONFIG_LIBILBC 0
-+%define CONFIG_LIBJACK 0
-+%define CONFIG_LIBKLVANC 0
-+%define CONFIG_LIBKVAZAAR 0
-+%define CONFIG_LIBMODPLUG 0
-+%define CONFIG_LIBMP3LAME 0
-+%define CONFIG_LIBMYSOFA 0
-+%define CONFIG_LIBOPENCV 0
-+%define CONFIG_LIBOPENH264 0
-+%define CONFIG_LIBOPENJPEG 0
-+%define CONFIG_LIBOPENMPT 0
-+%define CONFIG_LIBOPENVINO 0
-+%define CONFIG_LIBOPUS 1
-+%define CONFIG_LIBPLACEBO 0
-+%define CONFIG_LIBPULSE 0
-+%define CONFIG_LIBRABBITMQ 0
-+%define CONFIG_LIBRAV1E 0
-+%define CONFIG_LIBRIST 0
-+%define CONFIG_LIBRSVG 0
-+%define CONFIG_LIBRTMP 0
-+%define CONFIG_LIBSHADERC 0
-+%define CONFIG_LIBSHINE 0
-+%define CONFIG_LIBSMBCLIENT 0
-+%define CONFIG_LIBSNAPPY 0
-+%define CONFIG_LIBSOXR 0
-+%define CONFIG_LIBSPEEX 0
-+%define CONFIG_LIBSRT 0
-+%define CONFIG_LIBSSH 0
-+%define CONFIG_LIBSVTAV1 0
-+%define CONFIG_LIBTENSORFLOW 0
-+%define CONFIG_LIBTESSERACT 0
-+%define CONFIG_LIBTHEORA 0
-+%define CONFIG_LIBTWOLAME 0
-+%define CONFIG_LIBUAVS3D 0
-+%define CONFIG_LIBV4L2 0
-+%define CONFIG_LIBVMAF 0
-+%define CONFIG_LIBVORBIS 0
-+%define CONFIG_LIBVPX 0
-+%define CONFIG_LIBWEBP 0
-+%define CONFIG_LIBXML2 0
-+%define CONFIG_LIBZIMG 0
-+%define CONFIG_LIBZMQ 0
-+%define CONFIG_LIBZVBI 0
-+%define CONFIG_LV2 0
-+%define CONFIG_MEDIACODEC 0
-+%define CONFIG_OPENAL 0
-+%define CONFIG_OPENGL 0
-+%define CONFIG_OPENSSL 0
-+%define CONFIG_POCKETSPHINX 0
-+%define CONFIG_VAPOURSYNTH 0
-+%define CONFIG_ALSA 0
-+%define CONFIG_APPKIT 0
-+%define CONFIG_AVFOUNDATION 0
-+%define CONFIG_BZLIB 0
-+%define CONFIG_COREIMAGE 0
-+%define CONFIG_ICONV 0
-+%define CONFIG_LIBXCB 0
-+%define CONFIG_LIBXCB_SHM 0
-+%define CONFIG_LIBXCB_SHAPE 0
-+%define CONFIG_LIBXCB_XFIXES 0
-+%define CONFIG_LZMA 0
-+%define CONFIG_MEDIAFOUNDATION 0
-+%define CONFIG_METAL 0
-+%define CONFIG_SCHANNEL 0
-+%define CONFIG_SDL2 0
-+%define CONFIG_SECURETRANSPORT 0
-+%define CONFIG_SNDIO 0
-+%define CONFIG_XLIB 0
-+%define CONFIG_ZLIB 0
-+%define CONFIG_CUDA_NVCC 0
-+%define CONFIG_CUDA_SDK 0
-+%define CONFIG_LIBNPP 0
-+%define CONFIG_LIBMFX 0
-+%define CONFIG_MMAL 0
-+%define CONFIG_OMX 0
-+%define CONFIG_OPENCL 0
-+%define CONFIG_AMF 0
-+%define CONFIG_AUDIOTOOLBOX 0
-+%define CONFIG_CRYSTALHD 0
-+%define CONFIG_CUDA 0
-+%define CONFIG_CUDA_LLVM 0
-+%define CONFIG_CUVID 0
-+%define CONFIG_D3D11VA 0
-+%define CONFIG_DXVA2 0
-+%define CONFIG_FFNVCODEC 0
-+%define CONFIG_NVDEC 0
-+%define CONFIG_NVENC 0
-+%define CONFIG_VAAPI 0
-+%define CONFIG_VDPAU 0
-+%define CONFIG_VIDEOTOOLBOX 0
-+%define CONFIG_VULKAN 0
-+%define CONFIG_V4L2_M2M 0
-+%define CONFIG_FTRAPV 0
-+%define CONFIG_GRAY 0
-+%define CONFIG_HARDCODED_TABLES 0
-+%define CONFIG_OMX_RPI 0
-+%define CONFIG_RUNTIME_CPUDETECT 1
-+%define CONFIG_SAFE_BITSTREAM_READER 1
-+%define CONFIG_SHARED 0
-+%define CONFIG_SMALL 0
-+%define CONFIG_STATIC 1
-+%define CONFIG_SWSCALE_ALPHA 1
-+%define CONFIG_GPL 0
-+%define CONFIG_NONFREE 0
-+%define CONFIG_VERSION3 0
-+%define CONFIG_AVDEVICE 0
-+%define CONFIG_AVFILTER 0
-+%define CONFIG_SWSCALE 0
-+%define CONFIG_POSTPROC 0
-+%define CONFIG_AVFORMAT 1
-+%define CONFIG_AVCODEC 1
-+%define CONFIG_SWRESAMPLE 0
-+%define CONFIG_AVUTIL 1
-+%define CONFIG_FFPLAY 0
-+%define CONFIG_FFPROBE 0
-+%define CONFIG_FFMPEG 0
-+%define CONFIG_DCT 1
-+%define CONFIG_DWT 0
-+%define CONFIG_ERROR_RESILIENCE 0
-+%define CONFIG_FAAN 0
-+%define CONFIG_FAST_UNALIGNED 1
-+%define CONFIG_FFT 1
-+%define CONFIG_LSP 0
-+%define CONFIG_MDCT 1
-+%define CONFIG_PIXELUTILS 0
-+%define CONFIG_NETWORK 0
-+%define CONFIG_RDFT 1
-+%define CONFIG_AUTODETECT 0
-+%define CONFIG_FONTCONFIG 0
-+%define CONFIG_LARGE_TESTS 1
-+%define CONFIG_LINUX_PERF 0
-+%define CONFIG_MACOS_KPERF 0
-+%define CONFIG_MEMORY_POISONING 0
-+%define CONFIG_NEON_CLOBBER_TEST 0
-+%define CONFIG_OSSFUZZ 0
-+%define CONFIG_PIC 1
-+%define CONFIG_PTX_COMPRESSION 0
-+%define CONFIG_THUMB 0
-+%define CONFIG_VALGRIND_BACKTRACE 0
-+%define CONFIG_XMM_CLOBBER_TEST 0
-+%define CONFIG_BSFS 0
-+%define CONFIG_DECODERS 1
-+%define CONFIG_ENCODERS 0
-+%define CONFIG_HWACCELS 0
-+%define CONFIG_PARSERS 1
-+%define CONFIG_INDEVS 0
-+%define CONFIG_OUTDEVS 0
-+%define CONFIG_FILTERS 0
-+%define CONFIG_DEMUXERS 1
-+%define CONFIG_MUXERS 0
-+%define CONFIG_PROTOCOLS 0
-+%define CONFIG_AANDCTTABLES 0
-+%define CONFIG_AC3DSP 0
-+%define CONFIG_ADTS_HEADER 1
-+%define CONFIG_ATSC_A53 1
-+%define CONFIG_AUDIO_FRAME_QUEUE 0
-+%define CONFIG_AUDIODSP 0
-+%define CONFIG_BLOCKDSP 0
-+%define CONFIG_BSWAPDSP 0
-+%define CONFIG_CABAC 1
-+%define CONFIG_CBS 0
-+%define CONFIG_CBS_AV1 0
-+%define CONFIG_CBS_H264 0
-+%define CONFIG_CBS_H265 0
-+%define CONFIG_CBS_JPEG 0
-+%define CONFIG_CBS_MPEG2 0
-+%define CONFIG_CBS_VP9 0
-+%define CONFIG_DEFLATE_WRAPPER 0
-+%define CONFIG_DIRAC_PARSE 1
-+%define CONFIG_DNN 0
-+%define CONFIG_DOVI_RPU 0
-+%define CONFIG_DVPROFILE 0
-+%define CONFIG_EXIF 0
-+%define CONFIG_FAANDCT 0
-+%define CONFIG_FAANIDCT 0
-+%define CONFIG_FDCTDSP 0
-+%define CONFIG_FLACDSP 1
-+%define CONFIG_FMTCONVERT 0
-+%define CONFIG_FRAME_THREAD_ENCODER 0
-+%define CONFIG_G722DSP 0
-+%define CONFIG_GOLOMB 1
-+%define CONFIG_GPLV3 0
-+%define CONFIG_H263DSP 0
-+%define CONFIG_H264CHROMA 1
-+%define CONFIG_H264DSP 1
-+%define CONFIG_H264PARSE 1
-+%define CONFIG_H264PRED 1
-+%define CONFIG_H264QPEL 1
-+%define CONFIG_HEVCPARSE 0
-+%define CONFIG_HPELDSP 1
-+%define CONFIG_HUFFMAN 0
-+%define CONFIG_HUFFYUVDSP 0
-+%define CONFIG_HUFFYUVENCDSP 0
-+%define CONFIG_IDCTDSP 0
-+%define CONFIG_IIRFILTER 0
-+%define CONFIG_MDCT15 1
-+%define CONFIG_INFLATE_WRAPPER 0
-+%define CONFIG_INTRAX8 0
-+%define CONFIG_ISO_MEDIA 1
-+%define CONFIG_IVIDSP 0
-+%define CONFIG_JPEGTABLES 0
-+%define CONFIG_LGPLV3 0
-+%define CONFIG_LIBX262 0
-+%define CONFIG_LLAUDDSP 0
-+%define CONFIG_LLVIDDSP 0
-+%define CONFIG_LLVIDENCDSP 0
-+%define CONFIG_LPC 0
-+%define CONFIG_LZF 0
-+%define CONFIG_ME_CMP 0
-+%define CONFIG_MPEG_ER 0
-+%define CONFIG_MPEGAUDIO 1
-+%define CONFIG_MPEGAUDIODSP 1
-+%define CONFIG_MPEGAUDIOHEADER 1
-+%define CONFIG_MPEG4AUDIO 1
-+%define CONFIG_MPEGVIDEO 0
-+%define CONFIG_MPEGVIDEODEC 0
-+%define CONFIG_MPEGVIDEOENC 0
-+%define CONFIG_MSS34DSP 0
-+%define CONFIG_PIXBLOCKDSP 0
-+%define CONFIG_QPELDSP 0
-+%define CONFIG_QSV 0
-+%define CONFIG_QSVDEC 0
-+%define CONFIG_QSVENC 0
-+%define CONFIG_QSVVPP 0
-+%define CONFIG_RANGECODER 0
-+%define CONFIG_RIFFDEC 1
-+%define CONFIG_RIFFENC 0
-+%define CONFIG_RTPDEC 0
-+%define CONFIG_RTPENC_CHAIN 0
-+%define CONFIG_RV34DSP 0
-+%define CONFIG_SCENE_SAD 0
-+%define CONFIG_SINEWIN 1
-+%define CONFIG_SNAPPY 0
-+%define CONFIG_SRTP 0
-+%define CONFIG_STARTCODE 1
-+%define CONFIG_TEXTUREDSP 0
-+%define CONFIG_TEXTUREDSPENC 0
-+%define CONFIG_TPELDSP 0
-+%define CONFIG_VAAPI_1 0
-+%define CONFIG_VAAPI_ENCODE 0
-+%define CONFIG_VC1DSP 0
-+%define CONFIG_VIDEODSP 1
-+%define CONFIG_VP3DSP 1
-+%define CONFIG_VP56DSP 0
-+%define CONFIG_VP8DSP 1
-+%define CONFIG_WMA_FREQS 0
-+%define CONFIG_WMV2DSP 0
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h
deleted file mode 100644
index 7483a1fc1b9e..000000000000
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h
+++ /dev/null
@@ -1,740 +0,0 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h.orig 2022-07-28 06:05:58 UTC
-+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h
-@@ -0,0 +1,737 @@
-+/* Automatically generated by configure - do not modify! */
-+#ifndef FFMPEG_CONFIG_H
-+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/d/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
-+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
-+#define CONFIG_THIS_YEAR 2022
-+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
-+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "OpenBSD clang version 13.0.0"
-+#define OS_NAME openbsd
-+#define av_restrict restrict
-+#define EXTERN_PREFIX ""
-+#define EXTERN_ASM
-+#define BUILDSUF ""
-+#define SLIBSUF ".so"
-+#define HAVE_MMX2 HAVE_MMXEXT
-+#define SWS_MAX_FILTER_SIZE 256
-+#define ARCH_AARCH64 0
-+#define ARCH_ALPHA 0
-+#define ARCH_ARM 0
-+#define ARCH_AVR32 0
-+#define ARCH_AVR32_AP 0
-+#define ARCH_AVR32_UC 0
-+#define ARCH_BFIN 0
-+#define ARCH_IA64 0
-+#define ARCH_LOONGARCH 0
-+#define ARCH_LOONGARCH32 0
-+#define ARCH_LOONGARCH64 0
-+#define ARCH_M68K 0
-+#define ARCH_MIPS 0
-+#define ARCH_MIPS64 0
-+#define ARCH_PARISC 0
-+#define ARCH_PPC 0
-+#define ARCH_PPC64 0
-+#define ARCH_RISCV 0
-+#define ARCH_S390 0
-+#define ARCH_SH4 0
-+#define ARCH_SPARC 0
-+#define ARCH_SPARC64 0
-+#define ARCH_TILEGX 0
-+#define ARCH_TILEPRO 0
-+#define ARCH_TOMI 0
-+#define ARCH_X86 1
-+#define ARCH_X86_32 1
-+#define ARCH_X86_64 0
-+#define HAVE_ARMV5TE 0
-+#define HAVE_ARMV6 0
-+#define HAVE_ARMV6T2 0
-+#define HAVE_ARMV8 0
-+#define HAVE_NEON 0
-+#define HAVE_VFP 0
-+#define HAVE_VFPV3 0
-+#define HAVE_SETEND 0
-+#define HAVE_ALTIVEC 0
-+#define HAVE_DCBZL 0
-+#define HAVE_LDBRX 0
-+#define HAVE_POWER8 0
-+#define HAVE_PPC4XX 0
-+#define HAVE_VSX 0
-+#define HAVE_AESNI 1
-+#define HAVE_AMD3DNOW 1
-+#define HAVE_AMD3DNOWEXT 1
-+#define HAVE_AVX 1
-+#define HAVE_AVX2 1
-+#define HAVE_AVX512 1
-+#define HAVE_AVX512ICL 1
-+#define HAVE_FMA3 1
-+#define HAVE_FMA4 1
-+#define HAVE_MMX 1
-+#define HAVE_MMXEXT 1
-+#define HAVE_SSE 1
-+#define HAVE_SSE2 1
-+#define HAVE_SSE3 1
-+#define HAVE_SSE4 1
-+#define HAVE_SSE42 1
-+#define HAVE_SSSE3 1
-+#define HAVE_XOP 1
-+#define HAVE_CPUNOP 0
-+#define HAVE_I686 1
-+#define HAVE_MIPSFPU 0
-+#define HAVE_MIPS32R2 0
-+#define HAVE_MIPS32R5 0
-+#define HAVE_MIPS64R2 0
-+#define HAVE_MIPS32R6 0
-+#define HAVE_MIPS64R6 0
-+#define HAVE_MIPSDSP 0
-+#define HAVE_MIPSDSPR2 0
-+#define HAVE_MSA 0
-+#define HAVE_LOONGSON2 0
-+#define HAVE_LOONGSON3 0
-+#define HAVE_MMI 0
-+#define HAVE_LSX 0
-+#define HAVE_LASX 0
-+#define HAVE_ARMV5TE_EXTERNAL 0
-+#define HAVE_ARMV6_EXTERNAL 0
-+#define HAVE_ARMV6T2_EXTERNAL 0
-+#define HAVE_ARMV8_EXTERNAL 0
-+#define HAVE_NEON_EXTERNAL 0
-+#define HAVE_VFP_EXTERNAL 0
-+#define HAVE_VFPV3_EXTERNAL 0
-+#define HAVE_SETEND_EXTERNAL 0
-+#define HAVE_ALTIVEC_EXTERNAL 0
-+#define HAVE_DCBZL_EXTERNAL 0
-+#define HAVE_LDBRX_EXTERNAL 0
-+#define HAVE_POWER8_EXTERNAL 0
-+#define HAVE_PPC4XX_EXTERNAL 0
-+#define HAVE_VSX_EXTERNAL 0
-+#define HAVE_AESNI_EXTERNAL 1
-+#define HAVE_AMD3DNOW_EXTERNAL 1
-+#define HAVE_AMD3DNOWEXT_EXTERNAL 1
-+#define HAVE_AVX_EXTERNAL 1
-+#define HAVE_AVX2_EXTERNAL 1
-+#define HAVE_AVX512_EXTERNAL 1
-+#define HAVE_AVX512ICL_EXTERNAL 0
-+#define HAVE_FMA3_EXTERNAL 1
-+#define HAVE_FMA4_EXTERNAL 1
-+#define HAVE_MMX_EXTERNAL 1
-+#define HAVE_MMXEXT_EXTERNAL 1
-+#define HAVE_SSE_EXTERNAL 1
-+#define HAVE_SSE2_EXTERNAL 1
-+#define HAVE_SSE3_EXTERNAL 1
-+#define HAVE_SSE4_EXTERNAL 1
-+#define HAVE_SSE42_EXTERNAL 1
-+#define HAVE_SSSE3_EXTERNAL 1
-+#define HAVE_XOP_EXTERNAL 1
-+#define HAVE_CPUNOP_EXTERNAL 0
-+#define HAVE_I686_EXTERNAL 0
-+#define HAVE_MIPSFPU_EXTERNAL 0
-+#define HAVE_MIPS32R2_EXTERNAL 0
-+#define HAVE_MIPS32R5_EXTERNAL 0
-+#define HAVE_MIPS64R2_EXTERNAL 0
-+#define HAVE_MIPS32R6_EXTERNAL 0
-+#define HAVE_MIPS64R6_EXTERNAL 0
-+#define HAVE_MIPSDSP_EXTERNAL 0
-+#define HAVE_MIPSDSPR2_EXTERNAL 0
-+#define HAVE_MSA_EXTERNAL 0
-+#define HAVE_LOONGSON2_EXTERNAL 0
-+#define HAVE_LOONGSON3_EXTERNAL 0
-+#define HAVE_MMI_EXTERNAL 0
-+#define HAVE_LSX_EXTERNAL 0
-+#define HAVE_LASX_EXTERNAL 0
-+#define HAVE_ARMV5TE_INLINE 0
-+#define HAVE_ARMV6_INLINE 0
-+#define HAVE_ARMV6T2_INLINE 0
-+#define HAVE_ARMV8_INLINE 0
-+#define HAVE_NEON_INLINE 0
-+#define HAVE_VFP_INLINE 0
-+#define HAVE_VFPV3_INLINE 0
-+#define HAVE_SETEND_INLINE 0
-+#define HAVE_ALTIVEC_INLINE 0
-+#define HAVE_DCBZL_INLINE 0
-+#define HAVE_LDBRX_INLINE 0
-+#define HAVE_POWER8_INLINE 0
-+#define HAVE_PPC4XX_INLINE 0
-+#define HAVE_VSX_INLINE 0
-+#define HAVE_AESNI_INLINE 1
-+#define HAVE_AMD3DNOW_INLINE 1
-+#define HAVE_AMD3DNOWEXT_INLINE 1
-+#define HAVE_AVX_INLINE 1
-+#define HAVE_AVX2_INLINE 1
-+#define HAVE_AVX512_INLINE 1
-+#define HAVE_AVX512ICL_INLINE 1
-+#define HAVE_FMA3_INLINE 1
-+#define HAVE_FMA4_INLINE 1
-+#define HAVE_MMX_INLINE 1
-+#define HAVE_MMXEXT_INLINE 1
-+#define HAVE_SSE_INLINE 1
-+#define HAVE_SSE2_INLINE 1
-+#define HAVE_SSE3_INLINE 1
-+#define HAVE_SSE4_INLINE 1
-+#define HAVE_SSE42_INLINE 1
-+#define HAVE_SSSE3_INLINE 1
-+#define HAVE_XOP_INLINE 1
-+#define HAVE_CPUNOP_INLINE 0
-+#define HAVE_I686_INLINE 0
-+#define HAVE_MIPSFPU_INLINE 0
-+#define HAVE_MIPS32R2_INLINE 0
-+#define HAVE_MIPS32R5_INLINE 0
-+#define HAVE_MIPS64R2_INLINE 0
-+#define HAVE_MIPS32R6_INLINE 0
-+#define HAVE_MIPS64R6_INLINE 0
-+#define HAVE_MIPSDSP_INLINE 0
-+#define HAVE_MIPSDSPR2_INLINE 0
-+#define HAVE_MSA_INLINE 0
-+#define HAVE_LOONGSON2_INLINE 0
-+#define HAVE_LOONGSON3_INLINE 0
-+#define HAVE_MMI_INLINE 0
-+#define HAVE_LSX_INLINE 0
-+#define HAVE_LASX_INLINE 0
-+#define HAVE_ALIGNED_STACK 0
-+#define HAVE_FAST_64BIT 0
-+#define HAVE_FAST_CLZ 1
-+#define HAVE_FAST_CMOV 0
-+#define HAVE_LOCAL_ALIGNED 1
-+#define HAVE_SIMD_ALIGN_16 1
-+#define HAVE_SIMD_ALIGN_32 1
-+#define HAVE_SIMD_ALIGN_64 1
-+#define HAVE_ATOMIC_CAS_PTR 0
-+#define HAVE_MACHINE_RW_BARRIER 0
-+#define HAVE_MEMORYBARRIER 0
-+#define HAVE_MM_EMPTY 0
-+#define HAVE_RDTSC 0
-+#define HAVE_SEM_TIMEDWAIT 1
-+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
-+#define HAVE_CABS 0
-+#define HAVE_CEXP 0
-+#define HAVE_INLINE_ASM 1
-+#define HAVE_SYMVER 0
-+#define HAVE_X86ASM 1
-+#define HAVE_BIGENDIAN 0
-+#define HAVE_FAST_UNALIGNED 1
-+#define HAVE_ARPA_INET_H 0
-+#define HAVE_ASM_TYPES_H 0
-+#define HAVE_CDIO_PARANOIA_H 0
-+#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+#define HAVE_CUDA_H 0
-+#define HAVE_DISPATCH_DISPATCH_H 0
-+#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
-+#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
-+#define HAVE_DEV_IC_BT8XX_H 1
-+#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
-+#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
-+#define HAVE_DIRECT_H 0
-+#define HAVE_DIRENT_H 1
-+#define HAVE_DXGIDEBUG_H 0
-+#define HAVE_DXVA_H 0
-+#define HAVE_ES2_GL_H 0
-+#define HAVE_GSM_H 0
-+#define HAVE_IO_H 0
-+#define HAVE_LINUX_DMA_BUF_H 0
-+#define HAVE_LINUX_PERF_EVENT_H 0
-+#define HAVE_MACHINE_IOCTL_BT848_H 0
-+#define HAVE_MACHINE_IOCTL_METEOR_H 0
-+#define HAVE_MALLOC_H 0
-+#define HAVE_OPENCV2_CORE_CORE_C_H 0
-+#define HAVE_OPENGL_GL3_H 0
-+#define HAVE_POLL_H 1
-+#define HAVE_SYS_PARAM_H 1
-+#define HAVE_SYS_RESOURCE_H 1
-+#define HAVE_SYS_SELECT_H 1
-+#define HAVE_SYS_SOUNDCARD_H 0
-+#define HAVE_SYS_TIME_H 1
-+#define HAVE_SYS_UN_H 1
-+#define HAVE_SYS_VIDEOIO_H 1
-+#define HAVE_TERMIOS_H 1
-+#define HAVE_UDPLITE_H 0
-+#define HAVE_UNISTD_H 1
-+#define HAVE_VALGRIND_VALGRIND_H 0 /* #define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440 */
-+#define HAVE_WINDOWS_H 0
-+#define HAVE_WINSOCK2_H 0
-+#define HAVE_INTRINSICS_NEON 0
-+#define HAVE_ATANF 1
-+#define HAVE_ATAN2F 1
-+#define HAVE_CBRT 1
-+#define HAVE_CBRTF 1
-+#define HAVE_COPYSIGN 1
-+#define HAVE_COSF 1
-+#define HAVE_ERF 1
-+#define HAVE_EXP2 1
-+#define HAVE_EXP2F 1
-+#define HAVE_EXPF 1
-+#define HAVE_HYPOT 1
-+#define HAVE_ISFINITE 1
-+#define HAVE_ISINF 1
-+#define HAVE_ISNAN 1
-+#define HAVE_LDEXPF 1
-+#define HAVE_LLRINT 1
-+#define HAVE_LLRINTF 1
-+#define HAVE_LOG2 1
-+#define HAVE_LOG2F 1
-+#define HAVE_LOG10F 1
-+#define HAVE_LRINT 1
-+#define HAVE_LRINTF 1
-+#define HAVE_POWF 1
-+#define HAVE_RINT 1
-+#define HAVE_ROUND 1
-+#define HAVE_ROUNDF 1
-+#define HAVE_SINF 1
-+#define HAVE_TRUNC 1
-+#define HAVE_TRUNCF 1
-+#define HAVE_DOS_PATHS 0
-+#define HAVE_LIBC_MSVCRT 0
-+#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
-+#define HAVE_SECTION_DATA_REL_RO 1
-+#define HAVE_THREADS 1
-+#define HAVE_UWP 0
-+#define HAVE_WINRT 0
-+#define HAVE_ACCESS 1
-+#define HAVE_ALIGNED_MALLOC 0
-+#define HAVE_ARC4RANDOM 1
-+#define HAVE_CLOCK_GETTIME 1
-+#define HAVE_CLOSESOCKET 0
-+#define HAVE_COMMANDLINETOARGVW 0
-+#define HAVE_FCNTL 1
-+#define HAVE_GETADDRINFO 0
-+#define HAVE_GETAUXVAL 0
-+#define HAVE_GETHRTIME 0
-+#define HAVE_GETOPT 1
-+#define HAVE_GETMODULEHANDLE 0
-+#define HAVE_GETPROCESSAFFINITYMASK 0
-+#define HAVE_GETPROCESSMEMORYINFO 0
-+#define HAVE_GETPROCESSTIMES 0
-+#define HAVE_GETRUSAGE 1
-+#define HAVE_GETSTDHANDLE 0
-+#define HAVE_GETSYSTEMTIMEASFILETIME 0
-+#define HAVE_GETTIMEOFDAY 1
-+#define HAVE_GLOB 1
-+#define HAVE_GLXGETPROCADDRESS 0
-+#define HAVE_GMTIME_R 1
-+#define HAVE_INET_ATON 0
-+#define HAVE_ISATTY 1
-+#define HAVE_KBHIT 0
-+#define HAVE_LOCALTIME_R 1
-+#define HAVE_LSTAT 1
-+#define HAVE_LZO1X_999_COMPRESS 0
-+#define HAVE_MACH_ABSOLUTE_TIME 0
-+#define HAVE_MAPVIEWOFFILE 0
-+#define HAVE_MEMALIGN 0
-+#define HAVE_MKSTEMP 1
-+#define HAVE_MMAP 1
-+#define HAVE_MPROTECT 1
-+#define HAVE_NANOSLEEP 1
-+#define HAVE_PEEKNAMEDPIPE 0
-+#define HAVE_POSIX_MEMALIGN 1
-+#define HAVE_PTHREAD_CANCEL 1
-+#define HAVE_SCHED_GETAFFINITY 0
-+#define HAVE_SECITEMIMPORT 0
-+#define HAVE_SETCONSOLETEXTATTRIBUTE 0
-+#define HAVE_SETCONSOLECTRLHANDLER 0
-+#define HAVE_SETDLLDIRECTORY 0
-+#define HAVE_SETMODE 0
-+#define HAVE_SETRLIMIT 1
-+#define HAVE_SLEEP 0
-+#define HAVE_STRERROR_R 1
-+#define HAVE_SYSCONF 1
-+#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */
-+#define HAVE_USLEEP 1
-+#define HAVE_UTGETOSTYPEFROMSTRING 0
-+#define HAVE_VIRTUALALLOC 0
-+#define HAVE_WGLGETPROCADDRESS 0
-+#define HAVE_BCRYPT 0
-+#define HAVE_VAAPI_DRM 0
-+#define HAVE_VAAPI_X11 0
-+#define HAVE_VDPAU_X11 0
-+#define HAVE_PTHREADS 1
-+#define HAVE_OS2THREADS 0
-+#define HAVE_W32THREADS 0
-+#define HAVE_AS_ARCH_DIRECTIVE 0
-+#define HAVE_AS_DN_DIRECTIVE 0
-+#define HAVE_AS_FPU_DIRECTIVE 0
-+#define HAVE_AS_FUNC 0
-+#define HAVE_AS_OBJECT_ARCH 0
-+#define HAVE_ASM_MOD_Q 0
-+#define HAVE_BLOCKS_EXTENSION 0
-+/* #define HAVE_EBP_AVAILABLE 1 -- ebp selection is done by the chrome build */
-+#define HAVE_EBX_AVAILABLE 1
-+#define HAVE_GNU_AS 0
-+#define HAVE_GNU_WINDRES 0
-+#define HAVE_IBM_ASM 0
-+#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1
-+#define HAVE_INLINE_ASM_LABELS 1
-+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
-+#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 1
-+#define HAVE_SYMVER_ASM_LABEL 1
-+#define HAVE_SYMVER_GNU_ASM 1
-+#define HAVE_VFP_ARGS 0
-+#define HAVE_XFORM_ASM 0
-+#define HAVE_XMM_CLOBBERS 1
-+#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
-+#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
-+#define HAVE_KCMVIDEOCODECTYPE_VP9 0
-+#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
-+#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
-+#define HAVE_SOCKLEN_T 0
-+#define HAVE_STRUCT_ADDRINFO 0
-+#define HAVE_STRUCT_GROUP_SOURCE_REQ 0
-+#define HAVE_STRUCT_IP_MREQ_SOURCE 0
-+#define HAVE_STRUCT_IPV6_MREQ 0
-+#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0
-+#define HAVE_STRUCT_POLLFD 0
-+#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
-+#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
-+#define HAVE_STRUCT_SOCKADDR_IN6 0
-+#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
-+#define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
-+#define HAVE_GZIP 1
-+#define HAVE_LIBDRM_GETFB2 0
-+#define HAVE_MAKEINFO 1
-+#define HAVE_MAKEINFO_HTML 0
-+#define HAVE_OPENCL_D3D11 0
-+#define HAVE_OPENCL_DRM_ARM 0
-+#define HAVE_OPENCL_DRM_BEIGNET 0
-+#define HAVE_OPENCL_DXVA2 0
-+#define HAVE_OPENCL_VAAPI_BEIGNET 0
-+#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+#define HAVE_PERL 1
-+#define HAVE_POD2MAN 1
-+#define HAVE_TEXI2HTML 0
-+#define HAVE_XMLLINT 1
-+#define HAVE_ZLIB_GZIP 0
-+#define CONFIG_DOC 0
-+#define CONFIG_HTMLPAGES 0
-+#define CONFIG_MANPAGES 0
-+#define CONFIG_PODPAGES 0
-+#define CONFIG_TXTPAGES 0
-+#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
-+#define CONFIG_AVIO_READING_EXAMPLE 1
-+#define CONFIG_DECODE_AUDIO_EXAMPLE 1
-+#define CONFIG_DECODE_VIDEO_EXAMPLE 1
-+#define CONFIG_DEMUXING_DECODING_EXAMPLE 1
-+#define CONFIG_ENCODE_AUDIO_EXAMPLE 1
-+#define CONFIG_ENCODE_VIDEO_EXAMPLE 1
-+#define CONFIG_EXTRACT_MVS_EXAMPLE 1
-+#define CONFIG_FILTER_AUDIO_EXAMPLE 0
-+#define CONFIG_FILTERING_AUDIO_EXAMPLE 0
-+#define CONFIG_FILTERING_VIDEO_EXAMPLE 0
-+#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1
-+#define CONFIG_HW_DECODE_EXAMPLE 1
-+#define CONFIG_METADATA_EXAMPLE 1
-+#define CONFIG_MUXING_EXAMPLE 0
-+#define CONFIG_QSVDEC_EXAMPLE 0
-+#define CONFIG_REMUXING_EXAMPLE 1
-+#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0
-+#define CONFIG_SCALING_VIDEO_EXAMPLE 0
-+#define CONFIG_TRANSCODE_AAC_EXAMPLE 0
-+#define CONFIG_TRANSCODING_EXAMPLE 0
-+#define CONFIG_VAAPI_ENCODE_EXAMPLE 0
-+#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
-+#define CONFIG_AVISYNTH 0
-+#define CONFIG_FREI0R 0
-+#define CONFIG_LIBCDIO 0
-+#define CONFIG_LIBDAVS2 0
-+#define CONFIG_LIBRUBBERBAND 0
-+#define CONFIG_LIBVIDSTAB 0
-+#define CONFIG_LIBX264 0
-+#define CONFIG_LIBX265 0
-+#define CONFIG_LIBXAVS 0
-+#define CONFIG_LIBXAVS2 0
-+#define CONFIG_LIBXVID 0
-+#define CONFIG_DECKLINK 0
-+#define CONFIG_LIBFDK_AAC 0
-+#define CONFIG_LIBTLS 0
-+#define CONFIG_GMP 0
-+#define CONFIG_LIBARIBB24 0
-+#define CONFIG_LIBLENSFUN 0
-+#define CONFIG_LIBOPENCORE_AMRNB 0
-+#define CONFIG_LIBOPENCORE_AMRWB 0
-+#define CONFIG_LIBVO_AMRWBENC 0
-+#define CONFIG_MBEDTLS 0
-+#define CONFIG_RKMPP 0
-+#define CONFIG_LIBSMBCLIENT 0
-+#define CONFIG_CHROMAPRINT 0
-+#define CONFIG_GCRYPT 0
-+#define CONFIG_GNUTLS 0
-+#define CONFIG_JNI 0
-+#define CONFIG_LADSPA 0
-+#define CONFIG_LIBAOM 0
-+#define CONFIG_LIBASS 0
-+#define CONFIG_LIBBLURAY 0
-+#define CONFIG_LIBBS2B 0
-+#define CONFIG_LIBCACA 0
-+#define CONFIG_LIBCELT 0
-+#define CONFIG_LIBCODEC2 0
-+#define CONFIG_LIBDAV1D 0
-+#define CONFIG_LIBDC1394 0
-+#define CONFIG_LIBDRM 0
-+#define CONFIG_LIBFLITE 0
-+#define CONFIG_LIBFONTCONFIG 0
-+#define CONFIG_LIBFREETYPE 0
-+#define CONFIG_LIBFRIBIDI 0
-+#define CONFIG_LIBGLSLANG 0
-+#define CONFIG_LIBGME 0
-+#define CONFIG_LIBGSM 0
-+#define CONFIG_LIBIEC61883 0
-+#define CONFIG_LIBILBC 0
-+#define CONFIG_LIBJACK 0
-+#define CONFIG_LIBKLVANC 0
-+#define CONFIG_LIBKVAZAAR 0
-+#define CONFIG_LIBMODPLUG 0
-+#define CONFIG_LIBMP3LAME 0
-+#define CONFIG_LIBMYSOFA 0
-+#define CONFIG_LIBOPENCV 0
-+#define CONFIG_LIBOPENH264 0
-+#define CONFIG_LIBOPENJPEG 0
-+#define CONFIG_LIBOPENMPT 0
-+#define CONFIG_LIBOPENVINO 0
-+#define CONFIG_LIBOPUS 1
-+#define CONFIG_LIBPLACEBO 0
-+#define CONFIG_LIBPULSE 0
-+#define CONFIG_LIBRABBITMQ 0
-+#define CONFIG_LIBRAV1E 0
-+#define CONFIG_LIBRIST 0
-+#define CONFIG_LIBRSVG 0
-+#define CONFIG_LIBRTMP 0
-+#define CONFIG_LIBSHADERC 0
-+#define CONFIG_LIBSHINE 0
-+#define CONFIG_LIBSMBCLIENT 0
-+#define CONFIG_LIBSNAPPY 0
-+#define CONFIG_LIBSOXR 0
-+#define CONFIG_LIBSPEEX 0
-+#define CONFIG_LIBSRT 0
-+#define CONFIG_LIBSSH 0
-+#define CONFIG_LIBSVTAV1 0
-+#define CONFIG_LIBTENSORFLOW 0
-+#define CONFIG_LIBTESSERACT 0
-+#define CONFIG_LIBTHEORA 0
-+#define CONFIG_LIBTWOLAME 0
-+#define CONFIG_LIBUAVS3D 0
-+#define CONFIG_LIBV4L2 0
-+#define CONFIG_LIBVMAF 0
-+#define CONFIG_LIBVORBIS 0
-+#define CONFIG_LIBVPX 0
-+#define CONFIG_LIBWEBP 0
-+#define CONFIG_LIBXML2 0
-+#define CONFIG_LIBZIMG 0
-+#define CONFIG_LIBZMQ 0
-+#define CONFIG_LIBZVBI 0
-+#define CONFIG_LV2 0
-+#define CONFIG_MEDIACODEC 0
-+#define CONFIG_OPENAL 0
-+#define CONFIG_OPENGL 0
-+#define CONFIG_OPENSSL 0
-+#define CONFIG_POCKETSPHINX 0
-+#define CONFIG_VAPOURSYNTH 0
-+#define CONFIG_ALSA 0
-+#define CONFIG_APPKIT 0
-+#define CONFIG_AVFOUNDATION 0
-+#define CONFIG_BZLIB 0
-+#define CONFIG_COREIMAGE 0
-+#define CONFIG_ICONV 0
-+#define CONFIG_LIBXCB 0
-+#define CONFIG_LIBXCB_SHM 0
-+#define CONFIG_LIBXCB_SHAPE 0
-+#define CONFIG_LIBXCB_XFIXES 0
-+#define CONFIG_LZMA 0
-+#define CONFIG_MEDIAFOUNDATION 0
-+#define CONFIG_METAL 0
-+#define CONFIG_SCHANNEL 0
-+#define CONFIG_SDL2 0
-+#define CONFIG_SECURETRANSPORT 0
-+#define CONFIG_SNDIO 0
-+#define CONFIG_XLIB 0
-+#define CONFIG_ZLIB 0
-+#define CONFIG_CUDA_NVCC 0
-+#define CONFIG_CUDA_SDK 0
-+#define CONFIG_LIBNPP 0
-+#define CONFIG_LIBMFX 0
-+#define CONFIG_MMAL 0
-+#define CONFIG_OMX 0
-+#define CONFIG_OPENCL 0
-+#define CONFIG_AMF 0
-+#define CONFIG_AUDIOTOOLBOX 0
-+#define CONFIG_CRYSTALHD 0
-+#define CONFIG_CUDA 0
-+#define CONFIG_CUDA_LLVM 0
-+#define CONFIG_CUVID 0
-+#define CONFIG_D3D11VA 0
-+#define CONFIG_DXVA2 0
-+#define CONFIG_FFNVCODEC 0
-+#define CONFIG_NVDEC 0
-+#define CONFIG_NVENC 0
-+#define CONFIG_VAAPI 0
-+#define CONFIG_VDPAU 0
-+#define CONFIG_VIDEOTOOLBOX 0
-+#define CONFIG_VULKAN 0
-+#define CONFIG_V4L2_M2M 0
-+#define CONFIG_FTRAPV 0
-+#define CONFIG_GRAY 0
-+#define CONFIG_HARDCODED_TABLES 0
-+#define CONFIG_OMX_RPI 0
-+#define CONFIG_RUNTIME_CPUDETECT 1
-+#define CONFIG_SAFE_BITSTREAM_READER 1
-+#define CONFIG_SHARED 0
-+#define CONFIG_SMALL 0
-+#define CONFIG_STATIC 1
-+#define CONFIG_SWSCALE_ALPHA 1
-+#define CONFIG_GPL 0
-+#define CONFIG_NONFREE 0
-+#define CONFIG_VERSION3 0
-+#define CONFIG_AVDEVICE 0
-+#define CONFIG_AVFILTER 0
-+#define CONFIG_SWSCALE 0
-+#define CONFIG_POSTPROC 0
-+#define CONFIG_AVFORMAT 1
-+#define CONFIG_AVCODEC 1
-+#define CONFIG_SWRESAMPLE 0
-+#define CONFIG_AVUTIL 1
-+#define CONFIG_FFPLAY 0
-+#define CONFIG_FFPROBE 0
-+#define CONFIG_FFMPEG 0
-+#define CONFIG_DCT 1
-+#define CONFIG_DWT 0
-+#define CONFIG_ERROR_RESILIENCE 0
-+#define CONFIG_FAAN 0
-+#define CONFIG_FAST_UNALIGNED 1
-+#define CONFIG_FFT 1
-+#define CONFIG_LSP 0
-+#define CONFIG_MDCT 1
-+#define CONFIG_PIXELUTILS 0
-+#define CONFIG_NETWORK 0
-+#define CONFIG_RDFT 1
-+#define CONFIG_AUTODETECT 0
-+#define CONFIG_FONTCONFIG 0
-+#define CONFIG_LARGE_TESTS 1
-+#define CONFIG_LINUX_PERF 0
-+#define CONFIG_MACOS_KPERF 0
-+#define CONFIG_MEMORY_POISONING 0
-+#define CONFIG_NEON_CLOBBER_TEST 0
-+#define CONFIG_OSSFUZZ 0
-+#define CONFIG_PIC 1
-+#define CONFIG_PTX_COMPRESSION 0
-+#define CONFIG_THUMB 0
-+#define CONFIG_VALGRIND_BACKTRACE 0
-+#define CONFIG_XMM_CLOBBER_TEST 0
-+#define CONFIG_BSFS 0
-+#define CONFIG_DECODERS 1
-+#define CONFIG_ENCODERS 0
-+#define CONFIG_HWACCELS 0
-+#define CONFIG_PARSERS 1
-+#define CONFIG_INDEVS 0
-+#define CONFIG_OUTDEVS 0
-+#define CONFIG_FILTERS 0
-+#define CONFIG_DEMUXERS 1
-+#define CONFIG_MUXERS 0
-+#define CONFIG_PROTOCOLS 0
-+#define CONFIG_AANDCTTABLES 0
-+#define CONFIG_AC3DSP 0
-+#define CONFIG_ADTS_HEADER 1
-+#define CONFIG_ATSC_A53 1
-+#define CONFIG_AUDIO_FRAME_QUEUE 0
-+#define CONFIG_AUDIODSP 0
-+#define CONFIG_BLOCKDSP 0
-+#define CONFIG_BSWAPDSP 0
-+#define CONFIG_CABAC 1
-+#define CONFIG_CBS 0
-+#define CONFIG_CBS_AV1 0
-+#define CONFIG_CBS_H264 0
-+#define CONFIG_CBS_H265 0
-+#define CONFIG_CBS_JPEG 0
-+#define CONFIG_CBS_MPEG2 0
-+#define CONFIG_CBS_VP9 0
-+#define CONFIG_DEFLATE_WRAPPER 0
-+#define CONFIG_DIRAC_PARSE 1
-+#define CONFIG_DNN 0
-+#define CONFIG_DOVI_RPU 0
-+#define CONFIG_DVPROFILE 0
-+#define CONFIG_EXIF 0
-+#define CONFIG_FAANDCT 0
-+#define CONFIG_FAANIDCT 0
-+#define CONFIG_FDCTDSP 0
-+#define CONFIG_FLACDSP 1
-+#define CONFIG_FMTCONVERT 0
-+#define CONFIG_FRAME_THREAD_ENCODER 0
-+#define CONFIG_G722DSP 0
-+#define CONFIG_GOLOMB 1
-+#define CONFIG_GPLV3 0
-+#define CONFIG_H263DSP 0
-+#define CONFIG_H264CHROMA 1
-+#define CONFIG_H264DSP 1
-+#define CONFIG_H264PARSE 1
-+#define CONFIG_H264PRED 1
-+#define CONFIG_H264QPEL 1
-+#define CONFIG_HEVCPARSE 0
-+#define CONFIG_HPELDSP 1
-+#define CONFIG_HUFFMAN 0
-+#define CONFIG_HUFFYUVDSP 0
-+#define CONFIG_HUFFYUVENCDSP 0
-+#define CONFIG_IDCTDSP 0
-+#define CONFIG_IIRFILTER 0
-+#define CONFIG_MDCT15 1
-+#define CONFIG_INFLATE_WRAPPER 0
-+#define CONFIG_INTRAX8 0
-+#define CONFIG_ISO_MEDIA 1
-+#define CONFIG_IVIDSP 0
-+#define CONFIG_JPEGTABLES 0
-+#define CONFIG_LGPLV3 0
-+#define CONFIG_LIBX262 0
-+#define CONFIG_LLAUDDSP 0
-+#define CONFIG_LLVIDDSP 0
-+#define CONFIG_LLVIDENCDSP 0
-+#define CONFIG_LPC 0
-+#define CONFIG_LZF 0
-+#define CONFIG_ME_CMP 0
-+#define CONFIG_MPEG_ER 0
-+#define CONFIG_MPEGAUDIO 1
-+#define CONFIG_MPEGAUDIODSP 1
-+#define CONFIG_MPEGAUDIOHEADER 1
-+#define CONFIG_MPEG4AUDIO 1
-+#define CONFIG_MPEGVIDEO 0
-+#define CONFIG_MPEGVIDEODEC 0
-+#define CONFIG_MPEGVIDEOENC 0
-+#define CONFIG_MSS34DSP 0
-+#define CONFIG_PIXBLOCKDSP 0
-+#define CONFIG_QPELDSP 0
-+#define CONFIG_QSV 0
-+#define CONFIG_QSVDEC 0
-+#define CONFIG_QSVENC 0
-+#define CONFIG_QSVVPP 0
-+#define CONFIG_RANGECODER 0
-+#define CONFIG_RIFFDEC 1
-+#define CONFIG_RIFFENC 0
-+#define CONFIG_RTPDEC 0
-+#define CONFIG_RTPENC_CHAIN 0
-+#define CONFIG_RV34DSP 0
-+#define CONFIG_SCENE_SAD 0
-+#define CONFIG_SINEWIN 1
-+#define CONFIG_SNAPPY 0
-+#define CONFIG_SRTP 0
-+#define CONFIG_STARTCODE 1
-+#define CONFIG_TEXTUREDSP 0
-+#define CONFIG_TEXTUREDSPENC 0
-+#define CONFIG_TPELDSP 0
-+#define CONFIG_VAAPI_1 0
-+#define CONFIG_VAAPI_ENCODE 0
-+#define CONFIG_VC1DSP 0
-+#define CONFIG_VIDEODSP 1
-+#define CONFIG_VP3DSP 1
-+#define CONFIG_VP56DSP 0
-+#define CONFIG_VP8DSP 1
-+#define CONFIG_WMA_FREQS 0
-+#define CONFIG_WMV2DSP 0
-+#endif /* FFMPEG_CONFIG_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h
deleted file mode 100644
index 55a1ea24b721..000000000000
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h
+++ /dev/null
@@ -1,2066 +0,0 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config_components.h.orig 2022-07-28 06:07:04 UTC
-+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config_components.h
-@@ -0,0 +1,2063 @@
-+/* Automatically generated by configure - do not modify! */
-+#ifndef FFMPEG_CONFIG_COMPONENTS_H
-+#define FFMPEG_CONFIG_COMPONENTS_H
-+#define CONFIG_AAC_ADTSTOASC_BSF 0
-+#define CONFIG_AV1_FRAME_MERGE_BSF 0
-+#define CONFIG_AV1_FRAME_SPLIT_BSF 0
-+#define CONFIG_AV1_METADATA_BSF 0
-+#define CONFIG_CHOMP_BSF 0
-+#define CONFIG_DUMP_EXTRADATA_BSF 0
-+#define CONFIG_DCA_CORE_BSF 0
-+#define CONFIG_DV_ERROR_MARKER_BSF 0
-+#define CONFIG_EAC3_CORE_BSF 0
-+#define CONFIG_EXTRACT_EXTRADATA_BSF 0
-+#define CONFIG_FILTER_UNITS_BSF 0
-+#define CONFIG_H264_METADATA_BSF 0
-+#define CONFIG_H264_MP4TOANNEXB_BSF 0
-+#define CONFIG_H264_REDUNDANT_PPS_BSF 0
-+#define CONFIG_HAPQA_EXTRACT_BSF 0
-+#define CONFIG_HEVC_METADATA_BSF 0
-+#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
-+#define CONFIG_IMX_DUMP_HEADER_BSF 0
-+#define CONFIG_MJPEG2JPEG_BSF 0
-+#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
-+#define CONFIG_MPEG2_METADATA_BSF 0
-+#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
-+#define CONFIG_MOV2TEXTSUB_BSF 0
-+#define CONFIG_NOISE_BSF 0
-+#define CONFIG_NULL_BSF 0
-+#define CONFIG_OPUS_METADATA_BSF 0
-+#define CONFIG_PCM_RECHUNK_BSF 0
-+#define CONFIG_PRORES_METADATA_BSF 0
-+#define CONFIG_REMOVE_EXTRADATA_BSF 0
-+#define CONFIG_SETTS_BSF 0
-+#define CONFIG_TEXT2MOVSUB_BSF 0
-+#define CONFIG_TRACE_HEADERS_BSF 0
-+#define CONFIG_TRUEHD_CORE_BSF 0
-+#define CONFIG_VP9_METADATA_BSF 0
-+#define CONFIG_VP9_RAW_REORDER_BSF 0
-+#define CONFIG_VP9_SUPERFRAME_BSF 0
-+#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
-+#define CONFIG_AASC_DECODER 0
-+#define CONFIG_AIC_DECODER 0
-+#define CONFIG_ALIAS_PIX_DECODER 0
-+#define CONFIG_AGM_DECODER 0
-+#define CONFIG_AMV_DECODER 0
-+#define CONFIG_ANM_DECODER 0
-+#define CONFIG_ANSI_DECODER 0
-+#define CONFIG_APNG_DECODER 0
-+#define CONFIG_ARBC_DECODER 0
-+#define CONFIG_ARGO_DECODER 0
-+#define CONFIG_ASV1_DECODER 0
-+#define CONFIG_ASV2_DECODER 0
-+#define CONFIG_AURA_DECODER 0
-+#define CONFIG_AURA2_DECODER 0
-+#define CONFIG_AVRP_DECODER 0
-+#define CONFIG_AVRN_DECODER 0
-+#define CONFIG_AVS_DECODER 0
-+#define CONFIG_AVUI_DECODER 0
-+#define CONFIG_AYUV_DECODER 0
-+#define CONFIG_BETHSOFTVID_DECODER 0
-+#define CONFIG_BFI_DECODER 0
-+#define CONFIG_BINK_DECODER 0
-+#define CONFIG_BITPACKED_DECODER 0
-+#define CONFIG_BMP_DECODER 0
-+#define CONFIG_BMV_VIDEO_DECODER 0
-+#define CONFIG_BRENDER_PIX_DECODER 0
-+#define CONFIG_C93_DECODER 0
-+#define CONFIG_CAVS_DECODER 0
-+#define CONFIG_CDGRAPHICS_DECODER 0
-+#define CONFIG_CDTOONS_DECODER 0
-+#define CONFIG_CDXL_DECODER 0
-+#define CONFIG_CFHD_DECODER 0
-+#define CONFIG_CINEPAK_DECODER 0
-+#define CONFIG_CLEARVIDEO_DECODER 0
-+#define CONFIG_CLJR_DECODER 0
-+#define CONFIG_CLLC_DECODER 0
-+#define CONFIG_COMFORTNOISE_DECODER 0
-+#define CONFIG_CPIA_DECODER 0
-+#define CONFIG_CRI_DECODER 0
-+#define CONFIG_CSCD_DECODER 0
-+#define CONFIG_CYUV_DECODER 0
-+#define CONFIG_DDS_DECODER 0
-+#define CONFIG_DFA_DECODER 0
-+#define CONFIG_DIRAC_DECODER 0
-+#define CONFIG_DNXHD_DECODER 0
-+#define CONFIG_DPX_DECODER 0
-+#define CONFIG_DSICINVIDEO_DECODER 0
-+#define CONFIG_DVAUDIO_DECODER 0
-+#define CONFIG_DVVIDEO_DECODER 0
-+#define CONFIG_DXA_DECODER 0
-+#define CONFIG_DXTORY_DECODER 0
-+#define CONFIG_DXV_DECODER 0
-+#define CONFIG_EACMV_DECODER 0
-+#define CONFIG_EAMAD_DECODER 0
-+#define CONFIG_EATGQ_DECODER 0
-+#define CONFIG_EATGV_DECODER 0
-+#define CONFIG_EATQI_DECODER 0
-+#define CONFIG_EIGHTBPS_DECODER 0
-+#define CONFIG_EIGHTSVX_EXP_DECODER 0
-+#define CONFIG_EIGHTSVX_FIB_DECODER 0
-+#define CONFIG_ESCAPE124_DECODER 0
-+#define CONFIG_ESCAPE130_DECODER 0
-+#define CONFIG_EXR_DECODER 0
-+#define CONFIG_FFV1_DECODER 0
-+#define CONFIG_FFVHUFF_DECODER 0
-+#define CONFIG_FIC_DECODER 0
-+#define CONFIG_FITS_DECODER 0
-+#define CONFIG_FLASHSV_DECODER 0
-+#define CONFIG_FLASHSV2_DECODER 0
-+#define CONFIG_FLIC_DECODER 0
-+#define CONFIG_FLV_DECODER 0
-+#define CONFIG_FMVC_DECODER 0
-+#define CONFIG_FOURXM_DECODER 0
-+#define CONFIG_FRAPS_DECODER 0
-+#define CONFIG_FRWU_DECODER 0
-+#define CONFIG_G2M_DECODER 0
-+#define CONFIG_GDV_DECODER 0
-+#define CONFIG_GEM_DECODER 0
-+#define CONFIG_GIF_DECODER 0
-+#define CONFIG_H261_DECODER 0
-+#define CONFIG_H263_DECODER 0
-+#define CONFIG_H263I_DECODER 0
-+#define CONFIG_H263P_DECODER 0
-+#define CONFIG_H263_V4L2M2M_DECODER 0
-+#define CONFIG_H264_DECODER 1
-+#define CONFIG_H264_CRYSTALHD_DECODER 0
-+#define CONFIG_H264_V4L2M2M_DECODER 0
-+#define CONFIG_H264_MEDIACODEC_DECODER 0
-+#define CONFIG_H264_MMAL_DECODER 0
-+#define CONFIG_H264_QSV_DECODER 0
-+#define CONFIG_H264_RKMPP_DECODER 0
-+#define CONFIG_HAP_DECODER 0
-+#define CONFIG_HEVC_DECODER 0
-+#define CONFIG_HEVC_QSV_DECODER 0
-+#define CONFIG_HEVC_RKMPP_DECODER 0
-+#define CONFIG_HEVC_V4L2M2M_DECODER 0
-+#define CONFIG_HNM4_VIDEO_DECODER 0
-+#define CONFIG_HQ_HQA_DECODER 0
-+#define CONFIG_HQX_DECODER 0
-+#define CONFIG_HUFFYUV_DECODER 0
-+#define CONFIG_HYMT_DECODER 0
-+#define CONFIG_IDCIN_DECODER 0
-+#define CONFIG_IFF_ILBM_DECODER 0
-+#define CONFIG_IMM4_DECODER 0
-+#define CONFIG_IMM5_DECODER 0
-+#define CONFIG_INDEO2_DECODER 0
-+#define CONFIG_INDEO3_DECODER 0
-+#define CONFIG_INDEO4_DECODER 0
-+#define CONFIG_INDEO5_DECODER 0
-+#define CONFIG_INTERPLAY_VIDEO_DECODER 0
-+#define CONFIG_IPU_DECODER 0
-+#define CONFIG_JPEG2000_DECODER 0
-+#define CONFIG_JPEGLS_DECODER 0
-+#define CONFIG_JV_DECODER 0
-+#define CONFIG_KGV1_DECODER 0
-+#define CONFIG_KMVC_DECODER 0
-+#define CONFIG_LAGARITH_DECODER 0
-+#define CONFIG_LOCO_DECODER 0
-+#define CONFIG_LSCR_DECODER 0
-+#define CONFIG_M101_DECODER 0
-+#define CONFIG_MAGICYUV_DECODER 0
-+#define CONFIG_MDEC_DECODER 0
-+#define CONFIG_MIMIC_DECODER 0
-+#define CONFIG_MJPEG_DECODER 0
-+#define CONFIG_MJPEGB_DECODER 0
-+#define CONFIG_MMVIDEO_DECODER 0
-+#define CONFIG_MOBICLIP_DECODER 0
-+#define CONFIG_MOTIONPIXELS_DECODER 0
-+#define CONFIG_MPEG1VIDEO_DECODER 0
-+#define CONFIG_MPEG2VIDEO_DECODER 0
-+#define CONFIG_MPEG4_DECODER 0
-+#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
-+#define CONFIG_MPEG4_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG4_MMAL_DECODER 0
-+#define CONFIG_MPEGVIDEO_DECODER 0
-+#define CONFIG_MPEG1_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG2_MMAL_DECODER 0
-+#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
-+#define CONFIG_MPEG2_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG2_QSV_DECODER 0
-+#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-+#define CONFIG_MSA1_DECODER 0
-+#define CONFIG_MSCC_DECODER 0
-+#define CONFIG_MSMPEG4V1_DECODER 0
-+#define CONFIG_MSMPEG4V2_DECODER 0
-+#define CONFIG_MSMPEG4V3_DECODER 0
-+#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
-+#define CONFIG_MSP2_DECODER 0
-+#define CONFIG_MSRLE_DECODER 0
-+#define CONFIG_MSS1_DECODER 0
-+#define CONFIG_MSS2_DECODER 0
-+#define CONFIG_MSVIDEO1_DECODER 0
-+#define CONFIG_MSZH_DECODER 0
-+#define CONFIG_MTS2_DECODER 0
-+#define CONFIG_MV30_DECODER 0
-+#define CONFIG_MVC1_DECODER 0
-+#define CONFIG_MVC2_DECODER 0
-+#define CONFIG_MVDV_DECODER 0
-+#define CONFIG_MVHA_DECODER 0
-+#define CONFIG_MWSC_DECODER 0
-+#define CONFIG_MXPEG_DECODER 0
-+#define CONFIG_NOTCHLC_DECODER 0
-+#define CONFIG_NUV_DECODER 0
-+#define CONFIG_PAF_VIDEO_DECODER 0
-+#define CONFIG_PAM_DECODER 0
-+#define CONFIG_PBM_DECODER 0
-+#define CONFIG_PCX_DECODER 0
-+#define CONFIG_PFM_DECODER 0
-+#define CONFIG_PGM_DECODER 0
-+#define CONFIG_PGMYUV_DECODER 0
-+#define CONFIG_PGX_DECODER 0
-+#define CONFIG_PHOTOCD_DECODER 0
-+#define CONFIG_PICTOR_DECODER 0
-+#define CONFIG_PIXLET_DECODER 0
-+#define CONFIG_PNG_DECODER 0
-+#define CONFIG_PPM_DECODER 0
-+#define CONFIG_PRORES_DECODER 0
-+#define CONFIG_PROSUMER_DECODER 0
-+#define CONFIG_PSD_DECODER 0
-+#define CONFIG_PTX_DECODER 0
-+#define CONFIG_QDRAW_DECODER 0
-+#define CONFIG_QPEG_DECODER 0
-+#define CONFIG_QTRLE_DECODER 0
-+#define CONFIG_R10K_DECODER 0
-+#define CONFIG_R210_DECODER 0
-+#define CONFIG_RASC_DECODER 0
-+#define CONFIG_RAWVIDEO_DECODER 0
-+#define CONFIG_RL2_DECODER 0
-+#define CONFIG_ROQ_DECODER 0
-+#define CONFIG_RPZA_DECODER 0
-+#define CONFIG_RSCC_DECODER 0
-+#define CONFIG_RV10_DECODER 0
-+#define CONFIG_RV20_DECODER 0
-+#define CONFIG_RV30_DECODER 0
-+#define CONFIG_RV40_DECODER 0
-+#define CONFIG_S302M_DECODER 0
-+#define CONFIG_SANM_DECODER 0
-+#define CONFIG_SCPR_DECODER 0
-+#define CONFIG_SCREENPRESSO_DECODER 0
-+#define CONFIG_SGA_DECODER 0
-+#define CONFIG_SGI_DECODER 0
-+#define CONFIG_SGIRLE_DECODER 0
-+#define CONFIG_SHEERVIDEO_DECODER 0
-+#define CONFIG_SIMBIOSIS_IMX_DECODER 0
-+#define CONFIG_SMACKER_DECODER 0
-+#define CONFIG_SMC_DECODER 0
-+#define CONFIG_SMVJPEG_DECODER 0
-+#define CONFIG_SNOW_DECODER 0
-+#define CONFIG_SP5X_DECODER 0
-+#define CONFIG_SPEEDHQ_DECODER 0
-+#define CONFIG_SPEEX_DECODER 0
-+#define CONFIG_SRGC_DECODER 0
-+#define CONFIG_SUNRAST_DECODER 0
-+#define CONFIG_SVQ1_DECODER 0
-+#define CONFIG_SVQ3_DECODER 0
-+#define CONFIG_TARGA_DECODER 0
-+#define CONFIG_TARGA_Y216_DECODER 0
-+#define CONFIG_TDSC_DECODER 0
-+#define CONFIG_THEORA_DECODER 1
-+#define CONFIG_THP_DECODER 0
-+#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
-+#define CONFIG_TIFF_DECODER 0
-+#define CONFIG_TMV_DECODER 0
-+#define CONFIG_TRUEMOTION1_DECODER 0
-+#define CONFIG_TRUEMOTION2_DECODER 0
-+#define CONFIG_TRUEMOTION2RT_DECODER 0
-+#define CONFIG_TSCC_DECODER 0
-+#define CONFIG_TSCC2_DECODER 0
-+#define CONFIG_TXD_DECODER 0
-+#define CONFIG_ULTI_DECODER 0
-+#define CONFIG_UTVIDEO_DECODER 0
-+#define CONFIG_V210_DECODER 0
-+#define CONFIG_V210X_DECODER 0
-+#define CONFIG_V308_DECODER 0
-+#define CONFIG_V408_DECODER 0
-+#define CONFIG_V410_DECODER 0
-+#define CONFIG_VB_DECODER 0
-+#define CONFIG_VBLE_DECODER 0
-+#define CONFIG_VC1_DECODER 0
-+#define CONFIG_VC1_CRYSTALHD_DECODER 0
-+#define CONFIG_VC1IMAGE_DECODER 0
-+#define CONFIG_VC1_MMAL_DECODER 0
-+#define CONFIG_VC1_QSV_DECODER 0
-+#define CONFIG_VC1_V4L2M2M_DECODER 0
-+#define CONFIG_VCR1_DECODER 0
-+#define CONFIG_VMDVIDEO_DECODER 0
-+#define CONFIG_VMNC_DECODER 0
-+#define CONFIG_VP3_DECODER 1
-+#define CONFIG_VP4_DECODER 0
-+#define CONFIG_VP5_DECODER 0
-+#define CONFIG_VP6_DECODER 0
-+#define CONFIG_VP6A_DECODER 0
-+#define CONFIG_VP6F_DECODER 0
-+#define CONFIG_VP7_DECODER 0
-+#define CONFIG_VP8_DECODER 1
-+#define CONFIG_VP8_RKMPP_DECODER 0
-+#define CONFIG_VP8_V4L2M2M_DECODER 0
-+#define CONFIG_VP9_DECODER 0
-+#define CONFIG_VP9_RKMPP_DECODER 0
-+#define CONFIG_VP9_V4L2M2M_DECODER 0
-+#define CONFIG_VQA_DECODER 0
-+#define CONFIG_WEBP_DECODER 0
-+#define CONFIG_WCMV_DECODER 0
-+#define CONFIG_WRAPPED_AVFRAME_DECODER 0
-+#define CONFIG_WMV1_DECODER 0
-+#define CONFIG_WMV2_DECODER 0
-+#define CONFIG_WMV3_DECODER 0
-+#define CONFIG_WMV3_CRYSTALHD_DECODER 0
-+#define CONFIG_WMV3IMAGE_DECODER 0
-+#define CONFIG_WNV1_DECODER 0
-+#define CONFIG_XAN_WC3_DECODER 0
-+#define CONFIG_XAN_WC4_DECODER 0
-+#define CONFIG_XBM_DECODER 0
-+#define CONFIG_XFACE_DECODER 0
-+#define CONFIG_XL_DECODER 0
-+#define CONFIG_XPM_DECODER 0
-+#define CONFIG_XWD_DECODER 0
-+#define CONFIG_Y41P_DECODER 0
-+#define CONFIG_YLC_DECODER 0
-+#define CONFIG_YOP_DECODER 0
-+#define CONFIG_YUV4_DECODER 0
-+#define CONFIG_ZERO12V_DECODER 0
-+#define CONFIG_ZEROCODEC_DECODER 0
-+#define CONFIG_ZLIB_DECODER 0
-+#define CONFIG_ZMBV_DECODER 0
-+#define CONFIG_AAC_DECODER 1
-+#define CONFIG_AAC_FIXED_DECODER 0
-+#define CONFIG_AAC_LATM_DECODER 0
-+#define CONFIG_AC3_DECODER 0
-+#define CONFIG_AC3_FIXED_DECODER 0
-+#define CONFIG_ACELP_KELVIN_DECODER 0
-+#define CONFIG_ALAC_DECODER 0
-+#define CONFIG_ALS_DECODER 0
-+#define CONFIG_AMRNB_DECODER 0
-+#define CONFIG_AMRWB_DECODER 0
-+#define CONFIG_APE_DECODER 0
-+#define CONFIG_APTX_DECODER 0
-+#define CONFIG_APTX_HD_DECODER 0
-+#define CONFIG_ATRAC1_DECODER 0
-+#define CONFIG_ATRAC3_DECODER 0
-+#define CONFIG_ATRAC3AL_DECODER 0
-+#define CONFIG_ATRAC3P_DECODER 0
-+#define CONFIG_ATRAC3PAL_DECODER 0
-+#define CONFIG_ATRAC9_DECODER 0
-+#define CONFIG_BINKAUDIO_DCT_DECODER 0
-+#define CONFIG_BINKAUDIO_RDFT_DECODER 0
-+#define CONFIG_BMV_AUDIO_DECODER 0
-+#define CONFIG_COOK_DECODER 0
-+#define CONFIG_DCA_DECODER 0
-+#define CONFIG_DFPWM_DECODER 0
-+#define CONFIG_DOLBY_E_DECODER 0
-+#define CONFIG_DSD_LSBF_DECODER 0
-+#define CONFIG_DSD_MSBF_DECODER 0
-+#define CONFIG_DSD_LSBF_PLANAR_DECODER 0
-+#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
-+#define CONFIG_DSICINAUDIO_DECODER 0
-+#define CONFIG_DSS_SP_DECODER 0
-+#define CONFIG_DST_DECODER 0
-+#define CONFIG_EAC3_DECODER 0
-+#define CONFIG_EVRC_DECODER 0
-+#define CONFIG_FASTAUDIO_DECODER 0
-+#define CONFIG_FFWAVESYNTH_DECODER 0
-+#define CONFIG_FLAC_DECODER 1
-+#define CONFIG_G723_1_DECODER 0
-+#define CONFIG_G729_DECODER 0
-+#define CONFIG_GSM_DECODER 0
-+#define CONFIG_GSM_MS_DECODER 0
-+#define CONFIG_HCA_DECODER 0
-+#define CONFIG_HCOM_DECODER 0
-+#define CONFIG_IAC_DECODER 0
-+#define CONFIG_ILBC_DECODER 0
-+#define CONFIG_IMC_DECODER 0
-+#define CONFIG_INTERPLAY_ACM_DECODER 0
-+#define CONFIG_MACE3_DECODER 0
-+#define CONFIG_MACE6_DECODER 0
-+#define CONFIG_METASOUND_DECODER 0
-+#define CONFIG_MLP_DECODER 0
-+#define CONFIG_MP1_DECODER 0
-+#define CONFIG_MP1FLOAT_DECODER 0
-+#define CONFIG_MP2_DECODER 0
-+#define CONFIG_MP2FLOAT_DECODER 0
-+#define CONFIG_MP3FLOAT_DECODER 0
-+#define CONFIG_MP3_DECODER 1
-+#define CONFIG_MP3ADUFLOAT_DECODER 0
-+#define CONFIG_MP3ADU_DECODER 0
-+#define CONFIG_MP3ON4FLOAT_DECODER 0
-+#define CONFIG_MP3ON4_DECODER 0
-+#define CONFIG_MPC7_DECODER 0
-+#define CONFIG_MPC8_DECODER 0
-+#define CONFIG_MSNSIREN_DECODER 0
-+#define CONFIG_NELLYMOSER_DECODER 0
-+#define CONFIG_ON2AVC_DECODER 0
-+#define CONFIG_OPUS_DECODER 0
-+#define CONFIG_PAF_AUDIO_DECODER 0
-+#define CONFIG_QCELP_DECODER 0
-+#define CONFIG_QDM2_DECODER 0
-+#define CONFIG_QDMC_DECODER 0
-+#define CONFIG_RA_144_DECODER 0
-+#define CONFIG_RA_288_DECODER 0
-+#define CONFIG_RALF_DECODER 0
-+#define CONFIG_SBC_DECODER 0
-+#define CONFIG_SHORTEN_DECODER 0
-+#define CONFIG_SIPR_DECODER 0
-+#define CONFIG_SIREN_DECODER 0
-+#define CONFIG_SMACKAUD_DECODER 0
-+#define CONFIG_SONIC_DECODER 0
-+#define CONFIG_TAK_DECODER 0
-+#define CONFIG_TRUEHD_DECODER 0
-+#define CONFIG_TRUESPEECH_DECODER 0
-+#define CONFIG_TTA_DECODER 0
-+#define CONFIG_TWINVQ_DECODER 0
-+#define CONFIG_VMDAUDIO_DECODER 0
-+#define CONFIG_VORBIS_DECODER 1
-+#define CONFIG_WAVPACK_DECODER 0
-+#define CONFIG_WMALOSSLESS_DECODER 0
-+#define CONFIG_WMAPRO_DECODER 0
-+#define CONFIG_WMAV1_DECODER 0
-+#define CONFIG_WMAV2_DECODER 0
-+#define CONFIG_WMAVOICE_DECODER 0
-+#define CONFIG_WS_SND1_DECODER 0
-+#define CONFIG_XMA1_DECODER 0
-+#define CONFIG_XMA2_DECODER 0
-+#define CONFIG_PCM_ALAW_DECODER 1
-+#define CONFIG_PCM_BLURAY_DECODER 0
-+#define CONFIG_PCM_DVD_DECODER 0
-+#define CONFIG_PCM_F16LE_DECODER 0
-+#define CONFIG_PCM_F24LE_DECODER 0
-+#define CONFIG_PCM_F32BE_DECODER 0
-+#define CONFIG_PCM_F32LE_DECODER 1
-+#define CONFIG_PCM_F64BE_DECODER 0
-+#define CONFIG_PCM_F64LE_DECODER 0
-+#define CONFIG_PCM_LXF_DECODER 0
-+#define CONFIG_PCM_MULAW_DECODER 1
-+#define CONFIG_PCM_S8_DECODER 0
-+#define CONFIG_PCM_S8_PLANAR_DECODER 0
-+#define CONFIG_PCM_S16BE_DECODER 1
-+#define CONFIG_PCM_S16BE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S16LE_DECODER 1
-+#define CONFIG_PCM_S16LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S24BE_DECODER 1
-+#define CONFIG_PCM_S24DAUD_DECODER 0
-+#define CONFIG_PCM_S24LE_DECODER 1
-+#define CONFIG_PCM_S24LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S32BE_DECODER 0
-+#define CONFIG_PCM_S32LE_DECODER 1
-+#define CONFIG_PCM_S32LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S64BE_DECODER 0
-+#define CONFIG_PCM_S64LE_DECODER 0
-+#define CONFIG_PCM_SGA_DECODER 0
-+#define CONFIG_PCM_U8_DECODER 1
-+#define CONFIG_PCM_U16BE_DECODER 0
-+#define CONFIG_PCM_U16LE_DECODER 0
-+#define CONFIG_PCM_U24BE_DECODER 0
-+#define CONFIG_PCM_U24LE_DECODER 0
-+#define CONFIG_PCM_U32BE_DECODER 0
-+#define CONFIG_PCM_U32LE_DECODER 0
-+#define CONFIG_PCM_VIDC_DECODER 0
-+#define CONFIG_DERF_DPCM_DECODER 0
-+#define CONFIG_GREMLIN_DPCM_DECODER 0
-+#define CONFIG_INTERPLAY_DPCM_DECODER 0
-+#define CONFIG_ROQ_DPCM_DECODER 0
-+#define CONFIG_SDX2_DPCM_DECODER 0
-+#define CONFIG_SOL_DPCM_DECODER 0
-+#define CONFIG_XAN_DPCM_DECODER 0
-+#define CONFIG_ADPCM_4XM_DECODER 0
-+#define CONFIG_ADPCM_ADX_DECODER 0
-+#define CONFIG_ADPCM_AFC_DECODER 0
-+#define CONFIG_ADPCM_AGM_DECODER 0
-+#define CONFIG_ADPCM_AICA_DECODER 0
-+#define CONFIG_ADPCM_ARGO_DECODER 0
-+#define CONFIG_ADPCM_CT_DECODER 0
-+#define CONFIG_ADPCM_DTK_DECODER 0
-+#define CONFIG_ADPCM_EA_DECODER 0
-+#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0
-+#define CONFIG_ADPCM_EA_R1_DECODER 0
-+#define CONFIG_ADPCM_EA_R2_DECODER 0
-+#define CONFIG_ADPCM_EA_R3_DECODER 0
-+#define CONFIG_ADPCM_EA_XAS_DECODER 0
-+#define CONFIG_ADPCM_G722_DECODER 0
-+#define CONFIG_ADPCM_G726_DECODER 0
-+#define CONFIG_ADPCM_G726LE_DECODER 0
-+#define CONFIG_ADPCM_IMA_ACORN_DECODER 0
-+#define CONFIG_ADPCM_IMA_AMV_DECODER 0
-+#define CONFIG_ADPCM_IMA_ALP_DECODER 0
-+#define CONFIG_ADPCM_IMA_APC_DECODER 0
-+#define CONFIG_ADPCM_IMA_APM_DECODER 0
-+#define CONFIG_ADPCM_IMA_CUNNING_DECODER 0
-+#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
-+#define CONFIG_ADPCM_IMA_DK3_DECODER 0
-+#define CONFIG_ADPCM_IMA_DK4_DECODER 0
-+#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
-+#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0
-+#define CONFIG_ADPCM_IMA_ISS_DECODER 0
-+#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 0
-+#define CONFIG_ADPCM_IMA_MTF_DECODER 0
-+#define CONFIG_ADPCM_IMA_OKI_DECODER 0
-+#define CONFIG_ADPCM_IMA_QT_DECODER 0
-+#define CONFIG_ADPCM_IMA_RAD_DECODER 0
-+#define CONFIG_ADPCM_IMA_SSI_DECODER 0
-+#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0
-+#define CONFIG_ADPCM_IMA_WAV_DECODER 0
-+#define CONFIG_ADPCM_IMA_WS_DECODER 0
-+#define CONFIG_ADPCM_MS_DECODER 0
-+#define CONFIG_ADPCM_MTAF_DECODER 0
-+#define CONFIG_ADPCM_PSX_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_2_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_3_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_4_DECODER 0
-+#define CONFIG_ADPCM_SWF_DECODER 0
-+#define CONFIG_ADPCM_THP_DECODER 0
-+#define CONFIG_ADPCM_THP_LE_DECODER 0
-+#define CONFIG_ADPCM_VIMA_DECODER 0
-+#define CONFIG_ADPCM_XA_DECODER 0
-+#define CONFIG_ADPCM_YAMAHA_DECODER 0
-+#define CONFIG_ADPCM_ZORK_DECODER 0
-+#define CONFIG_SSA_DECODER 0
-+#define CONFIG_ASS_DECODER 0
-+#define CONFIG_CCAPTION_DECODER 0
-+#define CONFIG_DVBSUB_DECODER 0
-+#define CONFIG_DVDSUB_DECODER 0
-+#define CONFIG_JACOSUB_DECODER 0
-+#define CONFIG_MICRODVD_DECODER 0
-+#define CONFIG_MOVTEXT_DECODER 0
-+#define CONFIG_MPL2_DECODER 0
-+#define CONFIG_PGSSUB_DECODER 0
-+#define CONFIG_PJS_DECODER 0
-+#define CONFIG_REALTEXT_DECODER 0
-+#define CONFIG_SAMI_DECODER 0
-+#define CONFIG_SRT_DECODER 0
-+#define CONFIG_STL_DECODER 0
-+#define CONFIG_SUBRIP_DECODER 0
-+#define CONFIG_SUBVIEWER_DECODER 0
-+#define CONFIG_SUBVIEWER1_DECODER 0
-+#define CONFIG_TEXT_DECODER 0
-+#define CONFIG_VPLAYER_DECODER 0
-+#define CONFIG_WEBVTT_DECODER 0
-+#define CONFIG_XSUB_DECODER 0
-+#define CONFIG_AAC_AT_DECODER 0
-+#define CONFIG_AC3_AT_DECODER 0
-+#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
-+#define CONFIG_ALAC_AT_DECODER 0
-+#define CONFIG_AMR_NB_AT_DECODER 0
-+#define CONFIG_EAC3_AT_DECODER 0
-+#define CONFIG_GSM_MS_AT_DECODER 0
-+#define CONFIG_ILBC_AT_DECODER 0
-+#define CONFIG_MP1_AT_DECODER 0
-+#define CONFIG_MP2_AT_DECODER 0
-+#define CONFIG_MP3_AT_DECODER 0
-+#define CONFIG_PCM_ALAW_AT_DECODER 0
-+#define CONFIG_PCM_MULAW_AT_DECODER 0
-+#define CONFIG_QDMC_AT_DECODER 0
-+#define CONFIG_QDM2_AT_DECODER 0
-+#define CONFIG_LIBARIBB24_DECODER 0
-+#define CONFIG_LIBCELT_DECODER 0
-+#define CONFIG_LIBCODEC2_DECODER 0
-+#define CONFIG_LIBDAV1D_DECODER 0
-+#define CONFIG_LIBDAVS2_DECODER 0
-+#define CONFIG_LIBFDK_AAC_DECODER 0
-+#define CONFIG_LIBGSM_DECODER 0
-+#define CONFIG_LIBGSM_MS_DECODER 0
-+#define CONFIG_LIBILBC_DECODER 0
-+#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
-+#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
-+#define CONFIG_LIBOPENJPEG_DECODER 0
-+#define CONFIG_LIBOPUS_DECODER 1
-+#define CONFIG_LIBRSVG_DECODER 0
-+#define CONFIG_LIBSPEEX_DECODER 0
-+#define CONFIG_LIBUAVS3D_DECODER 0
-+#define CONFIG_LIBVORBIS_DECODER 0
-+#define CONFIG_LIBVPX_VP8_DECODER 0
-+#define CONFIG_LIBVPX_VP9_DECODER 0
-+#define CONFIG_LIBZVBI_TELETEXT_DECODER 0
-+#define CONFIG_BINTEXT_DECODER 0
-+#define CONFIG_XBIN_DECODER 0
-+#define CONFIG_IDF_DECODER 0
-+#define CONFIG_LIBAOM_AV1_DECODER 0
-+#define CONFIG_AV1_DECODER 0
-+#define CONFIG_AV1_CUVID_DECODER 0
-+#define CONFIG_AV1_QSV_DECODER 0
-+#define CONFIG_LIBOPENH264_DECODER 0
-+#define CONFIG_H264_CUVID_DECODER 0
-+#define CONFIG_HEVC_CUVID_DECODER 0
-+#define CONFIG_HEVC_MEDIACODEC_DECODER 0
-+#define CONFIG_MJPEG_CUVID_DECODER 0
-+#define CONFIG_MJPEG_QSV_DECODER 0
-+#define CONFIG_MPEG1_CUVID_DECODER 0
-+#define CONFIG_MPEG2_CUVID_DECODER 0
-+#define CONFIG_MPEG4_CUVID_DECODER 0
-+#define CONFIG_MPEG4_MEDIACODEC_DECODER 0
-+#define CONFIG_VC1_CUVID_DECODER 0
-+#define CONFIG_VP8_CUVID_DECODER 0
-+#define CONFIG_VP8_MEDIACODEC_DECODER 0
-+#define CONFIG_VP8_QSV_DECODER 0
-+#define CONFIG_VP9_CUVID_DECODER 0
-+#define CONFIG_VP9_MEDIACODEC_DECODER 0
-+#define CONFIG_VP9_QSV_DECODER 0
-+#define CONFIG_A64MULTI_ENCODER 0
-+#define CONFIG_A64MULTI5_ENCODER 0
-+#define CONFIG_ALIAS_PIX_ENCODER 0
-+#define CONFIG_AMV_ENCODER 0
-+#define CONFIG_APNG_ENCODER 0
-+#define CONFIG_ASV1_ENCODER 0
-+#define CONFIG_ASV2_ENCODER 0
-+#define CONFIG_AVRP_ENCODER 0
-+#define CONFIG_AVUI_ENCODER 0
-+#define CONFIG_AYUV_ENCODER 0
-+#define CONFIG_BITPACKED_ENCODER 0
-+#define CONFIG_BMP_ENCODER 0
-+#define CONFIG_CFHD_ENCODER 0
-+#define CONFIG_CINEPAK_ENCODER 0
-+#define CONFIG_CLJR_ENCODER 0
-+#define CONFIG_COMFORTNOISE_ENCODER 0
-+#define CONFIG_DNXHD_ENCODER 0
-+#define CONFIG_DPX_ENCODER 0
-+#define CONFIG_DVVIDEO_ENCODER 0
-+#define CONFIG_EXR_ENCODER 0
-+#define CONFIG_FFV1_ENCODER 0
-+#define CONFIG_FFVHUFF_ENCODER 0
-+#define CONFIG_FITS_ENCODER 0
-+#define CONFIG_FLASHSV_ENCODER 0
-+#define CONFIG_FLASHSV2_ENCODER 0
-+#define CONFIG_FLV_ENCODER 0
-+#define CONFIG_GIF_ENCODER 0
-+#define CONFIG_H261_ENCODER 0
-+#define CONFIG_H263_ENCODER 0
-+#define CONFIG_H263P_ENCODER 0
-+#define CONFIG_HAP_ENCODER 0
-+#define CONFIG_HUFFYUV_ENCODER 0
-+#define CONFIG_JPEG2000_ENCODER 0
-+#define CONFIG_JPEGLS_ENCODER 0
-+#define CONFIG_LJPEG_ENCODER 0
-+#define CONFIG_MAGICYUV_ENCODER 0
-+#define CONFIG_MJPEG_ENCODER 0
-+#define CONFIG_MPEG1VIDEO_ENCODER 0
-+#define CONFIG_MPEG2VIDEO_ENCODER 0
-+#define CONFIG_MPEG4_ENCODER 0
-+#define CONFIG_MSMPEG4V2_ENCODER 0
-+#define CONFIG_MSMPEG4V3_ENCODER 0
-+#define CONFIG_MSVIDEO1_ENCODER 0
-+#define CONFIG_PAM_ENCODER 0
-+#define CONFIG_PBM_ENCODER 0
-+#define CONFIG_PCX_ENCODER 0
-+#define CONFIG_PFM_ENCODER 0
-+#define CONFIG_PGM_ENCODER 0
-+#define CONFIG_PGMYUV_ENCODER 0
-+#define CONFIG_PNG_ENCODER 0
-+#define CONFIG_PPM_ENCODER 0
-+#define CONFIG_PRORES_ENCODER 0
-+#define CONFIG_PRORES_AW_ENCODER 0
-+#define CONFIG_PRORES_KS_ENCODER 0
-+#define CONFIG_QTRLE_ENCODER 0
-+#define CONFIG_R10K_ENCODER 0
-+#define CONFIG_R210_ENCODER 0
-+#define CONFIG_RAWVIDEO_ENCODER 0
-+#define CONFIG_ROQ_ENCODER 0
-+#define CONFIG_RPZA_ENCODER 0
-+#define CONFIG_RV10_ENCODER 0
-+#define CONFIG_RV20_ENCODER 0
-+#define CONFIG_S302M_ENCODER 0
-+#define CONFIG_SGI_ENCODER 0
-+#define CONFIG_SMC_ENCODER 0
-+#define CONFIG_SNOW_ENCODER 0
-+#define CONFIG_SPEEDHQ_ENCODER 0
-+#define CONFIG_SUNRAST_ENCODER 0
-+#define CONFIG_SVQ1_ENCODER 0
-+#define CONFIG_TARGA_ENCODER 0
-+#define CONFIG_TIFF_ENCODER 0
-+#define CONFIG_UTVIDEO_ENCODER 0
-+#define CONFIG_V210_ENCODER 0
-+#define CONFIG_V308_ENCODER 0
-+#define CONFIG_V408_ENCODER 0
-+#define CONFIG_V410_ENCODER 0
-+#define CONFIG_VC2_ENCODER 0
-+#define CONFIG_WRAPPED_AVFRAME_ENCODER 0
-+#define CONFIG_WMV1_ENCODER 0
-+#define CONFIG_WMV2_ENCODER 0
-+#define CONFIG_XBM_ENCODER 0
-+#define CONFIG_XFACE_ENCODER 0
-+#define CONFIG_XWD_ENCODER 0
-+#define CONFIG_Y41P_ENCODER 0
-+#define CONFIG_YUV4_ENCODER 0
-+#define CONFIG_ZLIB_ENCODER 0
-+#define CONFIG_ZMBV_ENCODER 0
-+#define CONFIG_AAC_ENCODER 0
-+#define CONFIG_AC3_ENCODER 0
-+#define CONFIG_AC3_FIXED_ENCODER 0
-+#define CONFIG_ALAC_ENCODER 0
-+#define CONFIG_APTX_ENCODER 0
-+#define CONFIG_APTX_HD_ENCODER 0
-+#define CONFIG_DCA_ENCODER 0
-+#define CONFIG_DFPWM_ENCODER 0
-+#define CONFIG_EAC3_ENCODER 0
-+#define CONFIG_FLAC_ENCODER 0
-+#define CONFIG_G723_1_ENCODER 0
-+#define CONFIG_MLP_ENCODER 0
-+#define CONFIG_MP2_ENCODER 0
-+#define CONFIG_MP2FIXED_ENCODER 0
-+#define CONFIG_NELLYMOSER_ENCODER 0
-+#define CONFIG_OPUS_ENCODER 0
-+#define CONFIG_RA_144_ENCODER 0
-+#define CONFIG_SBC_ENCODER 0
-+#define CONFIG_SONIC_ENCODER 0
-+#define CONFIG_SONIC_LS_ENCODER 0
-+#define CONFIG_TRUEHD_ENCODER 0
-+#define CONFIG_TTA_ENCODER 0
-+#define CONFIG_VORBIS_ENCODER 0
-+#define CONFIG_WAVPACK_ENCODER 0
-+#define CONFIG_WMAV1_ENCODER 0
-+#define CONFIG_WMAV2_ENCODER 0
-+#define CONFIG_PCM_ALAW_ENCODER 0
-+#define CONFIG_PCM_BLURAY_ENCODER 0
-+#define CONFIG_PCM_DVD_ENCODER 0
-+#define CONFIG_PCM_F32BE_ENCODER 0
-+#define CONFIG_PCM_F32LE_ENCODER 0
-+#define CONFIG_PCM_F64BE_ENCODER 0
-+#define CONFIG_PCM_F64LE_ENCODER 0
-+#define CONFIG_PCM_MULAW_ENCODER 0
-+#define CONFIG_PCM_S8_ENCODER 0
-+#define CONFIG_PCM_S8_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S16BE_ENCODER 0
-+#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S16LE_ENCODER 0
-+#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S24BE_ENCODER 0
-+#define CONFIG_PCM_S24DAUD_ENCODER 0
-+#define CONFIG_PCM_S24LE_ENCODER 0
-+#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S32BE_ENCODER 0
-+#define CONFIG_PCM_S32LE_ENCODER 0
-+#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S64BE_ENCODER 0
-+#define CONFIG_PCM_S64LE_ENCODER 0
-+#define CONFIG_PCM_U8_ENCODER 0
-+#define CONFIG_PCM_U16BE_ENCODER 0
-+#define CONFIG_PCM_U16LE_ENCODER 0
-+#define CONFIG_PCM_U24BE_ENCODER 0
-+#define CONFIG_PCM_U24LE_ENCODER 0
-+#define CONFIG_PCM_U32BE_ENCODER 0
-+#define CONFIG_PCM_U32LE_ENCODER 0
-+#define CONFIG_PCM_VIDC_ENCODER 0
-+#define CONFIG_ROQ_DPCM_ENCODER 0
-+#define CONFIG_ADPCM_ADX_ENCODER 0
-+#define CONFIG_ADPCM_ARGO_ENCODER 0
-+#define CONFIG_ADPCM_G722_ENCODER 0
-+#define CONFIG_ADPCM_G726_ENCODER 0
-+#define CONFIG_ADPCM_G726LE_ENCODER 0
-+#define CONFIG_ADPCM_IMA_AMV_ENCODER 0
-+#define CONFIG_ADPCM_IMA_ALP_ENCODER 0
-+#define CONFIG_ADPCM_IMA_APM_ENCODER 0
-+#define CONFIG_ADPCM_IMA_QT_ENCODER 0
-+#define CONFIG_ADPCM_IMA_SSI_ENCODER 0
-+#define CONFIG_ADPCM_IMA_WAV_ENCODER 0
-+#define CONFIG_ADPCM_IMA_WS_ENCODER 0
-+#define CONFIG_ADPCM_MS_ENCODER 0
-+#define CONFIG_ADPCM_SWF_ENCODER 0
-+#define CONFIG_ADPCM_YAMAHA_ENCODER 0
-+#define CONFIG_SSA_ENCODER 0
-+#define CONFIG_ASS_ENCODER 0
-+#define CONFIG_DVBSUB_ENCODER 0
-+#define CONFIG_DVDSUB_ENCODER 0
-+#define CONFIG_MOVTEXT_ENCODER 0
-+#define CONFIG_SRT_ENCODER 0
-+#define CONFIG_SUBRIP_ENCODER 0
-+#define CONFIG_TEXT_ENCODER 0
-+#define CONFIG_TTML_ENCODER 0
-+#define CONFIG_WEBVTT_ENCODER 0
-+#define CONFIG_XSUB_ENCODER 0
-+#define CONFIG_AAC_AT_ENCODER 0
-+#define CONFIG_ALAC_AT_ENCODER 0
-+#define CONFIG_ILBC_AT_ENCODER 0
-+#define CONFIG_PCM_ALAW_AT_ENCODER 0
-+#define CONFIG_PCM_MULAW_AT_ENCODER 0
-+#define CONFIG_LIBAOM_AV1_ENCODER 0
-+#define CONFIG_LIBCODEC2_ENCODER 0
-+#define CONFIG_LIBFDK_AAC_ENCODER 0
-+#define CONFIG_LIBGSM_ENCODER 0
-+#define CONFIG_LIBGSM_MS_ENCODER 0
-+#define CONFIG_LIBILBC_ENCODER 0
-+#define CONFIG_LIBMP3LAME_ENCODER 0
-+#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
-+#define CONFIG_LIBOPENJPEG_ENCODER 0
-+#define CONFIG_LIBOPUS_ENCODER 0
-+#define CONFIG_LIBRAV1E_ENCODER 0
-+#define CONFIG_LIBSHINE_ENCODER 0
-+#define CONFIG_LIBSPEEX_ENCODER 0
-+#define CONFIG_LIBSVTAV1_ENCODER 0
-+#define CONFIG_LIBTHEORA_ENCODER 0
-+#define CONFIG_LIBTWOLAME_ENCODER 0
-+#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
-+#define CONFIG_LIBVORBIS_ENCODER 0
-+#define CONFIG_LIBVPX_VP8_ENCODER 0
-+#define CONFIG_LIBVPX_VP9_ENCODER 0
-+#define CONFIG_LIBWEBP_ANIM_ENCODER 0
-+#define CONFIG_LIBWEBP_ENCODER 0
-+#define CONFIG_LIBX262_ENCODER 0
-+#define CONFIG_LIBX264_ENCODER 0
-+#define CONFIG_LIBX264RGB_ENCODER 0
-+#define CONFIG_LIBX265_ENCODER 0
-+#define CONFIG_LIBXAVS_ENCODER 0
-+#define CONFIG_LIBXAVS2_ENCODER 0
-+#define CONFIG_LIBXVID_ENCODER 0
-+#define CONFIG_AAC_MF_ENCODER 0
-+#define CONFIG_AC3_MF_ENCODER 0
-+#define CONFIG_H263_V4L2M2M_ENCODER 0
-+#define CONFIG_LIBOPENH264_ENCODER 0
-+#define CONFIG_H264_AMF_ENCODER 0
-+#define CONFIG_H264_MF_ENCODER 0
-+#define CONFIG_H264_NVENC_ENCODER 0
-+#define CONFIG_H264_OMX_ENCODER 0
-+#define CONFIG_H264_QSV_ENCODER 0
-+#define CONFIG_H264_V4L2M2M_ENCODER 0
-+#define CONFIG_H264_VAAPI_ENCODER 0
-+#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_HEVC_AMF_ENCODER 0
-+#define CONFIG_HEVC_MF_ENCODER 0
-+#define CONFIG_HEVC_NVENC_ENCODER 0
-+#define CONFIG_HEVC_QSV_ENCODER 0
-+#define CONFIG_HEVC_V4L2M2M_ENCODER 0
-+#define CONFIG_HEVC_VAAPI_ENCODER 0
-+#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_LIBKVAZAAR_ENCODER 0
-+#define CONFIG_MJPEG_QSV_ENCODER 0
-+#define CONFIG_MJPEG_VAAPI_ENCODER 0
-+#define CONFIG_MP3_MF_ENCODER 0
-+#define CONFIG_MPEG2_QSV_ENCODER 0
-+#define CONFIG_MPEG2_VAAPI_ENCODER 0
-+#define CONFIG_MPEG4_OMX_ENCODER 0
-+#define CONFIG_MPEG4_V4L2M2M_ENCODER 0
-+#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_VP8_V4L2M2M_ENCODER 0
-+#define CONFIG_VP8_VAAPI_ENCODER 0
-+#define CONFIG_VP9_VAAPI_ENCODER 0
-+#define CONFIG_VP9_QSV_ENCODER 0
-+#define CONFIG_AV1_D3D11VA_HWACCEL 0
-+#define CONFIG_AV1_D3D11VA2_HWACCEL 0
-+#define CONFIG_AV1_DXVA2_HWACCEL 0
-+#define CONFIG_AV1_NVDEC_HWACCEL 0
-+#define CONFIG_AV1_VAAPI_HWACCEL 0
-+#define CONFIG_H263_VAAPI_HWACCEL 0
-+#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_H264_D3D11VA_HWACCEL 0
-+#define CONFIG_H264_D3D11VA2_HWACCEL 0
-+#define CONFIG_H264_DXVA2_HWACCEL 0
-+#define CONFIG_H264_NVDEC_HWACCEL 0
-+#define CONFIG_H264_VAAPI_HWACCEL 0
-+#define CONFIG_H264_VDPAU_HWACCEL 0
-+#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_HEVC_D3D11VA_HWACCEL 0
-+#define CONFIG_HEVC_D3D11VA2_HWACCEL 0
-+#define CONFIG_HEVC_DXVA2_HWACCEL 0
-+#define CONFIG_HEVC_NVDEC_HWACCEL 0
-+#define CONFIG_HEVC_VAAPI_HWACCEL 0
-+#define CONFIG_HEVC_VDPAU_HWACCEL 0
-+#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MJPEG_NVDEC_HWACCEL 0
-+#define CONFIG_MJPEG_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG1_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG1_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MPEG2_D3D11VA_HWACCEL 0
-+#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0
-+#define CONFIG_MPEG2_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG2_DXVA2_HWACCEL 0
-+#define CONFIG_MPEG2_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG2_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MPEG4_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG4_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG4_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_VC1_D3D11VA_HWACCEL 0
-+#define CONFIG_VC1_D3D11VA2_HWACCEL 0
-+#define CONFIG_VC1_DXVA2_HWACCEL 0
-+#define CONFIG_VC1_NVDEC_HWACCEL 0
-+#define CONFIG_VC1_VAAPI_HWACCEL 0
-+#define CONFIG_VC1_VDPAU_HWACCEL 0
-+#define CONFIG_VP8_NVDEC_HWACCEL 0
-+#define CONFIG_VP8_VAAPI_HWACCEL 0
-+#define CONFIG_VP9_D3D11VA_HWACCEL 0
-+#define CONFIG_VP9_D3D11VA2_HWACCEL 0
-+#define CONFIG_VP9_DXVA2_HWACCEL 0
-+#define CONFIG_VP9_NVDEC_HWACCEL 0
-+#define CONFIG_VP9_VAAPI_HWACCEL 0
-+#define CONFIG_VP9_VDPAU_HWACCEL 0
-+#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_WMV3_D3D11VA_HWACCEL 0
-+#define CONFIG_WMV3_D3D11VA2_HWACCEL 0
-+#define CONFIG_WMV3_DXVA2_HWACCEL 0
-+#define CONFIG_WMV3_NVDEC_HWACCEL 0
-+#define CONFIG_WMV3_VAAPI_HWACCEL 0
-+#define CONFIG_WMV3_VDPAU_HWACCEL 0
-+#define CONFIG_AAC_PARSER 1
-+#define CONFIG_AAC_LATM_PARSER 0
-+#define CONFIG_AC3_PARSER 0
-+#define CONFIG_ADX_PARSER 0
-+#define CONFIG_AMR_PARSER 0
-+#define CONFIG_AV1_PARSER 0
-+#define CONFIG_AVS2_PARSER 0
-+#define CONFIG_AVS3_PARSER 0
-+#define CONFIG_BMP_PARSER 0
-+#define CONFIG_CAVSVIDEO_PARSER 0
-+#define CONFIG_COOK_PARSER 0
-+#define CONFIG_CRI_PARSER 0
-+#define CONFIG_DCA_PARSER 0
-+#define CONFIG_DIRAC_PARSER 0
-+#define CONFIG_DNXHD_PARSER 0
-+#define CONFIG_DOLBY_E_PARSER 0
-+#define CONFIG_DPX_PARSER 0
-+#define CONFIG_DVAUDIO_PARSER 0
-+#define CONFIG_DVBSUB_PARSER 0
-+#define CONFIG_DVDSUB_PARSER 0
-+#define CONFIG_DVD_NAV_PARSER 0
-+#define CONFIG_FLAC_PARSER 1
-+#define CONFIG_G723_1_PARSER 0
-+#define CONFIG_G729_PARSER 0
-+#define CONFIG_GIF_PARSER 0
-+#define CONFIG_GSM_PARSER 0
-+#define CONFIG_H261_PARSER 0
-+#define CONFIG_H263_PARSER 0
-+#define CONFIG_H264_PARSER 1
-+#define CONFIG_HEVC_PARSER 0
-+#define CONFIG_IPU_PARSER 0
-+#define CONFIG_JPEG2000_PARSER 0
-+#define CONFIG_MJPEG_PARSER 0
-+#define CONFIG_MLP_PARSER 0
-+#define CONFIG_MPEG4VIDEO_PARSER 0
-+#define CONFIG_MPEGAUDIO_PARSER 1
-+#define CONFIG_MPEGVIDEO_PARSER 0
-+#define CONFIG_OPUS_PARSER 1
-+#define CONFIG_PNG_PARSER 0
-+#define CONFIG_PNM_PARSER 0
-+#define CONFIG_RV30_PARSER 0
-+#define CONFIG_RV40_PARSER 0
-+#define CONFIG_SBC_PARSER 0
-+#define CONFIG_SIPR_PARSER 0
-+#define CONFIG_TAK_PARSER 0
-+#define CONFIG_VC1_PARSER 0
-+#define CONFIG_VORBIS_PARSER 1
-+#define CONFIG_VP3_PARSER 1
-+#define CONFIG_VP8_PARSER 1
-+#define CONFIG_VP9_PARSER 1
-+#define CONFIG_WEBP_PARSER 0
-+#define CONFIG_XBM_PARSER 0
-+#define CONFIG_XMA_PARSER 0
-+#define CONFIG_ALSA_INDEV 0
-+#define CONFIG_ANDROID_CAMERA_INDEV 0
-+#define CONFIG_AVFOUNDATION_INDEV 0
-+#define CONFIG_BKTR_INDEV 0
-+#define CONFIG_DECKLINK_INDEV 0
-+#define CONFIG_DSHOW_INDEV 0
-+#define CONFIG_FBDEV_INDEV 0
-+#define CONFIG_GDIGRAB_INDEV 0
-+#define CONFIG_IEC61883_INDEV 0
-+#define CONFIG_JACK_INDEV 0
-+#define CONFIG_KMSGRAB_INDEV 0
-+#define CONFIG_LAVFI_INDEV 0
-+#define CONFIG_OPENAL_INDEV 0
-+#define CONFIG_OSS_INDEV 0
-+#define CONFIG_PULSE_INDEV 0
-+#define CONFIG_SNDIO_INDEV 0
-+#define CONFIG_V4L2_INDEV 0
-+#define CONFIG_VFWCAP_INDEV 0
-+#define CONFIG_XCBGRAB_INDEV 0
-+#define CONFIG_LIBCDIO_INDEV 0
-+#define CONFIG_LIBDC1394_INDEV 0
-+#define CONFIG_ALSA_OUTDEV 0
-+#define CONFIG_AUDIOTOOLBOX_OUTDEV 0
-+#define CONFIG_CACA_OUTDEV 0
-+#define CONFIG_DECKLINK_OUTDEV 0
-+#define CONFIG_FBDEV_OUTDEV 0
-+#define CONFIG_OPENGL_OUTDEV 0
-+#define CONFIG_OSS_OUTDEV 0
-+#define CONFIG_PULSE_OUTDEV 0
-+#define CONFIG_SDL2_OUTDEV 0
-+#define CONFIG_SNDIO_OUTDEV 0
-+#define CONFIG_V4L2_OUTDEV 0
-+#define CONFIG_XV_OUTDEV 0
-+#define CONFIG_ABENCH_FILTER 0
-+#define CONFIG_ACOMPRESSOR_FILTER 0
-+#define CONFIG_ACONTRAST_FILTER 0
-+#define CONFIG_ACOPY_FILTER 0
-+#define CONFIG_ACUE_FILTER 0
-+#define CONFIG_ACROSSFADE_FILTER 0
-+#define CONFIG_ACROSSOVER_FILTER 0
-+#define CONFIG_ACRUSHER_FILTER 0
-+#define CONFIG_ADECLICK_FILTER 0
-+#define CONFIG_ADECLIP_FILTER 0
-+#define CONFIG_ADECORRELATE_FILTER 0
-+#define CONFIG_ADELAY_FILTER 0
-+#define CONFIG_ADENORM_FILTER 0
-+#define CONFIG_ADERIVATIVE_FILTER 0
-+#define CONFIG_ADYNAMICEQUALIZER_FILTER 0
-+#define CONFIG_ADYNAMICSMOOTH_FILTER 0
-+#define CONFIG_AECHO_FILTER 0
-+#define CONFIG_AEMPHASIS_FILTER 0
-+#define CONFIG_AEVAL_FILTER 0
-+#define CONFIG_AEXCITER_FILTER 0
-+#define CONFIG_AFADE_FILTER 0
-+#define CONFIG_AFFTDN_FILTER 0
-+#define CONFIG_AFFTFILT_FILTER 0
-+#define CONFIG_AFIR_FILTER 0
-+#define CONFIG_AFORMAT_FILTER 0
-+#define CONFIG_AFREQSHIFT_FILTER 0
-+#define CONFIG_AFWTDN_FILTER 0
-+#define CONFIG_AGATE_FILTER 0
-+#define CONFIG_AIIR_FILTER 0
-+#define CONFIG_AINTEGRAL_FILTER 0
-+#define CONFIG_AINTERLEAVE_FILTER 0
-+#define CONFIG_ALATENCY_FILTER 0
-+#define CONFIG_ALIMITER_FILTER 0
-+#define CONFIG_ALLPASS_FILTER 0
-+#define CONFIG_ALOOP_FILTER 0
-+#define CONFIG_AMERGE_FILTER 0
-+#define CONFIG_AMETADATA_FILTER 0
-+#define CONFIG_AMIX_FILTER 0
-+#define CONFIG_AMULTIPLY_FILTER 0
-+#define CONFIG_ANEQUALIZER_FILTER 0
-+#define CONFIG_ANLMDN_FILTER 0
-+#define CONFIG_ANLMF_FILTER 0
-+#define CONFIG_ANLMS_FILTER 0
-+#define CONFIG_ANULL_FILTER 0
-+#define CONFIG_APAD_FILTER 0
-+#define CONFIG_APERMS_FILTER 0
-+#define CONFIG_APHASER_FILTER 0
-+#define CONFIG_APHASESHIFT_FILTER 0
-+#define CONFIG_APSYCLIP_FILTER 0
-+#define CONFIG_APULSATOR_FILTER 0
-+#define CONFIG_AREALTIME_FILTER 0
-+#define CONFIG_ARESAMPLE_FILTER 0
-+#define CONFIG_AREVERSE_FILTER 0
-+#define CONFIG_ARNNDN_FILTER 0
-+#define CONFIG_ASDR_FILTER 0
-+#define CONFIG_ASEGMENT_FILTER 0
-+#define CONFIG_ASELECT_FILTER 0
-+#define CONFIG_ASENDCMD_FILTER 0
-+#define CONFIG_ASETNSAMPLES_FILTER 0
-+#define CONFIG_ASETPTS_FILTER 0
-+#define CONFIG_ASETRATE_FILTER 0
-+#define CONFIG_ASETTB_FILTER 0
-+#define CONFIG_ASHOWINFO_FILTER 0
-+#define CONFIG_ASIDEDATA_FILTER 0
-+#define CONFIG_ASOFTCLIP_FILTER 0
-+#define CONFIG_ASPECTRALSTATS_FILTER 0
-+#define CONFIG_ASPLIT_FILTER 0
-+#define CONFIG_ASR_FILTER 0
-+#define CONFIG_ASTATS_FILTER 0
-+#define CONFIG_ASTREAMSELECT_FILTER 0
-+#define CONFIG_ASUBBOOST_FILTER 0
-+#define CONFIG_ASUBCUT_FILTER 0
-+#define CONFIG_ASUPERCUT_FILTER 0
-+#define CONFIG_ASUPERPASS_FILTER 0
-+#define CONFIG_ASUPERSTOP_FILTER 0
-+#define CONFIG_ATEMPO_FILTER 0
-+#define CONFIG_ATILT_FILTER 0
-+#define CONFIG_ATRIM_FILTER 0
-+#define CONFIG_AXCORRELATE_FILTER 0
-+#define CONFIG_AZMQ_FILTER 0
-+#define CONFIG_BANDPASS_FILTER 0
-+#define CONFIG_BANDREJECT_FILTER 0
-+#define CONFIG_BASS_FILTER 0
-+#define CONFIG_BIQUAD_FILTER 0
-+#define CONFIG_BS2B_FILTER 0
-+#define CONFIG_CHANNELMAP_FILTER 0
-+#define CONFIG_CHANNELSPLIT_FILTER 0
-+#define CONFIG_CHORUS_FILTER 0
-+#define CONFIG_COMPAND_FILTER 0
-+#define CONFIG_COMPENSATIONDELAY_FILTER 0
-+#define CONFIG_CROSSFEED_FILTER 0
-+#define CONFIG_CRYSTALIZER_FILTER 0
-+#define CONFIG_DCSHIFT_FILTER 0
-+#define CONFIG_DEESSER_FILTER 0
-+#define CONFIG_DIALOGUENHANCE_FILTER 0
-+#define CONFIG_DRMETER_FILTER 0
-+#define CONFIG_DYNAUDNORM_FILTER 0
-+#define CONFIG_EARWAX_FILTER 0
-+#define CONFIG_EBUR128_FILTER 0
-+#define CONFIG_EQUALIZER_FILTER 0
-+#define CONFIG_EXTRASTEREO_FILTER 0
-+#define CONFIG_FIREQUALIZER_FILTER 0
-+#define CONFIG_FLANGER_FILTER 0
-+#define CONFIG_HAAS_FILTER 0
-+#define CONFIG_HDCD_FILTER 0
-+#define CONFIG_HEADPHONE_FILTER 0
-+#define CONFIG_HIGHPASS_FILTER 0
-+#define CONFIG_HIGHSHELF_FILTER 0
-+#define CONFIG_JOIN_FILTER 0
-+#define CONFIG_LADSPA_FILTER 0
-+#define CONFIG_LOUDNORM_FILTER 0
-+#define CONFIG_LOWPASS_FILTER 0
-+#define CONFIG_LOWSHELF_FILTER 0
-+#define CONFIG_LV2_FILTER 0
-+#define CONFIG_MCOMPAND_FILTER 0
-+#define CONFIG_PAN_FILTER 0
-+#define CONFIG_REPLAYGAIN_FILTER 0
-+#define CONFIG_RUBBERBAND_FILTER 0
-+#define CONFIG_SIDECHAINCOMPRESS_FILTER 0
-+#define CONFIG_SIDECHAINGATE_FILTER 0
-+#define CONFIG_SILENCEDETECT_FILTER 0
-+#define CONFIG_SILENCEREMOVE_FILTER 0
-+#define CONFIG_SOFALIZER_FILTER 0
-+#define CONFIG_SPEECHNORM_FILTER 0
-+#define CONFIG_STEREOTOOLS_FILTER 0
-+#define CONFIG_STEREOWIDEN_FILTER 0
-+#define CONFIG_SUPEREQUALIZER_FILTER 0
-+#define CONFIG_SURROUND_FILTER 0
-+#define CONFIG_TREBLE_FILTER 0
-+#define CONFIG_TREMOLO_FILTER 0
-+#define CONFIG_VIBRATO_FILTER 0
-+#define CONFIG_VOLUME_FILTER 0
-+#define CONFIG_VOLUMEDETECT_FILTER 0
-+#define CONFIG_AEVALSRC_FILTER 0
-+#define CONFIG_AFIRSRC_FILTER 0
-+#define CONFIG_ANOISESRC_FILTER 0
-+#define CONFIG_ANULLSRC_FILTER 0
-+#define CONFIG_FLITE_FILTER 0
-+#define CONFIG_HILBERT_FILTER 0
-+#define CONFIG_SINC_FILTER 0
-+#define CONFIG_SINE_FILTER 0
-+#define CONFIG_ANULLSINK_FILTER 0
-+#define CONFIG_ADDROI_FILTER 0
-+#define CONFIG_ALPHAEXTRACT_FILTER 0
-+#define CONFIG_ALPHAMERGE_FILTER 0
-+#define CONFIG_AMPLIFY_FILTER 0
-+#define CONFIG_ASS_FILTER 0
-+#define CONFIG_ATADENOISE_FILTER 0
-+#define CONFIG_AVGBLUR_FILTER 0
-+#define CONFIG_AVGBLUR_OPENCL_FILTER 0
-+#define CONFIG_AVGBLUR_VULKAN_FILTER 0
-+#define CONFIG_BBOX_FILTER 0
-+#define CONFIG_BENCH_FILTER 0
-+#define CONFIG_BILATERAL_FILTER 0
-+#define CONFIG_BITPLANENOISE_FILTER 0
-+#define CONFIG_BLACKDETECT_FILTER 0
-+#define CONFIG_BLACKFRAME_FILTER 0
-+#define CONFIG_BLEND_FILTER 0
-+#define CONFIG_BLEND_VULKAN_FILTER 0
-+#define CONFIG_BM3D_FILTER 0
-+#define CONFIG_BOXBLUR_FILTER 0
-+#define CONFIG_BOXBLUR_OPENCL_FILTER 0
-+#define CONFIG_BWDIF_FILTER 0
-+#define CONFIG_CAS_FILTER 0
-+#define CONFIG_CHROMABER_VULKAN_FILTER 0
-+#define CONFIG_CHROMAHOLD_FILTER 0
-+#define CONFIG_CHROMAKEY_FILTER 0
-+#define CONFIG_CHROMANR_FILTER 0
-+#define CONFIG_CHROMASHIFT_FILTER 0
-+#define CONFIG_CIESCOPE_FILTER 0
-+#define CONFIG_CODECVIEW_FILTER 0
-+#define CONFIG_COLORBALANCE_FILTER 0
-+#define CONFIG_COLORCHANNELMIXER_FILTER 0
-+#define CONFIG_COLORCONTRAST_FILTER 0
-+#define CONFIG_COLORCORRECT_FILTER 0
-+#define CONFIG_COLORIZE_FILTER 0
-+#define CONFIG_COLORKEY_FILTER 0
-+#define CONFIG_COLORKEY_OPENCL_FILTER 0
-+#define CONFIG_COLORHOLD_FILTER 0
-+#define CONFIG_COLORLEVELS_FILTER 0
-+#define CONFIG_COLORMATRIX_FILTER 0
-+#define CONFIG_COLORSPACE_FILTER 0
-+#define CONFIG_COLORTEMPERATURE_FILTER 0
-+#define CONFIG_CONVOLUTION_FILTER 0
-+#define CONFIG_CONVOLUTION_OPENCL_FILTER 0
-+#define CONFIG_CONVOLVE_FILTER 0
-+#define CONFIG_COPY_FILTER 0
-+#define CONFIG_COREIMAGE_FILTER 0
-+#define CONFIG_COVER_RECT_FILTER 0
-+#define CONFIG_CROP_FILTER 0
-+#define CONFIG_CROPDETECT_FILTER 0
-+#define CONFIG_CUE_FILTER 0
-+#define CONFIG_CURVES_FILTER 0
-+#define CONFIG_DATASCOPE_FILTER 0
-+#define CONFIG_DBLUR_FILTER 0
-+#define CONFIG_DCTDNOIZ_FILTER 0
-+#define CONFIG_DEBAND_FILTER 0
-+#define CONFIG_DEBLOCK_FILTER 0
-+#define CONFIG_DECIMATE_FILTER 0
-+#define CONFIG_DECONVOLVE_FILTER 0
-+#define CONFIG_DEDOT_FILTER 0
-+#define CONFIG_DEFLATE_FILTER 0
-+#define CONFIG_DEFLICKER_FILTER 0
-+#define CONFIG_DEINTERLACE_QSV_FILTER 0
-+#define CONFIG_DEINTERLACE_VAAPI_FILTER 0
-+#define CONFIG_DEJUDDER_FILTER 0
-+#define CONFIG_DELOGO_FILTER 0
-+#define CONFIG_DENOISE_VAAPI_FILTER 0
-+#define CONFIG_DERAIN_FILTER 0
-+#define CONFIG_DESHAKE_FILTER 0
-+#define CONFIG_DESHAKE_OPENCL_FILTER 0
-+#define CONFIG_DESPILL_FILTER 0
-+#define CONFIG_DETELECINE_FILTER 0
-+#define CONFIG_DILATION_FILTER 0
-+#define CONFIG_DILATION_OPENCL_FILTER 0
-+#define CONFIG_DISPLACE_FILTER 0
-+#define CONFIG_DNN_CLASSIFY_FILTER 0
-+#define CONFIG_DNN_DETECT_FILTER 0
-+#define CONFIG_DNN_PROCESSING_FILTER 0
-+#define CONFIG_DOUBLEWEAVE_FILTER 0
-+#define CONFIG_DRAWBOX_FILTER 0
-+#define CONFIG_DRAWGRAPH_FILTER 0
-+#define CONFIG_DRAWGRID_FILTER 0
-+#define CONFIG_DRAWTEXT_FILTER 0
-+#define CONFIG_EDGEDETECT_FILTER 0
-+#define CONFIG_ELBG_FILTER 0
-+#define CONFIG_ENTROPY_FILTER 0
-+#define CONFIG_EPX_FILTER 0
-+#define CONFIG_EQ_FILTER 0
-+#define CONFIG_EROSION_FILTER 0
-+#define CONFIG_EROSION_OPENCL_FILTER 0
-+#define CONFIG_ESTDIF_FILTER 0
-+#define CONFIG_EXPOSURE_FILTER 0
-+#define CONFIG_EXTRACTPLANES_FILTER 0
-+#define CONFIG_FADE_FILTER 0
-+#define CONFIG_FFTDNOIZ_FILTER 0
-+#define CONFIG_FFTFILT_FILTER 0
-+#define CONFIG_FIELD_FILTER 0
-+#define CONFIG_FIELDHINT_FILTER 0
-+#define CONFIG_FIELDMATCH_FILTER 0
-+#define CONFIG_FIELDORDER_FILTER 0
-+#define CONFIG_FILLBORDERS_FILTER 0
-+#define CONFIG_FIND_RECT_FILTER 0
-+#define CONFIG_FLIP_VULKAN_FILTER 0
-+#define CONFIG_FLOODFILL_FILTER 0
-+#define CONFIG_FORMAT_FILTER 0
-+#define CONFIG_FPS_FILTER 0
-+#define CONFIG_FRAMEPACK_FILTER 0
-+#define CONFIG_FRAMERATE_FILTER 0
-+#define CONFIG_FRAMESTEP_FILTER 0
-+#define CONFIG_FREEZEDETECT_FILTER 0
-+#define CONFIG_FREEZEFRAMES_FILTER 0
-+#define CONFIG_FREI0R_FILTER 0
-+#define CONFIG_FSPP_FILTER 0
-+#define CONFIG_GBLUR_FILTER 0
-+#define CONFIG_GBLUR_VULKAN_FILTER 0
-+#define CONFIG_GEQ_FILTER 0
-+#define CONFIG_GRADFUN_FILTER 0
-+#define CONFIG_GRAPHMONITOR_FILTER 0
-+#define CONFIG_GRAYWORLD_FILTER 0
-+#define CONFIG_GREYEDGE_FILTER 0
-+#define CONFIG_GUIDED_FILTER 0
-+#define CONFIG_HALDCLUT_FILTER 0
-+#define CONFIG_HFLIP_FILTER 0
-+#define CONFIG_HFLIP_VULKAN_FILTER 0
-+#define CONFIG_HISTEQ_FILTER 0
-+#define CONFIG_HISTOGRAM_FILTER 0
-+#define CONFIG_HQDN3D_FILTER 0
-+#define CONFIG_HQX_FILTER 0
-+#define CONFIG_HSTACK_FILTER 0
-+#define CONFIG_HSVHOLD_FILTER 0
-+#define CONFIG_HSVKEY_FILTER 0
-+#define CONFIG_HUE_FILTER 0
-+#define CONFIG_HUESATURATION_FILTER 0
-+#define CONFIG_HWDOWNLOAD_FILTER 0
-+#define CONFIG_HWMAP_FILTER 0
-+#define CONFIG_HWUPLOAD_FILTER 0
-+#define CONFIG_HWUPLOAD_CUDA_FILTER 0
-+#define CONFIG_HYSTERESIS_FILTER 0
-+#define CONFIG_IDENTITY_FILTER 0
-+#define CONFIG_IDET_FILTER 0
-+#define CONFIG_IL_FILTER 0
-+#define CONFIG_INFLATE_FILTER 0
-+#define CONFIG_INTERLACE_FILTER 0
-+#define CONFIG_INTERLEAVE_FILTER 0
-+#define CONFIG_KERNDEINT_FILTER 0
-+#define CONFIG_KIRSCH_FILTER 0
-+#define CONFIG_LAGFUN_FILTER 0
-+#define CONFIG_LATENCY_FILTER 0
-+#define CONFIG_LENSCORRECTION_FILTER 0
-+#define CONFIG_LENSFUN_FILTER 0
-+#define CONFIG_LIBPLACEBO_FILTER 0
-+#define CONFIG_LIBVMAF_FILTER 0
-+#define CONFIG_LIMITDIFF_FILTER 0
-+#define CONFIG_LIMITER_FILTER 0
-+#define CONFIG_LOOP_FILTER 0
-+#define CONFIG_LUMAKEY_FILTER 0
-+#define CONFIG_LUT_FILTER 0
-+#define CONFIG_LUT1D_FILTER 0
-+#define CONFIG_LUT2_FILTER 0
-+#define CONFIG_LUT3D_FILTER 0
-+#define CONFIG_LUTRGB_FILTER 0
-+#define CONFIG_LUTYUV_FILTER 0
-+#define CONFIG_MASKEDCLAMP_FILTER 0
-+#define CONFIG_MASKEDMAX_FILTER 0
-+#define CONFIG_MASKEDMERGE_FILTER 0
-+#define CONFIG_MASKEDMIN_FILTER 0
-+#define CONFIG_MASKEDTHRESHOLD_FILTER 0
-+#define CONFIG_MASKFUN_FILTER 0
-+#define CONFIG_MCDEINT_FILTER 0
-+#define CONFIG_MEDIAN_FILTER 0
-+#define CONFIG_MERGEPLANES_FILTER 0
-+#define CONFIG_MESTIMATE_FILTER 0
-+#define CONFIG_METADATA_FILTER 0
-+#define CONFIG_MIDEQUALIZER_FILTER 0
-+#define CONFIG_MINTERPOLATE_FILTER 0
-+#define CONFIG_MIX_FILTER 0
-+#define CONFIG_MONOCHROME_FILTER 0
-+#define CONFIG_MORPHO_FILTER 0
-+#define CONFIG_MPDECIMATE_FILTER 0
-+#define CONFIG_MSAD_FILTER 0
-+#define CONFIG_NEGATE_FILTER 0
-+#define CONFIG_NLMEANS_FILTER 0
-+#define CONFIG_NLMEANS_OPENCL_FILTER 0
-+#define CONFIG_NNEDI_FILTER 0
-+#define CONFIG_NOFORMAT_FILTER 0
-+#define CONFIG_NOISE_FILTER 0
-+#define CONFIG_NORMALIZE_FILTER 0
-+#define CONFIG_NULL_FILTER 0
-+#define CONFIG_OCR_FILTER 0
-+#define CONFIG_OCV_FILTER 0
-+#define CONFIG_OSCILLOSCOPE_FILTER 0
-+#define CONFIG_OVERLAY_FILTER 0
-+#define CONFIG_OVERLAY_OPENCL_FILTER 0
-+#define CONFIG_OVERLAY_QSV_FILTER 0
-+#define CONFIG_OVERLAY_VAAPI_FILTER 0
-+#define CONFIG_OVERLAY_VULKAN_FILTER 0
-+#define CONFIG_OVERLAY_CUDA_FILTER 0
-+#define CONFIG_OWDENOISE_FILTER 0
-+#define CONFIG_PAD_FILTER 0
-+#define CONFIG_PAD_OPENCL_FILTER 0
-+#define CONFIG_PALETTEGEN_FILTER 0
-+#define CONFIG_PALETTEUSE_FILTER 0
-+#define CONFIG_PERMS_FILTER 0
-+#define CONFIG_PERSPECTIVE_FILTER 0
-+#define CONFIG_PHASE_FILTER 0
-+#define CONFIG_PHOTOSENSITIVITY_FILTER 0
-+#define CONFIG_PIXDESCTEST_FILTER 0
-+#define CONFIG_PIXSCOPE_FILTER 0
-+#define CONFIG_PP_FILTER 0
-+#define CONFIG_PP7_FILTER 0
-+#define CONFIG_PREMULTIPLY_FILTER 0
-+#define CONFIG_PREWITT_FILTER 0
-+#define CONFIG_PREWITT_OPENCL_FILTER 0
-+#define CONFIG_PROCAMP_VAAPI_FILTER 0
-+#define CONFIG_PROGRAM_OPENCL_FILTER 0
-+#define CONFIG_PSEUDOCOLOR_FILTER 0
-+#define CONFIG_PSNR_FILTER 0
-+#define CONFIG_PULLUP_FILTER 0
-+#define CONFIG_QP_FILTER 0
-+#define CONFIG_RANDOM_FILTER 0
-+#define CONFIG_READEIA608_FILTER 0
-+#define CONFIG_READVITC_FILTER 0
-+#define CONFIG_REALTIME_FILTER 0
-+#define CONFIG_REMAP_FILTER 0
-+#define CONFIG_REMOVEGRAIN_FILTER 0
-+#define CONFIG_REMOVELOGO_FILTER 0
-+#define CONFIG_REPEATFIELDS_FILTER 0
-+#define CONFIG_REVERSE_FILTER 0
-+#define CONFIG_RGBASHIFT_FILTER 0
-+#define CONFIG_ROBERTS_FILTER 0
-+#define CONFIG_ROBERTS_OPENCL_FILTER 0
-+#define CONFIG_ROTATE_FILTER 0
-+#define CONFIG_SAB_FILTER 0
-+#define CONFIG_SCALE_FILTER 0
-+#define CONFIG_SCALE_CUDA_FILTER 0
-+#define CONFIG_SCALE_NPP_FILTER 0
-+#define CONFIG_SCALE_QSV_FILTER 0
-+#define CONFIG_SCALE_VAAPI_FILTER 0
-+#define CONFIG_SCALE_VULKAN_FILTER 0
-+#define CONFIG_SCALE2REF_FILTER 0
-+#define CONFIG_SCALE2REF_NPP_FILTER 0
-+#define CONFIG_SCDET_FILTER 0
-+#define CONFIG_SCHARR_FILTER 0
-+#define CONFIG_SCROLL_FILTER 0
-+#define CONFIG_SEGMENT_FILTER 0
-+#define CONFIG_SELECT_FILTER 0
-+#define CONFIG_SELECTIVECOLOR_FILTER 0
-+#define CONFIG_SENDCMD_FILTER 0
-+#define CONFIG_SEPARATEFIELDS_FILTER 0
-+#define CONFIG_SETDAR_FILTER 0
-+#define CONFIG_SETFIELD_FILTER 0
-+#define CONFIG_SETPARAMS_FILTER 0
-+#define CONFIG_SETPTS_FILTER 0
-+#define CONFIG_SETRANGE_FILTER 0
-+#define CONFIG_SETSAR_FILTER 0
-+#define CONFIG_SETTB_FILTER 0
-+#define CONFIG_SHARPEN_NPP_FILTER 0
-+#define CONFIG_SHARPNESS_VAAPI_FILTER 0
-+#define CONFIG_SHEAR_FILTER 0
-+#define CONFIG_SHOWINFO_FILTER 0
-+#define CONFIG_SHOWPALETTE_FILTER 0
-+#define CONFIG_SHUFFLEFRAMES_FILTER 0
-+#define CONFIG_SHUFFLEPIXELS_FILTER 0
-+#define CONFIG_SHUFFLEPLANES_FILTER 0
-+#define CONFIG_SIDEDATA_FILTER 0
-+#define CONFIG_SIGNALSTATS_FILTER 0
-+#define CONFIG_SIGNATURE_FILTER 0
-+#define CONFIG_SMARTBLUR_FILTER 0
-+#define CONFIG_SOBEL_FILTER 0
-+#define CONFIG_SOBEL_OPENCL_FILTER 0
-+#define CONFIG_SPLIT_FILTER 0
-+#define CONFIG_SPP_FILTER 0
-+#define CONFIG_SR_FILTER 0
-+#define CONFIG_SSIM_FILTER 0
-+#define CONFIG_STEREO3D_FILTER 0
-+#define CONFIG_STREAMSELECT_FILTER 0
-+#define CONFIG_SUBTITLES_FILTER 0
-+#define CONFIG_SUPER2XSAI_FILTER 0
-+#define CONFIG_SWAPRECT_FILTER 0
-+#define CONFIG_SWAPUV_FILTER 0
-+#define CONFIG_TBLEND_FILTER 0
-+#define CONFIG_TELECINE_FILTER 0
-+#define CONFIG_THISTOGRAM_FILTER 0
-+#define CONFIG_THRESHOLD_FILTER 0
-+#define CONFIG_THUMBNAIL_FILTER 0
-+#define CONFIG_THUMBNAIL_CUDA_FILTER 0
-+#define CONFIG_TILE_FILTER 0
-+#define CONFIG_TINTERLACE_FILTER 0
-+#define CONFIG_TLUT2_FILTER 0
-+#define CONFIG_TMEDIAN_FILTER 0
-+#define CONFIG_TMIDEQUALIZER_FILTER 0
-+#define CONFIG_TMIX_FILTER 0
-+#define CONFIG_TONEMAP_FILTER 0
-+#define CONFIG_TONEMAP_OPENCL_FILTER 0
-+#define CONFIG_TONEMAP_VAAPI_FILTER 0
-+#define CONFIG_TPAD_FILTER 0
-+#define CONFIG_TRANSPOSE_FILTER 0
-+#define CONFIG_TRANSPOSE_NPP_FILTER 0
-+#define CONFIG_TRANSPOSE_OPENCL_FILTER 0
-+#define CONFIG_TRANSPOSE_VAAPI_FILTER 0
-+#define CONFIG_TRANSPOSE_VULKAN_FILTER 0
-+#define CONFIG_TRIM_FILTER 0
-+#define CONFIG_UNPREMULTIPLY_FILTER 0
-+#define CONFIG_UNSHARP_FILTER 0
-+#define CONFIG_UNSHARP_OPENCL_FILTER 0
-+#define CONFIG_UNTILE_FILTER 0
-+#define CONFIG_USPP_FILTER 0
-+#define CONFIG_V360_FILTER 0
-+#define CONFIG_VAGUEDENOISER_FILTER 0
-+#define CONFIG_VARBLUR_FILTER 0
-+#define CONFIG_VECTORSCOPE_FILTER 0
-+#define CONFIG_VFLIP_FILTER 0
-+#define CONFIG_VFLIP_VULKAN_FILTER 0
-+#define CONFIG_VFRDET_FILTER 0
-+#define CONFIG_VIBRANCE_FILTER 0
-+#define CONFIG_VIDSTABDETECT_FILTER 0
-+#define CONFIG_VIDSTABTRANSFORM_FILTER 0
-+#define CONFIG_VIF_FILTER 0
-+#define CONFIG_VIGNETTE_FILTER 0
-+#define CONFIG_VMAFMOTION_FILTER 0
-+#define CONFIG_VPP_QSV_FILTER 0
-+#define CONFIG_VSTACK_FILTER 0
-+#define CONFIG_W3FDIF_FILTER 0
-+#define CONFIG_WAVEFORM_FILTER 0
-+#define CONFIG_WEAVE_FILTER 0
-+#define CONFIG_XBR_FILTER 0
-+#define CONFIG_XCORRELATE_FILTER 0
-+#define CONFIG_XFADE_FILTER 0
-+#define CONFIG_XFADE_OPENCL_FILTER 0
-+#define CONFIG_XMEDIAN_FILTER 0
-+#define CONFIG_XSTACK_FILTER 0
-+#define CONFIG_YADIF_FILTER 0
-+#define CONFIG_YADIF_CUDA_FILTER 0
-+#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0
-+#define CONFIG_YAEPBLUR_FILTER 0
-+#define CONFIG_ZMQ_FILTER 0
-+#define CONFIG_ZOOMPAN_FILTER 0
-+#define CONFIG_ZSCALE_FILTER 0
-+#define CONFIG_ALLRGB_FILTER 0
-+#define CONFIG_ALLYUV_FILTER 0
-+#define CONFIG_CELLAUTO_FILTER 0
-+#define CONFIG_COLOR_FILTER 0
-+#define CONFIG_COLORSPECTRUM_FILTER 0
-+#define CONFIG_COREIMAGESRC_FILTER 0
-+#define CONFIG_FREI0R_SRC_FILTER 0
-+#define CONFIG_GRADIENTS_FILTER 0
-+#define CONFIG_HALDCLUTSRC_FILTER 0
-+#define CONFIG_LIFE_FILTER 0
-+#define CONFIG_MANDELBROT_FILTER 0
-+#define CONFIG_MPTESTSRC_FILTER 0
-+#define CONFIG_NULLSRC_FILTER 0
-+#define CONFIG_OPENCLSRC_FILTER 0
-+#define CONFIG_PAL75BARS_FILTER 0
-+#define CONFIG_PAL100BARS_FILTER 0
-+#define CONFIG_RGBTESTSRC_FILTER 0
-+#define CONFIG_SIERPINSKI_FILTER 0
-+#define CONFIG_SMPTEBARS_FILTER 0
-+#define CONFIG_SMPTEHDBARS_FILTER 0
-+#define CONFIG_TESTSRC_FILTER 0
-+#define CONFIG_TESTSRC2_FILTER 0
-+#define CONFIG_YUVTESTSRC_FILTER 0
-+#define CONFIG_NULLSINK_FILTER 0
-+#define CONFIG_ABITSCOPE_FILTER 0
-+#define CONFIG_ADRAWGRAPH_FILTER 0
-+#define CONFIG_AGRAPHMONITOR_FILTER 0
-+#define CONFIG_AHISTOGRAM_FILTER 0
-+#define CONFIG_APHASEMETER_FILTER 0
-+#define CONFIG_AVECTORSCOPE_FILTER 0
-+#define CONFIG_CONCAT_FILTER 0
-+#define CONFIG_SHOWCQT_FILTER 0
-+#define CONFIG_SHOWFREQS_FILTER 0
-+#define CONFIG_SHOWSPATIAL_FILTER 0
-+#define CONFIG_SHOWSPECTRUM_FILTER 0
-+#define CONFIG_SHOWSPECTRUMPIC_FILTER 0
-+#define CONFIG_SHOWVOLUME_FILTER 0
-+#define CONFIG_SHOWWAVES_FILTER 0
-+#define CONFIG_SHOWWAVESPIC_FILTER 0
-+#define CONFIG_SPECTRUMSYNTH_FILTER 0
-+#define CONFIG_AMOVIE_FILTER 0
-+#define CONFIG_MOVIE_FILTER 0
-+#define CONFIG_AFIFO_FILTER 0
-+#define CONFIG_FIFO_FILTER 0
-+#define CONFIG_AA_DEMUXER 0
-+#define CONFIG_AAC_DEMUXER 1
-+#define CONFIG_AAX_DEMUXER 0
-+#define CONFIG_AC3_DEMUXER 0
-+#define CONFIG_ACE_DEMUXER 0
-+#define CONFIG_ACM_DEMUXER 0
-+#define CONFIG_ACT_DEMUXER 0
-+#define CONFIG_ADF_DEMUXER 0
-+#define CONFIG_ADP_DEMUXER 0
-+#define CONFIG_ADS_DEMUXER 0
-+#define CONFIG_ADX_DEMUXER 0
-+#define CONFIG_AEA_DEMUXER 0
-+#define CONFIG_AFC_DEMUXER 0
-+#define CONFIG_AIFF_DEMUXER 0
-+#define CONFIG_AIX_DEMUXER 0
-+#define CONFIG_ALP_DEMUXER 0
-+#define CONFIG_AMR_DEMUXER 0
-+#define CONFIG_AMRNB_DEMUXER 0
-+#define CONFIG_AMRWB_DEMUXER 0
-+#define CONFIG_ANM_DEMUXER 0
-+#define CONFIG_APC_DEMUXER 0
-+#define CONFIG_APE_DEMUXER 0
-+#define CONFIG_APM_DEMUXER 0
-+#define CONFIG_APNG_DEMUXER 0
-+#define CONFIG_APTX_DEMUXER 0
-+#define CONFIG_APTX_HD_DEMUXER 0
-+#define CONFIG_AQTITLE_DEMUXER 0
-+#define CONFIG_ARGO_ASF_DEMUXER 0
-+#define CONFIG_ARGO_BRP_DEMUXER 0
-+#define CONFIG_ARGO_CVG_DEMUXER 0
-+#define CONFIG_ASF_DEMUXER 0
-+#define CONFIG_ASF_O_DEMUXER 0
-+#define CONFIG_ASS_DEMUXER 0
-+#define CONFIG_AST_DEMUXER 0
-+#define CONFIG_AU_DEMUXER 0
-+#define CONFIG_AV1_DEMUXER 0
-+#define CONFIG_AVI_DEMUXER 0
-+#define CONFIG_AVISYNTH_DEMUXER 0
-+#define CONFIG_AVR_DEMUXER 0
-+#define CONFIG_AVS_DEMUXER 0
-+#define CONFIG_AVS2_DEMUXER 0
-+#define CONFIG_AVS3_DEMUXER 0
-+#define CONFIG_BETHSOFTVID_DEMUXER 0
-+#define CONFIG_BFI_DEMUXER 0
-+#define CONFIG_BINTEXT_DEMUXER 0
-+#define CONFIG_BINK_DEMUXER 0
-+#define CONFIG_BINKA_DEMUXER 0
-+#define CONFIG_BIT_DEMUXER 0
-+#define CONFIG_BITPACKED_DEMUXER 0
-+#define CONFIG_BMV_DEMUXER 0
-+#define CONFIG_BFSTM_DEMUXER 0
-+#define CONFIG_BRSTM_DEMUXER 0
-+#define CONFIG_BOA_DEMUXER 0
-+#define CONFIG_C93_DEMUXER 0
-+#define CONFIG_CAF_DEMUXER 0
-+#define CONFIG_CAVSVIDEO_DEMUXER 0
-+#define CONFIG_CDG_DEMUXER 0
-+#define CONFIG_CDXL_DEMUXER 0
-+#define CONFIG_CINE_DEMUXER 0
-+#define CONFIG_CODEC2_DEMUXER 0
-+#define CONFIG_CODEC2RAW_DEMUXER 0
-+#define CONFIG_CONCAT_DEMUXER 0
-+#define CONFIG_DASH_DEMUXER 0
-+#define CONFIG_DATA_DEMUXER 0
-+#define CONFIG_DAUD_DEMUXER 0
-+#define CONFIG_DCSTR_DEMUXER 0
-+#define CONFIG_DERF_DEMUXER 0
-+#define CONFIG_DFA_DEMUXER 0
-+#define CONFIG_DFPWM_DEMUXER 0
-+#define CONFIG_DHAV_DEMUXER 0
-+#define CONFIG_DIRAC_DEMUXER 0
-+#define CONFIG_DNXHD_DEMUXER 0
-+#define CONFIG_DSF_DEMUXER 0
-+#define CONFIG_DSICIN_DEMUXER 0
-+#define CONFIG_DSS_DEMUXER 0
-+#define CONFIG_DTS_DEMUXER 0
-+#define CONFIG_DTSHD_DEMUXER 0
-+#define CONFIG_DV_DEMUXER 0
-+#define CONFIG_DVBSUB_DEMUXER 0
-+#define CONFIG_DVBTXT_DEMUXER 0
-+#define CONFIG_DXA_DEMUXER 0
-+#define CONFIG_EA_DEMUXER 0
-+#define CONFIG_EA_CDATA_DEMUXER 0
-+#define CONFIG_EAC3_DEMUXER 0
-+#define CONFIG_EPAF_DEMUXER 0
-+#define CONFIG_FFMETADATA_DEMUXER 0
-+#define CONFIG_FILMSTRIP_DEMUXER 0
-+#define CONFIG_FITS_DEMUXER 0
-+#define CONFIG_FLAC_DEMUXER 1
-+#define CONFIG_FLIC_DEMUXER 0
-+#define CONFIG_FLV_DEMUXER 0
-+#define CONFIG_LIVE_FLV_DEMUXER 0
-+#define CONFIG_FOURXM_DEMUXER 0
-+#define CONFIG_FRM_DEMUXER 0
-+#define CONFIG_FSB_DEMUXER 0
-+#define CONFIG_FWSE_DEMUXER 0
-+#define CONFIG_G722_DEMUXER 0
-+#define CONFIG_G723_1_DEMUXER 0
-+#define CONFIG_G726_DEMUXER 0
-+#define CONFIG_G726LE_DEMUXER 0
-+#define CONFIG_G729_DEMUXER 0
-+#define CONFIG_GDV_DEMUXER 0
-+#define CONFIG_GENH_DEMUXER 0
-+#define CONFIG_GIF_DEMUXER 0
-+#define CONFIG_GSM_DEMUXER 0
-+#define CONFIG_GXF_DEMUXER 0
-+#define CONFIG_H261_DEMUXER 0
-+#define CONFIG_H263_DEMUXER 0
-+#define CONFIG_H264_DEMUXER 0
-+#define CONFIG_HCA_DEMUXER 0
-+#define CONFIG_HCOM_DEMUXER 0
-+#define CONFIG_HEVC_DEMUXER 0
-+#define CONFIG_HLS_DEMUXER 0
-+#define CONFIG_HNM_DEMUXER 0
-+#define CONFIG_ICO_DEMUXER 0
-+#define CONFIG_IDCIN_DEMUXER 0
-+#define CONFIG_IDF_DEMUXER 0
-+#define CONFIG_IFF_DEMUXER 0
-+#define CONFIG_IFV_DEMUXER 0
-+#define CONFIG_ILBC_DEMUXER 0
-+#define CONFIG_IMAGE2_DEMUXER 0
-+#define CONFIG_IMAGE2PIPE_DEMUXER 0
-+#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0
-+#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0
-+#define CONFIG_IMF_DEMUXER 0
-+#define CONFIG_INGENIENT_DEMUXER 0
-+#define CONFIG_IPMOVIE_DEMUXER 0
-+#define CONFIG_IPU_DEMUXER 0
-+#define CONFIG_IRCAM_DEMUXER 0
-+#define CONFIG_ISS_DEMUXER 0
-+#define CONFIG_IV8_DEMUXER 0
-+#define CONFIG_IVF_DEMUXER 0
-+#define CONFIG_IVR_DEMUXER 0
-+#define CONFIG_JACOSUB_DEMUXER 0
-+#define CONFIG_JV_DEMUXER 0
-+#define CONFIG_KUX_DEMUXER 0
-+#define CONFIG_KVAG_DEMUXER 0
-+#define CONFIG_LMLM4_DEMUXER 0
-+#define CONFIG_LOAS_DEMUXER 0
-+#define CONFIG_LUODAT_DEMUXER 0
-+#define CONFIG_LRC_DEMUXER 0
-+#define CONFIG_LVF_DEMUXER 0
-+#define CONFIG_LXF_DEMUXER 0
-+#define CONFIG_M4V_DEMUXER 0
-+#define CONFIG_MCA_DEMUXER 0
-+#define CONFIG_MCC_DEMUXER 0
-+#define CONFIG_MATROSKA_DEMUXER 1
-+#define CONFIG_MGSTS_DEMUXER 0
-+#define CONFIG_MICRODVD_DEMUXER 0
-+#define CONFIG_MJPEG_DEMUXER 0
-+#define CONFIG_MJPEG_2000_DEMUXER 0
-+#define CONFIG_MLP_DEMUXER 0
-+#define CONFIG_MLV_DEMUXER 0
-+#define CONFIG_MM_DEMUXER 0
-+#define CONFIG_MMF_DEMUXER 0
-+#define CONFIG_MODS_DEMUXER 0
-+#define CONFIG_MOFLEX_DEMUXER 0
-+#define CONFIG_MOV_DEMUXER 1
-+#define CONFIG_MP3_DEMUXER 1
-+#define CONFIG_MPC_DEMUXER 0
-+#define CONFIG_MPC8_DEMUXER 0
-+#define CONFIG_MPEGPS_DEMUXER 0
-+#define CONFIG_MPEGTS_DEMUXER 0
-+#define CONFIG_MPEGTSRAW_DEMUXER 0
-+#define CONFIG_MPEGVIDEO_DEMUXER 0
-+#define CONFIG_MPJPEG_DEMUXER 0
-+#define CONFIG_MPL2_DEMUXER 0
-+#define CONFIG_MPSUB_DEMUXER 0
-+#define CONFIG_MSF_DEMUXER 0
-+#define CONFIG_MSNWC_TCP_DEMUXER 0
-+#define CONFIG_MSP_DEMUXER 0
-+#define CONFIG_MTAF_DEMUXER 0
-+#define CONFIG_MTV_DEMUXER 0
-+#define CONFIG_MUSX_DEMUXER 0
-+#define CONFIG_MV_DEMUXER 0
-+#define CONFIG_MVI_DEMUXER 0
-+#define CONFIG_MXF_DEMUXER 0
-+#define CONFIG_MXG_DEMUXER 0
-+#define CONFIG_NC_DEMUXER 0
-+#define CONFIG_NISTSPHERE_DEMUXER 0
-+#define CONFIG_NSP_DEMUXER 0
-+#define CONFIG_NSV_DEMUXER 0
-+#define CONFIG_NUT_DEMUXER 0
-+#define CONFIG_NUV_DEMUXER 0
-+#define CONFIG_OBU_DEMUXER 0
-+#define CONFIG_OGG_DEMUXER 1
-+#define CONFIG_OMA_DEMUXER 0
-+#define CONFIG_PAF_DEMUXER 0
-+#define CONFIG_PCM_ALAW_DEMUXER 0
-+#define CONFIG_PCM_MULAW_DEMUXER 0
-+#define CONFIG_PCM_VIDC_DEMUXER 0
-+#define CONFIG_PCM_F64BE_DEMUXER 0
-+#define CONFIG_PCM_F64LE_DEMUXER 0
-+#define CONFIG_PCM_F32BE_DEMUXER 0
-+#define CONFIG_PCM_F32LE_DEMUXER 0
-+#define CONFIG_PCM_S32BE_DEMUXER 0
-+#define CONFIG_PCM_S32LE_DEMUXER 0
-+#define CONFIG_PCM_S24BE_DEMUXER 0
-+#define CONFIG_PCM_S24LE_DEMUXER 0
-+#define CONFIG_PCM_S16BE_DEMUXER 0
-+#define CONFIG_PCM_S16LE_DEMUXER 0
-+#define CONFIG_PCM_S8_DEMUXER 0
-+#define CONFIG_PCM_U32BE_DEMUXER 0
-+#define CONFIG_PCM_U32LE_DEMUXER 0
-+#define CONFIG_PCM_U24BE_DEMUXER 0
-+#define CONFIG_PCM_U24LE_DEMUXER 0
-+#define CONFIG_PCM_U16BE_DEMUXER 0
-+#define CONFIG_PCM_U16LE_DEMUXER 0
-+#define CONFIG_PCM_U8_DEMUXER 0
-+#define CONFIG_PJS_DEMUXER 0
-+#define CONFIG_PMP_DEMUXER 0
-+#define CONFIG_PP_BNK_DEMUXER 0
-+#define CONFIG_PVA_DEMUXER 0
-+#define CONFIG_PVF_DEMUXER 0
-+#define CONFIG_QCP_DEMUXER 0
-+#define CONFIG_R3D_DEMUXER 0
-+#define CONFIG_RAWVIDEO_DEMUXER 0
-+#define CONFIG_REALTEXT_DEMUXER 0
-+#define CONFIG_REDSPARK_DEMUXER 0
-+#define CONFIG_RL2_DEMUXER 0
-+#define CONFIG_RM_DEMUXER 0
-+#define CONFIG_ROQ_DEMUXER 0
-+#define CONFIG_RPL_DEMUXER 0
-+#define CONFIG_RSD_DEMUXER 0
-+#define CONFIG_RSO_DEMUXER 0
-+#define CONFIG_RTP_DEMUXER 0
-+#define CONFIG_RTSP_DEMUXER 0
-+#define CONFIG_S337M_DEMUXER 0
-+#define CONFIG_SAMI_DEMUXER 0
-+#define CONFIG_SAP_DEMUXER 0
-+#define CONFIG_SBC_DEMUXER 0
-+#define CONFIG_SBG_DEMUXER 0
-+#define CONFIG_SCC_DEMUXER 0
-+#define CONFIG_SCD_DEMUXER 0
-+#define CONFIG_SDP_DEMUXER 0
-+#define CONFIG_SDR2_DEMUXER 0
-+#define CONFIG_SDS_DEMUXER 0
-+#define CONFIG_SDX_DEMUXER 0
-+#define CONFIG_SEGAFILM_DEMUXER 0
-+#define CONFIG_SER_DEMUXER 0
-+#define CONFIG_SGA_DEMUXER 0
-+#define CONFIG_SHORTEN_DEMUXER 0
-+#define CONFIG_SIFF_DEMUXER 0
-+#define CONFIG_SIMBIOSIS_IMX_DEMUXER 0
-+#define CONFIG_SLN_DEMUXER 0
-+#define CONFIG_SMACKER_DEMUXER 0
-+#define CONFIG_SMJPEG_DEMUXER 0
-+#define CONFIG_SMUSH_DEMUXER 0
-+#define CONFIG_SOL_DEMUXER 0
-+#define CONFIG_SOX_DEMUXER 0
-+#define CONFIG_SPDIF_DEMUXER 0
-+#define CONFIG_SRT_DEMUXER 0
-+#define CONFIG_STR_DEMUXER 0
-+#define CONFIG_STL_DEMUXER 0
-+#define CONFIG_SUBVIEWER1_DEMUXER 0
-+#define CONFIG_SUBVIEWER_DEMUXER 0
-+#define CONFIG_SUP_DEMUXER 0
-+#define CONFIG_SVAG_DEMUXER 0
-+#define CONFIG_SVS_DEMUXER 0
-+#define CONFIG_SWF_DEMUXER 0
-+#define CONFIG_TAK_DEMUXER 0
-+#define CONFIG_TEDCAPTIONS_DEMUXER 0
-+#define CONFIG_THP_DEMUXER 0
-+#define CONFIG_THREEDOSTR_DEMUXER 0
-+#define CONFIG_TIERTEXSEQ_DEMUXER 0
-+#define CONFIG_TMV_DEMUXER 0
-+#define CONFIG_TRUEHD_DEMUXER 0
-+#define CONFIG_TTA_DEMUXER 0
-+#define CONFIG_TXD_DEMUXER 0
-+#define CONFIG_TTY_DEMUXER 0
-+#define CONFIG_TY_DEMUXER 0
-+#define CONFIG_V210_DEMUXER 0
-+#define CONFIG_V210X_DEMUXER 0
-+#define CONFIG_VAG_DEMUXER 0
-+#define CONFIG_VC1_DEMUXER 0
-+#define CONFIG_VC1T_DEMUXER 0
-+#define CONFIG_VIVIDAS_DEMUXER 0
-+#define CONFIG_VIVO_DEMUXER 0
-+#define CONFIG_VMD_DEMUXER 0
-+#define CONFIG_VOBSUB_DEMUXER 0
-+#define CONFIG_VOC_DEMUXER 0
-+#define CONFIG_VPK_DEMUXER 0
-+#define CONFIG_VPLAYER_DEMUXER 0
-+#define CONFIG_VQF_DEMUXER 0
-+#define CONFIG_W64_DEMUXER 0
-+#define CONFIG_WAV_DEMUXER 1
-+#define CONFIG_WC3_DEMUXER 0
-+#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
-+#define CONFIG_WEBVTT_DEMUXER 0
-+#define CONFIG_WSAUD_DEMUXER 0
-+#define CONFIG_WSD_DEMUXER 0
-+#define CONFIG_WSVQA_DEMUXER 0
-+#define CONFIG_WTV_DEMUXER 0
-+#define CONFIG_WVE_DEMUXER 0
-+#define CONFIG_WV_DEMUXER 0
-+#define CONFIG_XA_DEMUXER 0
-+#define CONFIG_XBIN_DEMUXER 0
-+#define CONFIG_XMV_DEMUXER 0
-+#define CONFIG_XVAG_DEMUXER 0
-+#define CONFIG_XWMA_DEMUXER 0
-+#define CONFIG_YOP_DEMUXER 0
-+#define CONFIG_YUV4MPEGPIPE_DEMUXER 0
-+#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 0
-+#define CONFIG_LIBGME_DEMUXER 0
-+#define CONFIG_LIBMODPLUG_DEMUXER 0
-+#define CONFIG_LIBOPENMPT_DEMUXER 0
-+#define CONFIG_VAPOURSYNTH_DEMUXER 0
-+#define CONFIG_A64_MUXER 0
-+#define CONFIG_AC3_MUXER 0
-+#define CONFIG_ADTS_MUXER 0
-+#define CONFIG_ADX_MUXER 0
-+#define CONFIG_AIFF_MUXER 0
-+#define CONFIG_ALP_MUXER 0
-+#define CONFIG_AMR_MUXER 0
-+#define CONFIG_AMV_MUXER 0
-+#define CONFIG_APM_MUXER 0
-+#define CONFIG_APNG_MUXER 0
-+#define CONFIG_APTX_MUXER 0
-+#define CONFIG_APTX_HD_MUXER 0
-+#define CONFIG_ARGO_ASF_MUXER 0
-+#define CONFIG_ARGO_CVG_MUXER 0
-+#define CONFIG_ASF_MUXER 0
-+#define CONFIG_ASS_MUXER 0
-+#define CONFIG_AST_MUXER 0
-+#define CONFIG_ASF_STREAM_MUXER 0
-+#define CONFIG_AU_MUXER 0
-+#define CONFIG_AVI_MUXER 0
-+#define CONFIG_AVM2_MUXER 0
-+#define CONFIG_AVS2_MUXER 0
-+#define CONFIG_AVS3_MUXER 0
-+#define CONFIG_BIT_MUXER 0
-+#define CONFIG_CAF_MUXER 0
-+#define CONFIG_CAVSVIDEO_MUXER 0
-+#define CONFIG_CODEC2_MUXER 0
-+#define CONFIG_CODEC2RAW_MUXER 0
-+#define CONFIG_CRC_MUXER 0
-+#define CONFIG_DASH_MUXER 0
-+#define CONFIG_DATA_MUXER 0
-+#define CONFIG_DAUD_MUXER 0
-+#define CONFIG_DFPWM_MUXER 0
-+#define CONFIG_DIRAC_MUXER 0
-+#define CONFIG_DNXHD_MUXER 0
-+#define CONFIG_DTS_MUXER 0
-+#define CONFIG_DV_MUXER 0
-+#define CONFIG_EAC3_MUXER 0
-+#define CONFIG_F4V_MUXER 0
-+#define CONFIG_FFMETADATA_MUXER 0
-+#define CONFIG_FIFO_MUXER 0
-+#define CONFIG_FIFO_TEST_MUXER 0
-+#define CONFIG_FILMSTRIP_MUXER 0
-+#define CONFIG_FITS_MUXER 0
-+#define CONFIG_FLAC_MUXER 0
-+#define CONFIG_FLV_MUXER 0
-+#define CONFIG_FRAMECRC_MUXER 0
-+#define CONFIG_FRAMEHASH_MUXER 0
-+#define CONFIG_FRAMEMD5_MUXER 0
-+#define CONFIG_G722_MUXER 0
-+#define CONFIG_G723_1_MUXER 0
-+#define CONFIG_G726_MUXER 0
-+#define CONFIG_G726LE_MUXER 0
-+#define CONFIG_GIF_MUXER 0
-+#define CONFIG_GSM_MUXER 0
-+#define CONFIG_GXF_MUXER 0
-+#define CONFIG_H261_MUXER 0
-+#define CONFIG_H263_MUXER 0
-+#define CONFIG_H264_MUXER 0
-+#define CONFIG_HASH_MUXER 0
-+#define CONFIG_HDS_MUXER 0
-+#define CONFIG_HEVC_MUXER 0
-+#define CONFIG_HLS_MUXER 0
-+#define CONFIG_ICO_MUXER 0
-+#define CONFIG_ILBC_MUXER 0
-+#define CONFIG_IMAGE2_MUXER 0
-+#define CONFIG_IMAGE2PIPE_MUXER 0
-+#define CONFIG_IPOD_MUXER 0
-+#define CONFIG_IRCAM_MUXER 0
-+#define CONFIG_ISMV_MUXER 0
-+#define CONFIG_IVF_MUXER 0
-+#define CONFIG_JACOSUB_MUXER 0
-+#define CONFIG_KVAG_MUXER 0
-+#define CONFIG_LATM_MUXER 0
-+#define CONFIG_LRC_MUXER 0
-+#define CONFIG_M4V_MUXER 0
-+#define CONFIG_MD5_MUXER 0
-+#define CONFIG_MATROSKA_MUXER 0
-+#define CONFIG_MATROSKA_AUDIO_MUXER 0
-+#define CONFIG_MICRODVD_MUXER 0
-+#define CONFIG_MJPEG_MUXER 0
-+#define CONFIG_MLP_MUXER 0
-+#define CONFIG_MMF_MUXER 0
-+#define CONFIG_MOV_MUXER 0
-+#define CONFIG_MP2_MUXER 0
-+#define CONFIG_MP3_MUXER 0
-+#define CONFIG_MP4_MUXER 0
-+#define CONFIG_MPEG1SYSTEM_MUXER 0
-+#define CONFIG_MPEG1VCD_MUXER 0
-+#define CONFIG_MPEG1VIDEO_MUXER 0
-+#define CONFIG_MPEG2DVD_MUXER 0
-+#define CONFIG_MPEG2SVCD_MUXER 0
-+#define CONFIG_MPEG2VIDEO_MUXER 0
-+#define CONFIG_MPEG2VOB_MUXER 0
-+#define CONFIG_MPEGTS_MUXER 0
-+#define CONFIG_MPJPEG_MUXER 0
-+#define CONFIG_MXF_MUXER 0
-+#define CONFIG_MXF_D10_MUXER 0
-+#define CONFIG_MXF_OPATOM_MUXER 0
-+#define CONFIG_NULL_MUXER 0
-+#define CONFIG_NUT_MUXER 0
-+#define CONFIG_OBU_MUXER 0
-+#define CONFIG_OGA_MUXER 0
-+#define CONFIG_OGG_MUXER 0
-+#define CONFIG_OGV_MUXER 0
-+#define CONFIG_OMA_MUXER 0
-+#define CONFIG_OPUS_MUXER 0
-+#define CONFIG_PCM_ALAW_MUXER 0
-+#define CONFIG_PCM_MULAW_MUXER 0
-+#define CONFIG_PCM_VIDC_MUXER 0
-+#define CONFIG_PCM_F64BE_MUXER 0
-+#define CONFIG_PCM_F64LE_MUXER 0
-+#define CONFIG_PCM_F32BE_MUXER 0
-+#define CONFIG_PCM_F32LE_MUXER 0
-+#define CONFIG_PCM_S32BE_MUXER 0
-+#define CONFIG_PCM_S32LE_MUXER 0
-+#define CONFIG_PCM_S24BE_MUXER 0
-+#define CONFIG_PCM_S24LE_MUXER 0
-+#define CONFIG_PCM_S16BE_MUXER 0
-+#define CONFIG_PCM_S16LE_MUXER 0
-+#define CONFIG_PCM_S8_MUXER 0
-+#define CONFIG_PCM_U32BE_MUXER 0
-+#define CONFIG_PCM_U32LE_MUXER 0
-+#define CONFIG_PCM_U24BE_MUXER 0
-+#define CONFIG_PCM_U24LE_MUXER 0
-+#define CONFIG_PCM_U16BE_MUXER 0
-+#define CONFIG_PCM_U16LE_MUXER 0
-+#define CONFIG_PCM_U8_MUXER 0
-+#define CONFIG_PSP_MUXER 0
-+#define CONFIG_RAWVIDEO_MUXER 0
-+#define CONFIG_RM_MUXER 0
-+#define CONFIG_ROQ_MUXER 0
-+#define CONFIG_RSO_MUXER 0
-+#define CONFIG_RTP_MUXER 0
-+#define CONFIG_RTP_MPEGTS_MUXER 0
-+#define CONFIG_RTSP_MUXER 0
-+#define CONFIG_SAP_MUXER 0
-+#define CONFIG_SBC_MUXER 0
-+#define CONFIG_SCC_MUXER 0
-+#define CONFIG_SEGAFILM_MUXER 0
-+#define CONFIG_SEGMENT_MUXER 0
-+#define CONFIG_STREAM_SEGMENT_MUXER 0
-+#define CONFIG_SMJPEG_MUXER 0
-+#define CONFIG_SMOOTHSTREAMING_MUXER 0
-+#define CONFIG_SOX_MUXER 0
-+#define CONFIG_SPX_MUXER 0
-+#define CONFIG_SPDIF_MUXER 0
-+#define CONFIG_SRT_MUXER 0
-+#define CONFIG_STREAMHASH_MUXER 0
-+#define CONFIG_SUP_MUXER 0
-+#define CONFIG_SWF_MUXER 0
-+#define CONFIG_TEE_MUXER 0
-+#define CONFIG_TG2_MUXER 0
-+#define CONFIG_TGP_MUXER 0
-+#define CONFIG_MKVTIMESTAMP_V2_MUXER 0
-+#define CONFIG_TRUEHD_MUXER 0
-+#define CONFIG_TTA_MUXER 0
-+#define CONFIG_TTML_MUXER 0
-+#define CONFIG_UNCODEDFRAMECRC_MUXER 0
-+#define CONFIG_VC1_MUXER 0
-+#define CONFIG_VC1T_MUXER 0
-+#define CONFIG_VOC_MUXER 0
-+#define CONFIG_W64_MUXER 0
-+#define CONFIG_WAV_MUXER 0
-+#define CONFIG_WEBM_MUXER 0
-+#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0
-+#define CONFIG_WEBM_CHUNK_MUXER 0
-+#define CONFIG_WEBP_MUXER 0
-+#define CONFIG_WEBVTT_MUXER 0
-+#define CONFIG_WSAUD_MUXER 0
-+#define CONFIG_WTV_MUXER 0
-+#define CONFIG_WV_MUXER 0
-+#define CONFIG_YUV4MPEGPIPE_MUXER 0
-+#define CONFIG_CHROMAPRINT_MUXER 0
-+#define CONFIG_ASYNC_PROTOCOL 0
-+#define CONFIG_BLURAY_PROTOCOL 0
-+#define CONFIG_CACHE_PROTOCOL 0
-+#define CONFIG_CONCAT_PROTOCOL 0
-+#define CONFIG_CONCATF_PROTOCOL 0
-+#define CONFIG_CRYPTO_PROTOCOL 0
-+#define CONFIG_DATA_PROTOCOL 0
-+#define CONFIG_FFRTMPCRYPT_PROTOCOL 0
-+#define CONFIG_FFRTMPHTTP_PROTOCOL 0
-+#define CONFIG_FILE_PROTOCOL 0
-+#define CONFIG_FTP_PROTOCOL 0
-+#define CONFIG_GOPHER_PROTOCOL 0
-+#define CONFIG_GOPHERS_PROTOCOL 0
-+#define CONFIG_HLS_PROTOCOL 0
-+#define CONFIG_HTTP_PROTOCOL 0
-+#define CONFIG_HTTPPROXY_PROTOCOL 0
-+#define CONFIG_HTTPS_PROTOCOL 0
-+#define CONFIG_ICECAST_PROTOCOL 0
-+#define CONFIG_MMSH_PROTOCOL 0
-+#define CONFIG_MMST_PROTOCOL 0
-+#define CONFIG_MD5_PROTOCOL 0
-+#define CONFIG_PIPE_PROTOCOL 0
-+#define CONFIG_PROMPEG_PROTOCOL 0
-+#define CONFIG_RTMP_PROTOCOL 0
-+#define CONFIG_RTMPE_PROTOCOL 0
-+#define CONFIG_RTMPS_PROTOCOL 0
-+#define CONFIG_RTMPT_PROTOCOL 0
-+#define CONFIG_RTMPTE_PROTOCOL 0
-+#define CONFIG_RTMPTS_PROTOCOL 0
-+#define CONFIG_RTP_PROTOCOL 0
-+#define CONFIG_SCTP_PROTOCOL 0
-+#define CONFIG_SRTP_PROTOCOL 0
-+#define CONFIG_SUBFILE_PROTOCOL 0
-+#define CONFIG_TEE_PROTOCOL 0
-+#define CONFIG_TCP_PROTOCOL 0
-+#define CONFIG_TLS_PROTOCOL 0
-+#define CONFIG_UDP_PROTOCOL 0
-+#define CONFIG_UDPLITE_PROTOCOL 0
-+#define CONFIG_UNIX_PROTOCOL 0
-+#define CONFIG_LIBAMQP_PROTOCOL 0
-+#define CONFIG_LIBRIST_PROTOCOL 0
-+#define CONFIG_LIBRTMP_PROTOCOL 0
-+#define CONFIG_LIBRTMPE_PROTOCOL 0
-+#define CONFIG_LIBRTMPS_PROTOCOL 0
-+#define CONFIG_LIBRTMPT_PROTOCOL 0
-+#define CONFIG_LIBRTMPTE_PROTOCOL 0
-+#define CONFIG_LIBSRT_PROTOCOL 0
-+#define CONFIG_LIBSSH_PROTOCOL 0
-+#define CONFIG_LIBSMBCLIENT_PROTOCOL 0
-+#define CONFIG_LIBZMQ_PROTOCOL 0
-+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm
deleted file mode 100644
index 38aacd9d0532..000000000000
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm
+++ /dev/null
@@ -1,725 +0,0 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.asm.orig 2022-07-22 17:30:31 UTC
-+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.asm
-@@ -0,0 +1,722 @@
-+; Automatically generated by configure - do not modify!
-+%define ARCH_AARCH64 0
-+%define ARCH_ALPHA 0
-+%define ARCH_ARM 0
-+%define ARCH_AVR32 0
-+%define ARCH_AVR32_AP 0
-+%define ARCH_AVR32_UC 0
-+%define ARCH_BFIN 0
-+%define ARCH_IA64 0
-+%define ARCH_LOONGARCH 0
-+%define ARCH_LOONGARCH32 0
-+%define ARCH_LOONGARCH64 0
-+%define ARCH_M68K 0
-+%define ARCH_MIPS 0
-+%define ARCH_MIPS64 0
-+%define ARCH_PARISC 0
-+%define ARCH_PPC 0
-+%define ARCH_PPC64 0
-+%define ARCH_RISCV 0
-+%define ARCH_S390 0
-+%define ARCH_SH4 0
-+%define ARCH_SPARC 0
-+%define ARCH_SPARC64 0
-+%define ARCH_TILEGX 0
-+%define ARCH_TILEPRO 0
-+%define ARCH_TOMI 0
-+%define ARCH_X86 1
-+%define ARCH_X86_32 0
-+%define ARCH_X86_64 1
-+%define HAVE_ARMV5TE 0
-+%define HAVE_ARMV6 0
-+%define HAVE_ARMV6T2 0
-+%define HAVE_ARMV8 0
-+%define HAVE_NEON 0
-+%define HAVE_VFP 0
-+%define HAVE_VFPV3 0
-+%define HAVE_SETEND 0
-+%define HAVE_ALTIVEC 0
-+%define HAVE_DCBZL 0
-+%define HAVE_LDBRX 0
-+%define HAVE_POWER8 0
-+%define HAVE_PPC4XX 0
-+%define HAVE_VSX 0
-+%define HAVE_AESNI 1
-+%define HAVE_AMD3DNOW 1
-+%define HAVE_AMD3DNOWEXT 1
-+%define HAVE_AVX 1
-+%define HAVE_AVX2 1
-+%define HAVE_AVX512 1
-+%define HAVE_AVX512ICL 1
-+%define HAVE_FMA3 1
-+%define HAVE_FMA4 1
-+%define HAVE_MMX 1
-+%define HAVE_MMXEXT 1
-+%define HAVE_SSE 1
-+%define HAVE_SSE2 1
-+%define HAVE_SSE3 1
-+%define HAVE_SSE4 1
-+%define HAVE_SSE42 1
-+%define HAVE_SSSE3 1
-+%define HAVE_XOP 1
-+%define HAVE_CPUNOP 0
-+%define HAVE_I686 1
-+%define HAVE_MIPSFPU 0
-+%define HAVE_MIPS32R2 0
-+%define HAVE_MIPS32R5 0
-+%define HAVE_MIPS64R2 0
-+%define HAVE_MIPS32R6 0
-+%define HAVE_MIPS64R6 0
-+%define HAVE_MIPSDSP 0
-+%define HAVE_MIPSDSPR2 0
-+%define HAVE_MSA 0
-+%define HAVE_LOONGSON2 0
-+%define HAVE_LOONGSON3 0
-+%define HAVE_MMI 0
-+%define HAVE_LSX 0
-+%define HAVE_LASX 0
-+%define HAVE_ARMV5TE_EXTERNAL 0
-+%define HAVE_ARMV6_EXTERNAL 0
-+%define HAVE_ARMV6T2_EXTERNAL 0
-+%define HAVE_ARMV8_EXTERNAL 0
-+%define HAVE_NEON_EXTERNAL 0
-+%define HAVE_VFP_EXTERNAL 0
-+%define HAVE_VFPV3_EXTERNAL 0
-+%define HAVE_SETEND_EXTERNAL 0
-+%define HAVE_ALTIVEC_EXTERNAL 0
-+%define HAVE_DCBZL_EXTERNAL 0
-+%define HAVE_LDBRX_EXTERNAL 0
-+%define HAVE_POWER8_EXTERNAL 0
-+%define HAVE_PPC4XX_EXTERNAL 0
-+%define HAVE_VSX_EXTERNAL 0
-+%define HAVE_AESNI_EXTERNAL 1
-+%define HAVE_AMD3DNOW_EXTERNAL 1
-+%define HAVE_AMD3DNOWEXT_EXTERNAL 1
-+%define HAVE_AVX_EXTERNAL 1
-+%define HAVE_AVX2_EXTERNAL 1
-+%define HAVE_AVX512_EXTERNAL 1
-+%define HAVE_AVX512ICL_EXTERNAL 1
-+%define HAVE_FMA3_EXTERNAL 1
-+%define HAVE_FMA4_EXTERNAL 1
-+%define HAVE_MMX_EXTERNAL 1
-+%define HAVE_MMXEXT_EXTERNAL 1
-+%define HAVE_SSE_EXTERNAL 1
-+%define HAVE_SSE2_EXTERNAL 1
-+%define HAVE_SSE3_EXTERNAL 1
-+%define HAVE_SSE4_EXTERNAL 1
-+%define HAVE_SSE42_EXTERNAL 1
-+%define HAVE_SSSE3_EXTERNAL 1
-+%define HAVE_XOP_EXTERNAL 1
-+%define HAVE_CPUNOP_EXTERNAL 0
-+%define HAVE_I686_EXTERNAL 0
-+%define HAVE_MIPSFPU_EXTERNAL 0
-+%define HAVE_MIPS32R2_EXTERNAL 0
-+%define HAVE_MIPS32R5_EXTERNAL 0
-+%define HAVE_MIPS64R2_EXTERNAL 0
-+%define HAVE_MIPS32R6_EXTERNAL 0
-+%define HAVE_MIPS64R6_EXTERNAL 0
-+%define HAVE_MIPSDSP_EXTERNAL 0
-+%define HAVE_MIPSDSPR2_EXTERNAL 0
-+%define HAVE_MSA_EXTERNAL 0
-+%define HAVE_LOONGSON2_EXTERNAL 0
-+%define HAVE_LOONGSON3_EXTERNAL 0
-+%define HAVE_MMI_EXTERNAL 0
-+%define HAVE_LSX_EXTERNAL 0
-+%define HAVE_LASX_EXTERNAL 0
-+%define HAVE_ARMV5TE_INLINE 0
-+%define HAVE_ARMV6_INLINE 0
-+%define HAVE_ARMV6T2_INLINE 0
-+%define HAVE_ARMV8_INLINE 0
-+%define HAVE_NEON_INLINE 0
-+%define HAVE_VFP_INLINE 0
-+%define HAVE_VFPV3_INLINE 0
-+%define HAVE_SETEND_INLINE 0
-+%define HAVE_ALTIVEC_INLINE 0
-+%define HAVE_DCBZL_INLINE 0
-+%define HAVE_LDBRX_INLINE 0
-+%define HAVE_POWER8_INLINE 0
-+%define HAVE_PPC4XX_INLINE 0
-+%define HAVE_VSX_INLINE 0
-+%define HAVE_AESNI_INLINE 1
-+%define HAVE_AMD3DNOW_INLINE 1
-+%define HAVE_AMD3DNOWEXT_INLINE 1
-+%define HAVE_AVX_INLINE 1
-+%define HAVE_AVX2_INLINE 1
-+%define HAVE_AVX512_INLINE 1
-+%define HAVE_AVX512ICL_INLINE 1
-+%define HAVE_FMA3_INLINE 1
-+%define HAVE_FMA4_INLINE 1
-+%define HAVE_MMX_INLINE 1
-+%define HAVE_MMXEXT_INLINE 1
-+%define HAVE_SSE_INLINE 1
-+%define HAVE_SSE2_INLINE 1
-+%define HAVE_SSE3_INLINE 1
-+%define HAVE_SSE4_INLINE 1
-+%define HAVE_SSE42_INLINE 1
-+%define HAVE_SSSE3_INLINE 1
-+%define HAVE_XOP_INLINE 1
-+%define HAVE_CPUNOP_INLINE 0
-+%define HAVE_I686_INLINE 0
-+%define HAVE_MIPSFPU_INLINE 0
-+%define HAVE_MIPS32R2_INLINE 0
-+%define HAVE_MIPS32R5_INLINE 0
-+%define HAVE_MIPS64R2_INLINE 0
-+%define HAVE_MIPS32R6_INLINE 0
-+%define HAVE_MIPS64R6_INLINE 0
-+%define HAVE_MIPSDSP_INLINE 0
-+%define HAVE_MIPSDSPR2_INLINE 0
-+%define HAVE_MSA_INLINE 0
-+%define HAVE_LOONGSON2_INLINE 0
-+%define HAVE_LOONGSON3_INLINE 0
-+%define HAVE_MMI_INLINE 0
-+%define HAVE_LSX_INLINE 0
-+%define HAVE_LASX_INLINE 0
-+%define HAVE_ALIGNED_STACK 1
-+%define HAVE_FAST_64BIT 1
-+%define HAVE_FAST_CLZ 1
-+%define HAVE_FAST_CMOV 1
-+%define HAVE_LOCAL_ALIGNED 1
-+%define HAVE_SIMD_ALIGN_16 1
-+%define HAVE_SIMD_ALIGN_32 1
-+%define HAVE_SIMD_ALIGN_64 1
-+%define HAVE_ATOMIC_CAS_PTR 0
-+%define HAVE_MACHINE_RW_BARRIER 0
-+%define HAVE_MEMORYBARRIER 0
-+%define HAVE_MM_EMPTY 1
-+%define HAVE_RDTSC 0
-+%define HAVE_SEM_TIMEDWAIT 1
-+%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
-+%define HAVE_CABS 0
-+%define HAVE_CEXP 0
-+%define HAVE_INLINE_ASM 1
-+%define HAVE_SYMVER 0
-+%define HAVE_X86ASM 1
-+%define HAVE_BIGENDIAN 0
-+%define HAVE_FAST_UNALIGNED 1
-+%define HAVE_ARPA_INET_H 0
-+%define HAVE_ASM_TYPES_H 0
-+%define HAVE_CDIO_PARANOIA_H 0
-+%define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+%define HAVE_CUDA_H 0
-+%define HAVE_DISPATCH_DISPATCH_H 0
-+%define HAVE_DEV_BKTR_IOCTL_BT848_H 0
-+%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
-+%define HAVE_DEV_IC_BT8XX_H 1
-+%define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
-+%define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
-+%define HAVE_DIRECT_H 0
-+%define HAVE_DIRENT_H 1
-+%define HAVE_DXGIDEBUG_H 0
-+%define HAVE_DXVA_H 0
-+%define HAVE_ES2_GL_H 0
-+%define HAVE_GSM_H 0
-+%define HAVE_IO_H 0
-+%define HAVE_LINUX_DMA_BUF_H 0
-+%define HAVE_LINUX_PERF_EVENT_H 0
-+%define HAVE_MACHINE_IOCTL_BT848_H 0
-+%define HAVE_MACHINE_IOCTL_METEOR_H 0
-+%define HAVE_MALLOC_H 0
-+%define HAVE_OPENCV2_CORE_CORE_C_H 0
-+%define HAVE_OPENGL_GL3_H 0
-+%define HAVE_POLL_H 1
-+%define HAVE_SYS_PARAM_H 1
-+%define HAVE_SYS_RESOURCE_H 1
-+%define HAVE_SYS_SELECT_H 1
-+%define HAVE_SYS_SOUNDCARD_H 0
-+%define HAVE_SYS_TIME_H 1
-+%define HAVE_SYS_UN_H 1
-+%define HAVE_SYS_VIDEOIO_H 1
-+%define HAVE_TERMIOS_H 1
-+%define HAVE_UDPLITE_H 0
-+%define HAVE_UNISTD_H 1
-+%define HAVE_VALGRIND_VALGRIND_H 0 ; %define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440
-+%define HAVE_WINDOWS_H 0
-+%define HAVE_WINSOCK2_H 0
-+%define HAVE_INTRINSICS_NEON 0
-+%define HAVE_ATANF 1
-+%define HAVE_ATAN2F 1
-+%define HAVE_CBRT 1
-+%define HAVE_CBRTF 1
-+%define HAVE_COPYSIGN 1
-+%define HAVE_COSF 1
-+%define HAVE_ERF 1
-+%define HAVE_EXP2 1
-+%define HAVE_EXP2F 1
-+%define HAVE_EXPF 1
-+%define HAVE_HYPOT 1
-+%define HAVE_ISFINITE 1
-+%define HAVE_ISINF 1
-+%define HAVE_ISNAN 1
-+%define HAVE_LDEXPF 1
-+%define HAVE_LLRINT 1
-+%define HAVE_LLRINTF 1
-+%define HAVE_LOG2 1
-+%define HAVE_LOG2F 1
-+%define HAVE_LOG10F 1
-+%define HAVE_LRINT 1
-+%define HAVE_LRINTF 1
-+%define HAVE_POWF 1
-+%define HAVE_RINT 1
-+%define HAVE_ROUND 1
-+%define HAVE_ROUNDF 1
-+%define HAVE_SINF 1
-+%define HAVE_TRUNC 1
-+%define HAVE_TRUNCF 1
-+%define HAVE_DOS_PATHS 0
-+%define HAVE_LIBC_MSVCRT 0
-+%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
-+%define HAVE_SECTION_DATA_REL_RO 1
-+%define HAVE_THREADS 1
-+%define HAVE_UWP 0
-+%define HAVE_WINRT 0
-+%define HAVE_ACCESS 1
-+%define HAVE_ALIGNED_MALLOC 0
-+%define HAVE_ARC4RANDOM 1
-+%define HAVE_CLOCK_GETTIME 1
-+%define HAVE_CLOSESOCKET 0
-+%define HAVE_COMMANDLINETOARGVW 0
-+%define HAVE_FCNTL 1
-+%define HAVE_GETADDRINFO 0
-+%define HAVE_GETAUXVAL 0
-+%define HAVE_GETHRTIME 0
-+%define HAVE_GETOPT 1
-+%define HAVE_GETMODULEHANDLE 0
-+%define HAVE_GETPROCESSAFFINITYMASK 0
-+%define HAVE_GETPROCESSMEMORYINFO 0
-+%define HAVE_GETPROCESSTIMES 0
-+%define HAVE_GETRUSAGE 1
-+%define HAVE_GETSTDHANDLE 0
-+%define HAVE_GETSYSTEMTIMEASFILETIME 0
-+%define HAVE_GETTIMEOFDAY 1
-+%define HAVE_GLOB 1
-+%define HAVE_GLXGETPROCADDRESS 0
-+%define HAVE_GMTIME_R 1
-+%define HAVE_INET_ATON 0
-+%define HAVE_ISATTY 1
-+%define HAVE_KBHIT 0
-+%define HAVE_LOCALTIME_R 1
-+%define HAVE_LSTAT 1
-+%define HAVE_LZO1X_999_COMPRESS 0
-+%define HAVE_MACH_ABSOLUTE_TIME 0
-+%define HAVE_MAPVIEWOFFILE 0
-+%define HAVE_MEMALIGN 0
-+%define HAVE_MKSTEMP 1
-+%define HAVE_MMAP 1
-+%define HAVE_MPROTECT 1
-+%define HAVE_NANOSLEEP 1
-+%define HAVE_PEEKNAMEDPIPE 0
-+%define HAVE_POSIX_MEMALIGN 1
-+%define HAVE_PTHREAD_CANCEL 1
-+%define HAVE_SCHED_GETAFFINITY 0
-+%define HAVE_SECITEMIMPORT 0
-+%define HAVE_SETCONSOLETEXTATTRIBUTE 0
-+%define HAVE_SETCONSOLECTRLHANDLER 0
-+%define HAVE_SETDLLDIRECTORY 0
-+%define HAVE_SETMODE 0
-+%define HAVE_SETRLIMIT 1
-+%define HAVE_SLEEP 0
-+%define HAVE_STRERROR_R 1
-+%define HAVE_SYSCONF 1
-+%define HAVE_SYSCTL 0
-+%define HAVE_USLEEP 1
-+%define HAVE_UTGETOSTYPEFROMSTRING 0
-+%define HAVE_VIRTUALALLOC 0
-+%define HAVE_WGLGETPROCADDRESS 0
-+%define HAVE_BCRYPT 0
-+%define HAVE_VAAPI_DRM 0
-+%define HAVE_VAAPI_X11 0
-+%define HAVE_VDPAU_X11 0
-+%define HAVE_PTHREADS 1
-+%define HAVE_OS2THREADS 0
-+%define HAVE_W32THREADS 0
-+%define HAVE_AS_ARCH_DIRECTIVE 0
-+%define HAVE_AS_DN_DIRECTIVE 0
-+%define HAVE_AS_FPU_DIRECTIVE 0
-+%define HAVE_AS_FUNC 0
-+%define HAVE_AS_OBJECT_ARCH 0
-+%define HAVE_ASM_MOD_Q 0
-+%define HAVE_BLOCKS_EXTENSION 0
-+%define HAVE_EBP_AVAILABLE 1
-+%define HAVE_EBX_AVAILABLE 1
-+%define HAVE_GNU_AS 0
-+%define HAVE_GNU_WINDRES 0
-+%define HAVE_IBM_ASM 0
-+%define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 0
-+%define HAVE_INLINE_ASM_LABELS 1
-+%define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
-+%define HAVE_PRAGMA_DEPRECATED 1
-+%define HAVE_RSYNC_CONTIMEOUT 1
-+%define HAVE_SYMVER_ASM_LABEL 1
-+%define HAVE_SYMVER_GNU_ASM 1
-+%define HAVE_VFP_ARGS 0
-+%define HAVE_XFORM_ASM 0
-+%define HAVE_XMM_CLOBBERS 1
-+%define HAVE_KCMVIDEOCODECTYPE_HEVC 0
-+%define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
-+%define HAVE_KCMVIDEOCODECTYPE_VP9 0
-+%define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
-+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
-+%define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
-+%define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
-+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
-+%define HAVE_SOCKLEN_T 0
-+%define HAVE_STRUCT_ADDRINFO 0
-+%define HAVE_STRUCT_GROUP_SOURCE_REQ 0
-+%define HAVE_STRUCT_IP_MREQ_SOURCE 0
-+%define HAVE_STRUCT_IPV6_MREQ 0
-+%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0
-+%define HAVE_STRUCT_POLLFD 0
-+%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
-+%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
-+%define HAVE_STRUCT_SOCKADDR_IN6 0
-+%define HAVE_STRUCT_SOCKADDR_SA_LEN 0
-+%define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+%define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+%define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
-+%define HAVE_GZIP 1
-+%define HAVE_LIBDRM_GETFB2 0
-+%define HAVE_MAKEINFO 1
-+%define HAVE_MAKEINFO_HTML 0
-+%define HAVE_OPENCL_D3D11 0
-+%define HAVE_OPENCL_DRM_ARM 0
-+%define HAVE_OPENCL_DRM_BEIGNET 0
-+%define HAVE_OPENCL_DXVA2 0
-+%define HAVE_OPENCL_VAAPI_BEIGNET 0
-+%define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+%define HAVE_PERL 1
-+%define HAVE_POD2MAN 1
-+%define HAVE_TEXI2HTML 0
-+%define HAVE_XMLLINT 1
-+%define HAVE_ZLIB_GZIP 0
-+%define CONFIG_DOC 0
-+%define CONFIG_HTMLPAGES 0
-+%define CONFIG_MANPAGES 0
-+%define CONFIG_PODPAGES 0
-+%define CONFIG_TXTPAGES 0
-+%define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
-+%define CONFIG_AVIO_READING_EXAMPLE 1
-+%define CONFIG_DECODE_AUDIO_EXAMPLE 1
-+%define CONFIG_DECODE_VIDEO_EXAMPLE 1
-+%define CONFIG_DEMUXING_DECODING_EXAMPLE 1
-+%define CONFIG_ENCODE_AUDIO_EXAMPLE 1
-+%define CONFIG_ENCODE_VIDEO_EXAMPLE 1
-+%define CONFIG_EXTRACT_MVS_EXAMPLE 1
-+%define CONFIG_FILTER_AUDIO_EXAMPLE 0
-+%define CONFIG_FILTERING_AUDIO_EXAMPLE 0
-+%define CONFIG_FILTERING_VIDEO_EXAMPLE 0
-+%define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1
-+%define CONFIG_HW_DECODE_EXAMPLE 1
-+%define CONFIG_METADATA_EXAMPLE 1
-+%define CONFIG_MUXING_EXAMPLE 0
-+%define CONFIG_QSVDEC_EXAMPLE 0
-+%define CONFIG_REMUXING_EXAMPLE 1
-+%define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0
-+%define CONFIG_SCALING_VIDEO_EXAMPLE 0
-+%define CONFIG_TRANSCODE_AAC_EXAMPLE 0
-+%define CONFIG_TRANSCODING_EXAMPLE 0
-+%define CONFIG_VAAPI_ENCODE_EXAMPLE 0
-+%define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
-+%define CONFIG_AVISYNTH 0
-+%define CONFIG_FREI0R 0
-+%define CONFIG_LIBCDIO 0
-+%define CONFIG_LIBDAVS2 0
-+%define CONFIG_LIBRUBBERBAND 0
-+%define CONFIG_LIBVIDSTAB 0
-+%define CONFIG_LIBX264 0
-+%define CONFIG_LIBX265 0
-+%define CONFIG_LIBXAVS 0
-+%define CONFIG_LIBXAVS2 0
-+%define CONFIG_LIBXVID 0
-+%define CONFIG_DECKLINK 0
-+%define CONFIG_LIBFDK_AAC 0
-+%define CONFIG_LIBTLS 0
-+%define CONFIG_GMP 0
-+%define CONFIG_LIBARIBB24 0
-+%define CONFIG_LIBLENSFUN 0
-+%define CONFIG_LIBOPENCORE_AMRNB 0
-+%define CONFIG_LIBOPENCORE_AMRWB 0
-+%define CONFIG_LIBVO_AMRWBENC 0
-+%define CONFIG_MBEDTLS 0
-+%define CONFIG_RKMPP 0
-+%define CONFIG_LIBSMBCLIENT 0
-+%define CONFIG_CHROMAPRINT 0
-+%define CONFIG_GCRYPT 0
-+%define CONFIG_GNUTLS 0
-+%define CONFIG_JNI 0
-+%define CONFIG_LADSPA 0
-+%define CONFIG_LCMS2 0
-+%define CONFIG_LIBAOM 0
-+%define CONFIG_LIBASS 0
-+%define CONFIG_LIBBLURAY 0
-+%define CONFIG_LIBBS2B 0
-+%define CONFIG_LIBCACA 0
-+%define CONFIG_LIBCELT 0
-+%define CONFIG_LIBCODEC2 0
-+%define CONFIG_LIBDAV1D 0
-+%define CONFIG_LIBDC1394 0
-+%define CONFIG_LIBDRM 0
-+%define CONFIG_LIBFLITE 0
-+%define CONFIG_LIBFONTCONFIG 0
-+%define CONFIG_LIBFREETYPE 0
-+%define CONFIG_LIBFRIBIDI 0
-+%define CONFIG_LIBGLSLANG 0
-+%define CONFIG_LIBGME 0
-+%define CONFIG_LIBGSM 0
-+%define CONFIG_LIBIEC61883 0
-+%define CONFIG_LIBILBC 0
-+%define CONFIG_LIBJACK 0
-+%define CONFIG_LIBJXL 0
-+%define CONFIG_LIBKLVANC 0
-+%define CONFIG_LIBKVAZAAR 0
-+%define CONFIG_LIBMODPLUG 0
-+%define CONFIG_LIBMP3LAME 0
-+%define CONFIG_LIBMYSOFA 0
-+%define CONFIG_LIBOPENCV 0
-+%define CONFIG_LIBOPENH264 0
-+%define CONFIG_LIBOPENJPEG 0
-+%define CONFIG_LIBOPENMPT 0
-+%define CONFIG_LIBOPENVINO 0
-+%define CONFIG_LIBOPUS 1
-+%define CONFIG_LIBPLACEBO 0
-+%define CONFIG_LIBPULSE 0
-+%define CONFIG_LIBRABBITMQ 0
-+%define CONFIG_LIBRAV1E 0
-+%define CONFIG_LIBRIST 0
-+%define CONFIG_LIBRSVG 0
-+%define CONFIG_LIBRTMP 0
-+%define CONFIG_LIBSHADERC 0
-+%define CONFIG_LIBSHINE 0
-+%define CONFIG_LIBSMBCLIENT 0
-+%define CONFIG_LIBSNAPPY 0
-+%define CONFIG_LIBSOXR 0
-+%define CONFIG_LIBSPEEX 0
-+%define CONFIG_LIBSRT 0
-+%define CONFIG_LIBSSH 0
-+%define CONFIG_LIBSVTAV1 0
-+%define CONFIG_LIBTENSORFLOW 0
-+%define CONFIG_LIBTESSERACT 0
-+%define CONFIG_LIBTHEORA 0
-+%define CONFIG_LIBTWOLAME 0
-+%define CONFIG_LIBUAVS3D 0
-+%define CONFIG_LIBV4L2 0
-+%define CONFIG_LIBVMAF 0
-+%define CONFIG_LIBVORBIS 0
-+%define CONFIG_LIBVPX 0
-+%define CONFIG_LIBWEBP 0
-+%define CONFIG_LIBXML2 0
-+%define CONFIG_LIBZIMG 0
-+%define CONFIG_LIBZMQ 0
-+%define CONFIG_LIBZVBI 0
-+%define CONFIG_LV2 0
-+%define CONFIG_MEDIACODEC 0
-+%define CONFIG_OPENAL 0
-+%define CONFIG_OPENGL 0
-+%define CONFIG_OPENSSL 0
-+%define CONFIG_POCKETSPHINX 0
-+%define CONFIG_VAPOURSYNTH 0
-+%define CONFIG_ALSA 0
-+%define CONFIG_APPKIT 0
-+%define CONFIG_AVFOUNDATION 0
-+%define CONFIG_BZLIB 0
-+%define CONFIG_COREIMAGE 0
-+%define CONFIG_ICONV 0
-+%define CONFIG_LIBXCB 0
-+%define CONFIG_LIBXCB_SHM 0
-+%define CONFIG_LIBXCB_SHAPE 0
-+%define CONFIG_LIBXCB_XFIXES 0
-+%define CONFIG_LZMA 0
-+%define CONFIG_MEDIAFOUNDATION 0
-+%define CONFIG_METAL 0
-+%define CONFIG_SCHANNEL 0
-+%define CONFIG_SDL2 0
-+%define CONFIG_SECURETRANSPORT 0
-+%define CONFIG_SNDIO 0
-+%define CONFIG_XLIB 0
-+%define CONFIG_ZLIB 0
-+%define CONFIG_CUDA_NVCC 0
-+%define CONFIG_CUDA_SDK 0
-+%define CONFIG_LIBNPP 0
-+%define CONFIG_LIBMFX 0
-+%define CONFIG_MMAL 0
-+%define CONFIG_OMX 0
-+%define CONFIG_OPENCL 0
-+%define CONFIG_AMF 0
-+%define CONFIG_AUDIOTOOLBOX 0
-+%define CONFIG_CRYSTALHD 0
-+%define CONFIG_CUDA 0
-+%define CONFIG_CUDA_LLVM 0
-+%define CONFIG_CUVID 0
-+%define CONFIG_D3D11VA 0
-+%define CONFIG_DXVA2 0
-+%define CONFIG_FFNVCODEC 0
-+%define CONFIG_NVDEC 0
-+%define CONFIG_NVENC 0
-+%define CONFIG_VAAPI 0
-+%define CONFIG_VDPAU 0
-+%define CONFIG_VIDEOTOOLBOX 0
-+%define CONFIG_VULKAN 0
-+%define CONFIG_V4L2_M2M 0
-+%define CONFIG_FTRAPV 0
-+%define CONFIG_GRAY 0
-+%define CONFIG_HARDCODED_TABLES 0
-+%define CONFIG_OMX_RPI 0
-+%define CONFIG_RUNTIME_CPUDETECT 1
-+%define CONFIG_SAFE_BITSTREAM_READER 1
-+%define CONFIG_SHARED 0
-+%define CONFIG_SMALL 0
-+%define CONFIG_STATIC 1
-+%define CONFIG_SWSCALE_ALPHA 1
-+%define CONFIG_GPL 0
-+%define CONFIG_NONFREE 0
-+%define CONFIG_VERSION3 0
-+%define CONFIG_AVDEVICE 0
-+%define CONFIG_AVFILTER 0
-+%define CONFIG_SWSCALE 0
-+%define CONFIG_POSTPROC 0
-+%define CONFIG_AVFORMAT 1
-+%define CONFIG_AVCODEC 1
-+%define CONFIG_SWRESAMPLE 0
-+%define CONFIG_AVUTIL 1
-+%define CONFIG_FFPLAY 0
-+%define CONFIG_FFPROBE 0
-+%define CONFIG_FFMPEG 0
-+%define CONFIG_DCT 1
-+%define CONFIG_DWT 0
-+%define CONFIG_ERROR_RESILIENCE 0
-+%define CONFIG_FAAN 0
-+%define CONFIG_FAST_UNALIGNED 1
-+%define CONFIG_FFT 1
-+%define CONFIG_LSP 0
-+%define CONFIG_MDCT 1
-+%define CONFIG_PIXELUTILS 0
-+%define CONFIG_NETWORK 0
-+%define CONFIG_RDFT 1
-+%define CONFIG_AUTODETECT 0
-+%define CONFIG_FONTCONFIG 0
-+%define CONFIG_LARGE_TESTS 1
-+%define CONFIG_LINUX_PERF 0
-+%define CONFIG_MACOS_KPERF 0
-+%define CONFIG_MEMORY_POISONING 0
-+%define CONFIG_NEON_CLOBBER_TEST 0
-+%define CONFIG_OSSFUZZ 0
-+%define CONFIG_PIC 1
-+%define CONFIG_PTX_COMPRESSION 0
-+%define CONFIG_THUMB 0
-+%define CONFIG_VALGRIND_BACKTRACE 0
-+%define CONFIG_XMM_CLOBBER_TEST 0
-+%define CONFIG_BSFS 0
-+%define CONFIG_DECODERS 1
-+%define CONFIG_ENCODERS 0
-+%define CONFIG_HWACCELS 0
-+%define CONFIG_PARSERS 1
-+%define CONFIG_INDEVS 0
-+%define CONFIG_OUTDEVS 0
-+%define CONFIG_FILTERS 0
-+%define CONFIG_DEMUXERS 1
-+%define CONFIG_MUXERS 0
-+%define CONFIG_PROTOCOLS 0
-+%define CONFIG_AANDCTTABLES 0
-+%define CONFIG_AC3DSP 0
-+%define CONFIG_ADTS_HEADER 1
-+%define CONFIG_ATSC_A53 1
-+%define CONFIG_AUDIO_FRAME_QUEUE 0
-+%define CONFIG_AUDIODSP 0
-+%define CONFIG_BLOCKDSP 0
-+%define CONFIG_BSWAPDSP 0
-+%define CONFIG_CABAC 1
-+%define CONFIG_CBS 0
-+%define CONFIG_CBS_AV1 0
-+%define CONFIG_CBS_H264 0
-+%define CONFIG_CBS_H265 0
-+%define CONFIG_CBS_JPEG 0
-+%define CONFIG_CBS_MPEG2 0
-+%define CONFIG_CBS_VP9 0
-+%define CONFIG_DEFLATE_WRAPPER 0
-+%define CONFIG_DIRAC_PARSE 1
-+%define CONFIG_DNN 0
-+%define CONFIG_DOVI_RPU 0
-+%define CONFIG_DVPROFILE 0
-+%define CONFIG_EXIF 0
-+%define CONFIG_FAANDCT 0
-+%define CONFIG_FAANIDCT 0
-+%define CONFIG_FDCTDSP 0
-+%define CONFIG_FLACDSP 1
-+%define CONFIG_FMTCONVERT 0
-+%define CONFIG_FRAME_THREAD_ENCODER 0
-+%define CONFIG_G722DSP 0
-+%define CONFIG_GOLOMB 1
-+%define CONFIG_GPLV3 0
-+%define CONFIG_H263DSP 0
-+%define CONFIG_H264CHROMA 1
-+%define CONFIG_H264DSP 1
-+%define CONFIG_H264PARSE 1
-+%define CONFIG_H264PRED 1
-+%define CONFIG_H264QPEL 1
-+%define CONFIG_HEVCPARSE 0
-+%define CONFIG_HPELDSP 1
-+%define CONFIG_HUFFMAN 0
-+%define CONFIG_HUFFYUVDSP 0
-+%define CONFIG_HUFFYUVENCDSP 0
-+%define CONFIG_IDCTDSP 0
-+%define CONFIG_IIRFILTER 0
-+%define CONFIG_MDCT15 1
-+%define CONFIG_INFLATE_WRAPPER 0
-+%define CONFIG_INTRAX8 0
-+%define CONFIG_ISO_MEDIA 1
-+%define CONFIG_IVIDSP 0
-+%define CONFIG_JPEGTABLES 0
-+%define CONFIG_LGPLV3 0
-+%define CONFIG_LIBX262 0
-+%define CONFIG_LLAUDDSP 0
-+%define CONFIG_LLVIDDSP 0
-+%define CONFIG_LLVIDENCDSP 0
-+%define CONFIG_LPC 0
-+%define CONFIG_LZF 0
-+%define CONFIG_ME_CMP 0
-+%define CONFIG_MPEG_ER 0
-+%define CONFIG_MPEGAUDIO 1
-+%define CONFIG_MPEGAUDIODSP 1
-+%define CONFIG_MPEGAUDIOHEADER 1
-+%define CONFIG_MPEG4AUDIO 1
-+%define CONFIG_MPEGVIDEO 0
-+%define CONFIG_MPEGVIDEODEC 0
-+%define CONFIG_MPEGVIDEOENC 0
-+%define CONFIG_MSS34DSP 0
-+%define CONFIG_PIXBLOCKDSP 0
-+%define CONFIG_QPELDSP 0
-+%define CONFIG_QSV 0
-+%define CONFIG_QSVDEC 0
-+%define CONFIG_QSVENC 0
-+%define CONFIG_QSVVPP 0
-+%define CONFIG_RANGECODER 0
-+%define CONFIG_RIFFDEC 1
-+%define CONFIG_RIFFENC 0
-+%define CONFIG_RTPDEC 0
-+%define CONFIG_RTPENC_CHAIN 0
-+%define CONFIG_RV34DSP 0
-+%define CONFIG_SCENE_SAD 0
-+%define CONFIG_SINEWIN 1
-+%define CONFIG_SNAPPY 0
-+%define CONFIG_SRTP 0
-+%define CONFIG_STARTCODE 1
-+%define CONFIG_TEXTUREDSP 0
-+%define CONFIG_TEXTUREDSPENC 0
-+%define CONFIG_TPELDSP 0
-+%define CONFIG_VAAPI_1 0
-+%define CONFIG_VAAPI_ENCODE 0
-+%define CONFIG_VC1DSP 0
-+%define CONFIG_VIDEODSP 1
-+%define CONFIG_VP3DSP 1
-+%define CONFIG_VP56DSP 0
-+%define CONFIG_VP8DSP 1
-+%define CONFIG_WMA_FREQS 0
-+%define CONFIG_WMV2DSP 0
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h
deleted file mode 100644
index 7e329a6e0610..000000000000
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h
+++ /dev/null
@@ -1,742 +0,0 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.h.orig 2022-07-22 17:30:31 UTC
-+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.h
-@@ -0,0 +1,739 @@
-+/* Automatically generated by configure - do not modify! */
-+#ifndef FFMPEG_CONFIG_H
-+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/sandersd/src/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" " -- elide long configuration string from binary */
-+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
-+#define CONFIG_THIS_YEAR 2022
-+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
-+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-+#define CC_IDENT "OpenBSD clang version 13.0.0"
-+#define OS_NAME openbsd
-+#define av_restrict restrict
-+#define EXTERN_PREFIX ""
-+#define EXTERN_ASM
-+#define BUILDSUF ""
-+#define SLIBSUF ".so"
-+#define HAVE_MMX2 HAVE_MMXEXT
-+#define SWS_MAX_FILTER_SIZE 256
-+#define ARCH_AARCH64 0
-+#define ARCH_ALPHA 0
-+#define ARCH_ARM 0
-+#define ARCH_AVR32 0
-+#define ARCH_AVR32_AP 0
-+#define ARCH_AVR32_UC 0
-+#define ARCH_BFIN 0
-+#define ARCH_IA64 0
-+#define ARCH_LOONGARCH 0
-+#define ARCH_LOONGARCH32 0
-+#define ARCH_LOONGARCH64 0
-+#define ARCH_M68K 0
-+#define ARCH_MIPS 0
-+#define ARCH_MIPS64 0
-+#define ARCH_PARISC 0
-+#define ARCH_PPC 0
-+#define ARCH_PPC64 0
-+#define ARCH_RISCV 0
-+#define ARCH_S390 0
-+#define ARCH_SH4 0
-+#define ARCH_SPARC 0
-+#define ARCH_SPARC64 0
-+#define ARCH_TILEGX 0
-+#define ARCH_TILEPRO 0
-+#define ARCH_TOMI 0
-+#define ARCH_X86 1
-+#define ARCH_X86_32 0
-+#define ARCH_X86_64 1
-+#define HAVE_ARMV5TE 0
-+#define HAVE_ARMV6 0
-+#define HAVE_ARMV6T2 0
-+#define HAVE_ARMV8 0
-+#define HAVE_NEON 0
-+#define HAVE_VFP 0
-+#define HAVE_VFPV3 0
-+#define HAVE_SETEND 0
-+#define HAVE_ALTIVEC 0
-+#define HAVE_DCBZL 0
-+#define HAVE_LDBRX 0
-+#define HAVE_POWER8 0
-+#define HAVE_PPC4XX 0
-+#define HAVE_VSX 0
-+#define HAVE_AESNI 1
-+#define HAVE_AMD3DNOW 1
-+#define HAVE_AMD3DNOWEXT 1
-+#define HAVE_AVX 1
-+#define HAVE_AVX2 1
-+#define HAVE_AVX512 1
-+#define HAVE_AVX512ICL 1
-+#define HAVE_FMA3 1
-+#define HAVE_FMA4 1
-+#define HAVE_MMX 1
-+#define HAVE_MMXEXT 1
-+#define HAVE_SSE 1
-+#define HAVE_SSE2 1
-+#define HAVE_SSE3 1
-+#define HAVE_SSE4 1
-+#define HAVE_SSE42 1
-+#define HAVE_SSSE3 1
-+#define HAVE_XOP 1
-+#define HAVE_CPUNOP 0
-+#define HAVE_I686 1
-+#define HAVE_MIPSFPU 0
-+#define HAVE_MIPS32R2 0
-+#define HAVE_MIPS32R5 0
-+#define HAVE_MIPS64R2 0
-+#define HAVE_MIPS32R6 0
-+#define HAVE_MIPS64R6 0
-+#define HAVE_MIPSDSP 0
-+#define HAVE_MIPSDSPR2 0
-+#define HAVE_MSA 0
-+#define HAVE_LOONGSON2 0
-+#define HAVE_LOONGSON3 0
-+#define HAVE_MMI 0
-+#define HAVE_LSX 0
-+#define HAVE_LASX 0
-+#define HAVE_ARMV5TE_EXTERNAL 0
-+#define HAVE_ARMV6_EXTERNAL 0
-+#define HAVE_ARMV6T2_EXTERNAL 0
-+#define HAVE_ARMV8_EXTERNAL 0
-+#define HAVE_NEON_EXTERNAL 0
-+#define HAVE_VFP_EXTERNAL 0
-+#define HAVE_VFPV3_EXTERNAL 0
-+#define HAVE_SETEND_EXTERNAL 0
-+#define HAVE_ALTIVEC_EXTERNAL 0
-+#define HAVE_DCBZL_EXTERNAL 0
-+#define HAVE_LDBRX_EXTERNAL 0
-+#define HAVE_POWER8_EXTERNAL 0
-+#define HAVE_PPC4XX_EXTERNAL 0
-+#define HAVE_VSX_EXTERNAL 0
-+#define HAVE_AESNI_EXTERNAL 1
-+#define HAVE_AMD3DNOW_EXTERNAL 1
-+#define HAVE_AMD3DNOWEXT_EXTERNAL 1
-+#define HAVE_AVX_EXTERNAL 1
-+#define HAVE_AVX2_EXTERNAL 1
-+#define HAVE_AVX512_EXTERNAL 1
-+#define HAVE_AVX512ICL_EXTERNAL 1
-+#define HAVE_FMA3_EXTERNAL 1
-+#define HAVE_FMA4_EXTERNAL 1
-+#define HAVE_MMX_EXTERNAL 1
-+#define HAVE_MMXEXT_EXTERNAL 1
-+#define HAVE_SSE_EXTERNAL 1
-+#define HAVE_SSE2_EXTERNAL 1
-+#define HAVE_SSE3_EXTERNAL 1
-+#define HAVE_SSE4_EXTERNAL 1
-+#define HAVE_SSE42_EXTERNAL 1
-+#define HAVE_SSSE3_EXTERNAL 1
-+#define HAVE_XOP_EXTERNAL 1
-+#define HAVE_CPUNOP_EXTERNAL 0
-+#define HAVE_I686_EXTERNAL 0
-+#define HAVE_MIPSFPU_EXTERNAL 0
-+#define HAVE_MIPS32R2_EXTERNAL 0
-+#define HAVE_MIPS32R5_EXTERNAL 0
-+#define HAVE_MIPS64R2_EXTERNAL 0
-+#define HAVE_MIPS32R6_EXTERNAL 0
-+#define HAVE_MIPS64R6_EXTERNAL 0
-+#define HAVE_MIPSDSP_EXTERNAL 0
-+#define HAVE_MIPSDSPR2_EXTERNAL 0
-+#define HAVE_MSA_EXTERNAL 0
-+#define HAVE_LOONGSON2_EXTERNAL 0
-+#define HAVE_LOONGSON3_EXTERNAL 0
-+#define HAVE_MMI_EXTERNAL 0
-+#define HAVE_LSX_EXTERNAL 0
-+#define HAVE_LASX_EXTERNAL 0
-+#define HAVE_ARMV5TE_INLINE 0
-+#define HAVE_ARMV6_INLINE 0
-+#define HAVE_ARMV6T2_INLINE 0
-+#define HAVE_ARMV8_INLINE 0
-+#define HAVE_NEON_INLINE 0
-+#define HAVE_VFP_INLINE 0
-+#define HAVE_VFPV3_INLINE 0
-+#define HAVE_SETEND_INLINE 0
-+#define HAVE_ALTIVEC_INLINE 0
-+#define HAVE_DCBZL_INLINE 0
-+#define HAVE_LDBRX_INLINE 0
-+#define HAVE_POWER8_INLINE 0
-+#define HAVE_PPC4XX_INLINE 0
-+#define HAVE_VSX_INLINE 0
-+#define HAVE_AESNI_INLINE 1
-+#define HAVE_AMD3DNOW_INLINE 1
-+#define HAVE_AMD3DNOWEXT_INLINE 1
-+#define HAVE_AVX_INLINE 1
-+#define HAVE_AVX2_INLINE 1
-+#define HAVE_AVX512_INLINE 1
-+#define HAVE_AVX512ICL_INLINE 1
-+#define HAVE_FMA3_INLINE 1
-+#define HAVE_FMA4_INLINE 1
-+#define HAVE_MMX_INLINE 1
-+#define HAVE_MMXEXT_INLINE 1
-+#define HAVE_SSE_INLINE 1
-+#define HAVE_SSE2_INLINE 1
-+#define HAVE_SSE3_INLINE 1
-+#define HAVE_SSE4_INLINE 1
-+#define HAVE_SSE42_INLINE 1
-+#define HAVE_SSSE3_INLINE 1
-+#define HAVE_XOP_INLINE 1
-+#define HAVE_CPUNOP_INLINE 0
-+#define HAVE_I686_INLINE 0
-+#define HAVE_MIPSFPU_INLINE 0
-+#define HAVE_MIPS32R2_INLINE 0
-+#define HAVE_MIPS32R5_INLINE 0
-+#define HAVE_MIPS64R2_INLINE 0
-+#define HAVE_MIPS32R6_INLINE 0
-+#define HAVE_MIPS64R6_INLINE 0
-+#define HAVE_MIPSDSP_INLINE 0
-+#define HAVE_MIPSDSPR2_INLINE 0
-+#define HAVE_MSA_INLINE 0
-+#define HAVE_LOONGSON2_INLINE 0
-+#define HAVE_LOONGSON3_INLINE 0
-+#define HAVE_MMI_INLINE 0
-+#define HAVE_LSX_INLINE 0
-+#define HAVE_LASX_INLINE 0
-+#define HAVE_ALIGNED_STACK 1
-+#define HAVE_FAST_64BIT 1
-+#define HAVE_FAST_CLZ 1
-+#define HAVE_FAST_CMOV 1
-+#define HAVE_LOCAL_ALIGNED 1
-+#define HAVE_SIMD_ALIGN_16 1
-+#define HAVE_SIMD_ALIGN_32 1
-+#define HAVE_SIMD_ALIGN_64 1
-+#define HAVE_ATOMIC_CAS_PTR 0
-+#define HAVE_MACHINE_RW_BARRIER 0
-+#define HAVE_MEMORYBARRIER 0
-+#define HAVE_MM_EMPTY 1
-+#define HAVE_RDTSC 0
-+#define HAVE_SEM_TIMEDWAIT 1
-+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
-+#define HAVE_CABS 0
-+#define HAVE_CEXP 0
-+#define HAVE_INLINE_ASM 1
-+#define HAVE_SYMVER 0
-+#define HAVE_X86ASM 1
-+#define HAVE_BIGENDIAN 0
-+#define HAVE_FAST_UNALIGNED 1
-+#define HAVE_ARPA_INET_H 0
-+#define HAVE_ASM_TYPES_H 0
-+#define HAVE_CDIO_PARANOIA_H 0
-+#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
-+#define HAVE_CUDA_H 0
-+#define HAVE_DISPATCH_DISPATCH_H 0
-+#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
-+#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
-+#define HAVE_DEV_IC_BT8XX_H 1
-+#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
-+#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
-+#define HAVE_DIRECT_H 0
-+#define HAVE_DIRENT_H 1
-+#define HAVE_DXGIDEBUG_H 0
-+#define HAVE_DXVA_H 0
-+#define HAVE_ES2_GL_H 0
-+#define HAVE_GSM_H 0
-+#define HAVE_IO_H 0
-+#define HAVE_LINUX_DMA_BUF_H 0
-+#define HAVE_LINUX_PERF_EVENT_H 0
-+#define HAVE_MACHINE_IOCTL_BT848_H 0
-+#define HAVE_MACHINE_IOCTL_METEOR_H 0
-+#define HAVE_MALLOC_H 0
-+#define HAVE_OPENCV2_CORE_CORE_C_H 0
-+#define HAVE_OPENGL_GL3_H 0
-+#define HAVE_POLL_H 1
-+#define HAVE_SYS_PARAM_H 1
-+#define HAVE_SYS_RESOURCE_H 1
-+#define HAVE_SYS_SELECT_H 1
-+#define HAVE_SYS_SOUNDCARD_H 0
-+#define HAVE_SYS_TIME_H 1
-+#define HAVE_SYS_UN_H 1
-+#define HAVE_SYS_VIDEOIO_H 1
-+#define HAVE_TERMIOS_H 1
-+#define HAVE_UDPLITE_H 0
-+#define HAVE_UNISTD_H 1
-+#define HAVE_VALGRIND_VALGRIND_H 0 /* #define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440 */
-+#define HAVE_WINDOWS_H 0
-+#define HAVE_WINSOCK2_H 0
-+#define HAVE_INTRINSICS_NEON 0
-+#define HAVE_ATANF 1
-+#define HAVE_ATAN2F 1
-+#define HAVE_CBRT 1
-+#define HAVE_CBRTF 1
-+#define HAVE_COPYSIGN 1
-+#define HAVE_COSF 1
-+#define HAVE_ERF 1
-+#define HAVE_EXP2 1
-+#define HAVE_EXP2F 1
-+#define HAVE_EXPF 1
-+#define HAVE_HYPOT 1
-+#define HAVE_ISFINITE 1
-+#define HAVE_ISINF 1
-+#define HAVE_ISNAN 1
-+#define HAVE_LDEXPF 1
-+#define HAVE_LLRINT 1
-+#define HAVE_LLRINTF 1
-+#define HAVE_LOG2 1
-+#define HAVE_LOG2F 1
-+#define HAVE_LOG10F 1
-+#define HAVE_LRINT 1
-+#define HAVE_LRINTF 1
-+#define HAVE_POWF 1
-+#define HAVE_RINT 1
-+#define HAVE_ROUND 1
-+#define HAVE_ROUNDF 1
-+#define HAVE_SINF 1
-+#define HAVE_TRUNC 1
-+#define HAVE_TRUNCF 1
-+#define HAVE_DOS_PATHS 0
-+#define HAVE_LIBC_MSVCRT 0
-+#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
-+#define HAVE_SECTION_DATA_REL_RO 1
-+#define HAVE_THREADS 1
-+#define HAVE_UWP 0
-+#define HAVE_WINRT 0
-+#define HAVE_ACCESS 1
-+#define HAVE_ALIGNED_MALLOC 0
-+#define HAVE_ARC4RANDOM 1
-+#define HAVE_CLOCK_GETTIME 1
-+#define HAVE_CLOSESOCKET 0
-+#define HAVE_COMMANDLINETOARGVW 0
-+#define HAVE_FCNTL 1
-+#define HAVE_GETADDRINFO 0
-+#define HAVE_GETAUXVAL 0
-+#define HAVE_GETHRTIME 0
-+#define HAVE_GETOPT 1
-+#define HAVE_GETMODULEHANDLE 0
-+#define HAVE_GETPROCESSAFFINITYMASK 0
-+#define HAVE_GETPROCESSMEMORYINFO 0
-+#define HAVE_GETPROCESSTIMES 0
-+#define HAVE_GETRUSAGE 1
-+#define HAVE_GETSTDHANDLE 0
-+#define HAVE_GETSYSTEMTIMEASFILETIME 0
-+#define HAVE_GETTIMEOFDAY 1
-+#define HAVE_GLOB 1
-+#define HAVE_GLXGETPROCADDRESS 0
-+#define HAVE_GMTIME_R 1
-+#define HAVE_INET_ATON 0
-+#define HAVE_ISATTY 1
-+#define HAVE_KBHIT 0
-+#define HAVE_LOCALTIME_R 1
-+#define HAVE_LSTAT 1
-+#define HAVE_LZO1X_999_COMPRESS 0
-+#define HAVE_MACH_ABSOLUTE_TIME 0
-+#define HAVE_MAPVIEWOFFILE 0
-+#define HAVE_MEMALIGN 0
-+#define HAVE_MKSTEMP 1
-+#define HAVE_MMAP 1
-+#define HAVE_MPROTECT 1
-+#define HAVE_NANOSLEEP 1
-+#define HAVE_PEEKNAMEDPIPE 0
-+#define HAVE_POSIX_MEMALIGN 1
-+#define HAVE_PTHREAD_CANCEL 1
-+#define HAVE_SCHED_GETAFFINITY 0
-+#define HAVE_SECITEMIMPORT 0
-+#define HAVE_SETCONSOLETEXTATTRIBUTE 0
-+#define HAVE_SETCONSOLECTRLHANDLER 0
-+#define HAVE_SETDLLDIRECTORY 0
-+#define HAVE_SETMODE 0
-+#define HAVE_SETRLIMIT 1
-+#define HAVE_SLEEP 0
-+#define HAVE_STRERROR_R 1
-+#define HAVE_SYSCONF 1
-+#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */
-+#define HAVE_USLEEP 1
-+#define HAVE_UTGETOSTYPEFROMSTRING 0
-+#define HAVE_VIRTUALALLOC 0
-+#define HAVE_WGLGETPROCADDRESS 0
-+#define HAVE_BCRYPT 0
-+#define HAVE_VAAPI_DRM 0
-+#define HAVE_VAAPI_X11 0
-+#define HAVE_VDPAU_X11 0
-+#define HAVE_PTHREADS 1
-+#define HAVE_OS2THREADS 0
-+#define HAVE_W32THREADS 0
-+#define HAVE_AS_ARCH_DIRECTIVE 0
-+#define HAVE_AS_DN_DIRECTIVE 0
-+#define HAVE_AS_FPU_DIRECTIVE 0
-+#define HAVE_AS_FUNC 0
-+#define HAVE_AS_OBJECT_ARCH 0
-+#define HAVE_ASM_MOD_Q 0
-+#define HAVE_BLOCKS_EXTENSION 0
-+#define HAVE_EBP_AVAILABLE 1
-+#define HAVE_EBX_AVAILABLE 1
-+#define HAVE_GNU_AS 0
-+#define HAVE_GNU_WINDRES 0
-+#define HAVE_IBM_ASM 0
-+#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 0
-+#define HAVE_INLINE_ASM_LABELS 1
-+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
-+#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 1
-+#define HAVE_SYMVER_ASM_LABEL 1
-+#define HAVE_SYMVER_GNU_ASM 1
-+#define HAVE_VFP_ARGS 0
-+#define HAVE_XFORM_ASM 0
-+#define HAVE_XMM_CLOBBERS 1
-+#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
-+#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
-+#define HAVE_KCMVIDEOCODECTYPE_VP9 0
-+#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
-+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
-+#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
-+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
-+#define HAVE_SOCKLEN_T 0
-+#define HAVE_STRUCT_ADDRINFO 0
-+#define HAVE_STRUCT_GROUP_SOURCE_REQ 0
-+#define HAVE_STRUCT_IP_MREQ_SOURCE 0
-+#define HAVE_STRUCT_IPV6_MREQ 0
-+#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0
-+#define HAVE_STRUCT_POLLFD 0
-+#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
-+#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
-+#define HAVE_STRUCT_SOCKADDR_IN6 0
-+#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
-+#define HAVE_STRUCT_SOCKADDR_STORAGE 0
-+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
-+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
-+#define HAVE_GZIP 1
-+#define HAVE_LIBDRM_GETFB2 0
-+#define HAVE_MAKEINFO 1
-+#define HAVE_MAKEINFO_HTML 0
-+#define HAVE_OPENCL_D3D11 0
-+#define HAVE_OPENCL_DRM_ARM 0
-+#define HAVE_OPENCL_DRM_BEIGNET 0
-+#define HAVE_OPENCL_DXVA2 0
-+#define HAVE_OPENCL_VAAPI_BEIGNET 0
-+#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
-+#define HAVE_PERL 1
-+#define HAVE_POD2MAN 1
-+#define HAVE_TEXI2HTML 0
-+#define HAVE_XMLLINT 1
-+#define HAVE_ZLIB_GZIP 0
-+#define CONFIG_DOC 0
-+#define CONFIG_HTMLPAGES 0
-+#define CONFIG_MANPAGES 0
-+#define CONFIG_PODPAGES 0
-+#define CONFIG_TXTPAGES 0
-+#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
-+#define CONFIG_AVIO_READING_EXAMPLE 1
-+#define CONFIG_DECODE_AUDIO_EXAMPLE 1
-+#define CONFIG_DECODE_VIDEO_EXAMPLE 1
-+#define CONFIG_DEMUXING_DECODING_EXAMPLE 1
-+#define CONFIG_ENCODE_AUDIO_EXAMPLE 1
-+#define CONFIG_ENCODE_VIDEO_EXAMPLE 1
-+#define CONFIG_EXTRACT_MVS_EXAMPLE 1
-+#define CONFIG_FILTER_AUDIO_EXAMPLE 0
-+#define CONFIG_FILTERING_AUDIO_EXAMPLE 0
-+#define CONFIG_FILTERING_VIDEO_EXAMPLE 0
-+#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1
-+#define CONFIG_HW_DECODE_EXAMPLE 1
-+#define CONFIG_METADATA_EXAMPLE 1
-+#define CONFIG_MUXING_EXAMPLE 0
-+#define CONFIG_QSVDEC_EXAMPLE 0
-+#define CONFIG_REMUXING_EXAMPLE 1
-+#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0
-+#define CONFIG_SCALING_VIDEO_EXAMPLE 0
-+#define CONFIG_TRANSCODE_AAC_EXAMPLE 0
-+#define CONFIG_TRANSCODING_EXAMPLE 0
-+#define CONFIG_VAAPI_ENCODE_EXAMPLE 0
-+#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
-+#define CONFIG_AVISYNTH 0
-+#define CONFIG_FREI0R 0
-+#define CONFIG_LIBCDIO 0
-+#define CONFIG_LIBDAVS2 0
-+#define CONFIG_LIBRUBBERBAND 0
-+#define CONFIG_LIBVIDSTAB 0
-+#define CONFIG_LIBX264 0
-+#define CONFIG_LIBX265 0
-+#define CONFIG_LIBXAVS 0
-+#define CONFIG_LIBXAVS2 0
-+#define CONFIG_LIBXVID 0
-+#define CONFIG_DECKLINK 0
-+#define CONFIG_LIBFDK_AAC 0
-+#define CONFIG_LIBTLS 0
-+#define CONFIG_GMP 0
-+#define CONFIG_LIBARIBB24 0
-+#define CONFIG_LIBLENSFUN 0
-+#define CONFIG_LIBOPENCORE_AMRNB 0
-+#define CONFIG_LIBOPENCORE_AMRWB 0
-+#define CONFIG_LIBVO_AMRWBENC 0
-+#define CONFIG_MBEDTLS 0
-+#define CONFIG_RKMPP 0
-+#define CONFIG_LIBSMBCLIENT 0
-+#define CONFIG_CHROMAPRINT 0
-+#define CONFIG_GCRYPT 0
-+#define CONFIG_GNUTLS 0
-+#define CONFIG_JNI 0
-+#define CONFIG_LADSPA 0
-+#define CONFIG_LCMS2 0
-+#define CONFIG_LIBAOM 0
-+#define CONFIG_LIBASS 0
-+#define CONFIG_LIBBLURAY 0
-+#define CONFIG_LIBBS2B 0
-+#define CONFIG_LIBCACA 0
-+#define CONFIG_LIBCELT 0
-+#define CONFIG_LIBCODEC2 0
-+#define CONFIG_LIBDAV1D 0
-+#define CONFIG_LIBDC1394 0
-+#define CONFIG_LIBDRM 0
-+#define CONFIG_LIBFLITE 0
-+#define CONFIG_LIBFONTCONFIG 0
-+#define CONFIG_LIBFREETYPE 0
-+#define CONFIG_LIBFRIBIDI 0
-+#define CONFIG_LIBGLSLANG 0
-+#define CONFIG_LIBGME 0
-+#define CONFIG_LIBGSM 0
-+#define CONFIG_LIBIEC61883 0
-+#define CONFIG_LIBILBC 0
-+#define CONFIG_LIBJACK 0
-+#define CONFIG_LIBJXL 0
-+#define CONFIG_LIBKLVANC 0
-+#define CONFIG_LIBKVAZAAR 0
-+#define CONFIG_LIBMODPLUG 0
-+#define CONFIG_LIBMP3LAME 0
-+#define CONFIG_LIBMYSOFA 0
-+#define CONFIG_LIBOPENCV 0
-+#define CONFIG_LIBOPENH264 0
-+#define CONFIG_LIBOPENJPEG 0
-+#define CONFIG_LIBOPENMPT 0
-+#define CONFIG_LIBOPENVINO 0
-+#define CONFIG_LIBOPUS 1
-+#define CONFIG_LIBPLACEBO 0
-+#define CONFIG_LIBPULSE 0
-+#define CONFIG_LIBRABBITMQ 0
-+#define CONFIG_LIBRAV1E 0
-+#define CONFIG_LIBRIST 0
-+#define CONFIG_LIBRSVG 0
-+#define CONFIG_LIBRTMP 0
-+#define CONFIG_LIBSHADERC 0
-+#define CONFIG_LIBSHINE 0
-+#define CONFIG_LIBSMBCLIENT 0
-+#define CONFIG_LIBSNAPPY 0
-+#define CONFIG_LIBSOXR 0
-+#define CONFIG_LIBSPEEX 0
-+#define CONFIG_LIBSRT 0
-+#define CONFIG_LIBSSH 0
-+#define CONFIG_LIBSVTAV1 0
-+#define CONFIG_LIBTENSORFLOW 0
-+#define CONFIG_LIBTESSERACT 0
-+#define CONFIG_LIBTHEORA 0
-+#define CONFIG_LIBTWOLAME 0
-+#define CONFIG_LIBUAVS3D 0
-+#define CONFIG_LIBV4L2 0
-+#define CONFIG_LIBVMAF 0
-+#define CONFIG_LIBVORBIS 0
-+#define CONFIG_LIBVPX 0
-+#define CONFIG_LIBWEBP 0
-+#define CONFIG_LIBXML2 0
-+#define CONFIG_LIBZIMG 0
-+#define CONFIG_LIBZMQ 0
-+#define CONFIG_LIBZVBI 0
-+#define CONFIG_LV2 0
-+#define CONFIG_MEDIACODEC 0
-+#define CONFIG_OPENAL 0
-+#define CONFIG_OPENGL 0
-+#define CONFIG_OPENSSL 0
-+#define CONFIG_POCKETSPHINX 0
-+#define CONFIG_VAPOURSYNTH 0
-+#define CONFIG_ALSA 0
-+#define CONFIG_APPKIT 0
-+#define CONFIG_AVFOUNDATION 0
-+#define CONFIG_BZLIB 0
-+#define CONFIG_COREIMAGE 0
-+#define CONFIG_ICONV 0
-+#define CONFIG_LIBXCB 0
-+#define CONFIG_LIBXCB_SHM 0
-+#define CONFIG_LIBXCB_SHAPE 0
-+#define CONFIG_LIBXCB_XFIXES 0
-+#define CONFIG_LZMA 0
-+#define CONFIG_MEDIAFOUNDATION 0
-+#define CONFIG_METAL 0
-+#define CONFIG_SCHANNEL 0
-+#define CONFIG_SDL2 0
-+#define CONFIG_SECURETRANSPORT 0
-+#define CONFIG_SNDIO 0
-+#define CONFIG_XLIB 0
-+#define CONFIG_ZLIB 0
-+#define CONFIG_CUDA_NVCC 0
-+#define CONFIG_CUDA_SDK 0
-+#define CONFIG_LIBNPP 0
-+#define CONFIG_LIBMFX 0
-+#define CONFIG_MMAL 0
-+#define CONFIG_OMX 0
-+#define CONFIG_OPENCL 0
-+#define CONFIG_AMF 0
-+#define CONFIG_AUDIOTOOLBOX 0
-+#define CONFIG_CRYSTALHD 0
-+#define CONFIG_CUDA 0
-+#define CONFIG_CUDA_LLVM 0
-+#define CONFIG_CUVID 0
-+#define CONFIG_D3D11VA 0
-+#define CONFIG_DXVA2 0
-+#define CONFIG_FFNVCODEC 0
-+#define CONFIG_NVDEC 0
-+#define CONFIG_NVENC 0
-+#define CONFIG_VAAPI 0
-+#define CONFIG_VDPAU 0
-+#define CONFIG_VIDEOTOOLBOX 0
-+#define CONFIG_VULKAN 0
-+#define CONFIG_V4L2_M2M 0
-+#define CONFIG_FTRAPV 0
-+#define CONFIG_GRAY 0
-+#define CONFIG_HARDCODED_TABLES 0
-+#define CONFIG_OMX_RPI 0
-+#define CONFIG_RUNTIME_CPUDETECT 1
-+#define CONFIG_SAFE_BITSTREAM_READER 1
-+#define CONFIG_SHARED 0
-+#define CONFIG_SMALL 0
-+#define CONFIG_STATIC 1
-+#define CONFIG_SWSCALE_ALPHA 1
-+#define CONFIG_GPL 0
-+#define CONFIG_NONFREE 0
-+#define CONFIG_VERSION3 0
-+#define CONFIG_AVDEVICE 0
-+#define CONFIG_AVFILTER 0
-+#define CONFIG_SWSCALE 0
-+#define CONFIG_POSTPROC 0
-+#define CONFIG_AVFORMAT 1
-+#define CONFIG_AVCODEC 1
-+#define CONFIG_SWRESAMPLE 0
-+#define CONFIG_AVUTIL 1
-+#define CONFIG_FFPLAY 0
-+#define CONFIG_FFPROBE 0
-+#define CONFIG_FFMPEG 0
-+#define CONFIG_DCT 1
-+#define CONFIG_DWT 0
-+#define CONFIG_ERROR_RESILIENCE 0
-+#define CONFIG_FAAN 0
-+#define CONFIG_FAST_UNALIGNED 1
-+#define CONFIG_FFT 1
-+#define CONFIG_LSP 0
-+#define CONFIG_MDCT 1
-+#define CONFIG_PIXELUTILS 0
-+#define CONFIG_NETWORK 0
-+#define CONFIG_RDFT 1
-+#define CONFIG_AUTODETECT 0
-+#define CONFIG_FONTCONFIG 0
-+#define CONFIG_LARGE_TESTS 1
-+#define CONFIG_LINUX_PERF 0
-+#define CONFIG_MACOS_KPERF 0
-+#define CONFIG_MEMORY_POISONING 0
-+#define CONFIG_NEON_CLOBBER_TEST 0
-+#define CONFIG_OSSFUZZ 0
-+#define CONFIG_PIC 1
-+#define CONFIG_PTX_COMPRESSION 0
-+#define CONFIG_THUMB 0
-+#define CONFIG_VALGRIND_BACKTRACE 0
-+#define CONFIG_XMM_CLOBBER_TEST 0
-+#define CONFIG_BSFS 0
-+#define CONFIG_DECODERS 1
-+#define CONFIG_ENCODERS 0
-+#define CONFIG_HWACCELS 0
-+#define CONFIG_PARSERS 1
-+#define CONFIG_INDEVS 0
-+#define CONFIG_OUTDEVS 0
-+#define CONFIG_FILTERS 0
-+#define CONFIG_DEMUXERS 1
-+#define CONFIG_MUXERS 0
-+#define CONFIG_PROTOCOLS 0
-+#define CONFIG_AANDCTTABLES 0
-+#define CONFIG_AC3DSP 0
-+#define CONFIG_ADTS_HEADER 1
-+#define CONFIG_ATSC_A53 1
-+#define CONFIG_AUDIO_FRAME_QUEUE 0
-+#define CONFIG_AUDIODSP 0
-+#define CONFIG_BLOCKDSP 0
-+#define CONFIG_BSWAPDSP 0
-+#define CONFIG_CABAC 1
-+#define CONFIG_CBS 0
-+#define CONFIG_CBS_AV1 0
-+#define CONFIG_CBS_H264 0
-+#define CONFIG_CBS_H265 0
-+#define CONFIG_CBS_JPEG 0
-+#define CONFIG_CBS_MPEG2 0
-+#define CONFIG_CBS_VP9 0
-+#define CONFIG_DEFLATE_WRAPPER 0
-+#define CONFIG_DIRAC_PARSE 1
-+#define CONFIG_DNN 0
-+#define CONFIG_DOVI_RPU 0
-+#define CONFIG_DVPROFILE 0
-+#define CONFIG_EXIF 0
-+#define CONFIG_FAANDCT 0
-+#define CONFIG_FAANIDCT 0
-+#define CONFIG_FDCTDSP 0
-+#define CONFIG_FLACDSP 1
-+#define CONFIG_FMTCONVERT 0
-+#define CONFIG_FRAME_THREAD_ENCODER 0
-+#define CONFIG_G722DSP 0
-+#define CONFIG_GOLOMB 1
-+#define CONFIG_GPLV3 0
-+#define CONFIG_H263DSP 0
-+#define CONFIG_H264CHROMA 1
-+#define CONFIG_H264DSP 1
-+#define CONFIG_H264PARSE 1
-+#define CONFIG_H264PRED 1
-+#define CONFIG_H264QPEL 1
-+#define CONFIG_HEVCPARSE 0
-+#define CONFIG_HPELDSP 1
-+#define CONFIG_HUFFMAN 0
-+#define CONFIG_HUFFYUVDSP 0
-+#define CONFIG_HUFFYUVENCDSP 0
-+#define CONFIG_IDCTDSP 0
-+#define CONFIG_IIRFILTER 0
-+#define CONFIG_MDCT15 1
-+#define CONFIG_INFLATE_WRAPPER 0
-+#define CONFIG_INTRAX8 0
-+#define CONFIG_ISO_MEDIA 1
-+#define CONFIG_IVIDSP 0
-+#define CONFIG_JPEGTABLES 0
-+#define CONFIG_LGPLV3 0
-+#define CONFIG_LIBX262 0
-+#define CONFIG_LLAUDDSP 0
-+#define CONFIG_LLVIDDSP 0
-+#define CONFIG_LLVIDENCDSP 0
-+#define CONFIG_LPC 0
-+#define CONFIG_LZF 0
-+#define CONFIG_ME_CMP 0
-+#define CONFIG_MPEG_ER 0
-+#define CONFIG_MPEGAUDIO 1
-+#define CONFIG_MPEGAUDIODSP 1
-+#define CONFIG_MPEGAUDIOHEADER 1
-+#define CONFIG_MPEG4AUDIO 1
-+#define CONFIG_MPEGVIDEO 0
-+#define CONFIG_MPEGVIDEODEC 0
-+#define CONFIG_MPEGVIDEOENC 0
-+#define CONFIG_MSS34DSP 0
-+#define CONFIG_PIXBLOCKDSP 0
-+#define CONFIG_QPELDSP 0
-+#define CONFIG_QSV 0
-+#define CONFIG_QSVDEC 0
-+#define CONFIG_QSVENC 0
-+#define CONFIG_QSVVPP 0
-+#define CONFIG_RANGECODER 0
-+#define CONFIG_RIFFDEC 1
-+#define CONFIG_RIFFENC 0
-+#define CONFIG_RTPDEC 0
-+#define CONFIG_RTPENC_CHAIN 0
-+#define CONFIG_RV34DSP 0
-+#define CONFIG_SCENE_SAD 0
-+#define CONFIG_SINEWIN 1
-+#define CONFIG_SNAPPY 0
-+#define CONFIG_SRTP 0
-+#define CONFIG_STARTCODE 1
-+#define CONFIG_TEXTUREDSP 0
-+#define CONFIG_TEXTUREDSPENC 0
-+#define CONFIG_TPELDSP 0
-+#define CONFIG_VAAPI_1 0
-+#define CONFIG_VAAPI_ENCODE 0
-+#define CONFIG_VC1DSP 0
-+#define CONFIG_VIDEODSP 1
-+#define CONFIG_VP3DSP 1
-+#define CONFIG_VP56DSP 0
-+#define CONFIG_VP8DSP 1
-+#define CONFIG_WMA_FREQS 0
-+#define CONFIG_WMV2DSP 0
-+#endif /* FFMPEG_CONFIG_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config__components.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config__components.h
deleted file mode 100644
index 5530e23d31e4..000000000000
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config__components.h
+++ /dev/null
@@ -1,2086 +0,0 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config_components.h.orig 2022-07-22 17:30:31 UTC
-+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config_components.h
-@@ -0,0 +1,2083 @@
-+/* Automatically generated by configure - do not modify! */
-+#ifndef FFMPEG_CONFIG_COMPONENTS_H
-+#define FFMPEG_CONFIG_COMPONENTS_H
-+#define CONFIG_AAC_ADTSTOASC_BSF 0
-+#define CONFIG_AV1_FRAME_MERGE_BSF 0
-+#define CONFIG_AV1_FRAME_SPLIT_BSF 0
-+#define CONFIG_AV1_METADATA_BSF 0
-+#define CONFIG_CHOMP_BSF 0
-+#define CONFIG_DUMP_EXTRADATA_BSF 0
-+#define CONFIG_DCA_CORE_BSF 0
-+#define CONFIG_DV_ERROR_MARKER_BSF 0
-+#define CONFIG_EAC3_CORE_BSF 0
-+#define CONFIG_EXTRACT_EXTRADATA_BSF 0
-+#define CONFIG_FILTER_UNITS_BSF 0
-+#define CONFIG_H264_METADATA_BSF 0
-+#define CONFIG_H264_MP4TOANNEXB_BSF 0
-+#define CONFIG_H264_REDUNDANT_PPS_BSF 0
-+#define CONFIG_HAPQA_EXTRACT_BSF 0
-+#define CONFIG_HEVC_METADATA_BSF 0
-+#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
-+#define CONFIG_IMX_DUMP_HEADER_BSF 0
-+#define CONFIG_MJPEG2JPEG_BSF 0
-+#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
-+#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
-+#define CONFIG_MPEG2_METADATA_BSF 0
-+#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
-+#define CONFIG_MOV2TEXTSUB_BSF 0
-+#define CONFIG_NOISE_BSF 0
-+#define CONFIG_NULL_BSF 0
-+#define CONFIG_OPUS_METADATA_BSF 0
-+#define CONFIG_PCM_RECHUNK_BSF 0
-+#define CONFIG_PGS_FRAME_MERGE_BSF 0
-+#define CONFIG_PRORES_METADATA_BSF 0
-+#define CONFIG_REMOVE_EXTRADATA_BSF 0
-+#define CONFIG_SETTS_BSF 0
-+#define CONFIG_TEXT2MOVSUB_BSF 0
-+#define CONFIG_TRACE_HEADERS_BSF 0
-+#define CONFIG_TRUEHD_CORE_BSF 0
-+#define CONFIG_VP9_METADATA_BSF 0
-+#define CONFIG_VP9_RAW_REORDER_BSF 0
-+#define CONFIG_VP9_SUPERFRAME_BSF 0
-+#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
-+#define CONFIG_AASC_DECODER 0
-+#define CONFIG_AIC_DECODER 0
-+#define CONFIG_ALIAS_PIX_DECODER 0
-+#define CONFIG_AGM_DECODER 0
-+#define CONFIG_AMV_DECODER 0
-+#define CONFIG_ANM_DECODER 0
-+#define CONFIG_ANSI_DECODER 0
-+#define CONFIG_APNG_DECODER 0
-+#define CONFIG_ARBC_DECODER 0
-+#define CONFIG_ARGO_DECODER 0
-+#define CONFIG_ASV1_DECODER 0
-+#define CONFIG_ASV2_DECODER 0
-+#define CONFIG_AURA_DECODER 0
-+#define CONFIG_AURA2_DECODER 0
-+#define CONFIG_AVRP_DECODER 0
-+#define CONFIG_AVRN_DECODER 0
-+#define CONFIG_AVS_DECODER 0
-+#define CONFIG_AVUI_DECODER 0
-+#define CONFIG_AYUV_DECODER 0
-+#define CONFIG_BETHSOFTVID_DECODER 0
-+#define CONFIG_BFI_DECODER 0
-+#define CONFIG_BINK_DECODER 0
-+#define CONFIG_BITPACKED_DECODER 0
-+#define CONFIG_BMP_DECODER 0
-+#define CONFIG_BMV_VIDEO_DECODER 0
-+#define CONFIG_BRENDER_PIX_DECODER 0
-+#define CONFIG_C93_DECODER 0
-+#define CONFIG_CAVS_DECODER 0
-+#define CONFIG_CDGRAPHICS_DECODER 0
-+#define CONFIG_CDTOONS_DECODER 0
-+#define CONFIG_CDXL_DECODER 0
-+#define CONFIG_CFHD_DECODER 0
-+#define CONFIG_CINEPAK_DECODER 0
-+#define CONFIG_CLEARVIDEO_DECODER 0
-+#define CONFIG_CLJR_DECODER 0
-+#define CONFIG_CLLC_DECODER 0
-+#define CONFIG_COMFORTNOISE_DECODER 0
-+#define CONFIG_CPIA_DECODER 0
-+#define CONFIG_CRI_DECODER 0
-+#define CONFIG_CSCD_DECODER 0
-+#define CONFIG_CYUV_DECODER 0
-+#define CONFIG_DDS_DECODER 0
-+#define CONFIG_DFA_DECODER 0
-+#define CONFIG_DIRAC_DECODER 0
-+#define CONFIG_DNXHD_DECODER 0
-+#define CONFIG_DPX_DECODER 0
-+#define CONFIG_DSICINVIDEO_DECODER 0
-+#define CONFIG_DVAUDIO_DECODER 0
-+#define CONFIG_DVVIDEO_DECODER 0
-+#define CONFIG_DXA_DECODER 0
-+#define CONFIG_DXTORY_DECODER 0
-+#define CONFIG_DXV_DECODER 0
-+#define CONFIG_EACMV_DECODER 0
-+#define CONFIG_EAMAD_DECODER 0
-+#define CONFIG_EATGQ_DECODER 0
-+#define CONFIG_EATGV_DECODER 0
-+#define CONFIG_EATQI_DECODER 0
-+#define CONFIG_EIGHTBPS_DECODER 0
-+#define CONFIG_EIGHTSVX_EXP_DECODER 0
-+#define CONFIG_EIGHTSVX_FIB_DECODER 0
-+#define CONFIG_ESCAPE124_DECODER 0
-+#define CONFIG_ESCAPE130_DECODER 0
-+#define CONFIG_EXR_DECODER 0
-+#define CONFIG_FFV1_DECODER 0
-+#define CONFIG_FFVHUFF_DECODER 0
-+#define CONFIG_FIC_DECODER 0
-+#define CONFIG_FITS_DECODER 0
-+#define CONFIG_FLASHSV_DECODER 0
-+#define CONFIG_FLASHSV2_DECODER 0
-+#define CONFIG_FLIC_DECODER 0
-+#define CONFIG_FLV_DECODER 0
-+#define CONFIG_FMVC_DECODER 0
-+#define CONFIG_FOURXM_DECODER 0
-+#define CONFIG_FRAPS_DECODER 0
-+#define CONFIG_FRWU_DECODER 0
-+#define CONFIG_G2M_DECODER 0
-+#define CONFIG_GDV_DECODER 0
-+#define CONFIG_GEM_DECODER 0
-+#define CONFIG_GIF_DECODER 0
-+#define CONFIG_H261_DECODER 0
-+#define CONFIG_H263_DECODER 0
-+#define CONFIG_H263I_DECODER 0
-+#define CONFIG_H263P_DECODER 0
-+#define CONFIG_H263_V4L2M2M_DECODER 0
-+#define CONFIG_H264_DECODER 1
-+#define CONFIG_H264_CRYSTALHD_DECODER 0
-+#define CONFIG_H264_V4L2M2M_DECODER 0
-+#define CONFIG_H264_MEDIACODEC_DECODER 0
-+#define CONFIG_H264_MMAL_DECODER 0
-+#define CONFIG_H264_QSV_DECODER 0
-+#define CONFIG_H264_RKMPP_DECODER 0
-+#define CONFIG_HAP_DECODER 0
-+#define CONFIG_HEVC_DECODER 0
-+#define CONFIG_HEVC_QSV_DECODER 0
-+#define CONFIG_HEVC_RKMPP_DECODER 0
-+#define CONFIG_HEVC_V4L2M2M_DECODER 0
-+#define CONFIG_HNM4_VIDEO_DECODER 0
-+#define CONFIG_HQ_HQA_DECODER 0
-+#define CONFIG_HQX_DECODER 0
-+#define CONFIG_HUFFYUV_DECODER 0
-+#define CONFIG_HYMT_DECODER 0
-+#define CONFIG_IDCIN_DECODER 0
-+#define CONFIG_IFF_ILBM_DECODER 0
-+#define CONFIG_IMM4_DECODER 0
-+#define CONFIG_IMM5_DECODER 0
-+#define CONFIG_INDEO2_DECODER 0
-+#define CONFIG_INDEO3_DECODER 0
-+#define CONFIG_INDEO4_DECODER 0
-+#define CONFIG_INDEO5_DECODER 0
-+#define CONFIG_INTERPLAY_VIDEO_DECODER 0
-+#define CONFIG_IPU_DECODER 0
-+#define CONFIG_JPEG2000_DECODER 0
-+#define CONFIG_JPEGLS_DECODER 0
-+#define CONFIG_JV_DECODER 0
-+#define CONFIG_KGV1_DECODER 0
-+#define CONFIG_KMVC_DECODER 0
-+#define CONFIG_LAGARITH_DECODER 0
-+#define CONFIG_LOCO_DECODER 0
-+#define CONFIG_LSCR_DECODER 0
-+#define CONFIG_M101_DECODER 0
-+#define CONFIG_MAGICYUV_DECODER 0
-+#define CONFIG_MDEC_DECODER 0
-+#define CONFIG_MIMIC_DECODER 0
-+#define CONFIG_MJPEG_DECODER 0
-+#define CONFIG_MJPEGB_DECODER 0
-+#define CONFIG_MMVIDEO_DECODER 0
-+#define CONFIG_MOBICLIP_DECODER 0
-+#define CONFIG_MOTIONPIXELS_DECODER 0
-+#define CONFIG_MPEG1VIDEO_DECODER 0
-+#define CONFIG_MPEG2VIDEO_DECODER 0
-+#define CONFIG_MPEG4_DECODER 0
-+#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
-+#define CONFIG_MPEG4_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG4_MMAL_DECODER 0
-+#define CONFIG_MPEGVIDEO_DECODER 0
-+#define CONFIG_MPEG1_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG2_MMAL_DECODER 0
-+#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
-+#define CONFIG_MPEG2_V4L2M2M_DECODER 0
-+#define CONFIG_MPEG2_QSV_DECODER 0
-+#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
-+#define CONFIG_MSA1_DECODER 0
-+#define CONFIG_MSCC_DECODER 0
-+#define CONFIG_MSMPEG4V1_DECODER 0
-+#define CONFIG_MSMPEG4V2_DECODER 0
-+#define CONFIG_MSMPEG4V3_DECODER 0
-+#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
-+#define CONFIG_MSP2_DECODER 0
-+#define CONFIG_MSRLE_DECODER 0
-+#define CONFIG_MSS1_DECODER 0
-+#define CONFIG_MSS2_DECODER 0
-+#define CONFIG_MSVIDEO1_DECODER 0
-+#define CONFIG_MSZH_DECODER 0
-+#define CONFIG_MTS2_DECODER 0
-+#define CONFIG_MV30_DECODER 0
-+#define CONFIG_MVC1_DECODER 0
-+#define CONFIG_MVC2_DECODER 0
-+#define CONFIG_MVDV_DECODER 0
-+#define CONFIG_MVHA_DECODER 0
-+#define CONFIG_MWSC_DECODER 0
-+#define CONFIG_MXPEG_DECODER 0
-+#define CONFIG_NOTCHLC_DECODER 0
-+#define CONFIG_NUV_DECODER 0
-+#define CONFIG_PAF_VIDEO_DECODER 0
-+#define CONFIG_PAM_DECODER 0
-+#define CONFIG_PBM_DECODER 0
-+#define CONFIG_PCX_DECODER 0
-+#define CONFIG_PFM_DECODER 0
-+#define CONFIG_PGM_DECODER 0
-+#define CONFIG_PGMYUV_DECODER 0
-+#define CONFIG_PGX_DECODER 0
-+#define CONFIG_PHOTOCD_DECODER 0
-+#define CONFIG_PICTOR_DECODER 0
-+#define CONFIG_PIXLET_DECODER 0
-+#define CONFIG_PNG_DECODER 0
-+#define CONFIG_PPM_DECODER 0
-+#define CONFIG_PRORES_DECODER 0
-+#define CONFIG_PROSUMER_DECODER 0
-+#define CONFIG_PSD_DECODER 0
-+#define CONFIG_PTX_DECODER 0
-+#define CONFIG_QDRAW_DECODER 0
-+#define CONFIG_QPEG_DECODER 0
-+#define CONFIG_QTRLE_DECODER 0
-+#define CONFIG_R10K_DECODER 0
-+#define CONFIG_R210_DECODER 0
-+#define CONFIG_RASC_DECODER 0
-+#define CONFIG_RAWVIDEO_DECODER 0
-+#define CONFIG_RL2_DECODER 0
-+#define CONFIG_ROQ_DECODER 0
-+#define CONFIG_RPZA_DECODER 0
-+#define CONFIG_RSCC_DECODER 0
-+#define CONFIG_RV10_DECODER 0
-+#define CONFIG_RV20_DECODER 0
-+#define CONFIG_RV30_DECODER 0
-+#define CONFIG_RV40_DECODER 0
-+#define CONFIG_S302M_DECODER 0
-+#define CONFIG_SANM_DECODER 0
-+#define CONFIG_SCPR_DECODER 0
-+#define CONFIG_SCREENPRESSO_DECODER 0
-+#define CONFIG_SGA_DECODER 0
-+#define CONFIG_SGI_DECODER 0
-+#define CONFIG_SGIRLE_DECODER 0
-+#define CONFIG_SHEERVIDEO_DECODER 0
-+#define CONFIG_SIMBIOSIS_IMX_DECODER 0
-+#define CONFIG_SMACKER_DECODER 0
-+#define CONFIG_SMC_DECODER 0
-+#define CONFIG_SMVJPEG_DECODER 0
-+#define CONFIG_SNOW_DECODER 0
-+#define CONFIG_SP5X_DECODER 0
-+#define CONFIG_SPEEDHQ_DECODER 0
-+#define CONFIG_SPEEX_DECODER 0
-+#define CONFIG_SRGC_DECODER 0
-+#define CONFIG_SUNRAST_DECODER 0
-+#define CONFIG_SVQ1_DECODER 0
-+#define CONFIG_SVQ3_DECODER 0
-+#define CONFIG_TARGA_DECODER 0
-+#define CONFIG_TARGA_Y216_DECODER 0
-+#define CONFIG_TDSC_DECODER 0
-+#define CONFIG_THEORA_DECODER 1
-+#define CONFIG_THP_DECODER 0
-+#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
-+#define CONFIG_TIFF_DECODER 0
-+#define CONFIG_TMV_DECODER 0
-+#define CONFIG_TRUEMOTION1_DECODER 0
-+#define CONFIG_TRUEMOTION2_DECODER 0
-+#define CONFIG_TRUEMOTION2RT_DECODER 0
-+#define CONFIG_TSCC_DECODER 0
-+#define CONFIG_TSCC2_DECODER 0
-+#define CONFIG_TXD_DECODER 0
-+#define CONFIG_ULTI_DECODER 0
-+#define CONFIG_UTVIDEO_DECODER 0
-+#define CONFIG_V210_DECODER 0
-+#define CONFIG_V210X_DECODER 0
-+#define CONFIG_V308_DECODER 0
-+#define CONFIG_V408_DECODER 0
-+#define CONFIG_V410_DECODER 0
-+#define CONFIG_VB_DECODER 0
-+#define CONFIG_VBN_DECODER 0
-+#define CONFIG_VBLE_DECODER 0
-+#define CONFIG_VC1_DECODER 0
-+#define CONFIG_VC1_CRYSTALHD_DECODER 0
-+#define CONFIG_VC1IMAGE_DECODER 0
-+#define CONFIG_VC1_MMAL_DECODER 0
-+#define CONFIG_VC1_QSV_DECODER 0
-+#define CONFIG_VC1_V4L2M2M_DECODER 0
-+#define CONFIG_VCR1_DECODER 0
-+#define CONFIG_VMDVIDEO_DECODER 0
-+#define CONFIG_VMNC_DECODER 0
-+#define CONFIG_VP3_DECODER 1
-+#define CONFIG_VP4_DECODER 0
-+#define CONFIG_VP5_DECODER 0
-+#define CONFIG_VP6_DECODER 0
-+#define CONFIG_VP6A_DECODER 0
-+#define CONFIG_VP6F_DECODER 0
-+#define CONFIG_VP7_DECODER 0
-+#define CONFIG_VP8_DECODER 1
-+#define CONFIG_VP8_RKMPP_DECODER 0
-+#define CONFIG_VP8_V4L2M2M_DECODER 0
-+#define CONFIG_VP9_DECODER 0
-+#define CONFIG_VP9_RKMPP_DECODER 0
-+#define CONFIG_VP9_V4L2M2M_DECODER 0
-+#define CONFIG_VQA_DECODER 0
-+#define CONFIG_WEBP_DECODER 0
-+#define CONFIG_WCMV_DECODER 0
-+#define CONFIG_WRAPPED_AVFRAME_DECODER 0
-+#define CONFIG_WMV1_DECODER 0
-+#define CONFIG_WMV2_DECODER 0
-+#define CONFIG_WMV3_DECODER 0
-+#define CONFIG_WMV3_CRYSTALHD_DECODER 0
-+#define CONFIG_WMV3IMAGE_DECODER 0
-+#define CONFIG_WNV1_DECODER 0
-+#define CONFIG_XAN_WC3_DECODER 0
-+#define CONFIG_XAN_WC4_DECODER 0
-+#define CONFIG_XBM_DECODER 0
-+#define CONFIG_XFACE_DECODER 0
-+#define CONFIG_XL_DECODER 0
-+#define CONFIG_XPM_DECODER 0
-+#define CONFIG_XWD_DECODER 0
-+#define CONFIG_Y41P_DECODER 0
-+#define CONFIG_YLC_DECODER 0
-+#define CONFIG_YOP_DECODER 0
-+#define CONFIG_YUV4_DECODER 0
-+#define CONFIG_ZERO12V_DECODER 0
-+#define CONFIG_ZEROCODEC_DECODER 0
-+#define CONFIG_ZLIB_DECODER 0
-+#define CONFIG_ZMBV_DECODER 0
-+#define CONFIG_AAC_DECODER 1
-+#define CONFIG_AAC_FIXED_DECODER 0
-+#define CONFIG_AAC_LATM_DECODER 0
-+#define CONFIG_AC3_DECODER 0
-+#define CONFIG_AC3_FIXED_DECODER 0
-+#define CONFIG_ACELP_KELVIN_DECODER 0
-+#define CONFIG_ALAC_DECODER 0
-+#define CONFIG_ALS_DECODER 0
-+#define CONFIG_AMRNB_DECODER 0
-+#define CONFIG_AMRWB_DECODER 0
-+#define CONFIG_APE_DECODER 0
-+#define CONFIG_APTX_DECODER 0
-+#define CONFIG_APTX_HD_DECODER 0
-+#define CONFIG_ATRAC1_DECODER 0
-+#define CONFIG_ATRAC3_DECODER 0
-+#define CONFIG_ATRAC3AL_DECODER 0
-+#define CONFIG_ATRAC3P_DECODER 0
-+#define CONFIG_ATRAC3PAL_DECODER 0
-+#define CONFIG_ATRAC9_DECODER 0
-+#define CONFIG_BINKAUDIO_DCT_DECODER 0
-+#define CONFIG_BINKAUDIO_RDFT_DECODER 0
-+#define CONFIG_BMV_AUDIO_DECODER 0
-+#define CONFIG_COOK_DECODER 0
-+#define CONFIG_DCA_DECODER 0
-+#define CONFIG_DFPWM_DECODER 0
-+#define CONFIG_DOLBY_E_DECODER 0
-+#define CONFIG_DSD_LSBF_DECODER 0
-+#define CONFIG_DSD_MSBF_DECODER 0
-+#define CONFIG_DSD_LSBF_PLANAR_DECODER 0
-+#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
-+#define CONFIG_DSICINAUDIO_DECODER 0
-+#define CONFIG_DSS_SP_DECODER 0
-+#define CONFIG_DST_DECODER 0
-+#define CONFIG_EAC3_DECODER 0
-+#define CONFIG_EVRC_DECODER 0
-+#define CONFIG_FASTAUDIO_DECODER 0
-+#define CONFIG_FFWAVESYNTH_DECODER 0
-+#define CONFIG_FLAC_DECODER 1
-+#define CONFIG_G723_1_DECODER 0
-+#define CONFIG_G729_DECODER 0
-+#define CONFIG_GSM_DECODER 0
-+#define CONFIG_GSM_MS_DECODER 0
-+#define CONFIG_HCA_DECODER 0
-+#define CONFIG_HCOM_DECODER 0
-+#define CONFIG_IAC_DECODER 0
-+#define CONFIG_ILBC_DECODER 0
-+#define CONFIG_IMC_DECODER 0
-+#define CONFIG_INTERPLAY_ACM_DECODER 0
-+#define CONFIG_MACE3_DECODER 0
-+#define CONFIG_MACE6_DECODER 0
-+#define CONFIG_METASOUND_DECODER 0
-+#define CONFIG_MLP_DECODER 0
-+#define CONFIG_MP1_DECODER 0
-+#define CONFIG_MP1FLOAT_DECODER 0
-+#define CONFIG_MP2_DECODER 0
-+#define CONFIG_MP2FLOAT_DECODER 0
-+#define CONFIG_MP3FLOAT_DECODER 0
-+#define CONFIG_MP3_DECODER 1
-+#define CONFIG_MP3ADUFLOAT_DECODER 0
-+#define CONFIG_MP3ADU_DECODER 0
-+#define CONFIG_MP3ON4FLOAT_DECODER 0
-+#define CONFIG_MP3ON4_DECODER 0
-+#define CONFIG_MPC7_DECODER 0
-+#define CONFIG_MPC8_DECODER 0
-+#define CONFIG_MSNSIREN_DECODER 0
-+#define CONFIG_NELLYMOSER_DECODER 0
-+#define CONFIG_ON2AVC_DECODER 0
-+#define CONFIG_OPUS_DECODER 0
-+#define CONFIG_PAF_AUDIO_DECODER 0
-+#define CONFIG_QCELP_DECODER 0
-+#define CONFIG_QDM2_DECODER 0
-+#define CONFIG_QDMC_DECODER 0
-+#define CONFIG_RA_144_DECODER 0
-+#define CONFIG_RA_288_DECODER 0
-+#define CONFIG_RALF_DECODER 0
-+#define CONFIG_SBC_DECODER 0
-+#define CONFIG_SHORTEN_DECODER 0
-+#define CONFIG_SIPR_DECODER 0
-+#define CONFIG_SIREN_DECODER 0
-+#define CONFIG_SMACKAUD_DECODER 0
-+#define CONFIG_SONIC_DECODER 0
-+#define CONFIG_TAK_DECODER 0
-+#define CONFIG_TRUEHD_DECODER 0
-+#define CONFIG_TRUESPEECH_DECODER 0
-+#define CONFIG_TTA_DECODER 0
-+#define CONFIG_TWINVQ_DECODER 0
-+#define CONFIG_VMDAUDIO_DECODER 0
-+#define CONFIG_VORBIS_DECODER 1
-+#define CONFIG_WAVPACK_DECODER 0
-+#define CONFIG_WMALOSSLESS_DECODER 0
-+#define CONFIG_WMAPRO_DECODER 0
-+#define CONFIG_WMAV1_DECODER 0
-+#define CONFIG_WMAV2_DECODER 0
-+#define CONFIG_WMAVOICE_DECODER 0
-+#define CONFIG_WS_SND1_DECODER 0
-+#define CONFIG_XMA1_DECODER 0
-+#define CONFIG_XMA2_DECODER 0
-+#define CONFIG_PCM_ALAW_DECODER 1
-+#define CONFIG_PCM_BLURAY_DECODER 0
-+#define CONFIG_PCM_DVD_DECODER 0
-+#define CONFIG_PCM_F16LE_DECODER 0
-+#define CONFIG_PCM_F24LE_DECODER 0
-+#define CONFIG_PCM_F32BE_DECODER 0
-+#define CONFIG_PCM_F32LE_DECODER 1
-+#define CONFIG_PCM_F64BE_DECODER 0
-+#define CONFIG_PCM_F64LE_DECODER 0
-+#define CONFIG_PCM_LXF_DECODER 0
-+#define CONFIG_PCM_MULAW_DECODER 1
-+#define CONFIG_PCM_S8_DECODER 0
-+#define CONFIG_PCM_S8_PLANAR_DECODER 0
-+#define CONFIG_PCM_S16BE_DECODER 1
-+#define CONFIG_PCM_S16BE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S16LE_DECODER 1
-+#define CONFIG_PCM_S16LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S24BE_DECODER 1
-+#define CONFIG_PCM_S24DAUD_DECODER 0
-+#define CONFIG_PCM_S24LE_DECODER 1
-+#define CONFIG_PCM_S24LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S32BE_DECODER 0
-+#define CONFIG_PCM_S32LE_DECODER 1
-+#define CONFIG_PCM_S32LE_PLANAR_DECODER 0
-+#define CONFIG_PCM_S64BE_DECODER 0
-+#define CONFIG_PCM_S64LE_DECODER 0
-+#define CONFIG_PCM_SGA_DECODER 0
-+#define CONFIG_PCM_U8_DECODER 1
-+#define CONFIG_PCM_U16BE_DECODER 0
-+#define CONFIG_PCM_U16LE_DECODER 0
-+#define CONFIG_PCM_U24BE_DECODER 0
-+#define CONFIG_PCM_U24LE_DECODER 0
-+#define CONFIG_PCM_U32BE_DECODER 0
-+#define CONFIG_PCM_U32LE_DECODER 0
-+#define CONFIG_PCM_VIDC_DECODER 0
-+#define CONFIG_DERF_DPCM_DECODER 0
-+#define CONFIG_GREMLIN_DPCM_DECODER 0
-+#define CONFIG_INTERPLAY_DPCM_DECODER 0
-+#define CONFIG_ROQ_DPCM_DECODER 0
-+#define CONFIG_SDX2_DPCM_DECODER 0
-+#define CONFIG_SOL_DPCM_DECODER 0
-+#define CONFIG_XAN_DPCM_DECODER 0
-+#define CONFIG_ADPCM_4XM_DECODER 0
-+#define CONFIG_ADPCM_ADX_DECODER 0
-+#define CONFIG_ADPCM_AFC_DECODER 0
-+#define CONFIG_ADPCM_AGM_DECODER 0
-+#define CONFIG_ADPCM_AICA_DECODER 0
-+#define CONFIG_ADPCM_ARGO_DECODER 0
-+#define CONFIG_ADPCM_CT_DECODER 0
-+#define CONFIG_ADPCM_DTK_DECODER 0
-+#define CONFIG_ADPCM_EA_DECODER 0
-+#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0
-+#define CONFIG_ADPCM_EA_R1_DECODER 0
-+#define CONFIG_ADPCM_EA_R2_DECODER 0
-+#define CONFIG_ADPCM_EA_R3_DECODER 0
-+#define CONFIG_ADPCM_EA_XAS_DECODER 0
-+#define CONFIG_ADPCM_G722_DECODER 0
-+#define CONFIG_ADPCM_G726_DECODER 0
-+#define CONFIG_ADPCM_G726LE_DECODER 0
-+#define CONFIG_ADPCM_IMA_ACORN_DECODER 0
-+#define CONFIG_ADPCM_IMA_AMV_DECODER 0
-+#define CONFIG_ADPCM_IMA_ALP_DECODER 0
-+#define CONFIG_ADPCM_IMA_APC_DECODER 0
-+#define CONFIG_ADPCM_IMA_APM_DECODER 0
-+#define CONFIG_ADPCM_IMA_CUNNING_DECODER 0
-+#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
-+#define CONFIG_ADPCM_IMA_DK3_DECODER 0
-+#define CONFIG_ADPCM_IMA_DK4_DECODER 0
-+#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
-+#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0
-+#define CONFIG_ADPCM_IMA_ISS_DECODER 0
-+#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 0
-+#define CONFIG_ADPCM_IMA_MTF_DECODER 0
-+#define CONFIG_ADPCM_IMA_OKI_DECODER 0
-+#define CONFIG_ADPCM_IMA_QT_DECODER 0
-+#define CONFIG_ADPCM_IMA_RAD_DECODER 0
-+#define CONFIG_ADPCM_IMA_SSI_DECODER 0
-+#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0
-+#define CONFIG_ADPCM_IMA_WAV_DECODER 0
-+#define CONFIG_ADPCM_IMA_WS_DECODER 0
-+#define CONFIG_ADPCM_MS_DECODER 0
-+#define CONFIG_ADPCM_MTAF_DECODER 0
-+#define CONFIG_ADPCM_PSX_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_2_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_3_DECODER 0
-+#define CONFIG_ADPCM_SBPRO_4_DECODER 0
-+#define CONFIG_ADPCM_SWF_DECODER 0
-+#define CONFIG_ADPCM_THP_DECODER 0
-+#define CONFIG_ADPCM_THP_LE_DECODER 0
-+#define CONFIG_ADPCM_VIMA_DECODER 0
-+#define CONFIG_ADPCM_XA_DECODER 0
-+#define CONFIG_ADPCM_YAMAHA_DECODER 0
-+#define CONFIG_ADPCM_ZORK_DECODER 0
-+#define CONFIG_SSA_DECODER 0
-+#define CONFIG_ASS_DECODER 0
-+#define CONFIG_CCAPTION_DECODER 0
-+#define CONFIG_DVBSUB_DECODER 0
-+#define CONFIG_DVDSUB_DECODER 0
-+#define CONFIG_JACOSUB_DECODER 0
-+#define CONFIG_MICRODVD_DECODER 0
-+#define CONFIG_MOVTEXT_DECODER 0
-+#define CONFIG_MPL2_DECODER 0
-+#define CONFIG_PGSSUB_DECODER 0
-+#define CONFIG_PJS_DECODER 0
-+#define CONFIG_REALTEXT_DECODER 0
-+#define CONFIG_SAMI_DECODER 0
-+#define CONFIG_SRT_DECODER 0
-+#define CONFIG_STL_DECODER 0
-+#define CONFIG_SUBRIP_DECODER 0
-+#define CONFIG_SUBVIEWER_DECODER 0
-+#define CONFIG_SUBVIEWER1_DECODER 0
-+#define CONFIG_TEXT_DECODER 0
-+#define CONFIG_VPLAYER_DECODER 0
-+#define CONFIG_WEBVTT_DECODER 0
-+#define CONFIG_XSUB_DECODER 0
-+#define CONFIG_AAC_AT_DECODER 0
-+#define CONFIG_AC3_AT_DECODER 0
-+#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
-+#define CONFIG_ALAC_AT_DECODER 0
-+#define CONFIG_AMR_NB_AT_DECODER 0
-+#define CONFIG_EAC3_AT_DECODER 0
-+#define CONFIG_GSM_MS_AT_DECODER 0
-+#define CONFIG_ILBC_AT_DECODER 0
-+#define CONFIG_MP1_AT_DECODER 0
-+#define CONFIG_MP2_AT_DECODER 0
-+#define CONFIG_MP3_AT_DECODER 0
-+#define CONFIG_PCM_ALAW_AT_DECODER 0
-+#define CONFIG_PCM_MULAW_AT_DECODER 0
-+#define CONFIG_QDMC_AT_DECODER 0
-+#define CONFIG_QDM2_AT_DECODER 0
-+#define CONFIG_LIBARIBB24_DECODER 0
-+#define CONFIG_LIBCELT_DECODER 0
-+#define CONFIG_LIBCODEC2_DECODER 0
-+#define CONFIG_LIBDAV1D_DECODER 0
-+#define CONFIG_LIBDAVS2_DECODER 0
-+#define CONFIG_LIBFDK_AAC_DECODER 0
-+#define CONFIG_LIBGSM_DECODER 0
-+#define CONFIG_LIBGSM_MS_DECODER 0
-+#define CONFIG_LIBILBC_DECODER 0
-+#define CONFIG_LIBJXL_DECODER 0
-+#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
-+#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
-+#define CONFIG_LIBOPENJPEG_DECODER 0
-+#define CONFIG_LIBOPUS_DECODER 1
-+#define CONFIG_LIBRSVG_DECODER 0
-+#define CONFIG_LIBSPEEX_DECODER 0
-+#define CONFIG_LIBUAVS3D_DECODER 0
-+#define CONFIG_LIBVORBIS_DECODER 0
-+#define CONFIG_LIBVPX_VP8_DECODER 0
-+#define CONFIG_LIBVPX_VP9_DECODER 0
-+#define CONFIG_LIBZVBI_TELETEXT_DECODER 0
-+#define CONFIG_BINTEXT_DECODER 0
-+#define CONFIG_XBIN_DECODER 0
-+#define CONFIG_IDF_DECODER 0
-+#define CONFIG_LIBAOM_AV1_DECODER 0
-+#define CONFIG_AV1_DECODER 0
-+#define CONFIG_AV1_CUVID_DECODER 0
-+#define CONFIG_AV1_QSV_DECODER 0
-+#define CONFIG_LIBOPENH264_DECODER 0
-+#define CONFIG_H264_CUVID_DECODER 0
-+#define CONFIG_HEVC_CUVID_DECODER 0
-+#define CONFIG_HEVC_MEDIACODEC_DECODER 0
-+#define CONFIG_MJPEG_CUVID_DECODER 0
-+#define CONFIG_MJPEG_QSV_DECODER 0
-+#define CONFIG_MPEG1_CUVID_DECODER 0
-+#define CONFIG_MPEG2_CUVID_DECODER 0
-+#define CONFIG_MPEG4_CUVID_DECODER 0
-+#define CONFIG_MPEG4_MEDIACODEC_DECODER 0
-+#define CONFIG_VC1_CUVID_DECODER 0
-+#define CONFIG_VP8_CUVID_DECODER 0
-+#define CONFIG_VP8_MEDIACODEC_DECODER 0
-+#define CONFIG_VP8_QSV_DECODER 0
-+#define CONFIG_VP9_CUVID_DECODER 0
-+#define CONFIG_VP9_MEDIACODEC_DECODER 0
-+#define CONFIG_VP9_QSV_DECODER 0
-+#define CONFIG_A64MULTI_ENCODER 0
-+#define CONFIG_A64MULTI5_ENCODER 0
-+#define CONFIG_ALIAS_PIX_ENCODER 0
-+#define CONFIG_AMV_ENCODER 0
-+#define CONFIG_APNG_ENCODER 0
-+#define CONFIG_ASV1_ENCODER 0
-+#define CONFIG_ASV2_ENCODER 0
-+#define CONFIG_AVRP_ENCODER 0
-+#define CONFIG_AVUI_ENCODER 0
-+#define CONFIG_AYUV_ENCODER 0
-+#define CONFIG_BITPACKED_ENCODER 0
-+#define CONFIG_BMP_ENCODER 0
-+#define CONFIG_CFHD_ENCODER 0
-+#define CONFIG_CINEPAK_ENCODER 0
-+#define CONFIG_CLJR_ENCODER 0
-+#define CONFIG_COMFORTNOISE_ENCODER 0
-+#define CONFIG_DNXHD_ENCODER 0
-+#define CONFIG_DPX_ENCODER 0
-+#define CONFIG_DVVIDEO_ENCODER 0
-+#define CONFIG_EXR_ENCODER 0
-+#define CONFIG_FFV1_ENCODER 0
-+#define CONFIG_FFVHUFF_ENCODER 0
-+#define CONFIG_FITS_ENCODER 0
-+#define CONFIG_FLASHSV_ENCODER 0
-+#define CONFIG_FLASHSV2_ENCODER 0
-+#define CONFIG_FLV_ENCODER 0
-+#define CONFIG_GIF_ENCODER 0
-+#define CONFIG_H261_ENCODER 0
-+#define CONFIG_H263_ENCODER 0
-+#define CONFIG_H263P_ENCODER 0
-+#define CONFIG_HAP_ENCODER 0
-+#define CONFIG_HUFFYUV_ENCODER 0
-+#define CONFIG_JPEG2000_ENCODER 0
-+#define CONFIG_JPEGLS_ENCODER 0
-+#define CONFIG_LJPEG_ENCODER 0
-+#define CONFIG_MAGICYUV_ENCODER 0
-+#define CONFIG_MJPEG_ENCODER 0
-+#define CONFIG_MPEG1VIDEO_ENCODER 0
-+#define CONFIG_MPEG2VIDEO_ENCODER 0
-+#define CONFIG_MPEG4_ENCODER 0
-+#define CONFIG_MSMPEG4V2_ENCODER 0
-+#define CONFIG_MSMPEG4V3_ENCODER 0
-+#define CONFIG_MSVIDEO1_ENCODER 0
-+#define CONFIG_PAM_ENCODER 0
-+#define CONFIG_PBM_ENCODER 0
-+#define CONFIG_PCX_ENCODER 0
-+#define CONFIG_PFM_ENCODER 0
-+#define CONFIG_PGM_ENCODER 0
-+#define CONFIG_PGMYUV_ENCODER 0
-+#define CONFIG_PNG_ENCODER 0
-+#define CONFIG_PPM_ENCODER 0
-+#define CONFIG_PRORES_ENCODER 0
-+#define CONFIG_PRORES_AW_ENCODER 0
-+#define CONFIG_PRORES_KS_ENCODER 0
-+#define CONFIG_QTRLE_ENCODER 0
-+#define CONFIG_R10K_ENCODER 0
-+#define CONFIG_R210_ENCODER 0
-+#define CONFIG_RAWVIDEO_ENCODER 0
-+#define CONFIG_ROQ_ENCODER 0
-+#define CONFIG_RPZA_ENCODER 0
-+#define CONFIG_RV10_ENCODER 0
-+#define CONFIG_RV20_ENCODER 0
-+#define CONFIG_S302M_ENCODER 0
-+#define CONFIG_SGI_ENCODER 0
-+#define CONFIG_SMC_ENCODER 0
-+#define CONFIG_SNOW_ENCODER 0
-+#define CONFIG_SPEEDHQ_ENCODER 0
-+#define CONFIG_SUNRAST_ENCODER 0
-+#define CONFIG_SVQ1_ENCODER 0
-+#define CONFIG_TARGA_ENCODER 0
-+#define CONFIG_TIFF_ENCODER 0
-+#define CONFIG_UTVIDEO_ENCODER 0
-+#define CONFIG_V210_ENCODER 0
-+#define CONFIG_V308_ENCODER 0
-+#define CONFIG_V408_ENCODER 0
-+#define CONFIG_V410_ENCODER 0
-+#define CONFIG_VBN_ENCODER 0
-+#define CONFIG_VC2_ENCODER 0
-+#define CONFIG_WRAPPED_AVFRAME_ENCODER 0
-+#define CONFIG_WMV1_ENCODER 0
-+#define CONFIG_WMV2_ENCODER 0
-+#define CONFIG_XBM_ENCODER 0
-+#define CONFIG_XFACE_ENCODER 0
-+#define CONFIG_XWD_ENCODER 0
-+#define CONFIG_Y41P_ENCODER 0
-+#define CONFIG_YUV4_ENCODER 0
-+#define CONFIG_ZLIB_ENCODER 0
-+#define CONFIG_ZMBV_ENCODER 0
-+#define CONFIG_AAC_ENCODER 0
-+#define CONFIG_AC3_ENCODER 0
-+#define CONFIG_AC3_FIXED_ENCODER 0
-+#define CONFIG_ALAC_ENCODER 0
-+#define CONFIG_APTX_ENCODER 0
-+#define CONFIG_APTX_HD_ENCODER 0
-+#define CONFIG_DCA_ENCODER 0
-+#define CONFIG_DFPWM_ENCODER 0
-+#define CONFIG_EAC3_ENCODER 0
-+#define CONFIG_FLAC_ENCODER 0
-+#define CONFIG_G723_1_ENCODER 0
-+#define CONFIG_MLP_ENCODER 0
-+#define CONFIG_MP2_ENCODER 0
-+#define CONFIG_MP2FIXED_ENCODER 0
-+#define CONFIG_NELLYMOSER_ENCODER 0
-+#define CONFIG_OPUS_ENCODER 0
-+#define CONFIG_RA_144_ENCODER 0
-+#define CONFIG_SBC_ENCODER 0
-+#define CONFIG_SONIC_ENCODER 0
-+#define CONFIG_SONIC_LS_ENCODER 0
-+#define CONFIG_TRUEHD_ENCODER 0
-+#define CONFIG_TTA_ENCODER 0
-+#define CONFIG_VORBIS_ENCODER 0
-+#define CONFIG_WAVPACK_ENCODER 0
-+#define CONFIG_WMAV1_ENCODER 0
-+#define CONFIG_WMAV2_ENCODER 0
-+#define CONFIG_PCM_ALAW_ENCODER 0
-+#define CONFIG_PCM_BLURAY_ENCODER 0
-+#define CONFIG_PCM_DVD_ENCODER 0
-+#define CONFIG_PCM_F32BE_ENCODER 0
-+#define CONFIG_PCM_F32LE_ENCODER 0
-+#define CONFIG_PCM_F64BE_ENCODER 0
-+#define CONFIG_PCM_F64LE_ENCODER 0
-+#define CONFIG_PCM_MULAW_ENCODER 0
-+#define CONFIG_PCM_S8_ENCODER 0
-+#define CONFIG_PCM_S8_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S16BE_ENCODER 0
-+#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S16LE_ENCODER 0
-+#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S24BE_ENCODER 0
-+#define CONFIG_PCM_S24DAUD_ENCODER 0
-+#define CONFIG_PCM_S24LE_ENCODER 0
-+#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S32BE_ENCODER 0
-+#define CONFIG_PCM_S32LE_ENCODER 0
-+#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0
-+#define CONFIG_PCM_S64BE_ENCODER 0
-+#define CONFIG_PCM_S64LE_ENCODER 0
-+#define CONFIG_PCM_U8_ENCODER 0
-+#define CONFIG_PCM_U16BE_ENCODER 0
-+#define CONFIG_PCM_U16LE_ENCODER 0
-+#define CONFIG_PCM_U24BE_ENCODER 0
-+#define CONFIG_PCM_U24LE_ENCODER 0
-+#define CONFIG_PCM_U32BE_ENCODER 0
-+#define CONFIG_PCM_U32LE_ENCODER 0
-+#define CONFIG_PCM_VIDC_ENCODER 0
-+#define CONFIG_ROQ_DPCM_ENCODER 0
-+#define CONFIG_ADPCM_ADX_ENCODER 0
-+#define CONFIG_ADPCM_ARGO_ENCODER 0
-+#define CONFIG_ADPCM_G722_ENCODER 0
-+#define CONFIG_ADPCM_G726_ENCODER 0
-+#define CONFIG_ADPCM_G726LE_ENCODER 0
-+#define CONFIG_ADPCM_IMA_AMV_ENCODER 0
-+#define CONFIG_ADPCM_IMA_ALP_ENCODER 0
-+#define CONFIG_ADPCM_IMA_APM_ENCODER 0
-+#define CONFIG_ADPCM_IMA_QT_ENCODER 0
-+#define CONFIG_ADPCM_IMA_SSI_ENCODER 0
-+#define CONFIG_ADPCM_IMA_WAV_ENCODER 0
-+#define CONFIG_ADPCM_IMA_WS_ENCODER 0
-+#define CONFIG_ADPCM_MS_ENCODER 0
-+#define CONFIG_ADPCM_SWF_ENCODER 0
-+#define CONFIG_ADPCM_YAMAHA_ENCODER 0
-+#define CONFIG_SSA_ENCODER 0
-+#define CONFIG_ASS_ENCODER 0
-+#define CONFIG_DVBSUB_ENCODER 0
-+#define CONFIG_DVDSUB_ENCODER 0
-+#define CONFIG_MOVTEXT_ENCODER 0
-+#define CONFIG_SRT_ENCODER 0
-+#define CONFIG_SUBRIP_ENCODER 0
-+#define CONFIG_TEXT_ENCODER 0
-+#define CONFIG_TTML_ENCODER 0
-+#define CONFIG_WEBVTT_ENCODER 0
-+#define CONFIG_XSUB_ENCODER 0
-+#define CONFIG_AAC_AT_ENCODER 0
-+#define CONFIG_ALAC_AT_ENCODER 0
-+#define CONFIG_ILBC_AT_ENCODER 0
-+#define CONFIG_PCM_ALAW_AT_ENCODER 0
-+#define CONFIG_PCM_MULAW_AT_ENCODER 0
-+#define CONFIG_LIBAOM_AV1_ENCODER 0
-+#define CONFIG_LIBCODEC2_ENCODER 0
-+#define CONFIG_LIBFDK_AAC_ENCODER 0
-+#define CONFIG_LIBGSM_ENCODER 0
-+#define CONFIG_LIBGSM_MS_ENCODER 0
-+#define CONFIG_LIBILBC_ENCODER 0
-+#define CONFIG_LIBJXL_ENCODER 0
-+#define CONFIG_LIBMP3LAME_ENCODER 0
-+#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
-+#define CONFIG_LIBOPENJPEG_ENCODER 0
-+#define CONFIG_LIBOPUS_ENCODER 0
-+#define CONFIG_LIBRAV1E_ENCODER 0
-+#define CONFIG_LIBSHINE_ENCODER 0
-+#define CONFIG_LIBSPEEX_ENCODER 0
-+#define CONFIG_LIBSVTAV1_ENCODER 0
-+#define CONFIG_LIBTHEORA_ENCODER 0
-+#define CONFIG_LIBTWOLAME_ENCODER 0
-+#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
-+#define CONFIG_LIBVORBIS_ENCODER 0
-+#define CONFIG_LIBVPX_VP8_ENCODER 0
-+#define CONFIG_LIBVPX_VP9_ENCODER 0
-+#define CONFIG_LIBWEBP_ANIM_ENCODER 0
-+#define CONFIG_LIBWEBP_ENCODER 0
-+#define CONFIG_LIBX262_ENCODER 0
-+#define CONFIG_LIBX264_ENCODER 0
-+#define CONFIG_LIBX264RGB_ENCODER 0
-+#define CONFIG_LIBX265_ENCODER 0
-+#define CONFIG_LIBXAVS_ENCODER 0
-+#define CONFIG_LIBXAVS2_ENCODER 0
-+#define CONFIG_LIBXVID_ENCODER 0
-+#define CONFIG_AAC_MF_ENCODER 0
-+#define CONFIG_AC3_MF_ENCODER 0
-+#define CONFIG_H263_V4L2M2M_ENCODER 0
-+#define CONFIG_LIBOPENH264_ENCODER 0
-+#define CONFIG_H264_AMF_ENCODER 0
-+#define CONFIG_H264_MF_ENCODER 0
-+#define CONFIG_H264_NVENC_ENCODER 0
-+#define CONFIG_H264_OMX_ENCODER 0
-+#define CONFIG_H264_QSV_ENCODER 0
-+#define CONFIG_H264_V4L2M2M_ENCODER 0
-+#define CONFIG_H264_VAAPI_ENCODER 0
-+#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_HEVC_AMF_ENCODER 0
-+#define CONFIG_HEVC_MF_ENCODER 0
-+#define CONFIG_HEVC_NVENC_ENCODER 0
-+#define CONFIG_HEVC_QSV_ENCODER 0
-+#define CONFIG_HEVC_V4L2M2M_ENCODER 0
-+#define CONFIG_HEVC_VAAPI_ENCODER 0
-+#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_LIBKVAZAAR_ENCODER 0
-+#define CONFIG_MJPEG_QSV_ENCODER 0
-+#define CONFIG_MJPEG_VAAPI_ENCODER 0
-+#define CONFIG_MP3_MF_ENCODER 0
-+#define CONFIG_MPEG2_QSV_ENCODER 0
-+#define CONFIG_MPEG2_VAAPI_ENCODER 0
-+#define CONFIG_MPEG4_OMX_ENCODER 0
-+#define CONFIG_MPEG4_V4L2M2M_ENCODER 0
-+#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0
-+#define CONFIG_VP8_V4L2M2M_ENCODER 0
-+#define CONFIG_VP8_VAAPI_ENCODER 0
-+#define CONFIG_VP9_VAAPI_ENCODER 0
-+#define CONFIG_VP9_QSV_ENCODER 0
-+#define CONFIG_AV1_D3D11VA_HWACCEL 0
-+#define CONFIG_AV1_D3D11VA2_HWACCEL 0
-+#define CONFIG_AV1_DXVA2_HWACCEL 0
-+#define CONFIG_AV1_NVDEC_HWACCEL 0
-+#define CONFIG_AV1_VAAPI_HWACCEL 0
-+#define CONFIG_H263_VAAPI_HWACCEL 0
-+#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_H264_D3D11VA_HWACCEL 0
-+#define CONFIG_H264_D3D11VA2_HWACCEL 0
-+#define CONFIG_H264_DXVA2_HWACCEL 0
-+#define CONFIG_H264_NVDEC_HWACCEL 0
-+#define CONFIG_H264_VAAPI_HWACCEL 0
-+#define CONFIG_H264_VDPAU_HWACCEL 0
-+#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_HEVC_D3D11VA_HWACCEL 0
-+#define CONFIG_HEVC_D3D11VA2_HWACCEL 0
-+#define CONFIG_HEVC_DXVA2_HWACCEL 0
-+#define CONFIG_HEVC_NVDEC_HWACCEL 0
-+#define CONFIG_HEVC_VAAPI_HWACCEL 0
-+#define CONFIG_HEVC_VDPAU_HWACCEL 0
-+#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MJPEG_NVDEC_HWACCEL 0
-+#define CONFIG_MJPEG_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG1_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG1_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MPEG2_D3D11VA_HWACCEL 0
-+#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0
-+#define CONFIG_MPEG2_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG2_DXVA2_HWACCEL 0
-+#define CONFIG_MPEG2_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG2_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_MPEG4_NVDEC_HWACCEL 0
-+#define CONFIG_MPEG4_VAAPI_HWACCEL 0
-+#define CONFIG_MPEG4_VDPAU_HWACCEL 0
-+#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_VC1_D3D11VA_HWACCEL 0
-+#define CONFIG_VC1_D3D11VA2_HWACCEL 0
-+#define CONFIG_VC1_DXVA2_HWACCEL 0
-+#define CONFIG_VC1_NVDEC_HWACCEL 0
-+#define CONFIG_VC1_VAAPI_HWACCEL 0
-+#define CONFIG_VC1_VDPAU_HWACCEL 0
-+#define CONFIG_VP8_NVDEC_HWACCEL 0
-+#define CONFIG_VP8_VAAPI_HWACCEL 0
-+#define CONFIG_VP9_D3D11VA_HWACCEL 0
-+#define CONFIG_VP9_D3D11VA2_HWACCEL 0
-+#define CONFIG_VP9_DXVA2_HWACCEL 0
-+#define CONFIG_VP9_NVDEC_HWACCEL 0
-+#define CONFIG_VP9_VAAPI_HWACCEL 0
-+#define CONFIG_VP9_VDPAU_HWACCEL 0
-+#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
-+#define CONFIG_WMV3_D3D11VA_HWACCEL 0
-+#define CONFIG_WMV3_D3D11VA2_HWACCEL 0
-+#define CONFIG_WMV3_DXVA2_HWACCEL 0
-+#define CONFIG_WMV3_NVDEC_HWACCEL 0
-+#define CONFIG_WMV3_VAAPI_HWACCEL 0
-+#define CONFIG_WMV3_VDPAU_HWACCEL 0
-+#define CONFIG_AAC_PARSER 1
-+#define CONFIG_AAC_LATM_PARSER 0
-+#define CONFIG_AC3_PARSER 0
-+#define CONFIG_ADX_PARSER 0
-+#define CONFIG_AMR_PARSER 0
-+#define CONFIG_AV1_PARSER 0
-+#define CONFIG_AVS2_PARSER 0
-+#define CONFIG_AVS3_PARSER 0
-+#define CONFIG_BMP_PARSER 0
-+#define CONFIG_CAVSVIDEO_PARSER 0
-+#define CONFIG_COOK_PARSER 0
-+#define CONFIG_CRI_PARSER 0
-+#define CONFIG_DCA_PARSER 0
-+#define CONFIG_DIRAC_PARSER 0
-+#define CONFIG_DNXHD_PARSER 0
-+#define CONFIG_DOLBY_E_PARSER 0
-+#define CONFIG_DPX_PARSER 0
-+#define CONFIG_DVAUDIO_PARSER 0
-+#define CONFIG_DVBSUB_PARSER 0
-+#define CONFIG_DVDSUB_PARSER 0
-+#define CONFIG_DVD_NAV_PARSER 0
-+#define CONFIG_FLAC_PARSER 1
-+#define CONFIG_G723_1_PARSER 0
-+#define CONFIG_G729_PARSER 0
-+#define CONFIG_GIF_PARSER 0
-+#define CONFIG_GSM_PARSER 0
-+#define CONFIG_H261_PARSER 0
-+#define CONFIG_H263_PARSER 0
-+#define CONFIG_H264_PARSER 1
-+#define CONFIG_HEVC_PARSER 0
-+#define CONFIG_IPU_PARSER 0
-+#define CONFIG_JPEG2000_PARSER 0
-+#define CONFIG_MJPEG_PARSER 0
-+#define CONFIG_MLP_PARSER 0
-+#define CONFIG_MPEG4VIDEO_PARSER 0
-+#define CONFIG_MPEGAUDIO_PARSER 1
-+#define CONFIG_MPEGVIDEO_PARSER 0
-+#define CONFIG_OPUS_PARSER 1
-+#define CONFIG_PNG_PARSER 0
-+#define CONFIG_PNM_PARSER 0
-+#define CONFIG_RV30_PARSER 0
-+#define CONFIG_RV40_PARSER 0
-+#define CONFIG_SBC_PARSER 0
-+#define CONFIG_SIPR_PARSER 0
-+#define CONFIG_TAK_PARSER 0
-+#define CONFIG_VC1_PARSER 0
-+#define CONFIG_VORBIS_PARSER 1
-+#define CONFIG_VP3_PARSER 1
-+#define CONFIG_VP8_PARSER 1
-+#define CONFIG_VP9_PARSER 1
-+#define CONFIG_WEBP_PARSER 0
-+#define CONFIG_XBM_PARSER 0
-+#define CONFIG_XMA_PARSER 0
-+#define CONFIG_ALSA_INDEV 0
-+#define CONFIG_ANDROID_CAMERA_INDEV 0
-+#define CONFIG_AVFOUNDATION_INDEV 0
-+#define CONFIG_BKTR_INDEV 0
-+#define CONFIG_DECKLINK_INDEV 0
-+#define CONFIG_DSHOW_INDEV 0
-+#define CONFIG_FBDEV_INDEV 0
-+#define CONFIG_GDIGRAB_INDEV 0
-+#define CONFIG_IEC61883_INDEV 0
-+#define CONFIG_JACK_INDEV 0
-+#define CONFIG_KMSGRAB_INDEV 0
-+#define CONFIG_LAVFI_INDEV 0
-+#define CONFIG_OPENAL_INDEV 0
-+#define CONFIG_OSS_INDEV 0
-+#define CONFIG_PULSE_INDEV 0
-+#define CONFIG_SNDIO_INDEV 0
-+#define CONFIG_V4L2_INDEV 0
-+#define CONFIG_VFWCAP_INDEV 0
-+#define CONFIG_XCBGRAB_INDEV 0
-+#define CONFIG_LIBCDIO_INDEV 0
-+#define CONFIG_LIBDC1394_INDEV 0
-+#define CONFIG_ALSA_OUTDEV 0
-+#define CONFIG_AUDIOTOOLBOX_OUTDEV 0
-+#define CONFIG_CACA_OUTDEV 0
-+#define CONFIG_DECKLINK_OUTDEV 0
-+#define CONFIG_FBDEV_OUTDEV 0
-+#define CONFIG_OPENGL_OUTDEV 0
-+#define CONFIG_OSS_OUTDEV 0
-+#define CONFIG_PULSE_OUTDEV 0
-+#define CONFIG_SDL2_OUTDEV 0
-+#define CONFIG_SNDIO_OUTDEV 0
-+#define CONFIG_V4L2_OUTDEV 0
-+#define CONFIG_XV_OUTDEV 0
-+#define CONFIG_ABENCH_FILTER 0
-+#define CONFIG_ACOMPRESSOR_FILTER 0
-+#define CONFIG_ACONTRAST_FILTER 0
-+#define CONFIG_ACOPY_FILTER 0
-+#define CONFIG_ACUE_FILTER 0
-+#define CONFIG_ACROSSFADE_FILTER 0
-+#define CONFIG_ACROSSOVER_FILTER 0
-+#define CONFIG_ACRUSHER_FILTER 0
-+#define CONFIG_ADECLICK_FILTER 0
-+#define CONFIG_ADECLIP_FILTER 0
-+#define CONFIG_ADECORRELATE_FILTER 0
-+#define CONFIG_ADELAY_FILTER 0
-+#define CONFIG_ADENORM_FILTER 0
-+#define CONFIG_ADERIVATIVE_FILTER 0
-+#define CONFIG_ADYNAMICEQUALIZER_FILTER 0
-+#define CONFIG_ADYNAMICSMOOTH_FILTER 0
-+#define CONFIG_AECHO_FILTER 0
-+#define CONFIG_AEMPHASIS_FILTER 0
-+#define CONFIG_AEVAL_FILTER 0
-+#define CONFIG_AEXCITER_FILTER 0
-+#define CONFIG_AFADE_FILTER 0
-+#define CONFIG_AFFTDN_FILTER 0
-+#define CONFIG_AFFTFILT_FILTER 0
-+#define CONFIG_AFIR_FILTER 0
-+#define CONFIG_AFORMAT_FILTER 0
-+#define CONFIG_AFREQSHIFT_FILTER 0
-+#define CONFIG_AFWTDN_FILTER 0
-+#define CONFIG_AGATE_FILTER 0
-+#define CONFIG_AIIR_FILTER 0
-+#define CONFIG_AINTEGRAL_FILTER 0
-+#define CONFIG_AINTERLEAVE_FILTER 0
-+#define CONFIG_ALATENCY_FILTER 0
-+#define CONFIG_ALIMITER_FILTER 0
-+#define CONFIG_ALLPASS_FILTER 0
-+#define CONFIG_ALOOP_FILTER 0
-+#define CONFIG_AMERGE_FILTER 0
-+#define CONFIG_AMETADATA_FILTER 0
-+#define CONFIG_AMIX_FILTER 0
-+#define CONFIG_AMULTIPLY_FILTER 0
-+#define CONFIG_ANEQUALIZER_FILTER 0
-+#define CONFIG_ANLMDN_FILTER 0
-+#define CONFIG_ANLMF_FILTER 0
-+#define CONFIG_ANLMS_FILTER 0
-+#define CONFIG_ANULL_FILTER 0
-+#define CONFIG_APAD_FILTER 0
-+#define CONFIG_APERMS_FILTER 0
-+#define CONFIG_APHASER_FILTER 0
-+#define CONFIG_APHASESHIFT_FILTER 0
-+#define CONFIG_APSYCLIP_FILTER 0
-+#define CONFIG_APULSATOR_FILTER 0
-+#define CONFIG_AREALTIME_FILTER 0
-+#define CONFIG_ARESAMPLE_FILTER 0
-+#define CONFIG_AREVERSE_FILTER 0
-+#define CONFIG_ARNNDN_FILTER 0
-+#define CONFIG_ASDR_FILTER 0
-+#define CONFIG_ASEGMENT_FILTER 0
-+#define CONFIG_ASELECT_FILTER 0
-+#define CONFIG_ASENDCMD_FILTER 0
-+#define CONFIG_ASETNSAMPLES_FILTER 0
-+#define CONFIG_ASETPTS_FILTER 0
-+#define CONFIG_ASETRATE_FILTER 0
-+#define CONFIG_ASETTB_FILTER 0
-+#define CONFIG_ASHOWINFO_FILTER 0
-+#define CONFIG_ASIDEDATA_FILTER 0
-+#define CONFIG_ASOFTCLIP_FILTER 0
-+#define CONFIG_ASPECTRALSTATS_FILTER 0
-+#define CONFIG_ASPLIT_FILTER 0
-+#define CONFIG_ASR_FILTER 0
-+#define CONFIG_ASTATS_FILTER 0
-+#define CONFIG_ASTREAMSELECT_FILTER 0
-+#define CONFIG_ASUBBOOST_FILTER 0
-+#define CONFIG_ASUBCUT_FILTER 0
-+#define CONFIG_ASUPERCUT_FILTER 0
-+#define CONFIG_ASUPERPASS_FILTER 0
-+#define CONFIG_ASUPERSTOP_FILTER 0
-+#define CONFIG_ATEMPO_FILTER 0
-+#define CONFIG_ATILT_FILTER 0
-+#define CONFIG_ATRIM_FILTER 0
-+#define CONFIG_AXCORRELATE_FILTER 0
-+#define CONFIG_AZMQ_FILTER 0
-+#define CONFIG_BANDPASS_FILTER 0
-+#define CONFIG_BANDREJECT_FILTER 0
-+#define CONFIG_BASS_FILTER 0
-+#define CONFIG_BIQUAD_FILTER 0
-+#define CONFIG_BS2B_FILTER 0
-+#define CONFIG_CHANNELMAP_FILTER 0
-+#define CONFIG_CHANNELSPLIT_FILTER 0
-+#define CONFIG_CHORUS_FILTER 0
-+#define CONFIG_COMPAND_FILTER 0
-+#define CONFIG_COMPENSATIONDELAY_FILTER 0
-+#define CONFIG_CROSSFEED_FILTER 0
-+#define CONFIG_CRYSTALIZER_FILTER 0
-+#define CONFIG_DCSHIFT_FILTER 0
-+#define CONFIG_DEESSER_FILTER 0
-+#define CONFIG_DIALOGUENHANCE_FILTER 0
-+#define CONFIG_DRMETER_FILTER 0
-+#define CONFIG_DYNAUDNORM_FILTER 0
-+#define CONFIG_EARWAX_FILTER 0
-+#define CONFIG_EBUR128_FILTER 0
-+#define CONFIG_EQUALIZER_FILTER 0
-+#define CONFIG_EXTRASTEREO_FILTER 0
-+#define CONFIG_FIREQUALIZER_FILTER 0
-+#define CONFIG_FLANGER_FILTER 0
-+#define CONFIG_HAAS_FILTER 0
-+#define CONFIG_HDCD_FILTER 0
-+#define CONFIG_HEADPHONE_FILTER 0
-+#define CONFIG_HIGHPASS_FILTER 0
-+#define CONFIG_HIGHSHELF_FILTER 0
-+#define CONFIG_JOIN_FILTER 0
-+#define CONFIG_LADSPA_FILTER 0
-+#define CONFIG_LOUDNORM_FILTER 0
-+#define CONFIG_LOWPASS_FILTER 0
-+#define CONFIG_LOWSHELF_FILTER 0
-+#define CONFIG_LV2_FILTER 0
-+#define CONFIG_MCOMPAND_FILTER 0
-+#define CONFIG_PAN_FILTER 0
-+#define CONFIG_REPLAYGAIN_FILTER 0
-+#define CONFIG_RUBBERBAND_FILTER 0
-+#define CONFIG_SIDECHAINCOMPRESS_FILTER 0
-+#define CONFIG_SIDECHAINGATE_FILTER 0
-+#define CONFIG_SILENCEDETECT_FILTER 0
-+#define CONFIG_SILENCEREMOVE_FILTER 0
-+#define CONFIG_SOFALIZER_FILTER 0
-+#define CONFIG_SPEECHNORM_FILTER 0
-+#define CONFIG_STEREOTOOLS_FILTER 0
-+#define CONFIG_STEREOWIDEN_FILTER 0
-+#define CONFIG_SUPEREQUALIZER_FILTER 0
-+#define CONFIG_SURROUND_FILTER 0
-+#define CONFIG_TREBLE_FILTER 0
-+#define CONFIG_TREMOLO_FILTER 0
-+#define CONFIG_VIBRATO_FILTER 0
-+#define CONFIG_VOLUME_FILTER 0
-+#define CONFIG_VOLUMEDETECT_FILTER 0
-+#define CONFIG_AEVALSRC_FILTER 0
-+#define CONFIG_AFIRSRC_FILTER 0
-+#define CONFIG_ANOISESRC_FILTER 0
-+#define CONFIG_ANULLSRC_FILTER 0
-+#define CONFIG_FLITE_FILTER 0
-+#define CONFIG_HILBERT_FILTER 0
-+#define CONFIG_SINC_FILTER 0
-+#define CONFIG_SINE_FILTER 0
-+#define CONFIG_ANULLSINK_FILTER 0
-+#define CONFIG_ADDROI_FILTER 0
-+#define CONFIG_ALPHAEXTRACT_FILTER 0
-+#define CONFIG_ALPHAMERGE_FILTER 0
-+#define CONFIG_AMPLIFY_FILTER 0
-+#define CONFIG_ASS_FILTER 0
-+#define CONFIG_ATADENOISE_FILTER 0
-+#define CONFIG_AVGBLUR_FILTER 0
-+#define CONFIG_AVGBLUR_OPENCL_FILTER 0
-+#define CONFIG_AVGBLUR_VULKAN_FILTER 0
-+#define CONFIG_BBOX_FILTER 0
-+#define CONFIG_BENCH_FILTER 0
-+#define CONFIG_BILATERAL_FILTER 0
-+#define CONFIG_BITPLANENOISE_FILTER 0
-+#define CONFIG_BLACKDETECT_FILTER 0
-+#define CONFIG_BLACKFRAME_FILTER 0
-+#define CONFIG_BLEND_FILTER 0
-+#define CONFIG_BLEND_VULKAN_FILTER 0
-+#define CONFIG_BLURDETECT_FILTER 0
-+#define CONFIG_BM3D_FILTER 0
-+#define CONFIG_BOXBLUR_FILTER 0
-+#define CONFIG_BOXBLUR_OPENCL_FILTER 0
-+#define CONFIG_BWDIF_FILTER 0
-+#define CONFIG_CAS_FILTER 0
-+#define CONFIG_CHROMABER_VULKAN_FILTER 0
-+#define CONFIG_CHROMAHOLD_FILTER 0
-+#define CONFIG_CHROMAKEY_FILTER 0
-+#define CONFIG_CHROMANR_FILTER 0
-+#define CONFIG_CHROMASHIFT_FILTER 0
-+#define CONFIG_CIESCOPE_FILTER 0
-+#define CONFIG_CODECVIEW_FILTER 0
-+#define CONFIG_COLORBALANCE_FILTER 0
-+#define CONFIG_COLORCHANNELMIXER_FILTER 0
-+#define CONFIG_COLORCONTRAST_FILTER 0
-+#define CONFIG_COLORCORRECT_FILTER 0
-+#define CONFIG_COLORIZE_FILTER 0
-+#define CONFIG_COLORKEY_FILTER 0
-+#define CONFIG_COLORKEY_OPENCL_FILTER 0
-+#define CONFIG_COLORHOLD_FILTER 0
-+#define CONFIG_COLORLEVELS_FILTER 0
-+#define CONFIG_COLORMAP_FILTER 0
-+#define CONFIG_COLORMATRIX_FILTER 0
-+#define CONFIG_COLORSPACE_FILTER 0
-+#define CONFIG_COLORTEMPERATURE_FILTER 0
-+#define CONFIG_CONVOLUTION_FILTER 0
-+#define CONFIG_CONVOLUTION_OPENCL_FILTER 0
-+#define CONFIG_CONVOLVE_FILTER 0
-+#define CONFIG_COPY_FILTER 0
-+#define CONFIG_COREIMAGE_FILTER 0
-+#define CONFIG_COVER_RECT_FILTER 0
-+#define CONFIG_CROP_FILTER 0
-+#define CONFIG_CROPDETECT_FILTER 0
-+#define CONFIG_CUE_FILTER 0
-+#define CONFIG_CURVES_FILTER 0
-+#define CONFIG_DATASCOPE_FILTER 0
-+#define CONFIG_DBLUR_FILTER 0
-+#define CONFIG_DCTDNOIZ_FILTER 0
-+#define CONFIG_DEBAND_FILTER 0
-+#define CONFIG_DEBLOCK_FILTER 0
-+#define CONFIG_DECIMATE_FILTER 0
-+#define CONFIG_DECONVOLVE_FILTER 0
-+#define CONFIG_DEDOT_FILTER 0
-+#define CONFIG_DEFLATE_FILTER 0
-+#define CONFIG_DEFLICKER_FILTER 0
-+#define CONFIG_DEINTERLACE_QSV_FILTER 0
-+#define CONFIG_DEINTERLACE_VAAPI_FILTER 0
-+#define CONFIG_DEJUDDER_FILTER 0
-+#define CONFIG_DELOGO_FILTER 0
-+#define CONFIG_DENOISE_VAAPI_FILTER 0
-+#define CONFIG_DERAIN_FILTER 0
-+#define CONFIG_DESHAKE_FILTER 0
-+#define CONFIG_DESHAKE_OPENCL_FILTER 0
-+#define CONFIG_DESPILL_FILTER 0
-+#define CONFIG_DETELECINE_FILTER 0
-+#define CONFIG_DILATION_FILTER 0
-+#define CONFIG_DILATION_OPENCL_FILTER 0
-+#define CONFIG_DISPLACE_FILTER 0
-+#define CONFIG_DNN_CLASSIFY_FILTER 0
-+#define CONFIG_DNN_DETECT_FILTER 0
-+#define CONFIG_DNN_PROCESSING_FILTER 0
-+#define CONFIG_DOUBLEWEAVE_FILTER 0
-+#define CONFIG_DRAWBOX_FILTER 0
-+#define CONFIG_DRAWGRAPH_FILTER 0
-+#define CONFIG_DRAWGRID_FILTER 0
-+#define CONFIG_DRAWTEXT_FILTER 0
-+#define CONFIG_EDGEDETECT_FILTER 0
-+#define CONFIG_ELBG_FILTER 0
-+#define CONFIG_ENTROPY_FILTER 0
-+#define CONFIG_EPX_FILTER 0
-+#define CONFIG_EQ_FILTER 0
-+#define CONFIG_EROSION_FILTER 0
-+#define CONFIG_EROSION_OPENCL_FILTER 0
-+#define CONFIG_ESTDIF_FILTER 0
-+#define CONFIG_EXPOSURE_FILTER 0
-+#define CONFIG_EXTRACTPLANES_FILTER 0
-+#define CONFIG_FADE_FILTER 0
-+#define CONFIG_FEEDBACK_FILTER 0
-+#define CONFIG_FFTDNOIZ_FILTER 0
-+#define CONFIG_FFTFILT_FILTER 0
-+#define CONFIG_FIELD_FILTER 0
-+#define CONFIG_FIELDHINT_FILTER 0
-+#define CONFIG_FIELDMATCH_FILTER 0
-+#define CONFIG_FIELDORDER_FILTER 0
-+#define CONFIG_FILLBORDERS_FILTER 0
-+#define CONFIG_FIND_RECT_FILTER 0
-+#define CONFIG_FLIP_VULKAN_FILTER 0
-+#define CONFIG_FLOODFILL_FILTER 0
-+#define CONFIG_FORMAT_FILTER 0
-+#define CONFIG_FPS_FILTER 0
-+#define CONFIG_FRAMEPACK_FILTER 0
-+#define CONFIG_FRAMERATE_FILTER 0
-+#define CONFIG_FRAMESTEP_FILTER 0
-+#define CONFIG_FREEZEDETECT_FILTER 0
-+#define CONFIG_FREEZEFRAMES_FILTER 0
-+#define CONFIG_FREI0R_FILTER 0
-+#define CONFIG_FSPP_FILTER 0
-+#define CONFIG_GBLUR_FILTER 0
-+#define CONFIG_GBLUR_VULKAN_FILTER 0
-+#define CONFIG_GEQ_FILTER 0
-+#define CONFIG_GRADFUN_FILTER 0
-+#define CONFIG_GRAPHMONITOR_FILTER 0
-+#define CONFIG_GRAYWORLD_FILTER 0
-+#define CONFIG_GREYEDGE_FILTER 0
-+#define CONFIG_GUIDED_FILTER 0
-+#define CONFIG_HALDCLUT_FILTER 0
-+#define CONFIG_HFLIP_FILTER 0
-+#define CONFIG_HFLIP_VULKAN_FILTER 0
-+#define CONFIG_HISTEQ_FILTER 0
-+#define CONFIG_HISTOGRAM_FILTER 0
-+#define CONFIG_HQDN3D_FILTER 0
-+#define CONFIG_HQX_FILTER 0
-+#define CONFIG_HSTACK_FILTER 0
-+#define CONFIG_HSVHOLD_FILTER 0
-+#define CONFIG_HSVKEY_FILTER 0
-+#define CONFIG_HUE_FILTER 0
-+#define CONFIG_HUESATURATION_FILTER 0
-+#define CONFIG_HWDOWNLOAD_FILTER 0
-+#define CONFIG_HWMAP_FILTER 0
-+#define CONFIG_HWUPLOAD_FILTER 0
-+#define CONFIG_HWUPLOAD_CUDA_FILTER 0
-+#define CONFIG_HYSTERESIS_FILTER 0
-+#define CONFIG_ICCDETECT_FILTER 0
-+#define CONFIG_ICCGEN_FILTER 0
-+#define CONFIG_IDENTITY_FILTER 0
-+#define CONFIG_IDET_FILTER 0
-+#define CONFIG_IL_FILTER 0
-+#define CONFIG_INFLATE_FILTER 0
-+#define CONFIG_INTERLACE_FILTER 0
-+#define CONFIG_INTERLEAVE_FILTER 0
-+#define CONFIG_KERNDEINT_FILTER 0
-+#define CONFIG_KIRSCH_FILTER 0
-+#define CONFIG_LAGFUN_FILTER 0
-+#define CONFIG_LATENCY_FILTER 0
-+#define CONFIG_LENSCORRECTION_FILTER 0
-+#define CONFIG_LENSFUN_FILTER 0
-+#define CONFIG_LIBPLACEBO_FILTER 0
-+#define CONFIG_LIBVMAF_FILTER 0
-+#define CONFIG_LIMITDIFF_FILTER 0
-+#define CONFIG_LIMITER_FILTER 0
-+#define CONFIG_LOOP_FILTER 0
-+#define CONFIG_LUMAKEY_FILTER 0
-+#define CONFIG_LUT_FILTER 0
-+#define CONFIG_LUT1D_FILTER 0
-+#define CONFIG_LUT2_FILTER 0
-+#define CONFIG_LUT3D_FILTER 0
-+#define CONFIG_LUTRGB_FILTER 0
-+#define CONFIG_LUTYUV_FILTER 0
-+#define CONFIG_MASKEDCLAMP_FILTER 0
-+#define CONFIG_MASKEDMAX_FILTER 0
-+#define CONFIG_MASKEDMERGE_FILTER 0
-+#define CONFIG_MASKEDMIN_FILTER 0
-+#define CONFIG_MASKEDTHRESHOLD_FILTER 0
-+#define CONFIG_MASKFUN_FILTER 0
-+#define CONFIG_MCDEINT_FILTER 0
-+#define CONFIG_MEDIAN_FILTER 0
-+#define CONFIG_MERGEPLANES_FILTER 0
-+#define CONFIG_MESTIMATE_FILTER 0
-+#define CONFIG_METADATA_FILTER 0
-+#define CONFIG_MIDEQUALIZER_FILTER 0
-+#define CONFIG_MINTERPOLATE_FILTER 0
-+#define CONFIG_MIX_FILTER 0
-+#define CONFIG_MONOCHROME_FILTER 0
-+#define CONFIG_MORPHO_FILTER 0
-+#define CONFIG_MPDECIMATE_FILTER 0
-+#define CONFIG_MSAD_FILTER 0
-+#define CONFIG_MULTIPLY_FILTER 0
-+#define CONFIG_NEGATE_FILTER 0
-+#define CONFIG_NLMEANS_FILTER 0
-+#define CONFIG_NLMEANS_OPENCL_FILTER 0
-+#define CONFIG_NNEDI_FILTER 0
-+#define CONFIG_NOFORMAT_FILTER 0
-+#define CONFIG_NOISE_FILTER 0
-+#define CONFIG_NORMALIZE_FILTER 0
-+#define CONFIG_NULL_FILTER 0
-+#define CONFIG_OCR_FILTER 0
-+#define CONFIG_OCV_FILTER 0
-+#define CONFIG_OSCILLOSCOPE_FILTER 0
-+#define CONFIG_OVERLAY_FILTER 0
-+#define CONFIG_OVERLAY_OPENCL_FILTER 0
-+#define CONFIG_OVERLAY_QSV_FILTER 0
-+#define CONFIG_OVERLAY_VAAPI_FILTER 0
-+#define CONFIG_OVERLAY_VULKAN_FILTER 0
-+#define CONFIG_OVERLAY_CUDA_FILTER 0
-+#define CONFIG_OWDENOISE_FILTER 0
-+#define CONFIG_PAD_FILTER 0
-+#define CONFIG_PAD_OPENCL_FILTER 0
-+#define CONFIG_PALETTEGEN_FILTER 0
-+#define CONFIG_PALETTEUSE_FILTER 0
-+#define CONFIG_PERMS_FILTER 0
-+#define CONFIG_PERSPECTIVE_FILTER 0
-+#define CONFIG_PHASE_FILTER 0
-+#define CONFIG_PHOTOSENSITIVITY_FILTER 0
-+#define CONFIG_PIXDESCTEST_FILTER 0
-+#define CONFIG_PIXELIZE_FILTER 0
-+#define CONFIG_PIXSCOPE_FILTER 0
-+#define CONFIG_PP_FILTER 0
-+#define CONFIG_PP7_FILTER 0
-+#define CONFIG_PREMULTIPLY_FILTER 0
-+#define CONFIG_PREWITT_FILTER 0
-+#define CONFIG_PREWITT_OPENCL_FILTER 0
-+#define CONFIG_PROCAMP_VAAPI_FILTER 0
-+#define CONFIG_PROGRAM_OPENCL_FILTER 0
-+#define CONFIG_PSEUDOCOLOR_FILTER 0
-+#define CONFIG_PSNR_FILTER 0
-+#define CONFIG_PULLUP_FILTER 0
-+#define CONFIG_QP_FILTER 0
-+#define CONFIG_RANDOM_FILTER 0
-+#define CONFIG_READEIA608_FILTER 0
-+#define CONFIG_READVITC_FILTER 0
-+#define CONFIG_REALTIME_FILTER 0
-+#define CONFIG_REMAP_FILTER 0
-+#define CONFIG_REMOVEGRAIN_FILTER 0
-+#define CONFIG_REMOVELOGO_FILTER 0
-+#define CONFIG_REPEATFIELDS_FILTER 0
-+#define CONFIG_REVERSE_FILTER 0
-+#define CONFIG_RGBASHIFT_FILTER 0
-+#define CONFIG_ROBERTS_FILTER 0
-+#define CONFIG_ROBERTS_OPENCL_FILTER 0
-+#define CONFIG_ROTATE_FILTER 0
-+#define CONFIG_SAB_FILTER 0
-+#define CONFIG_SCALE_FILTER 0
-+#define CONFIG_SCALE_CUDA_FILTER 0
-+#define CONFIG_SCALE_NPP_FILTER 0
-+#define CONFIG_SCALE_QSV_FILTER 0
-+#define CONFIG_SCALE_VAAPI_FILTER 0
-+#define CONFIG_SCALE_VULKAN_FILTER 0
-+#define CONFIG_SCALE2REF_FILTER 0
-+#define CONFIG_SCALE2REF_NPP_FILTER 0
-+#define CONFIG_SCDET_FILTER 0
-+#define CONFIG_SCHARR_FILTER 0
-+#define CONFIG_SCROLL_FILTER 0
-+#define CONFIG_SEGMENT_FILTER 0
-+#define CONFIG_SELECT_FILTER 0
-+#define CONFIG_SELECTIVECOLOR_FILTER 0
-+#define CONFIG_SENDCMD_FILTER 0
-+#define CONFIG_SEPARATEFIELDS_FILTER 0
-+#define CONFIG_SETDAR_FILTER 0
-+#define CONFIG_SETFIELD_FILTER 0
-+#define CONFIG_SETPARAMS_FILTER 0
-+#define CONFIG_SETPTS_FILTER 0
-+#define CONFIG_SETRANGE_FILTER 0
-+#define CONFIG_SETSAR_FILTER 0
-+#define CONFIG_SETTB_FILTER 0
-+#define CONFIG_SHARPEN_NPP_FILTER 0
-+#define CONFIG_SHARPNESS_VAAPI_FILTER 0
-+#define CONFIG_SHEAR_FILTER 0
-+#define CONFIG_SHOWINFO_FILTER 0
-+#define CONFIG_SHOWPALETTE_FILTER 0
-+#define CONFIG_SHUFFLEFRAMES_FILTER 0
-+#define CONFIG_SHUFFLEPIXELS_FILTER 0
-+#define CONFIG_SHUFFLEPLANES_FILTER 0
-+#define CONFIG_SIDEDATA_FILTER 0
-+#define CONFIG_SIGNALSTATS_FILTER 0
-+#define CONFIG_SIGNATURE_FILTER 0
-+#define CONFIG_SITI_FILTER 0
-+#define CONFIG_SMARTBLUR_FILTER 0
-+#define CONFIG_SOBEL_FILTER 0
-+#define CONFIG_SOBEL_OPENCL_FILTER 0
-+#define CONFIG_SPLIT_FILTER 0
-+#define CONFIG_SPP_FILTER 0
-+#define CONFIG_SR_FILTER 0
-+#define CONFIG_SSIM_FILTER 0
-+#define CONFIG_STEREO3D_FILTER 0
-+#define CONFIG_STREAMSELECT_FILTER 0
-+#define CONFIG_SUBTITLES_FILTER 0
-+#define CONFIG_SUPER2XSAI_FILTER 0
-+#define CONFIG_SWAPRECT_FILTER 0
-+#define CONFIG_SWAPUV_FILTER 0
-+#define CONFIG_TBLEND_FILTER 0
-+#define CONFIG_TELECINE_FILTER 0
-+#define CONFIG_THISTOGRAM_FILTER 0
-+#define CONFIG_THRESHOLD_FILTER 0
-+#define CONFIG_THUMBNAIL_FILTER 0
-+#define CONFIG_THUMBNAIL_CUDA_FILTER 0
-+#define CONFIG_TILE_FILTER 0
-+#define CONFIG_TINTERLACE_FILTER 0
-+#define CONFIG_TLUT2_FILTER 0
-+#define CONFIG_TMEDIAN_FILTER 0
-+#define CONFIG_TMIDEQUALIZER_FILTER 0
-+#define CONFIG_TMIX_FILTER 0
-+#define CONFIG_TONEMAP_FILTER 0
-+#define CONFIG_TONEMAP_OPENCL_FILTER 0
-+#define CONFIG_TONEMAP_VAAPI_FILTER 0
-+#define CONFIG_TPAD_FILTER 0
-+#define CONFIG_TRANSPOSE_FILTER 0
-+#define CONFIG_TRANSPOSE_NPP_FILTER 0
-+#define CONFIG_TRANSPOSE_OPENCL_FILTER 0
-+#define CONFIG_TRANSPOSE_VAAPI_FILTER 0
-+#define CONFIG_TRANSPOSE_VULKAN_FILTER 0
-+#define CONFIG_TRIM_FILTER 0
-+#define CONFIG_UNPREMULTIPLY_FILTER 0
-+#define CONFIG_UNSHARP_FILTER 0
-+#define CONFIG_UNSHARP_OPENCL_FILTER 0
-+#define CONFIG_UNTILE_FILTER 0
-+#define CONFIG_USPP_FILTER 0
-+#define CONFIG_V360_FILTER 0
-+#define CONFIG_VAGUEDENOISER_FILTER 0
-+#define CONFIG_VARBLUR_FILTER 0
-+#define CONFIG_VECTORSCOPE_FILTER 0
-+#define CONFIG_VFLIP_FILTER 0
-+#define CONFIG_VFLIP_VULKAN_FILTER 0
-+#define CONFIG_VFRDET_FILTER 0
-+#define CONFIG_VIBRANCE_FILTER 0
-+#define CONFIG_VIDSTABDETECT_FILTER 0
-+#define CONFIG_VIDSTABTRANSFORM_FILTER 0
-+#define CONFIG_VIF_FILTER 0
-+#define CONFIG_VIGNETTE_FILTER 0
-+#define CONFIG_VMAFMOTION_FILTER 0
-+#define CONFIG_VPP_QSV_FILTER 0
-+#define CONFIG_VSTACK_FILTER 0
-+#define CONFIG_W3FDIF_FILTER 0
-+#define CONFIG_WAVEFORM_FILTER 0
-+#define CONFIG_WEAVE_FILTER 0
-+#define CONFIG_XBR_FILTER 0
-+#define CONFIG_XCORRELATE_FILTER 0
-+#define CONFIG_XFADE_FILTER 0
-+#define CONFIG_XFADE_OPENCL_FILTER 0
-+#define CONFIG_XMEDIAN_FILTER 0
-+#define CONFIG_XSTACK_FILTER 0
-+#define CONFIG_YADIF_FILTER 0
-+#define CONFIG_YADIF_CUDA_FILTER 0
-+#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0
-+#define CONFIG_YAEPBLUR_FILTER 0
-+#define CONFIG_ZMQ_FILTER 0
-+#define CONFIG_ZOOMPAN_FILTER 0
-+#define CONFIG_ZSCALE_FILTER 0
-+#define CONFIG_ALLRGB_FILTER 0
-+#define CONFIG_ALLYUV_FILTER 0
-+#define CONFIG_CELLAUTO_FILTER 0
-+#define CONFIG_COLOR_FILTER 0
-+#define CONFIG_COLORCHART_FILTER 0
-+#define CONFIG_COLORSPECTRUM_FILTER 0
-+#define CONFIG_COREIMAGESRC_FILTER 0
-+#define CONFIG_FREI0R_SRC_FILTER 0
-+#define CONFIG_GRADIENTS_FILTER 0
-+#define CONFIG_HALDCLUTSRC_FILTER 0
-+#define CONFIG_LIFE_FILTER 0
-+#define CONFIG_MANDELBROT_FILTER 0
-+#define CONFIG_MPTESTSRC_FILTER 0
-+#define CONFIG_NULLSRC_FILTER 0
-+#define CONFIG_OPENCLSRC_FILTER 0
-+#define CONFIG_PAL75BARS_FILTER 0
-+#define CONFIG_PAL100BARS_FILTER 0
-+#define CONFIG_RGBTESTSRC_FILTER 0
-+#define CONFIG_SIERPINSKI_FILTER 0
-+#define CONFIG_SMPTEBARS_FILTER 0
-+#define CONFIG_SMPTEHDBARS_FILTER 0
-+#define CONFIG_TESTSRC_FILTER 0
-+#define CONFIG_TESTSRC2_FILTER 0
-+#define CONFIG_YUVTESTSRC_FILTER 0
-+#define CONFIG_NULLSINK_FILTER 0
-+#define CONFIG_ABITSCOPE_FILTER 0
-+#define CONFIG_ADRAWGRAPH_FILTER 0
-+#define CONFIG_AGRAPHMONITOR_FILTER 0
-+#define CONFIG_AHISTOGRAM_FILTER 0
-+#define CONFIG_APHASEMETER_FILTER 0
-+#define CONFIG_AVECTORSCOPE_FILTER 0
-+#define CONFIG_CONCAT_FILTER 0
-+#define CONFIG_SHOWCQT_FILTER 0
-+#define CONFIG_SHOWFREQS_FILTER 0
-+#define CONFIG_SHOWSPATIAL_FILTER 0
-+#define CONFIG_SHOWSPECTRUM_FILTER 0
-+#define CONFIG_SHOWSPECTRUMPIC_FILTER 0
-+#define CONFIG_SHOWVOLUME_FILTER 0
-+#define CONFIG_SHOWWAVES_FILTER 0
-+#define CONFIG_SHOWWAVESPIC_FILTER 0
-+#define CONFIG_SPECTRUMSYNTH_FILTER 0
-+#define CONFIG_AVSYNCTEST_FILTER 0
-+#define CONFIG_AMOVIE_FILTER 0
-+#define CONFIG_MOVIE_FILTER 0
-+#define CONFIG_AFIFO_FILTER 0
-+#define CONFIG_FIFO_FILTER 0
-+#define CONFIG_AA_DEMUXER 0
-+#define CONFIG_AAC_DEMUXER 1
-+#define CONFIG_AAX_DEMUXER 0
-+#define CONFIG_AC3_DEMUXER 0
-+#define CONFIG_ACE_DEMUXER 0
-+#define CONFIG_ACM_DEMUXER 0
-+#define CONFIG_ACT_DEMUXER 0
-+#define CONFIG_ADF_DEMUXER 0
-+#define CONFIG_ADP_DEMUXER 0
-+#define CONFIG_ADS_DEMUXER 0
-+#define CONFIG_ADX_DEMUXER 0
-+#define CONFIG_AEA_DEMUXER 0
-+#define CONFIG_AFC_DEMUXER 0
-+#define CONFIG_AIFF_DEMUXER 0
-+#define CONFIG_AIX_DEMUXER 0
-+#define CONFIG_ALP_DEMUXER 0
-+#define CONFIG_AMR_DEMUXER 0
-+#define CONFIG_AMRNB_DEMUXER 0
-+#define CONFIG_AMRWB_DEMUXER 0
-+#define CONFIG_ANM_DEMUXER 0
-+#define CONFIG_APC_DEMUXER 0
-+#define CONFIG_APE_DEMUXER 0
-+#define CONFIG_APM_DEMUXER 0
-+#define CONFIG_APNG_DEMUXER 0
-+#define CONFIG_APTX_DEMUXER 0
-+#define CONFIG_APTX_HD_DEMUXER 0
-+#define CONFIG_AQTITLE_DEMUXER 0
-+#define CONFIG_ARGO_ASF_DEMUXER 0
-+#define CONFIG_ARGO_BRP_DEMUXER 0
-+#define CONFIG_ARGO_CVG_DEMUXER 0
-+#define CONFIG_ASF_DEMUXER 0
-+#define CONFIG_ASF_O_DEMUXER 0
-+#define CONFIG_ASS_DEMUXER 0
-+#define CONFIG_AST_DEMUXER 0
-+#define CONFIG_AU_DEMUXER 0
-+#define CONFIG_AV1_DEMUXER 0
-+#define CONFIG_AVI_DEMUXER 0
-+#define CONFIG_AVISYNTH_DEMUXER 0
-+#define CONFIG_AVR_DEMUXER 0
-+#define CONFIG_AVS_DEMUXER 0
-+#define CONFIG_AVS2_DEMUXER 0
-+#define CONFIG_AVS3_DEMUXER 0
-+#define CONFIG_BETHSOFTVID_DEMUXER 0
-+#define CONFIG_BFI_DEMUXER 0
-+#define CONFIG_BINTEXT_DEMUXER 0
-+#define CONFIG_BINK_DEMUXER 0
-+#define CONFIG_BINKA_DEMUXER 0
-+#define CONFIG_BIT_DEMUXER 0
-+#define CONFIG_BITPACKED_DEMUXER 0
-+#define CONFIG_BMV_DEMUXER 0
-+#define CONFIG_BFSTM_DEMUXER 0
-+#define CONFIG_BRSTM_DEMUXER 0
-+#define CONFIG_BOA_DEMUXER 0
-+#define CONFIG_C93_DEMUXER 0
-+#define CONFIG_CAF_DEMUXER 0
-+#define CONFIG_CAVSVIDEO_DEMUXER 0
-+#define CONFIG_CDG_DEMUXER 0
-+#define CONFIG_CDXL_DEMUXER 0
-+#define CONFIG_CINE_DEMUXER 0
-+#define CONFIG_CODEC2_DEMUXER 0
-+#define CONFIG_CODEC2RAW_DEMUXER 0
-+#define CONFIG_CONCAT_DEMUXER 0
-+#define CONFIG_DASH_DEMUXER 0
-+#define CONFIG_DATA_DEMUXER 0
-+#define CONFIG_DAUD_DEMUXER 0
-+#define CONFIG_DCSTR_DEMUXER 0
-+#define CONFIG_DERF_DEMUXER 0
-+#define CONFIG_DFA_DEMUXER 0
-+#define CONFIG_DFPWM_DEMUXER 0
-+#define CONFIG_DHAV_DEMUXER 0
-+#define CONFIG_DIRAC_DEMUXER 0
-+#define CONFIG_DNXHD_DEMUXER 0
-+#define CONFIG_DSF_DEMUXER 0
-+#define CONFIG_DSICIN_DEMUXER 0
-+#define CONFIG_DSS_DEMUXER 0
-+#define CONFIG_DTS_DEMUXER 0
-+#define CONFIG_DTSHD_DEMUXER 0
-+#define CONFIG_DV_DEMUXER 0
-+#define CONFIG_DVBSUB_DEMUXER 0
-+#define CONFIG_DVBTXT_DEMUXER 0
-+#define CONFIG_DXA_DEMUXER 0
-+#define CONFIG_EA_DEMUXER 0
-+#define CONFIG_EA_CDATA_DEMUXER 0
-+#define CONFIG_EAC3_DEMUXER 0
-+#define CONFIG_EPAF_DEMUXER 0
-+#define CONFIG_FFMETADATA_DEMUXER 0
-+#define CONFIG_FILMSTRIP_DEMUXER 0
-+#define CONFIG_FITS_DEMUXER 0
-+#define CONFIG_FLAC_DEMUXER 1
-+#define CONFIG_FLIC_DEMUXER 0
-+#define CONFIG_FLV_DEMUXER 0
-+#define CONFIG_LIVE_FLV_DEMUXER 0
-+#define CONFIG_FOURXM_DEMUXER 0
-+#define CONFIG_FRM_DEMUXER 0
-+#define CONFIG_FSB_DEMUXER 0
-+#define CONFIG_FWSE_DEMUXER 0
-+#define CONFIG_G722_DEMUXER 0
-+#define CONFIG_G723_1_DEMUXER 0
-+#define CONFIG_G726_DEMUXER 0
-+#define CONFIG_G726LE_DEMUXER 0
-+#define CONFIG_G729_DEMUXER 0
-+#define CONFIG_GDV_DEMUXER 0
-+#define CONFIG_GENH_DEMUXER 0
-+#define CONFIG_GIF_DEMUXER 0
-+#define CONFIG_GSM_DEMUXER 0
-+#define CONFIG_GXF_DEMUXER 0
-+#define CONFIG_H261_DEMUXER 0
-+#define CONFIG_H263_DEMUXER 0
-+#define CONFIG_H264_DEMUXER 0
-+#define CONFIG_HCA_DEMUXER 0
-+#define CONFIG_HCOM_DEMUXER 0
-+#define CONFIG_HEVC_DEMUXER 0
-+#define CONFIG_HLS_DEMUXER 0
-+#define CONFIG_HNM_DEMUXER 0
-+#define CONFIG_ICO_DEMUXER 0
-+#define CONFIG_IDCIN_DEMUXER 0
-+#define CONFIG_IDF_DEMUXER 0
-+#define CONFIG_IFF_DEMUXER 0
-+#define CONFIG_IFV_DEMUXER 0
-+#define CONFIG_ILBC_DEMUXER 0
-+#define CONFIG_IMAGE2_DEMUXER 0
-+#define CONFIG_IMAGE2PIPE_DEMUXER 0
-+#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0
-+#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0
-+#define CONFIG_IMF_DEMUXER 0
-+#define CONFIG_INGENIENT_DEMUXER 0
-+#define CONFIG_IPMOVIE_DEMUXER 0
-+#define CONFIG_IPU_DEMUXER 0
-+#define CONFIG_IRCAM_DEMUXER 0
-+#define CONFIG_ISS_DEMUXER 0
-+#define CONFIG_IV8_DEMUXER 0
-+#define CONFIG_IVF_DEMUXER 0
-+#define CONFIG_IVR_DEMUXER 0
-+#define CONFIG_JACOSUB_DEMUXER 0
-+#define CONFIG_JV_DEMUXER 0
-+#define CONFIG_KUX_DEMUXER 0
-+#define CONFIG_KVAG_DEMUXER 0
-+#define CONFIG_LMLM4_DEMUXER 0
-+#define CONFIG_LOAS_DEMUXER 0
-+#define CONFIG_LUODAT_DEMUXER 0
-+#define CONFIG_LRC_DEMUXER 0
-+#define CONFIG_LVF_DEMUXER 0
-+#define CONFIG_LXF_DEMUXER 0
-+#define CONFIG_M4V_DEMUXER 0
-+#define CONFIG_MCA_DEMUXER 0
-+#define CONFIG_MCC_DEMUXER 0
-+#define CONFIG_MATROSKA_DEMUXER 1
-+#define CONFIG_MGSTS_DEMUXER 0
-+#define CONFIG_MICRODVD_DEMUXER 0
-+#define CONFIG_MJPEG_DEMUXER 0
-+#define CONFIG_MJPEG_2000_DEMUXER 0
-+#define CONFIG_MLP_DEMUXER 0
-+#define CONFIG_MLV_DEMUXER 0
-+#define CONFIG_MM_DEMUXER 0
-+#define CONFIG_MMF_DEMUXER 0
-+#define CONFIG_MODS_DEMUXER 0
-+#define CONFIG_MOFLEX_DEMUXER 0
-+#define CONFIG_MOV_DEMUXER 1
-+#define CONFIG_MP3_DEMUXER 1
-+#define CONFIG_MPC_DEMUXER 0
-+#define CONFIG_MPC8_DEMUXER 0
-+#define CONFIG_MPEGPS_DEMUXER 0
-+#define CONFIG_MPEGTS_DEMUXER 0
-+#define CONFIG_MPEGTSRAW_DEMUXER 0
-+#define CONFIG_MPEGVIDEO_DEMUXER 0
-+#define CONFIG_MPJPEG_DEMUXER 0
-+#define CONFIG_MPL2_DEMUXER 0
-+#define CONFIG_MPSUB_DEMUXER 0
-+#define CONFIG_MSF_DEMUXER 0
-+#define CONFIG_MSNWC_TCP_DEMUXER 0
-+#define CONFIG_MSP_DEMUXER 0
-+#define CONFIG_MTAF_DEMUXER 0
-+#define CONFIG_MTV_DEMUXER 0
-+#define CONFIG_MUSX_DEMUXER 0
-+#define CONFIG_MV_DEMUXER 0
-+#define CONFIG_MVI_DEMUXER 0
-+#define CONFIG_MXF_DEMUXER 0
-+#define CONFIG_MXG_DEMUXER 0
-+#define CONFIG_NC_DEMUXER 0
-+#define CONFIG_NISTSPHERE_DEMUXER 0
-+#define CONFIG_NSP_DEMUXER 0
-+#define CONFIG_NSV_DEMUXER 0
-+#define CONFIG_NUT_DEMUXER 0
-+#define CONFIG_NUV_DEMUXER 0
-+#define CONFIG_OBU_DEMUXER 0
-+#define CONFIG_OGG_DEMUXER 1
-+#define CONFIG_OMA_DEMUXER 0
-+#define CONFIG_PAF_DEMUXER 0
-+#define CONFIG_PCM_ALAW_DEMUXER 0
-+#define CONFIG_PCM_MULAW_DEMUXER 0
-+#define CONFIG_PCM_VIDC_DEMUXER 0
-+#define CONFIG_PCM_F64BE_DEMUXER 0
-+#define CONFIG_PCM_F64LE_DEMUXER 0
-+#define CONFIG_PCM_F32BE_DEMUXER 0
-+#define CONFIG_PCM_F32LE_DEMUXER 0
-+#define CONFIG_PCM_S32BE_DEMUXER 0
-+#define CONFIG_PCM_S32LE_DEMUXER 0
-+#define CONFIG_PCM_S24BE_DEMUXER 0
-+#define CONFIG_PCM_S24LE_DEMUXER 0
-+#define CONFIG_PCM_S16BE_DEMUXER 0
-+#define CONFIG_PCM_S16LE_DEMUXER 0
-+#define CONFIG_PCM_S8_DEMUXER 0
-+#define CONFIG_PCM_U32BE_DEMUXER 0
-+#define CONFIG_PCM_U32LE_DEMUXER 0
-+#define CONFIG_PCM_U24BE_DEMUXER 0
-+#define CONFIG_PCM_U24LE_DEMUXER 0
-+#define CONFIG_PCM_U16BE_DEMUXER 0
-+#define CONFIG_PCM_U16LE_DEMUXER 0
-+#define CONFIG_PCM_U8_DEMUXER 0
-+#define CONFIG_PJS_DEMUXER 0
-+#define CONFIG_PMP_DEMUXER 0
-+#define CONFIG_PP_BNK_DEMUXER 0
-+#define CONFIG_PVA_DEMUXER 0
-+#define CONFIG_PVF_DEMUXER 0
-+#define CONFIG_QCP_DEMUXER 0
-+#define CONFIG_R3D_DEMUXER 0
-+#define CONFIG_RAWVIDEO_DEMUXER 0
-+#define CONFIG_REALTEXT_DEMUXER 0
-+#define CONFIG_REDSPARK_DEMUXER 0
-+#define CONFIG_RL2_DEMUXER 0
-+#define CONFIG_RM_DEMUXER 0
-+#define CONFIG_ROQ_DEMUXER 0
-+#define CONFIG_RPL_DEMUXER 0
-+#define CONFIG_RSD_DEMUXER 0
-+#define CONFIG_RSO_DEMUXER 0
-+#define CONFIG_RTP_DEMUXER 0
-+#define CONFIG_RTSP_DEMUXER 0
-+#define CONFIG_S337M_DEMUXER 0
-+#define CONFIG_SAMI_DEMUXER 0
-+#define CONFIG_SAP_DEMUXER 0
-+#define CONFIG_SBC_DEMUXER 0
-+#define CONFIG_SBG_DEMUXER 0
-+#define CONFIG_SCC_DEMUXER 0
-+#define CONFIG_SCD_DEMUXER 0
-+#define CONFIG_SDP_DEMUXER 0
-+#define CONFIG_SDR2_DEMUXER 0
-+#define CONFIG_SDS_DEMUXER 0
-+#define CONFIG_SDX_DEMUXER 0
-+#define CONFIG_SEGAFILM_DEMUXER 0
-+#define CONFIG_SER_DEMUXER 0
-+#define CONFIG_SGA_DEMUXER 0
-+#define CONFIG_SHORTEN_DEMUXER 0
-+#define CONFIG_SIFF_DEMUXER 0
-+#define CONFIG_SIMBIOSIS_IMX_DEMUXER 0
-+#define CONFIG_SLN_DEMUXER 0
-+#define CONFIG_SMACKER_DEMUXER 0
-+#define CONFIG_SMJPEG_DEMUXER 0
-+#define CONFIG_SMUSH_DEMUXER 0
-+#define CONFIG_SOL_DEMUXER 0
-+#define CONFIG_SOX_DEMUXER 0
-+#define CONFIG_SPDIF_DEMUXER 0
-+#define CONFIG_SRT_DEMUXER 0
-+#define CONFIG_STR_DEMUXER 0
-+#define CONFIG_STL_DEMUXER 0
-+#define CONFIG_SUBVIEWER1_DEMUXER 0
-+#define CONFIG_SUBVIEWER_DEMUXER 0
-+#define CONFIG_SUP_DEMUXER 0
-+#define CONFIG_SVAG_DEMUXER 0
-+#define CONFIG_SVS_DEMUXER 0
-+#define CONFIG_SWF_DEMUXER 0
-+#define CONFIG_TAK_DEMUXER 0
-+#define CONFIG_TEDCAPTIONS_DEMUXER 0
-+#define CONFIG_THP_DEMUXER 0
-+#define CONFIG_THREEDOSTR_DEMUXER 0
-+#define CONFIG_TIERTEXSEQ_DEMUXER 0
-+#define CONFIG_TMV_DEMUXER 0
-+#define CONFIG_TRUEHD_DEMUXER 0
-+#define CONFIG_TTA_DEMUXER 0
-+#define CONFIG_TXD_DEMUXER 0
-+#define CONFIG_TTY_DEMUXER 0
-+#define CONFIG_TY_DEMUXER 0
-+#define CONFIG_V210_DEMUXER 0
-+#define CONFIG_V210X_DEMUXER 0
-+#define CONFIG_VAG_DEMUXER 0
-+#define CONFIG_VC1_DEMUXER 0
-+#define CONFIG_VC1T_DEMUXER 0
-+#define CONFIG_VIVIDAS_DEMUXER 0
-+#define CONFIG_VIVO_DEMUXER 0
-+#define CONFIG_VMD_DEMUXER 0
-+#define CONFIG_VOBSUB_DEMUXER 0
-+#define CONFIG_VOC_DEMUXER 0
-+#define CONFIG_VPK_DEMUXER 0
-+#define CONFIG_VPLAYER_DEMUXER 0
-+#define CONFIG_VQF_DEMUXER 0
-+#define CONFIG_W64_DEMUXER 0
-+#define CONFIG_WAV_DEMUXER 1
-+#define CONFIG_WC3_DEMUXER 0
-+#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
-+#define CONFIG_WEBVTT_DEMUXER 0
-+#define CONFIG_WSAUD_DEMUXER 0
-+#define CONFIG_WSD_DEMUXER 0
-+#define CONFIG_WSVQA_DEMUXER 0
-+#define CONFIG_WTV_DEMUXER 0
-+#define CONFIG_WVE_DEMUXER 0
-+#define CONFIG_WV_DEMUXER 0
-+#define CONFIG_XA_DEMUXER 0
-+#define CONFIG_XBIN_DEMUXER 0
-+#define CONFIG_XMV_DEMUXER 0
-+#define CONFIG_XVAG_DEMUXER 0
-+#define CONFIG_XWMA_DEMUXER 0
-+#define CONFIG_YOP_DEMUXER 0
-+#define CONFIG_YUV4MPEGPIPE_DEMUXER 0
-+#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_JPEGXL_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_VBN_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 0
-+#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 0
-+#define CONFIG_LIBGME_DEMUXER 0
-+#define CONFIG_LIBMODPLUG_DEMUXER 0
-+#define CONFIG_LIBOPENMPT_DEMUXER 0
-+#define CONFIG_VAPOURSYNTH_DEMUXER 0
-+#define CONFIG_A64_MUXER 0
-+#define CONFIG_AC3_MUXER 0
-+#define CONFIG_ADTS_MUXER 0
-+#define CONFIG_ADX_MUXER 0
-+#define CONFIG_AIFF_MUXER 0
-+#define CONFIG_ALP_MUXER 0
-+#define CONFIG_AMR_MUXER 0
-+#define CONFIG_AMV_MUXER 0
-+#define CONFIG_APM_MUXER 0
-+#define CONFIG_APNG_MUXER 0
-+#define CONFIG_APTX_MUXER 0
-+#define CONFIG_APTX_HD_MUXER 0
-+#define CONFIG_ARGO_ASF_MUXER 0
-+#define CONFIG_ARGO_CVG_MUXER 0
-+#define CONFIG_ASF_MUXER 0
-+#define CONFIG_ASS_MUXER 0
-+#define CONFIG_AST_MUXER 0
-+#define CONFIG_ASF_STREAM_MUXER 0
-+#define CONFIG_AU_MUXER 0
-+#define CONFIG_AVI_MUXER 0
-+#define CONFIG_AVIF_MUXER 0
-+#define CONFIG_AVM2_MUXER 0
-+#define CONFIG_AVS2_MUXER 0
-+#define CONFIG_AVS3_MUXER 0
-+#define CONFIG_BIT_MUXER 0
-+#define CONFIG_CAF_MUXER 0
-+#define CONFIG_CAVSVIDEO_MUXER 0
-+#define CONFIG_CODEC2_MUXER 0
-+#define CONFIG_CODEC2RAW_MUXER 0
-+#define CONFIG_CRC_MUXER 0
-+#define CONFIG_DASH_MUXER 0
-+#define CONFIG_DATA_MUXER 0
-+#define CONFIG_DAUD_MUXER 0
-+#define CONFIG_DFPWM_MUXER 0
-+#define CONFIG_DIRAC_MUXER 0
-+#define CONFIG_DNXHD_MUXER 0
-+#define CONFIG_DTS_MUXER 0
-+#define CONFIG_DV_MUXER 0
-+#define CONFIG_EAC3_MUXER 0
-+#define CONFIG_F4V_MUXER 0
-+#define CONFIG_FFMETADATA_MUXER 0
-+#define CONFIG_FIFO_MUXER 0
-+#define CONFIG_FIFO_TEST_MUXER 0
-+#define CONFIG_FILMSTRIP_MUXER 0
-+#define CONFIG_FITS_MUXER 0
-+#define CONFIG_FLAC_MUXER 0
-+#define CONFIG_FLV_MUXER 0
-+#define CONFIG_FRAMECRC_MUXER 0
-+#define CONFIG_FRAMEHASH_MUXER 0
-+#define CONFIG_FRAMEMD5_MUXER 0
-+#define CONFIG_G722_MUXER 0
-+#define CONFIG_G723_1_MUXER 0
-+#define CONFIG_G726_MUXER 0
-+#define CONFIG_G726LE_MUXER 0
-+#define CONFIG_GIF_MUXER 0
-+#define CONFIG_GSM_MUXER 0
-+#define CONFIG_GXF_MUXER 0
-+#define CONFIG_H261_MUXER 0
-+#define CONFIG_H263_MUXER 0
-+#define CONFIG_H264_MUXER 0
-+#define CONFIG_HASH_MUXER 0
-+#define CONFIG_HDS_MUXER 0
-+#define CONFIG_HEVC_MUXER 0
-+#define CONFIG_HLS_MUXER 0
-+#define CONFIG_ICO_MUXER 0
-+#define CONFIG_ILBC_MUXER 0
-+#define CONFIG_IMAGE2_MUXER 0
-+#define CONFIG_IMAGE2PIPE_MUXER 0
-+#define CONFIG_IPOD_MUXER 0
-+#define CONFIG_IRCAM_MUXER 0
-+#define CONFIG_ISMV_MUXER 0
-+#define CONFIG_IVF_MUXER 0
-+#define CONFIG_JACOSUB_MUXER 0
-+#define CONFIG_KVAG_MUXER 0
-+#define CONFIG_LATM_MUXER 0
-+#define CONFIG_LRC_MUXER 0
-+#define CONFIG_M4V_MUXER 0
-+#define CONFIG_MD5_MUXER 0
-+#define CONFIG_MATROSKA_MUXER 0
-+#define CONFIG_MATROSKA_AUDIO_MUXER 0
-+#define CONFIG_MICRODVD_MUXER 0
-+#define CONFIG_MJPEG_MUXER 0
-+#define CONFIG_MLP_MUXER 0
-+#define CONFIG_MMF_MUXER 0
-+#define CONFIG_MOV_MUXER 0
-+#define CONFIG_MP2_MUXER 0
-+#define CONFIG_MP3_MUXER 0
-+#define CONFIG_MP4_MUXER 0
-+#define CONFIG_MPEG1SYSTEM_MUXER 0
-+#define CONFIG_MPEG1VCD_MUXER 0
-+#define CONFIG_MPEG1VIDEO_MUXER 0
-+#define CONFIG_MPEG2DVD_MUXER 0
-+#define CONFIG_MPEG2SVCD_MUXER 0
-+#define CONFIG_MPEG2VIDEO_MUXER 0
-+#define CONFIG_MPEG2VOB_MUXER 0
-+#define CONFIG_MPEGTS_MUXER 0
-+#define CONFIG_MPJPEG_MUXER 0
-+#define CONFIG_MXF_MUXER 0
-+#define CONFIG_MXF_D10_MUXER 0
-+#define CONFIG_MXF_OPATOM_MUXER 0
-+#define CONFIG_NULL_MUXER 0
-+#define CONFIG_NUT_MUXER 0
-+#define CONFIG_OBU_MUXER 0
-+#define CONFIG_OGA_MUXER 0
-+#define CONFIG_OGG_MUXER 0
-+#define CONFIG_OGV_MUXER 0
-+#define CONFIG_OMA_MUXER 0
-+#define CONFIG_OPUS_MUXER 0
-+#define CONFIG_PCM_ALAW_MUXER 0
-+#define CONFIG_PCM_MULAW_MUXER 0
-+#define CONFIG_PCM_VIDC_MUXER 0
-+#define CONFIG_PCM_F64BE_MUXER 0
-+#define CONFIG_PCM_F64LE_MUXER 0
-+#define CONFIG_PCM_F32BE_MUXER 0
-+#define CONFIG_PCM_F32LE_MUXER 0
-+#define CONFIG_PCM_S32BE_MUXER 0
-+#define CONFIG_PCM_S32LE_MUXER 0
-+#define CONFIG_PCM_S24BE_MUXER 0
-+#define CONFIG_PCM_S24LE_MUXER 0
-+#define CONFIG_PCM_S16BE_MUXER 0
-+#define CONFIG_PCM_S16LE_MUXER 0
-+#define CONFIG_PCM_S8_MUXER 0
-+#define CONFIG_PCM_U32BE_MUXER 0
-+#define CONFIG_PCM_U32LE_MUXER 0
-+#define CONFIG_PCM_U24BE_MUXER 0
-+#define CONFIG_PCM_U24LE_MUXER 0
-+#define CONFIG_PCM_U16BE_MUXER 0
-+#define CONFIG_PCM_U16LE_MUXER 0
-+#define CONFIG_PCM_U8_MUXER 0
-+#define CONFIG_PSP_MUXER 0
-+#define CONFIG_RAWVIDEO_MUXER 0
-+#define CONFIG_RM_MUXER 0
-+#define CONFIG_ROQ_MUXER 0
-+#define CONFIG_RSO_MUXER 0
-+#define CONFIG_RTP_MUXER 0
-+#define CONFIG_RTP_MPEGTS_MUXER 0
-+#define CONFIG_RTSP_MUXER 0
-+#define CONFIG_SAP_MUXER 0
-+#define CONFIG_SBC_MUXER 0
-+#define CONFIG_SCC_MUXER 0
-+#define CONFIG_SEGAFILM_MUXER 0
-+#define CONFIG_SEGMENT_MUXER 0
-+#define CONFIG_STREAM_SEGMENT_MUXER 0
-+#define CONFIG_SMJPEG_MUXER 0
-+#define CONFIG_SMOOTHSTREAMING_MUXER 0
-+#define CONFIG_SOX_MUXER 0
-+#define CONFIG_SPX_MUXER 0
-+#define CONFIG_SPDIF_MUXER 0
-+#define CONFIG_SRT_MUXER 0
-+#define CONFIG_STREAMHASH_MUXER 0
-+#define CONFIG_SUP_MUXER 0
-+#define CONFIG_SWF_MUXER 0
-+#define CONFIG_TEE_MUXER 0
-+#define CONFIG_TG2_MUXER 0
-+#define CONFIG_TGP_MUXER 0
-+#define CONFIG_MKVTIMESTAMP_V2_MUXER 0
-+#define CONFIG_TRUEHD_MUXER 0
-+#define CONFIG_TTA_MUXER 0
-+#define CONFIG_TTML_MUXER 0
-+#define CONFIG_UNCODEDFRAMECRC_MUXER 0
-+#define CONFIG_VC1_MUXER 0
-+#define CONFIG_VC1T_MUXER 0
-+#define CONFIG_VOC_MUXER 0
-+#define CONFIG_W64_MUXER 0
-+#define CONFIG_WAV_MUXER 0
-+#define CONFIG_WEBM_MUXER 0
-+#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0
-+#define CONFIG_WEBM_CHUNK_MUXER 0
-+#define CONFIG_WEBP_MUXER 0
-+#define CONFIG_WEBVTT_MUXER 0
-+#define CONFIG_WSAUD_MUXER 0
-+#define CONFIG_WTV_MUXER 0
-+#define CONFIG_WV_MUXER 0
-+#define CONFIG_YUV4MPEGPIPE_MUXER 0
-+#define CONFIG_CHROMAPRINT_MUXER 0
-+#define CONFIG_ASYNC_PROTOCOL 0
-+#define CONFIG_BLURAY_PROTOCOL 0
-+#define CONFIG_CACHE_PROTOCOL 0
-+#define CONFIG_CONCAT_PROTOCOL 0
-+#define CONFIG_CONCATF_PROTOCOL 0
-+#define CONFIG_CRYPTO_PROTOCOL 0
-+#define CONFIG_DATA_PROTOCOL 0
-+#define CONFIG_FFRTMPCRYPT_PROTOCOL 0
-+#define CONFIG_FFRTMPHTTP_PROTOCOL 0
-+#define CONFIG_FILE_PROTOCOL 0
-+#define CONFIG_FTP_PROTOCOL 0
-+#define CONFIG_GOPHER_PROTOCOL 0
-+#define CONFIG_GOPHERS_PROTOCOL 0
-+#define CONFIG_HLS_PROTOCOL 0
-+#define CONFIG_HTTP_PROTOCOL 0
-+#define CONFIG_HTTPPROXY_PROTOCOL 0
-+#define CONFIG_HTTPS_PROTOCOL 0
-+#define CONFIG_ICECAST_PROTOCOL 0
-+#define CONFIG_MMSH_PROTOCOL 0
-+#define CONFIG_MMST_PROTOCOL 0
-+#define CONFIG_MD5_PROTOCOL 0
-+#define CONFIG_PIPE_PROTOCOL 0
-+#define CONFIG_PROMPEG_PROTOCOL 0
-+#define CONFIG_RTMP_PROTOCOL 0
-+#define CONFIG_RTMPE_PROTOCOL 0
-+#define CONFIG_RTMPS_PROTOCOL 0
-+#define CONFIG_RTMPT_PROTOCOL 0
-+#define CONFIG_RTMPTE_PROTOCOL 0
-+#define CONFIG_RTMPTS_PROTOCOL 0
-+#define CONFIG_RTP_PROTOCOL 0
-+#define CONFIG_SCTP_PROTOCOL 0
-+#define CONFIG_SRTP_PROTOCOL 0
-+#define CONFIG_SUBFILE_PROTOCOL 0
-+#define CONFIG_TEE_PROTOCOL 0
-+#define CONFIG_TCP_PROTOCOL 0
-+#define CONFIG_TLS_PROTOCOL 0
-+#define CONFIG_UDP_PROTOCOL 0
-+#define CONFIG_UDPLITE_PROTOCOL 0
-+#define CONFIG_UNIX_PROTOCOL 0
-+#define CONFIG_LIBAMQP_PROTOCOL 0
-+#define CONFIG_LIBRIST_PROTOCOL 0
-+#define CONFIG_LIBRTMP_PROTOCOL 0
-+#define CONFIG_LIBRTMPE_PROTOCOL 0
-+#define CONFIG_LIBRTMPS_PROTOCOL 0
-+#define CONFIG_LIBRTMPT_PROTOCOL 0
-+#define CONFIG_LIBRTMPTE_PROTOCOL 0
-+#define CONFIG_LIBSRT_PROTOCOL 0
-+#define CONFIG_LIBSSH_PROTOCOL 0
-+#define CONFIG_LIBSMBCLIENT_PROTOCOL 0
-+#define CONFIG_LIBZMQ_PROTOCOL 0
-+#define CONFIG_IPFS_PROTOCOL 0
-+#define CONFIG_IPNS_PROTOCOL 0
-+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_configure b/www/chromium/files/patch-third__party_ffmpeg_configure
new file mode 100644
index 000000000000..c474d6eed528
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_configure
@@ -0,0 +1,13 @@
+--- third_party/ffmpeg/configure.orig 2025-07-02 06:08:04 UTC
++++ third_party/ffmpeg/configure
+@@ -6885,8 +6885,8 @@ if ! disabled pthreads && ! enabled w32threads && ! en
+ if enabled pthread_np_h; then
+ hdrs="$hdrs pthread_np.h"
+ fi
+- check_lib pthread_set_name_np "$hdrs" pthread_set_name_np -lpthread
+- check_lib pthread_setname_np "$hdrs" pthread_setname_np -lpthread
++ check_lib pthread_set_name_np pthread_np.h pthread_set_name_np -lpthread
++ check_lib pthread_setname_np pthread_np.h pthread_setname_np -lpthread
+ fi
+ fi
+
diff --git a/www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c b/www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c
index c4de5ec1608e..eb7a5bbd7973 100644
--- a/www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c
+++ b/www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c
@@ -1,10 +1,10 @@
---- third_party/ffmpeg/libavutil/random_seed.c.orig 2022-02-07 13:39:41 UTC
+--- third_party/ffmpeg/libavutil/random_seed.c.orig 2023-09-13 13:13:30 UTC
+++ third_party/ffmpeg/libavutil/random_seed.c
-@@ -30,6 +30,11 @@
- #include <windows.h>
- #include <bcrypt.h>
+@@ -35,6 +35,11 @@
+ #elif CONFIG_OPENSSL
+ #include <openssl/rand.h>
#endif
-+#if HAVE_ARC4RANDOM
++#if HAVE_ARC4RANDOM_BUF
+#undef __BSD_VISIBLE
+#define __BSD_VISIBLE 1
+#include <stdlib.h>
diff --git a/www/chromium/files/patch-third__party_ffmpeg_libavutil_x86_x86inc.asm b/www/chromium/files/patch-third__party_ffmpeg_libavutil_x86_x86inc.asm
new file mode 100644
index 000000000000..4f4d7614c9a7
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_libavutil_x86_x86inc.asm
@@ -0,0 +1,23 @@
+--- third_party/ffmpeg/libavutil/x86/x86inc.asm.orig 2024-06-17 12:56:06 UTC
++++ third_party/ffmpeg/libavutil/x86/x86inc.asm
+@@ -46,6 +46,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
+@@ -861,6 +867,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/chromium/files/patch-third__party_fontconfig_include_config.h b/www/chromium/files/patch-third__party_fontconfig_include_config.h
deleted file mode 100644
index 7ccdde3742e2..000000000000
--- a/www/chromium/files/patch-third__party_fontconfig_include_config.h
+++ /dev/null
@@ -1,89 +0,0 @@
---- third_party/fontconfig/include/config.h.orig 2022-02-07 13:39:41 UTC
-+++ 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 "/usr/share/fonts"
-+#define FC_DEFAULT_FONTS "/usr/X11R6/lib/X11/fonts"
-
- /* The type of len parameter of the gperf hash/lookup function */
- #define FC_GPERF_SIZE_T size_t
-@@ -100,7 +100,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
-@@ -142,7 +142,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
-@@ -157,11 +157,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
-
-@@ -199,7 +202,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 */
-@@ -225,7 +228,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
-@@ -237,7 +240,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
-@@ -257,7 +260,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/chromium/files/patch-third__party_fontconfig_include_meson-config.h b/www/chromium/files/patch-third__party_fontconfig_include_meson-config.h
new file mode 100644
index 000000000000..a0b1b54538de
--- /dev/null
+++ b/www/chromium/files/patch-third__party_fontconfig_include_meson-config.h
@@ -0,0 +1,44 @@
+--- third_party/fontconfig/include/meson-config.h.orig 2025-07-02 06:08:04 UTC
++++ third_party/fontconfig/include/meson-config.h
+@@ -17,7 +17,7 @@
+
+ #define FC_CACHEDIR "/var/cache/fontconfig"
+
+-#define FC_DEFAULT_FONTS "\t<dir>/usr/share/fonts</dir>\n\t<dir>/usr/local/share/fonts</dir>\n"
++#define FC_DEFAULT_FONTS "\t<dir>/usr/X11R6/lib/X11/fonts</dir>\n"
+
+ #define FC_FONTPATH ""
+
+@@ -92,10 +92,13 @@
+
+ #define HAVE_RANDOM 1
+
+-#define HAVE_RANDOM_R 1
++/* #undef HAVE_RANDOM_R */
+
+ #define HAVE_RAND_R 1
+
++/* Define to 1 if you have the `arc4_random' function. */
++#define HAVE_ARC4RANDOM 1
++
+ #define HAVE_READLINK 1
+
+ #define HAVE_STDATOMIC_PRIMITIVES 1
+@@ -122,7 +125,7 @@
+
+ #define HAVE_SYS_PARAM_H 1
+
+-#define HAVE_SYS_STATFS_H 1
++/* #undef HAVE_SYS_STATFS_H */
+
+ #define HAVE_SYS_STATVFS_H 1
+
+@@ -130,7 +133,7 @@
+
+ #define HAVE_SYS_TYPES_H 1
+
+-#define HAVE_SYS_VFS_H 1
++/* #undef HAVE_SYS_VFS_H */
+
+ #define HAVE_TIME_H 1
+
diff --git a/www/chromium/files/patch-third__party_fontconfig_src_src_fccompat.c b/www/chromium/files/patch-third__party_fontconfig_src_src_fccompat.c
index 95474c5028c2..5244dd445d6f 100644
--- a/www/chromium/files/patch-third__party_fontconfig_src_src_fccompat.c
+++ b/www/chromium/files/patch-third__party_fontconfig_src_src_fccompat.c
@@ -1,6 +1,6 @@
---- third_party/fontconfig/src/src/fccompat.c.orig 2022-02-07 13:39:41 UTC
+--- third_party/fontconfig/src/src/fccompat.c.orig 2025-07-02 06:08:04 UTC
+++ third_party/fontconfig/src/src/fccompat.c
-@@ -169,7 +169,9 @@ FcRandom(void)
+@@ -175,7 +175,9 @@ FcRandom (void)
{
int32_t result;
@@ -9,5 +9,5 @@
+ result = arc4random() & 0x7fffffff;
+#elif HAVE_RANDOM_R
static struct random_data fcrandbuf;
- static char statebuf[256];
- static FcBool initialized = FcFalse;
+ static char statebuf[256];
+ static FcBool initialized = FcFalse;
diff --git a/www/chromium/files/patch-third__party_ipcz_src_BUILD.gn b/www/chromium/files/patch-third__party_ipcz_src_BUILD.gn
new file mode 100644
index 000000000000..7b38079188da
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ipcz_src_BUILD.gn
@@ -0,0 +1,11 @@
+--- third_party/ipcz/src/BUILD.gn.orig 2025-04-04 08:52:13 UTC
++++ third_party/ipcz/src/BUILD.gn
+@@ -7,7 +7,7 @@ import("//build_overrides/ipcz.gni")
+ import("//testing/libfuzzer/fuzzer_test.gni")
+ import("//testing/test.gni")
+
+-enable_multiprocess_tests = is_linux
++enable_multiprocess_tests = is_linux && !is_bsd
+
+ buildflag_header("test_buildflags") {
+ header = "test_buildflags.h"
diff --git a/www/chromium/files/patch-third__party_ipcz_src_reference__drivers_random.cc b/www/chromium/files/patch-third__party_ipcz_src_reference__drivers_random.cc
index 72bfd04f86a4..2e57899d408c 100644
--- a/www/chromium/files/patch-third__party_ipcz_src_reference__drivers_random.cc
+++ b/www/chromium/files/patch-third__party_ipcz_src_reference__drivers_random.cc
@@ -1,20 +1,20 @@
---- third_party/ipcz/src/reference_drivers/random.cc.orig 2022-06-17 14:20:10 UTC
+--- third_party/ipcz/src/reference_drivers/random.cc.orig 2025-04-04 08:52:13 UTC
+++ third_party/ipcz/src/reference_drivers/random.cc
-@@ -15,7 +15,7 @@
- #include <limits>
- #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>
-@@ -77,7 +77,7 @@ void RandomBytes(absl::Span<uint8_t> destination) {
+@@ -55,7 +55,7 @@ decltype(&ProcessPrng) GetProcessPrng() {
+ }
+ #endif
+
+-#if defined(OS_POSIX) && !BUILDFLAG(IS_MAC)
++#if defined(OS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
+ void RandomBytesFromDevUrandom(absl::Span<uint8_t> destination) {
+ static int urandom_fd = [] {
+ for (;;) {
+@@ -99,7 +99,7 @@ void RandomBytes(absl::Span<uint8_t> destination) {
+ return;
+ }
+ }
+-#elif BUILDFLAG(IS_MAC)
++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ const bool ok = getentropy(destination.data(), destination.size()) == 0;
ABSL_ASSERT(ok);
- #elif BUILDFLAG(IS_FUCHSIA)
- zx_cprng_draw(destination.data(), destination.size());
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- while (!destination.empty()) {
- ssize_t result =
- syscall(__NR_getrandom, destination.data(), destination.size(), 0);
+ #elif BUILDFLAG(IS_IOS)
diff --git a/www/chromium/files/patch-third__party_ipcz_src_standalone_base_logging.cc b/www/chromium/files/patch-third__party_ipcz_src_standalone_base_logging.cc
index e78ffde6fb39..b28bf070e23c 100644
--- a/www/chromium/files/patch-third__party_ipcz_src_standalone_base_logging.cc
+++ b/www/chromium/files/patch-third__party_ipcz_src_standalone_base_logging.cc
@@ -1,6 +1,6 @@
---- third_party/ipcz/src/standalone/base/logging.cc.orig 2022-05-19 14:06:27 UTC
+--- third_party/ipcz/src/standalone/base/logging.cc.orig 2025-03-05 08:14:56 UTC
+++ third_party/ipcz/src/standalone/base/logging.cc
-@@ -50,6 +50,9 @@ LogMessage::LogMessage(const char* file, int line, Lev
+@@ -55,6 +55,9 @@ LogMessage::LogMessage(const char* file, int line, Lev
#elif BUILDFLAG(IS_ANDROID)
stream_ << getpid() << ":" << gettid() << ":";
const char* trimmed_file = strrchr(file, '/') + 1;
diff --git a/www/chromium/files/patch-third__party_leveldatabase_env__chromium.cc b/www/chromium/files/patch-third__party_leveldatabase_env__chromium.cc
index bdf3d435eca1..a266c66d9ff6 100644
--- a/www/chromium/files/patch-third__party_leveldatabase_env__chromium.cc
+++ b/www/chromium/files/patch-third__party_leveldatabase_env__chromium.cc
@@ -1,6 +1,6 @@
---- third_party/leveldatabase/env_chromium.cc.orig 2022-05-19 14:06:27 UTC
+--- third_party/leveldatabase/env_chromium.cc.orig 2024-10-22 08:31:56 UTC
+++ third_party/leveldatabase/env_chromium.cc
-@@ -317,7 +317,8 @@ ChromiumWritableFile::ChromiumWritableFile(const std::
+@@ -329,7 +329,8 @@ ChromiumWritableFile::ChromiumWritableFile(const std::
Status ChromiumWritableFile::SyncParent() {
TRACE_EVENT0("leveldb", "SyncParent");
diff --git a/www/chromium/files/patch-third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c b/www/chromium/files/patch-third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c
new file mode 100644
index 000000000000..4e1bd4a57ff4
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c
@@ -0,0 +1,49 @@
+--- third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c.orig 2024-11-14 07:57:23 UTC
++++ third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c
+@@ -127,9 +127,45 @@ static int arm_get_cpu_caps(void) {
+ return flags;
+ }
+
+-#elif defined(__linux__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
++#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_CRC32(cpu_id) >= ID_AA64ISAR0_CRC32_BASE)
++ flags |= HAS_ARM_CRC32;
++
++ return flags;
++}
++
++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
++
+ #include <sys/auxv.h>
++
++#if defined(__FreeBSD__)
++static unsigned long getauxval(unsigned long type)
++{
++ /* Only AT_HWCAP* return unsigned long */
++ if (type != AT_HWCAP && type != AT_HWCAP2) {
++ return 0;
++ }
++
++ unsigned long ret = 0;
++ elf_aux_info(type, &ret, sizeof(ret));
++ return ret;
++}
++#endif
+
+ // Define hwcap values ourselves: building with an old auxv header where these
+ // hwcap values are not defined should not prevent features from being enabled.
diff --git a/www/chromium/files/patch-third__party_libc++_src_src_chrono.cpp b/www/chromium/files/patch-third__party_libc++_src_src_chrono.cpp
new file mode 100644
index 000000000000..52bbe5fe11c7
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libc++_src_src_chrono.cpp
@@ -0,0 +1,11 @@
+--- third_party/libc++/src/src/chrono.cpp.orig 2025-02-19 07:43:18 UTC
++++ third_party/libc++/src/src/chrono.cpp
+@@ -38,7 +38,7 @@
+ // OpenBSD and GPU do not have a fully conformant suite of POSIX timers, but
+ // it does have clock_gettime and CLOCK_MONOTONIC which is all we need.
+ #if defined(__APPLE__) || defined(__gnu_hurd__) || defined(__OpenBSD__) || defined(__AMDGPU__) || \
+- defined(__NVPTX__) || (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0)
++ defined(__NVPTX__) || (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) || defined(__FreeBSD__)
+ # define _LIBCPP_HAS_CLOCK_GETTIME
+ #endif
+
diff --git a/www/chromium/files/patch-third__party_libc++_src_src_filesystem_filesystem__clock.cpp b/www/chromium/files/patch-third__party_libc++_src_src_filesystem_filesystem__clock.cpp
new file mode 100644
index 000000000000..82dff2d04520
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libc++_src_src_filesystem_filesystem__clock.cpp
@@ -0,0 +1,11 @@
+--- third_party/libc++/src/src/filesystem/filesystem_clock.cpp.orig 2025-02-19 07:43:18 UTC
++++ third_party/libc++/src/src/filesystem/filesystem_clock.cpp
+@@ -35,7 +35,7 @@
+ #endif
+
+ #if defined(__APPLE__) || defined(__gnu_hurd__) || defined(__AMDGPU__) || defined(__NVPTX__) || \
+- (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0)
++ (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) || defined(__OpenBSD__) || defined(__FreeBSD__)
+ # define _LIBCPP_HAS_CLOCK_GETTIME
+ #endif
+
diff --git a/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h b/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
index a3e62caae06b..d9a9a382fcc4 100644
--- a/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
+++ b/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
@@ -1,12 +1,11 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h.orig 2022-09-24 10:57:32 UTC
+++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h
-@@ -56,7 +56,8 @@ template <class T> boost::once_flag Singleton<T>::flag
- #include "phonenumbers/base/logging.h"
- #include "phonenumbers/base/thread_checker.h"
-
--#if !defined(__linux__) && !defined(__APPLE__)
-+#if !defined(__linux__) && !defined(__APPLE__) && !defined(__OpenBSD__) && \
-+ !defined(__FreeBSD__)
-
- namespace i18n {
- namespace phonenumbers {
+@@ -22,7 +22,7 @@
+ #elif (__cplusplus >= 201103L) && defined(I18N_PHONENUMBERS_USE_STDMUTEX)
+ // C++11 Lock implementation based on std::mutex.
+ #include "phonenumbers/base/memory/singleton_stdmutex.h"
+-#elif defined(__linux__) || defined(__APPLE__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD)
++#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD)
+ #include "phonenumbers/base/memory/singleton_posix.h"
+ #elif defined(WIN32)
+ #include "phonenumbers/base/memory/singleton_win32.h"
diff --git a/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h b/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
index d4937d88891e..d3ed3a10d84d 100644
--- a/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
+++ b/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
@@ -1,12 +1,11 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h.orig 2022-09-24 10:57:32 UTC
+++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h
-@@ -63,7 +63,8 @@ class Lock { (private)
- // Dummy lock implementation on non-POSIX platforms. If you are running on a
- // different platform and care about thread-safety, please compile with
- // -DI18N_PHONENUMBERS_USE_BOOST.
--#elif !defined(__linux__) && !defined(__APPLE__)
-+#elif !defined(__linux__) && !defined(__APPLE__) && !defined(__OpenBSD__) && \
-+ !defined(__FreeBSD__)
-
- namespace i18n {
- namespace phonenumbers {
+@@ -22,7 +22,7 @@
+ #elif (__cplusplus >= 201103L) && defined(I18N_PHONENUMBERS_USE_STDMUTEX)
+ // C++11 Lock implementation based on std::mutex.
+ #include "phonenumbers/base/synchronization/lock_stdmutex.h"
+-#elif defined(__linux__) || defined(__APPLE__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD)
++#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD)
+ #include "phonenumbers/base/synchronization/lock_posix.h"
+ #elif defined(WIN32)
+ #include "phonenumbers/base/synchronization/lock_win32.h"
diff --git a/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h b/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
index 396e8136c4ed..727f486668a0 100644
--- a/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
+++ b/www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
@@ -1,22 +1,20 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h.orig 2022-09-24 10:57:32 UTC
+++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h
-@@ -23,7 +23,8 @@
+@@ -22,7 +22,7 @@
+ // Note that I18N_PHONENUMBERS_NO_THREAD_SAFETY must be defined only to let the
// user of the library know that it can't be used in a thread-safe manner when
// it is not depending on Boost.
- #if !defined(__linux__) && !defined(__APPLE__) && \
-- !defined(I18N_PHONENUMBERS_NO_THREAD_SAFETY)
-+ !defined(I18N_PHONENUMBERS_NO_THREAD_SAFETY) && !defined(__OpenBSD__) && \
-+ !defined(__FreeBSD__)
- #error Building without Boost, please provide \
- -DI18N_PHONENUMBERS_NO_THREAD_SAFETY
- #endif
-@@ -31,7 +32,8 @@
+-#if !defined(__linux__) && !defined(__APPLE__) && !defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD) && \
++#if !defined(__linux__) && !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD) && \
+ !defined(I18N_PHONENUMBERS_NO_THREAD_SAFETY) && \
+ !((__cplusplus >= 201103L) && defined(I18N_PHONENUMBERS_USE_STDMUTEX)) && \
+ !defined(WIN32)
+@@ -33,7 +33,7 @@
#endif
#if !defined(NDEBUG) && !defined(I18N_PHONENUMBERS_USE_BOOST) && \
-- (defined(__linux__) || defined(__apple__))
-+ (defined(__linux__) || defined(__apple__) || defined(__OpenBSD__) || \
-+ defined(__FreeBSD__))
+- (defined(__linux__) || defined(__APPLE__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD))
++ (defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD))
#include <pthread.h>
diff --git a/www/chromium/files/patch-third__party_libsync_src_sync.c b/www/chromium/files/patch-third__party_libsync_src_sync.c
index 06d214903b04..2b2e42ff7fde 100644
--- a/www/chromium/files/patch-third__party_libsync_src_sync.c
+++ b/www/chromium/files/patch-third__party_libsync_src_sync.c
@@ -1,16 +1,16 @@
---- third_party/libsync/src/sync.c.orig 2022-02-07 13:39:41 UTC
+--- third_party/libsync/src/sync.c.orig 2023-10-11 18:22:24 UTC
+++ 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/chromium/files/patch-third__party_libusb_BUILD.gn b/www/chromium/files/patch-third__party_libusb_BUILD.gn
index aa6756aaaa79..00e3e938b588 100644
--- a/www/chromium/files/patch-third__party_libusb_BUILD.gn
+++ b/www/chromium/files/patch-third__party_libusb_BUILD.gn
@@ -1,4 +1,4 @@
---- third_party/libusb/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- third_party/libusb/BUILD.gn.orig 2023-09-13 12:11:42 UTC
+++ third_party/libusb/BUILD.gn
@@ -3,7 +3,7 @@
# found in the LICENSE file.
@@ -9,7 +9,7 @@
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/features.gni")
-@@ -116,7 +116,7 @@ static_library("libusb") {
+@@ -103,7 +103,7 @@ static_library("libusb") {
]
}
@@ -18,7 +18,7 @@
sources += [
"src/libusb/os/linux_usbfs.c",
"src/libusb/os/linux_usbfs.h",
-@@ -127,6 +127,16 @@ static_library("libusb") {
+@@ -114,11 +114,21 @@ static_library("libusb") {
]
}
@@ -35,7 +35,13 @@
if (is_chromeos_ash) {
defines += [ "USBI_TIMERFD_AVAILABLE" ]
}
-@@ -140,7 +150,7 @@ static_library("libusb") {
+
+- 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" ]
}
diff --git a/www/chromium/files/patch-third__party_libusb_src_libusb_os_threads__posix.c b/www/chromium/files/patch-third__party_libusb_src_libusb_os_threads__posix.c
new file mode 100644
index 000000000000..e3f240592c39
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libusb_src_libusb_os_threads__posix.c
@@ -0,0 +1,24 @@
+--- third_party/libusb/src/libusb/os/threads_posix.c.orig 2023-03-09 06:31:50 UTC
++++ 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/chromium/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c b/www/chromium/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c
new file mode 100644
index 000000000000..5bc574e37a09
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c
@@ -0,0 +1,27 @@
+--- third_party/libvpx/source/libvpx/vpx_ports/aarch64_cpudetect.c.orig 2024-11-14 07:57:23 UTC
++++ third_party/libvpx/source/libvpx/vpx_ports/aarch64_cpudetect.c
+@@ -120,9 +120,23 @@ static int arm_get_cpu_caps(void) {
+ return flags;
+ }
+
+-#elif defined(__linux__) // end defined(VPX_USE_ANDROID_CPU_FEATURES)
++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(VPX_USE_ANDROID_CPU_FEATURES)
+
+ #include <sys/auxv.h>
++
++#if defined(__FreeBSD__)
++static unsigned long getauxval(unsigned long type)
++{
++ /* Only AT_HWCAP* return unsigned long */
++ if (type != AT_HWCAP && type != AT_HWCAP2) {
++ return 0;
++ }
++
++ unsigned long ret = 0;
++ elf_aux_info(type, &ret, sizeof(ret));
++ return ret;
++}
++#endif
+
+ // Define hwcap values ourselves: building with an old auxv header where these
+ // hwcap values are not defined should not prevent features from being enabled.
diff --git a/www/chromium/files/patch-third__party_libxml_linux_config.h b/www/chromium/files/patch-third__party_libxml_linux_config.h
deleted file mode 100644
index bb8f23f56dda..000000000000
--- a/www/chromium/files/patch-third__party_libxml_linux_config.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/libxml/linux/config.h.orig 2022-03-25 21:59:56 UTC
-+++ third_party/libxml/linux/config.h
-@@ -81,6 +81,9 @@
- /* Define to 1 if you have the `putenv' function. */
- #define HAVE_PUTENV 1
-
-+/* 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/chromium/files/patch-third__party_libxml_src_dict.c b/www/chromium/files/patch-third__party_libxml_src_dict.c
deleted file mode 100644
index f9f8495582e7..000000000000
--- a/www/chromium/files/patch-third__party_libxml_src_dict.c
+++ /dev/null
@@ -1,41 +0,0 @@
---- third_party/libxml/src/dict.c.orig 2022-05-19 14:06:27 UTC
-+++ third_party/libxml/src/dict.c
-@@ -135,7 +135,7 @@ static xmlMutexPtr xmlDictMutex = NULL;
- static int xmlDictInitialized = 0;
-
- #ifdef DICT_RANDOMIZATION
--#ifdef HAVE_RAND_R
-+#if defined(HAVE_RAND_R) && !defined(HAVE_ARC4RANDOM)
- /*
- * Internal data for random function, protected by xmlDictMutex
- */
-@@ -178,7 +178,7 @@ int __xmlInitializeDict(void) {
- return(0);
- xmlMutexLock(xmlDictMutex);
-
--#ifdef DICT_RANDOMIZATION
-+#if defined(DICT_RANDOMIZATION) && !defined(HAVE_ARC4RANDOM)
- #ifdef HAVE_RAND_R
- rand_seed = time(NULL);
- rand_r(& rand_seed);
-@@ -198,13 +198,17 @@ int __xmlRandom(void) {
- if (xmlDictInitialized == 0)
- __xmlInitializeDict();
-
-+#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/chromium/files/patch-third__party_lzma__sdk_C_CpuArch.c b/www/chromium/files/patch-third__party_lzma__sdk_C_CpuArch.c
new file mode 100644
index 000000000000..fc8c3b1b38a1
--- /dev/null
+++ b/www/chromium/files/patch-third__party_lzma__sdk_C_CpuArch.c
@@ -0,0 +1,37 @@
+--- third_party/lzma_sdk/C/CpuArch.c.orig 2025-05-05 10:57:53 UTC
++++ third_party/lzma_sdk/C/CpuArch.c
+@@ -854,6 +854,34 @@ 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__
+
diff --git a/www/chromium/files/patch-third__party_maldoca_BUILD.gn b/www/chromium/files/patch-third__party_maldoca_BUILD.gn
deleted file mode 100644
index dc249c266e8a..000000000000
--- a/www/chromium/files/patch-third__party_maldoca_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/maldoca/BUILD.gn.orig 2022-02-28 16:54:41 UTC
-+++ third_party/maldoca/BUILD.gn
-@@ -299,6 +299,10 @@ static_library("maldoca") {
- ":maldoca_chromium_config",
- ":maldoca_flags",
- ]
-+
-+ if (is_bsd) {
-+ libs = [ "iconv" ]
-+ }
- }
-
- fuzzer_test("process_doc_fuzzer") {
diff --git a/www/chromium/files/patch-third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc b/www/chromium/files/patch-third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc
deleted file mode 100644
index 06120ab80f8e..000000000000
--- a/www/chromium/files/patch-third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc
+++ /dev/null
@@ -1,32 +0,0 @@
---- third_party/maldoca/src/maldoca/base/get_runfiles_dir.cc.orig 2022-02-07 13:39:41 UTC
-+++ 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/chromium/files/patch-third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc b/www/chromium/files/patch-third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc
deleted file mode 100644
index f42839c59721..000000000000
--- a/www/chromium/files/patch-third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/maldoca/src/maldoca/service/common/process_doc_wrapper.cc.orig 2022-02-07 13:39:41 UTC
-+++ 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) || defined(OS_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) || defined(OS_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) || defined(OS_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/chromium/files/patch-third__party_material__color__utilities_src_cpp_palettes_tones.cc b/www/chromium/files/patch-third__party_material__color__utilities_src_cpp_palettes_tones.cc
new file mode 100644
index 000000000000..a2483c8d437a
--- /dev/null
+++ b/www/chromium/files/patch-third__party_material__color__utilities_src_cpp_palettes_tones.cc
@@ -0,0 +1,11 @@
+--- third_party/material_color_utilities/src/cpp/palettes/tones.cc.orig 2024-03-22 08:19:40 UTC
++++ 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/chromium/files/patch-third__party_nasm_BUILD.gn b/www/chromium/files/patch-third__party_nasm_BUILD.gn
index 18c63bc66f12..0f80d077e042 100644
--- a/www/chromium/files/patch-third__party_nasm_BUILD.gn
+++ b/www/chromium/files/patch-third__party_nasm_BUILD.gn
@@ -1,12 +1,12 @@
---- third_party/nasm/BUILD.gn.orig 2022-02-28 16:54:41 UTC
+--- third_party/nasm/BUILD.gn.orig 2024-07-30 19:22:51 UTC
+++ third_party/nasm/BUILD.gn
-@@ -59,6 +59,13 @@ config("nasm_config") {
+@@ -63,6 +63,13 @@ config("nasm_config") {
defines = [ "HAVE_CONFIG_H" ]
+ _string_h_lines =
+ read_file("/usr/include/string.h", "list lines")
-+ _mempcpy = filter_include(_string_h_lines, [ "*\*mempcpy*" ])
++ _mempcpy = filter_include(_string_h_lines, [ "*mempcpy*" ])
+ if (_mempcpy != []) {
+ defines += [ "HAVE_MEMPCPY=1" ]
+ }
diff --git a/www/chromium/files/patch-third__party_nasm_config_config-linux.h b/www/chromium/files/patch-third__party_nasm_config_config-linux.h
index ec0874895d15..cfe941f33d33 100644
--- a/www/chromium/files/patch-third__party_nasm_config_config-linux.h
+++ b/www/chromium/files/patch-third__party_nasm_config_config-linux.h
@@ -1,36 +1,18 @@
---- third_party/nasm/config/config-linux.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/nasm/config/config-linux.h.orig 2025-05-28 14:55:43 UTC
+++ third_party/nasm/config/config-linux.h
-@@ -139,7 +139,7 @@
- #define HAVE_ACCESS 1
-
- /* Define to 1 if you have the `canonicalize_file_name' function. */
--#define HAVE_CANONICALIZE_FILE_NAME 1
-+/* #undef HAVE_CANONICALIZE_FILE_NAME */
-
- /* Define to 1 if you have the `cpu_to_le16' intrinsic function. */
- /* #undef HAVE_CPU_TO_LE16 */
-@@ -160,7 +160,7 @@
-
- /* Define to 1 if you have the declaration of `strlcpy', and to 0 if you
- don't. */
--#define HAVE_DECL_STRLCPY 0
-+#define HAVE_DECL_STRLCPY 1
-
- /* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you
- don't. */
-@@ -183,7 +183,7 @@
+@@ -209,7 +209,7 @@
#define HAVE_DECL_STRSEP 1
/* Define to 1 if you have the <endian.h> header file. */
-#define HAVE_ENDIAN_H 1
+/* #undef HAVE_ENDIAN_H */
- /* Define to 1 if you have the `faccessat' function. */
+ /* Define to 1 if you have the 'faccessat' function. */
#define HAVE_FACCESSAT 1
-@@ -327,16 +327,16 @@
+@@ -351,13 +351,13 @@
#define HAVE_ISASCII 1
- /* Define to 1 if you have the `iscntrl' function. */
+ /* Define to 1 if you have the 'iscntrl' function. */
-/* #undef HAVE_ISCNTRL */
+#define HAVE_ISCNTRL 1
@@ -38,16 +20,13 @@
-/* #undef HAVE_MACHINE_ENDIAN_H */
+#define HAVE_MACHINE_ENDIAN_H 1
- /* Define to 1 if you have the <memory.h> header file. */
- #define HAVE_MEMORY_H 1
-
- /* Define to 1 if you have the `mempcpy' function. */
+ /* Define to 1 if you have the 'mempcpy' function. */
-#define HAVE_MEMPCPY 1
+/* #undef HAVE_MEMPCPY */
- /* Define to 1 if you have a working `mmap' system call. */
- #define HAVE_MMAP 1
-@@ -357,7 +357,7 @@
+ /* Define to 1 if you have the 'mempset' function. */
+ /* #undef HAVE_MEMPSET */
+@@ -384,7 +384,7 @@
#define HAVE_STDARG_H 1
/* Define to 1 if stdbool.h conforms to C99. */
@@ -56,16 +35,16 @@
/* Define to 1 if your compiler supports C99 extern inline */
#define HAVE_STDC_INLINE 1
-@@ -384,7 +384,7 @@
+@@ -414,7 +414,7 @@
#define HAVE_STRING_H 1
- /* Define to 1 if you have the `strlcpy' function. */
--/* #undef HAVE_STRLCPY */
+ /* Define to 1 if you have the 'strlcpy' function. */
+-/* #undef HAVE_STRLCPY */ // Shouldn\'t work with -std=c11, but configure still detects it.
+#define HAVE_STRLCPY 1
- /* Define to 1 if you have the `strncasecmp' function. */
+ /* Define to 1 if you have the 'strncasecmp' function. */
#define HAVE_STRNCASECMP 1
-@@ -411,7 +411,7 @@
+@@ -441,7 +441,7 @@
#define HAVE_SYSCONF 1
/* Define to 1 if you have the <sys/endian.h> header file. */
@@ -74,7 +53,7 @@
/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1
-@@ -486,13 +486,13 @@
+@@ -522,13 +522,13 @@
/* #undef HAVE__STATI64 */
/* Define to 1 if you have the `__bswap_16' intrinsic function. */
@@ -91,21 +70,3 @@
/* Define to 1 if you have the `__builtin_bswap16' intrinsic function. */
#define HAVE___BUILTIN_BSWAP16 1
-@@ -620,7 +620,7 @@
- /* Define to the equivalent of the C99 'restrict' keyword, or to
- nothing if this is not supported. Do not define if restrict is
- supported directly. */
--#define restrict __restrict
-+#define restrict __restrict__
- /* Work around a bug in Sun C++: it does not support _Restrict or
- __restrict__, even though the corresponding Sun C compiler ends up with
- "#define restrict _Restrict" or "#define restrict __restrict__" in the
-@@ -637,7 +637,7 @@
- /* Define if your snprintf function is not named snprintf. */
- /* #undef snprintf */
-
--/* Define if your typeof operator is not named typeof. */
-+/* Define if your typeof operator is not named `typeof'. */
- #define typeof __typeof
-
- /* Define to the type of an unsigned integer type wide enough to hold a
diff --git a/www/chromium/files/patch-third__party_node_check__version.py b/www/chromium/files/patch-third__party_node_check__version.py
new file mode 100644
index 000000000000..33076fe6b3c2
--- /dev/null
+++ b/www/chromium/files/patch-third__party_node_check__version.py
@@ -0,0 +1,14 @@
+--- third_party/node/check_version.py.orig 2025-07-02 06:08:04 UTC
++++ third_party/node/check_version.py
+@@ -17,11 +17,6 @@ def main(argv):
+ parser.add_argument('--out_file', required=True)
+ args = parser.parse_args(argv)
+
+- node.RunNode([
+- os.path.join(_HERE_PATH, 'check_version.js'),
+- '--expected_version_file', args.expected_version_file,
+- ])
+-
+ # If the above script succeeded, write a dummy output file, since Ninja
+ # requires every target to have an output.
+ with open(args.out_file, "w") as file:
diff --git a/www/chromium/files/patch-third__party_node_node.gni b/www/chromium/files/patch-third__party_node_node.gni
new file mode 100644
index 000000000000..acd78c9939cb
--- /dev/null
+++ b/www/chromium/files/patch-third__party_node_node.gni
@@ -0,0 +1,11 @@
+--- third_party/node/node.gni.orig 2025-07-02 06:08:04 UTC
++++ third_party/node/node.gni
+@@ -22,7 +22,7 @@ template("node") {
+
+ # When use_remoteexec=true, node actions may run on remote
+ # Linux worker. So it should include linux node binary in inputs.
+- if (is_linux || is_chromeos || use_remoteexec) {
++ if ((is_linux || is_chromeos || use_remoteexec) && !is_bsd) {
+ inputs += [ "//third_party/node/linux/node-linux-x64/bin/node" ]
+ }
+ if (is_win && host_os == "win") {
diff --git a/www/chromium/files/patch-third__party_node_node.py b/www/chromium/files/patch-third__party_node_node.py
index f13b8b6b458d..96bef3eb5cb3 100644
--- a/www/chromium/files/patch-third__party_node_node.py
+++ b/www/chromium/files/patch-third__party_node_node.py
@@ -1,8 +1,8 @@
---- third_party/node/node.py.orig 2022-02-07 13:39:41 UTC
+--- third_party/node/node.py.orig 2025-04-04 08:52:13 UTC
+++ third_party/node/node.py
-@@ -16,6 +16,8 @@ def GetBinaryPath():
+@@ -20,6 +20,8 @@ def GetBinaryPath():
return os_path.join(os_path.dirname(__file__), *{
- 'Darwin': ('mac', darwin_name, 'bin', 'node'),
+ 'Darwin': (darwin_path, darwin_name, 'bin', 'node'),
'Linux': ('linux', 'node-linux-x64', 'bin', 'node'),
+ 'OpenBSD': ('openbsd', 'node-openbsd', 'bin', 'node'),
+ 'FreeBSD': ('freebsd', 'node-freebsd', 'bin', 'node'),
diff --git a/www/chromium/files/patch-third__party_opus_BUILD.gn b/www/chromium/files/patch-third__party_opus_BUILD.gn
deleted file mode 100644
index 88625fca9da9..000000000000
--- a/www/chromium/files/patch-third__party_opus_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/opus/BUILD.gn.orig 2022-02-07 13:39:41 UTC
-+++ third_party/opus/BUILD.gn
-@@ -41,7 +41,6 @@ config("opus_private_config") {
- # Prefer alloca() over variable length arrays which are often inefficient;
- # the opus code will automatically handle this correctly per-platform.
- "USE_ALLOCA",
-- "HAVE_ALLOCA_H",
- ]
-
- include_dirs = [
diff --git a/www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp b/www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp
index 9042d78d56ea..7f7ed80eb1e8 100644
--- a/www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp
+++ b/www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp
@@ -1,6 +1,6 @@
---- third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2022-02-28 16:54:41 UTC
+--- third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2024-07-30 11:12:21 UTC
+++ third_party/pdfium/core/fxge/cfx_fontmapper.cpp
-@@ -155,7 +155,7 @@ constexpr AltFontFamily kAltFontFamilies[] = {
+@@ -157,7 +157,7 @@ constexpr AltFontFamily kAltFontFamilies[] = {
{"ForteMT", "Forte"},
};
diff --git a/www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp b/www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp
index 90d110381036..e60381f5e696 100644
--- a/www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp
+++ b/www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp
@@ -1,15 +1,15 @@
---- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2022-06-17 14:20:10 UTC
+--- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2025-07-02 06:08:04 UTC
+++ third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp
-@@ -18,7 +18,7 @@
- #include "third_party/base/check.h"
+@@ -19,7 +19,7 @@
+ #include "core/fxge/fx_font.h"
+ #include "core/fxge/systemfontinfo_iface.h"
- #if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_FUCHSIA) && \
-- !defined(OS_ASMJS)
-+ !defined(OS_ASMJS) && !BUILDFLAG(IS_BSD)
+-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS) && !BUILDFLAG(IS_BSD)
#error "Included on the wrong platform"
#endif
-@@ -166,9 +166,8 @@ class CLinuxPlatform : public CFX_GEModule::PlatformIf
+@@ -179,9 +179,8 @@ class CLinuxPlatform : public CFX_GEModule::PlatformIf
std::unique_ptr<SystemFontInfoIface> CreateDefaultSystemFontInfo() override {
auto pInfo = std::make_unique<CFX_LinuxFontInfo>();
if (!pInfo->ParseFontCfg(CFX_GEModule::Get()->GetUserFontPaths())) {
diff --git a/www/chromium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp b/www/chromium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
index b59251adcb62..ec12f53b2c58 100644
--- a/www/chromium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
+++ b/www/chromium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
@@ -1,7 +1,7 @@
---- third_party/pdfium/fxjs/fx_date_helpers.cpp.orig 2022-06-17 14:20:10 UTC
+--- third_party/pdfium/fxjs/fx_date_helpers.cpp.orig 2025-05-28 14:55:43 UTC
+++ third_party/pdfium/fxjs/fx_date_helpers.cpp
-@@ -37,6 +37,11 @@ double GetLocalTZA() {
- return 0;
+@@ -41,6 +41,11 @@ double GetLocalTZA() {
+ }
time_t t = 0;
FXSYS_time(&t);
+#ifdef __FreeBSD__
@@ -12,7 +12,7 @@
FXSYS_localtime(&t);
#if BUILDFLAG(IS_WIN)
// In gcc 'timezone' is a global variable declared in time.h. In VC++, that
-@@ -45,6 +50,7 @@ double GetLocalTZA() {
+@@ -49,6 +54,7 @@ double GetLocalTZA() {
_get_timezone(&timezone);
#endif
return (double)(-(timezone * 1000));
diff --git a/www/chromium/files/patch-third__party_pdfium_pdfium.gni b/www/chromium/files/patch-third__party_pdfium_pdfium.gni
new file mode 100644
index 000000000000..a3844ce02e87
--- /dev/null
+++ b/www/chromium/files/patch-third__party_pdfium_pdfium.gni
@@ -0,0 +1,11 @@
+--- third_party/pdfium/pdfium.gni.orig 2024-02-23 21:04:38 UTC
++++ third_party/pdfium/pdfium.gni
+@@ -42,7 +42,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
diff --git a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
index 4ff5bff8c746..6201b0152a2a 100644
--- a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
@@ -1,66 +1,70 @@
---- third_party/perfetto/include/perfetto/base/build_config.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/include/perfetto/base/build_config.h.orig 2025-04-04 08:52:13 UTC
+++ third_party/perfetto/include/perfetto/base/build_config.h
@@ -27,6 +27,7 @@
#if defined(__ANDROID__)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 1
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -38,6 +39,7 @@
+@@ -41,6 +42,7 @@
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 1
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
-@@ -51,9 +53,10 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 1
+@@ -62,9 +64,10 @@
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE_TVOS() 0
#endif
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 1
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -64,6 +67,8 @@
+@@ -78,6 +81,7 @@
+ #elif defined(__QNXNTO__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+@@ -91,6 +95,7 @@
#elif defined(_WIN32)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 1
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -74,6 +79,8 @@
+@@ -104,6 +109,7 @@
#elif defined(__EMSCRIPTEN__)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -87,6 +94,8 @@
+@@ -120,6 +126,7 @@
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 1
-@@ -94,6 +103,8 @@
+@@ -130,6 +137,7 @@
#elif defined(__native_client__)
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
diff --git a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
index b86a9757f1e5..3e54365b9d9a 100644
--- a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
@@ -1,6 +1,6 @@
---- third_party/perfetto/include/perfetto/base/thread_utils.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/include/perfetto/base/thread_utils.h.orig 2025-02-19 07:43:18 UTC
+++ third_party/perfetto/include/perfetto/base/thread_utils.h
-@@ -34,6 +34,7 @@ __declspec(dllimport) unsigned long __stdcall GetCurre
+@@ -37,6 +37,7 @@ __declspec(dllimport) unsigned long __stdcall GetCurre
#include <sys/syscall.h>
#include <sys/types.h>
#include <unistd.h>
@@ -8,7 +8,7 @@
#else
#include <pthread.h>
#endif
-@@ -45,6 +46,11 @@ namespace base {
+@@ -49,6 +50,11 @@ namespace base {
using PlatformThreadId = pid_t;
inline PlatformThreadId GetThreadId() {
return gettid();
diff --git a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h
index 5f3fc99ad5d7..64d3c03b64a8 100644
--- a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h
@@ -1,6 +1,6 @@
---- third_party/perfetto/include/perfetto/base/time.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/include/perfetto/base/time.h.orig 2025-02-19 07:43:18 UTC
+++ third_party/perfetto/include/perfetto/base/time.h
-@@ -142,6 +142,9 @@ inline TimeNanos GetTimeInternalNs(clockid_t clk_id) {
+@@ -227,6 +227,9 @@ inline TimeNanos GetTimeInternalNs(clockid_t clk_id) {
// Return ns from boot. Conversely to GetWallTimeNs, this clock counts also time
// during suspend (when supported).
inline TimeNanos GetBootTimeNs() {
@@ -10,7 +10,7 @@
// Determine if CLOCK_BOOTTIME is available on the first call.
static const clockid_t kBootTimeClockSource = [] {
struct timespec ts = {};
-@@ -149,6 +152,7 @@ inline TimeNanos GetBootTimeNs() {
+@@ -234,6 +237,7 @@ inline TimeNanos GetBootTimeNs() {
return res == 0 ? CLOCK_BOOTTIME : kWallTimeClockSource;
}();
return GetTimeInternalNs(kBootTimeClockSource);
@@ -18,3 +18,17 @@
}
inline TimeNanos GetWallTimeNs() {
+@@ -241,7 +245,13 @@ inline TimeNanos GetWallTimeNs() {
+ }
+
+ inline TimeNanos GetWallTimeRawNs() {
++#if defined(__OpenBSD__)
++ return GetTimeInternalNs(CLOCK_MONOTONIC);
++#elif defined(__FreeBSD__)
++ return GetTimeInternalNs(CLOCK_MONOTONIC_FAST);
++#else
+ return GetTimeInternalNs(CLOCK_MONOTONIC_RAW);
++#endif
+ }
+
+ inline TimeNanos GetThreadCPUTimeNs() {
diff --git a/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h b/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
index 7d9883a23e8f..752ca756f12d 100644
--- a/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
@@ -1,6 +1,6 @@
---- third_party/perfetto/include/perfetto/ext/base/event_fd.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/include/perfetto/ext/base/event_fd.h.orig 2025-02-19 07:43:18 UTC
+++ third_party/perfetto/include/perfetto/ext/base/event_fd.h
-@@ -55,6 +55,8 @@ class EventFd {
+@@ -58,6 +58,8 @@ class EventFd {
// On Mac and other non-Linux UNIX platforms a pipe-based fallback is used.
// The write end of the wakeup pipe.
ScopedFile write_fd_;
diff --git a/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h b/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
index 26809e2d6898..a91c89a75e8c 100644
--- a/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
@@ -1,6 +1,6 @@
---- third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig 2023-12-10 06:10:27 UTC
+++ third_party/perfetto/include/perfetto/ext/base/thread_utils.h
-@@ -40,9 +40,10 @@
+@@ -41,9 +41,10 @@
namespace perfetto {
namespace base {
diff --git a/www/chromium/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h b/www/chromium/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h
new file mode 100644
index 000000000000..eb55db8b4d96
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h
@@ -0,0 +1,11 @@
+--- third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h.orig 2023-04-28 17:01:32 UTC
++++ 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.
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || defined(__OpenBSD__)
+ explicit LegacyTraceId(size_t raw_id) : raw_id_(raw_id) {}
+ explicit LegacyTraceId(intptr_t raw_id)
+ : raw_id_(static_cast<uint64_t>(raw_id)) {}
diff --git a/www/chromium/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto b/www/chromium/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto
new file mode 100644
index 000000000000..59893e67db88
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto
@@ -0,0 +1,56 @@
+--- third_party/perfetto/protos/perfetto/trace/ftrace/v4l2.proto.orig 2022-09-24 10:57:32 UTC
++++ third_party/perfetto/protos/perfetto/trace/ftrace/v4l2.proto
+@@ -10,7 +10,7 @@ message V4l2QbufFtraceEvent {
+ optional uint32 field = 2;
+ optional uint32 flags = 3;
+ optional uint32 index = 4;
+- optional int32 minor = 5;
++ optional int32 gminor = 5;
+ optional uint32 sequence = 6;
+ optional uint32 timecode_flags = 7;
+ optional uint32 timecode_frames = 8;
+@@ -30,7 +30,7 @@ message V4l2DqbufFtraceEvent {
+ optional uint32 field = 2;
+ optional uint32 flags = 3;
+ optional uint32 index = 4;
+- optional int32 minor = 5;
++ optional int32 gminor = 5;
+ optional uint32 sequence = 6;
+ optional uint32 timecode_flags = 7;
+ optional uint32 timecode_frames = 8;
+@@ -48,7 +48,7 @@ message V4l2DqbufFtraceEvent {
+ message Vb2V4l2BufQueueFtraceEvent {
+ optional uint32 field = 1;
+ optional uint32 flags = 2;
+- optional int32 minor = 3;
++ optional int32 gminor = 3;
+ optional uint32 sequence = 4;
+ optional uint32 timecode_flags = 5;
+ optional uint32 timecode_frames = 6;
+@@ -65,7 +65,7 @@ message Vb2V4l2BufQueueFtraceEvent {
+ message Vb2V4l2BufDoneFtraceEvent {
+ optional uint32 field = 1;
+ optional uint32 flags = 2;
+- optional int32 minor = 3;
++ optional int32 gminor = 3;
+ optional uint32 sequence = 4;
+ optional uint32 timecode_flags = 5;
+ optional uint32 timecode_frames = 6;
+@@ -82,7 +82,7 @@ message Vb2V4l2BufDoneFtraceEvent {
+ message Vb2V4l2QbufFtraceEvent {
+ optional uint32 field = 1;
+ optional uint32 flags = 2;
+- optional int32 minor = 3;
++ optional int32 gminor = 3;
+ optional uint32 sequence = 4;
+ optional uint32 timecode_flags = 5;
+ optional uint32 timecode_frames = 6;
+@@ -99,7 +99,7 @@ message Vb2V4l2QbufFtraceEvent {
+ message Vb2V4l2DqbufFtraceEvent {
+ optional uint32 field = 1;
+ optional uint32 flags = 2;
+- optional int32 minor = 3;
++ optional int32 gminor = 3;
+ optional uint32 sequence = 4;
+ optional uint32 timecode_flags = 5;
+ optional uint32 timecode_frames = 6;
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_clock__snapshots.cc b/www/chromium/files/patch-third__party_perfetto_src_base_clock__snapshots.cc
new file mode 100644
index 000000000000..8a82b8bef25f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_clock__snapshots.cc
@@ -0,0 +1,10 @@
+--- third_party/perfetto/src/base/clock_snapshots.cc.orig 2025-02-19 07:43:18 UTC
++++ third_party/perfetto/src/base/clock_snapshots.cc
+@@ -27,6 +27,7 @@ ClockSnapshotVector CaptureClockSnapshots() {
+ #if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_QNX)
+ struct {
+ clockid_t id;
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_event__fd.cc b/www/chromium/files/patch-third__party_perfetto_src_base_event__fd.cc
index 5ea355851d89..b01b16758987 100644
--- a/www/chromium/files/patch-third__party_perfetto_src_base_event__fd.cc
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_event__fd.cc
@@ -1,21 +1,21 @@
---- third_party/perfetto/src/base/event_fd.cc.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/src/base/event_fd.cc.orig 2025-02-19 07:43:18 UTC
+++ third_party/perfetto/src/base/event_fd.cc
-@@ -22,7 +22,8 @@
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
- #include <Windows.h>
+@@ -24,7 +24,8 @@
#include <synchapi.h>
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_QNX)
+ #include <unistd.h>
-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+#elif (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
#include <sys/eventfd.h>
#include <unistd.h>
-@@ -57,7 +58,8 @@ void EventFd::Clear() {
+@@ -59,7 +60,8 @@ void EventFd::Clear() {
PERFETTO_DFATAL("EventFd::Clear()");
}
--#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+#elif (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#elif (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_periodic__task.cc b/www/chromium/files/patch-third__party_perfetto_src_base_periodic__task.cc
index 4dc853b70fbc..cd2fd35437be 100644
--- a/www/chromium/files/patch-third__party_perfetto_src_base_periodic__task.cc
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_periodic__task.cc
@@ -1,20 +1,20 @@
---- third_party/perfetto/src/base/periodic_task.cc.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/src/base/periodic_task.cc.orig 2025-02-19 07:43:18 UTC
+++ third_party/perfetto/src/base/periodic_task.cc
@@ -24,7 +24,7 @@
#include "perfetto/base/time.h"
#include "perfetto/ext/base/file_utils.h"
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
(PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) && __ANDROID_API__ >= 19)
#include <sys/timerfd.h>
#endif
-@@ -34,7 +34,7 @@ namespace base {
+@@ -44,7 +44,7 @@ uint32_t GetNextDelayMs(const TimeMillis& now_ms,
+ }
- namespace {
- base::ScopedPlatformHandle CreateTimerFd(uint32_t period_ms) {
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ ScopedPlatformHandle CreateTimerFd(const PeriodicTask::Args& args) {
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
(PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) && __ANDROID_API__ >= 19)
- base::ScopedPlatformHandle tfd(
+ ScopedPlatformHandle tfd(
timerfd_create(CLOCK_BOOTTIME, TFD_CLOEXEC | TFD_NONBLOCK));
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_string__utils.cc b/www/chromium/files/patch-third__party_perfetto_src_base_string__utils.cc
index 14342279adeb..9b27684773da 100644
--- a/www/chromium/files/patch-third__party_perfetto_src_base_string__utils.cc
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_string__utils.cc
@@ -1,15 +1,12 @@
---- third_party/perfetto/src/base/string_utils.cc.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/src/base/string_utils.cc.orig 2025-05-28 14:55:43 UTC
+++ third_party/perfetto/src/base/string_utils.cc
-@@ -36,9 +36,10 @@ namespace base {
-
+@@ -39,7 +39,8 @@ namespace base {
// Locale-independant as possible version of strtod.
double StrToD(const char* nptr, char** endptr) {
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-+#if (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)) && \
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++ (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
static auto c_locale = newlocale(LC_ALL, "C", nullptr);
return strtod_l(nptr, endptr, c_locale);
- #else
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_subprocess__posix.cc b/www/chromium/files/patch-third__party_perfetto_src_base_subprocess__posix.cc
index f38b23a79ca9..75983f911424 100644
--- a/www/chromium/files/patch-third__party_perfetto_src_base_subprocess__posix.cc
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_subprocess__posix.cc
@@ -1,11 +1,11 @@
---- third_party/perfetto/src/base/subprocess_posix.cc.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/src/base/subprocess_posix.cc.orig 2025-02-19 07:43:18 UTC
+++ third_party/perfetto/src/base/subprocess_posix.cc
@@ -35,7 +35,8 @@
#include <thread>
#include <tuple>
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
#include <sys/prctl.h>
@@ -14,8 +14,8 @@
// Don't add any dynamic allocation in this function. This will be invoked
// under a fork(), potentially in a state where the allocator lock is held.
void __attribute__((noreturn)) ChildProcess(ChildProcessArgs* args) {
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
// In no case we want a child process to outlive its parent process. This is
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc b/www/chromium/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc
index 17ebe05dd570..168e2db04fa6 100644
--- a/www/chromium/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc
@@ -1,6 +1,6 @@
---- third_party/perfetto/src/base/test/vm_test_utils.cc.orig 2022-06-17 14:20:10 UTC
+--- third_party/perfetto/src/base/test/vm_test_utils.cc.orig 2025-05-28 14:55:43 UTC
+++ third_party/perfetto/src/base/test/vm_test_utils.cc
-@@ -91,7 +91,7 @@ bool IsMapped(void* start, size_t size) {
+@@ -93,7 +93,7 @@ bool IsMapped(void* start, size_t size) {
// Fuchsia doesn't yet support paging (b/119503290).
ignore_result(page_size);
return true;
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc b/www/chromium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
index 3cedb601c7a0..f74e47a717e4 100644
--- a/www/chromium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
@@ -1,14 +1,12 @@
---- third_party/perfetto/src/base/thread_task_runner.cc.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/src/base/thread_task_runner.cc.orig 2025-02-19 07:43:18 UTC
+++ third_party/perfetto/src/base/thread_task_runner.cc
-@@ -27,8 +27,9 @@
+@@ -27,7 +27,8 @@
#include "perfetto/ext/base/thread_utils.h"
#include "perfetto/ext/base/unix_task_runner.h"
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
-+#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
#include <sys/prctl.h>
#endif
-
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_unix__socket.cc b/www/chromium/files/patch-third__party_perfetto_src_base_unix__socket.cc
index 4a11214c1ef5..b61d544bfdbf 100644
--- a/www/chromium/files/patch-third__party_perfetto_src_base_unix__socket.cc
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_unix__socket.cc
@@ -1,6 +1,6 @@
---- third_party/perfetto/src/base/unix_socket.cc.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/src/base/unix_socket.cc.orig 2025-05-28 14:55:43 UTC
+++ third_party/perfetto/src/base/unix_socket.cc
-@@ -42,7 +42,7 @@
+@@ -45,7 +45,7 @@
#include <unistd.h>
#endif
@@ -9,12 +9,12 @@
#include <sys/ucred.h>
#endif
-@@ -791,9 +791,13 @@ void UnixSocket::ReadPeerCredentialsPosix() {
- return;
- PERFETTO_CHECK(peer_cred_mode_ != SockPeerCredMode::kIgnore);
-
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+#if !defined(__FreeBSD__) && PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+@@ -1031,9 +1031,13 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+ int res = getpeereid(fd, &peer_uid_, nullptr);
+ PERFETTO_CHECK(res == 0);
+ // There is no pid when obtaining peer credentials for QNX
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#elif !defined(__FreeBSD__) && PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+#if PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ struct sockpeercred user_cred;
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_utils.cc b/www/chromium/files/patch-third__party_perfetto_src_base_utils.cc
new file mode 100644
index 000000000000..f2fd4750cd1f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_utils.cc
@@ -0,0 +1,47 @@
+--- third_party/perfetto/src/base/utils.cc.orig 2025-04-04 08:52:13 UTC
++++ third_party/perfetto/src/base/utils.cc
+@@ -38,7 +38,8 @@
+ #include <mach/vm_page_size.h>
+ #endif
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+ #include <sys/prctl.h>
+
+@@ -279,14 +280,22 @@ void Daemonize(std::function<int()> parent_cb) {
+
+ std::string GetCurExecutablePath() {
+ std::string self_path;
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ char buf[PATH_MAX];
+ ssize_t size = readlink("/proc/self/exe", buf, sizeof(buf));
+ PERFETTO_CHECK(size != -1);
+ // readlink does not null terminate.
+ self_path = std::string(buf, static_cast<size_t>(size));
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
++ char *buf;
++ const char *cpath = "/usr/local/chrome/chrome";
++ if ((buf = getenv("CHROME_EXE_PATH")) != NULL)
++ self_path = std::string(buf);
++ else
++ self_path = std::string(cpath);
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
+ uint32_t size = 0;
+ PERFETTO_CHECK(_NSGetExecutablePath(nullptr, &size));
+@@ -338,7 +347,8 @@ void AlignedFree(void* ptr) {
+ }
+
+ bool IsSyncMemoryTaggingEnabled() {
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+ // Compute only once per lifetime of the process.
+ static bool cached_value = [] {
diff --git a/www/chromium/files/patch-third__party_perfetto_src_trace__processor_importers_ftrace_v4l2__tracker.cc b/www/chromium/files/patch-third__party_perfetto_src_trace__processor_importers_ftrace_v4l2__tracker.cc
new file mode 100644
index 000000000000..3be7582fbb99
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_trace__processor_importers_ftrace_v4l2__tracker.cc
@@ -0,0 +1,56 @@
+--- third_party/perfetto/src/trace_processor/importers/ftrace/v4l2_tracker.cc.orig 2025-02-19 07:43:18 UTC
++++ third_party/perfetto/src/trace_processor/importers/ftrace/v4l2_tracker.cc
+@@ -62,7 +62,7 @@ void V4l2Tracker::ParseV4l2Event(uint64_t fld_id,
+ case FtraceEvent::kV4l2QbufFieldNumber: {
+ V4l2QbufFtraceEvent::Decoder pb_evt(bytes);
+ BufferEvent evt;
+- evt.device_minor = pb_evt.minor();
++ evt.device_minor = pb_evt.gminor();
+ evt.index = pb_evt.index();
+ evt.type = pb_evt.type();
+ evt.bytesused = pb_evt.bytesused();
+@@ -103,7 +103,7 @@ void V4l2Tracker::ParseV4l2Event(uint64_t fld_id,
+ case FtraceEvent::kV4l2DqbufFieldNumber: {
+ V4l2DqbufFtraceEvent::Decoder pb_evt(bytes);
+ BufferEvent evt;
+- evt.device_minor = pb_evt.minor();
++ evt.device_minor = pb_evt.gminor();
+ evt.index = pb_evt.index();
+ evt.type = pb_evt.type();
+ evt.bytesused = pb_evt.bytesused();
+@@ -149,7 +149,7 @@ void V4l2Tracker::ParseV4l2Event(uint64_t fld_id,
+ case FtraceEvent::kVb2V4l2BufQueueFieldNumber: {
+ Vb2V4l2BufQueueFtraceEvent::Decoder pb_evt(bytes);
+ BufferEvent evt;
+- evt.device_minor = pb_evt.minor();
++ evt.device_minor = pb_evt.gminor();
+ evt.index = std::nullopt;
+ evt.type = std::nullopt;
+ evt.bytesused = std::nullopt;
+@@ -180,7 +180,7 @@ void V4l2Tracker::ParseV4l2Event(uint64_t fld_id,
+ case FtraceEvent::kVb2V4l2BufDoneFieldNumber: {
+ Vb2V4l2BufDoneFtraceEvent::Decoder pb_evt(bytes);
+ BufferEvent evt;
+- evt.device_minor = pb_evt.minor();
++ evt.device_minor = pb_evt.gminor();
+ evt.index = std::nullopt;
+ evt.type = std::nullopt;
+ evt.bytesused = std::nullopt;
+@@ -211,7 +211,7 @@ void V4l2Tracker::ParseV4l2Event(uint64_t fld_id,
+ case FtraceEvent::kVb2V4l2QbufFieldNumber: {
+ Vb2V4l2QbufFtraceEvent::Decoder pb_evt(bytes);
+ BufferEvent evt;
+- evt.device_minor = pb_evt.minor();
++ evt.device_minor = pb_evt.gminor();
+ evt.index = std::nullopt;
+ evt.type = std::nullopt;
+ evt.bytesused = std::nullopt;
+@@ -242,7 +242,7 @@ void V4l2Tracker::ParseV4l2Event(uint64_t fld_id,
+ case FtraceEvent::kVb2V4l2DqbufFieldNumber: {
+ Vb2V4l2DqbufFtraceEvent::Decoder pb_evt(bytes);
+ BufferEvent evt;
+- evt.device_minor = pb_evt.minor();
++ evt.device_minor = pb_evt.gminor();
+ evt.index = std::nullopt;
+ evt.type = std::nullopt;
+ evt.bytesused = std::nullopt;
diff --git a/www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc b/www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
deleted file mode 100644
index 59a98a420b53..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2022-05-19 14:06:27 UTC
-+++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc
-@@ -3040,7 +3040,8 @@ bool TracingServiceImpl::SnapshotClocks(
-
- #if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
- !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
-- !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL)
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) && \
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
- struct {
- clockid_t id;
- protos::pbzero::BuiltinClock type;
diff --git a/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc b/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc
new file mode 100644
index 000000000000..6f899b6aec23
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc
@@ -0,0 +1,12 @@
+--- third_party/perfetto/src/tracing/ipc/memfd.cc.orig 2025-05-28 14:55:43 UTC
++++ 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_BUT_NOT_QNX)
++ (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD))
+
+ #if PERFETTO_MEMFD_ENABLED()
+
diff --git a/www/chromium/files/patch-third__party_perfetto_src_tracing_platform__posix.cc b/www/chromium/files/patch-third__party_perfetto_src_tracing_platform__posix.cc
new file mode 100644
index 000000000000..de931549fb4d
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_tracing_platform__posix.cc
@@ -0,0 +1,19 @@
+--- third_party/perfetto/src/tracing/platform_posix.cc.orig 2024-11-14 07:57:23 UTC
++++ third_party/perfetto/src/tracing/platform_posix.cc
+@@ -110,12 +110,13 @@ std::unique_ptr<base::TaskRunner> PlatformPosix::Creat
+ }
+
+ std::string PlatformPosix::GetCurrentProcessName() {
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ std::string cmdline;
+ base::ReadFile("/proc/self/cmdline", &cmdline);
+ return cmdline.substr(0, cmdline.find('\0'));
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ return std::string(getprogname());
+ #else
+ return "unknown_producer";
diff --git a/www/chromium/files/patch-third__party_perfetto_src_tracing_track.cc b/www/chromium/files/patch-third__party_perfetto_src_tracing_track.cc
new file mode 100644
index 000000000000..c91ff51ae7b6
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_tracing_track.cc
@@ -0,0 +1,23 @@
+--- third_party/perfetto/src/tracing/track.cc.orig 2025-01-15 09:18:26 UTC
++++ third_party/perfetto/src/tracing/track.cc
+@@ -60,8 +60,9 @@ protos::gen::TrackDescriptor ProcessTrack::Serialize()
+ auto desc = Track::Serialize();
+ auto pd = desc.mutable_process();
+ pd->set_pid(static_cast<int32_t>(pid));
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ std::string cmdline;
+ if (base::ReadFile("/proc/self/cmdline", &cmdline)) {
+ // Since cmdline is a zero-terminated list of arguments, this ends up
+@@ -170,7 +171,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/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h b/www/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h
index 8e1fb1266848..ba249445dbe2 100644
--- a/www/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h
+++ b/www/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h
@@ -1,11 +1,11 @@
---- third_party/protobuf/src/google/protobuf/stubs/platform_macros.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/protobuf/src/google/protobuf/stubs/platform_macros.h.orig 2025-04-04 08:52:13 UTC
+++ third_party/protobuf/src/google/protobuf/stubs/platform_macros.h
-@@ -118,7 +118,7 @@ GOOGLE_PROTOBUF_PLATFORM_ERROR
+@@ -99,7 +99,7 @@ GOOGLE_PROTOBUF_PLATFORM_ERROR
#undef GOOGLE_PROTOBUF_PLATFORM_ERROR
--#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) || defined(__OpenBSD__)
-+#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE)
+-#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE)
++#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) || defined(__OpenBSD__)
// Android ndk does not support the __thread keyword very well yet. Here
// we use pthread_key_create()/pthread_getspecific()/... methods for
// TLS support on android.
diff --git a/www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp b/www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp
deleted file mode 100644
index c9d06b01fdc6..000000000000
--- a/www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
---- third_party/skia/src/core/SkCpu.cpp.orig 2022-04-21 18:48:31 UTC
-+++ 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>
-
diff --git a/www/chromium/files/patch-third__party_skia_src_ports_SkMemory__malloc.cpp b/www/chromium/files/patch-third__party_skia_src_ports_SkMemory__malloc.cpp
new file mode 100644
index 000000000000..3b7a973a9636
--- /dev/null
+++ b/www/chromium/files/patch-third__party_skia_src_ports_SkMemory__malloc.cpp
@@ -0,0 +1,20 @@
+--- third_party/skia/src/ports/SkMemory_malloc.cpp.orig 2024-04-19 13:02:56 UTC
++++ third_party/skia/src/ports/SkMemory_malloc.cpp
+@@ -15,7 +15,7 @@
+
+ #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
+ #include <malloc/malloc.h>
+-#elif defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_UNIX)
++#elif defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_UNIX) && !defined(__OpenBSD__)
+ #include <malloc.h>
+ #elif defined(SK_BUILD_FOR_WIN)
+ #include <malloc.h>
+@@ -126,7 +126,7 @@ size_t sk_malloc_size(void* addr, size_t size) {
+ #elif defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 17
+ completeSize = malloc_usable_size(addr);
+ SkASSERT(completeSize >= size);
+- #elif defined(SK_BUILD_FOR_UNIX)
++ #elif defined(SK_BUILD_FOR_UNIX) && !defined(__OpenBSD__)
+ completeSize = malloc_usable_size(addr);
+ SkASSERT(completeSize >= size);
+ #elif defined(SK_BUILD_FOR_WIN)
diff --git a/www/chromium/files/patch-third__party_speech-dispatcher_libspeechd__version.h b/www/chromium/files/patch-third__party_speech-dispatcher_libspeechd__version.h
new file mode 100644
index 000000000000..a26fa26cc609
--- /dev/null
+++ b/www/chromium/files/patch-third__party_speech-dispatcher_libspeechd__version.h
@@ -0,0 +1,32 @@
+--- third_party/speech-dispatcher/libspeechd_version.h.orig 2024-04-19 13:02:56 UTC
++++ third_party/speech-dispatcher/libspeechd_version.h
+@@ -0,0 +1,29 @@
++/*
++ * libspeechd_version.h - Shared library for easy access to Speech Dispatcher functions (header)
++ *
++ * Copyright (C) 2001, 2002, 2003, 2004 Brailcom, o.p.s.
++ *
++ * This is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU Lesser General Public License as published by
++ * the Free Software Foundation; either version 2.1, or (at your option)
++ * any later version.
++ *
++ * This software is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <https://www.gnu.org/licenses/>.
++ *
++ * $Id: patch-third_party_speech-dispatcher_libspeechd_version_h,v 1.4 2024/03/22 13:10:56 robert Exp $
++ */
++
++#ifndef _LIBSPEECHD_VERSION_H
++#define _LIBSPEECHD_VERSION_H
++
++#define LIBSPEECHD_MAJOR_VERSION 0
++#define LIBSPEECHD_MINOR_VERSION 11
++#define LIBSPEECHD_MICRO_VERSION 5
++
++#endif /* ifndef _LIBSPEECHD_VERSION_H */
diff --git a/www/chromium/files/patch-third__party_speech-dispatcher_speechd__types.h b/www/chromium/files/patch-third__party_speech-dispatcher_speechd__types.h
new file mode 100644
index 000000000000..79ae113c0f1d
--- /dev/null
+++ b/www/chromium/files/patch-third__party_speech-dispatcher_speechd__types.h
@@ -0,0 +1,142 @@
+--- third_party/speech-dispatcher/speechd_types.h.orig 2023-12-10 06:10:27 UTC
++++ third_party/speech-dispatcher/speechd_types.h
+@@ -119,4 +119,139 @@ typedef struct {
+ SPDVoice voice;
+ } SPDMsgSettings;
+
++/* TEMP_FAILURE_RETRY seems to be available only on Linux. For systems that
++ * don't have this macro we provide our own version. This code was taken from
++ * file "/usr/include/unistd.h" from Debian package "libc6-dev"
++ * version 2.3.2.ds1-20. */
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(expression) \
++ (__extension__ \
++ ({ long int __result; \
++ do __result = (long int) (expression); \
++ while (__result == -1L && errno == EINTR); \
++ __result; }))
++#endif
++
++#endif /* not ifndef SPEECHD_TYPES */
++
++/*
++ * speechd_types.h - types for Speech Dispatcher
++ *
++ * Copyright (C) 2001, 2002, 2003 Brailcom, o.p.s.
++ *
++ * This is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU Lesser General Public License as published by
++ * the Free Software Foundation; either version 2.1, or (at your option)
++ * any later version.
++ *
++ * This software is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <https://www.gnu.org/licenses/>.
++ */
++
++#ifndef SPEECHD_TYPES_H
++#define SPEECHD_TYPES_H
++
++typedef enum {
++ SPD_PUNCT_ALL = 0,
++ SPD_PUNCT_NONE = 1,
++ SPD_PUNCT_SOME = 2,
++ SPD_PUNCT_MOST = 3
++} SPDPunctuation;
++
++typedef enum {
++ SPD_CAP_NONE = 0,
++ SPD_CAP_SPELL = 1,
++ SPD_CAP_ICON = 2
++} SPDCapitalLetters;
++
++typedef enum {
++ SPD_SPELL_OFF = 0,
++ SPD_SPELL_ON = 1
++} SPDSpelling;
++
++typedef enum {
++ SPD_MALE1 = 1,
++ SPD_MALE2 = 2,
++ SPD_MALE3 = 3,
++ SPD_FEMALE1 = 4,
++ SPD_FEMALE2 = 5,
++ SPD_FEMALE3 = 6,
++ SPD_CHILD_MALE = 7,
++ SPD_CHILD_FEMALE = 8,
++ SPD_UNSPECIFIED = -1
++} SPDVoiceType;
++
++typedef struct {
++ char *name; /* Name of the voice (id) */
++ char *language; /* 2/3-letter ISO language code,
++ * possibly followed by 2/3-letter ISO region code,
++ * e.g. en-US */
++ char *variant; /* a not-well defined string describing dialect etc. */
++} SPDVoice;
++
++typedef enum {
++ SPD_DATA_TEXT = 0,
++ SPD_DATA_SSML = 1
++} SPDDataMode;
++
++typedef enum {
++ SPD_IMPORTANT = 1,
++ SPD_MESSAGE = 2,
++ SPD_TEXT = 3,
++ SPD_NOTIFICATION = 4,
++ SPD_PROGRESS = 5
++} SPDPriority;
++
++typedef enum {
++ SPD_BEGIN = 1,
++ SPD_END = 2,
++ SPD_INDEX_MARKS = 4,
++ SPD_CANCEL = 8,
++ SPD_PAUSE = 16,
++ SPD_RESUME = 32,
++
++ SPD_ALL = 0x3f
++} SPDNotification;
++
++typedef enum {
++ SPD_EVENT_BEGIN,
++ SPD_EVENT_END,
++ SPD_EVENT_INDEX_MARK,
++ SPD_EVENT_CANCEL,
++ SPD_EVENT_PAUSE,
++ SPD_EVENT_RESUME
++} SPDNotificationType;
++
++typedef enum {
++ SORT_BY_TIME = 0,
++ SORT_BY_ALPHABET = 1
++} ESort;
++
++typedef enum {
++ SPD_MSGTYPE_TEXT = 0,
++ SPD_MSGTYPE_SOUND_ICON = 1,
++ SPD_MSGTYPE_CHAR = 2,
++ SPD_MSGTYPE_KEY = 3,
++ SPD_MSGTYPE_SPELL = 99
++} SPDMessageType;
++
++typedef struct {
++ signed int rate;
++ signed int pitch;
++ signed int pitch_range;
++ signed int volume;
++
++ SPDPunctuation punctuation_mode;
++ SPDSpelling spelling_mode;
++ SPDCapitalLetters cap_let_recogn;
++
++ SPDVoiceType voice_type;
++ SPDVoice voice;
++} SPDMsgSettings;
++
+ #endif /* not ifndef SPEECHD_TYPES */
diff --git a/www/chromium/files/patch-third__party_sqlite_BUILD.gn b/www/chromium/files/patch-third__party_sqlite_BUILD.gn
index 12e24499246a..bf7e563d38bd 100644
--- a/www/chromium/files/patch-third__party_sqlite_BUILD.gn
+++ b/www/chromium/files/patch-third__party_sqlite_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/sqlite/BUILD.gn.orig 2021-12-31 00:58:29 UTC
+--- third_party/sqlite/BUILD.gn.orig 2025-03-05 08:14:56 UTC
+++ third_party/sqlite/BUILD.gn
-@@ -142,7 +142,7 @@ config("sqlite_warnings") {
+@@ -155,7 +155,7 @@ config("sqlite_warnings") {
]
}
}
diff --git a/www/chromium/files/patch-third__party_sqlite_src_amalgamation__dev_sqlite3.c b/www/chromium/files/patch-third__party_sqlite_src_amalgamation__dev_sqlite3.c
new file mode 100644
index 000000000000..e0b2c7479d0f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_sqlite_src_amalgamation__dev_sqlite3.c
@@ -0,0 +1,11 @@
+--- third_party/sqlite/src/amalgamation_dev/sqlite3.c.orig 2025-05-07 06:38:02 UTC
++++ third_party/sqlite/src/amalgamation_dev/sqlite3.c
+@@ -14486,7 +14486,7 @@ struct fts5_api {
+ ** But _XOPEN_SOURCE define causes problems for Mac OS X, so omit
+ ** it.
+ */
+-#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__)
++#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && !defined(__FreeBSD__)
+ # define _XOPEN_SOURCE 600
+ #endif
+
diff --git a/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c b/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c
index 91b14b4d0c6a..0faabed12327 100644
--- a/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c
+++ b/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c
@@ -1,6 +1,15 @@
---- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2022-06-17 14:20:10 UTC
+--- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2025-07-02 06:08:04 UTC
+++ third_party/sqlite/src/amalgamation/sqlite3.c
-@@ -41451,7 +41451,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
+@@ -14486,7 +14486,7 @@ struct fts5_api {
+ ** But _XOPEN_SOURCE define causes problems for Mac OS X, so omit
+ ** it.
+ */
+-#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__)
++#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && !defined(__FreeBSD__)
+ # define _XOPEN_SOURCE 600
+ #endif
+
+@@ -45388,7 +45388,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 +22,7 @@
int fd, got;
fd = robust_open("/dev/urandom", O_RDONLY, 0);
if( fd<0 ){
-@@ -41466,6 +41471,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
+@@ -45403,6 +45408,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
robust_close(0, fd, __LINE__);
}
}
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_System_Linux_MemFd.cpp b/www/chromium/files/patch-third__party_swiftshader_src_System_Linux_MemFd.cpp
new file mode 100644
index 000000000000..8b918d952f34
--- /dev/null
+++ b/www/chromium/files/patch-third__party_swiftshader_src_System_Linux_MemFd.cpp
@@ -0,0 +1,37 @@
+--- third_party/swiftshader/src/System/Linux/MemFd.cpp.orig 2023-09-13 18:23:44 UTC
++++ 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/chromium/files/patch-third__party_swiftshader_src_System_SharedLibrary.hpp b/www/chromium/files/patch-third__party_swiftshader_src_System_SharedLibrary.hpp
deleted file mode 100644
index c419247cebd0..000000000000
--- a/www/chromium/files/patch-third__party_swiftshader_src_System_SharedLibrary.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/src/System/SharedLibrary.hpp.orig 2022-02-07 13:39:41 UTC
-+++ third_party/swiftshader/src/System/SharedLibrary.hpp
-@@ -96,7 +96,7 @@ inline void *loadLibrary(const char *path)
-
- inline void *getLibraryHandle(const char *path)
- {
--# ifdef __ANDROID__
-+# if defined(__ANDROID__) || defined(__OpenBSD__) || defined(__FreeBSD__)
- // bionic doesn't support RTLD_NOLOAD before L
- return dlopen(path, RTLD_NOW | RTLD_LOCAL);
- # else
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_Vulkan_BUILD.gn b/www/chromium/files/patch-third__party_swiftshader_src_Vulkan_BUILD.gn
deleted file mode 100644
index 317ba7d023ba..000000000000
--- a/www/chromium/files/patch-third__party_swiftshader_src_Vulkan_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/swiftshader/src/Vulkan/BUILD.gn.orig 2022-07-22 17:30:31 UTC
-+++ third_party/swiftshader/src/Vulkan/BUILD.gn
-@@ -48,6 +48,10 @@ config("swiftshader_libvulkan_private_config") {
- defines = [ "VK_EXPORT=" ]
- }
-
-+ if (is_openbsd) {
-+ defines -= [ "VK_USE_PLATFORM_WAYLAND_KHR" ]
-+ }
-+
- if (is_clang) {
- cflags = [
- "-Wno-unused-private-field",
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_WSI_BUILD.gn b/www/chromium/files/patch-third__party_swiftshader_src_WSI_BUILD.gn
deleted file mode 100644
index c96728a728f3..000000000000
--- a/www/chromium/files/patch-third__party_swiftshader_src_WSI_BUILD.gn
+++ /dev/null
@@ -1,18 +0,0 @@
---- third_party/swiftshader/src/WSI/BUILD.gn.orig 2022-07-22 17:30:31 UTC
-+++ third_party/swiftshader/src/WSI/BUILD.gn
-@@ -53,6 +53,15 @@ swiftshader_source_set("WSI") {
- ]
- }
-
-+ if (is_openbsd) {
-+ sources -= [
-+ "WaylandSurfaceKHR.cpp",
-+ "WaylandSurfaceKHR.hpp",
-+ "libWaylandClient.cpp",
-+ "libWaylandClient.hpp",
-+ ]
-+ }
-+
- if (is_win) {
- sources += [
- "Win32SurfaceKHR.cpp",
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp b/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp
index 81eef28aa359..185449677a55 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp
@@ -1,6 +1,6 @@
---- third_party/swiftshader/src/WSI/libXCB.cpp.orig 2022-05-19 14:06:27 UTC
+--- third_party/swiftshader/src/WSI/libXCB.cpp.orig 2023-03-09 06:31:50 UTC
+++ third_party/swiftshader/src/WSI/libXCB.cpp
-@@ -55,7 +55,7 @@ LibXcbExports *LibXCB::loadExports()
+@@ -57,7 +57,7 @@ LibXcbExports *LibXCB::loadExports()
}
else
{
@@ -9,7 +9,7 @@
}
if(getProcAddress(RTLD_DEFAULT, "xcb_shm_query_version")) // Search the global scope for pre-loaded XCB library.
-@@ -64,7 +64,7 @@ LibXcbExports *LibXCB::loadExports()
+@@ -66,7 +66,7 @@ LibXcbExports *LibXCB::loadExports()
}
else
{
diff --git a/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp b/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp
index c0d94bdde924..e94f09b05132 100644
--- a/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp
@@ -1,11 +1,11 @@
---- third_party/swiftshader/third_party/marl/src/memory.cpp.orig 2022-02-07 13:39:41 UTC
+--- third_party/swiftshader/third_party/marl/src/memory.cpp.orig 2023-08-17 07:33:31 UTC
+++ third_party/swiftshader/third_party/marl/src/memory.cpp
@@ -19,7 +19,7 @@
#include <cstring>
--#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__)
-+#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__OpenBSD__)
+-#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__EMSCRIPTEN__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__EMSCRIPTEN__) || defined(__OpenBSD__)
#include <sys/mman.h>
#include <unistd.h>
namespace {
diff --git a/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp b/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp
index e66e5c7a8e2b..2037ea2c16e3 100644
--- a/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp
@@ -1,11 +1,11 @@
---- third_party/swiftshader/third_party/marl/src/thread.cpp.orig 2022-03-25 21:59:56 UTC
+--- third_party/swiftshader/third_party/marl/src/thread.cpp.orig 2023-08-17 07:33:31 UTC
+++ third_party/swiftshader/third_party/marl/src/thread.cpp
-@@ -426,7 +426,7 @@ void Thread::setName(const char* fmt, ...) {
+@@ -444,7 +444,7 @@ void Thread::setName(const char* fmt, ...) {
pthread_setname_np(name);
#elif defined(__FreeBSD__)
pthread_set_name_np(pthread_self(), name);
--#elif !defined(__Fuchsia__)
-+#elif !defined(__Fuchsia__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
+-#elif !defined(__Fuchsia__) && !defined(__EMSCRIPTEN__)
++#elif !defined(__Fuchsia__) && !defined(__EMSCRIPTEN__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
pthread_setname_np(pthread_self(), name);
#endif
diff --git a/www/chromium/files/patch-third__party_test__fonts_fontconfig_BUILD.gn b/www/chromium/files/patch-third__party_test__fonts_fontconfig_BUILD.gn
index 180446a881d8..fceeb1231855 100644
--- a/www/chromium/files/patch-third__party_test__fonts_fontconfig_BUILD.gn
+++ b/www/chromium/files/patch-third__party_test__fonts_fontconfig_BUILD.gn
@@ -1,4 +1,4 @@
---- third_party/test_fonts/fontconfig/BUILD.gn.orig 2022-03-01 11:59:41 UTC
+--- third_party/test_fonts/fontconfig/BUILD.gn.orig 2025-01-19 09:23:37 UTC
+++ third_party/test_fonts/fontconfig/BUILD.gn
@@ -26,7 +26,11 @@ if (is_linux || is_chromeos) {
@@ -13,3 +13,16 @@
}
if (current_toolchain == host_toolchain) {
+@@ -47,7 +51,11 @@ if (is_linux || is_chromeos) {
+ "//third_party/test_fonts",
+ ]
+ args = []
+- inputs = [ "$root_out_dir/etc/fonts/fonts.conf" ]
++ if (is_freebsd) {
++ inputs = [ "$root_out_dir/usr/local/etc/fonts/fonts.conf" ]
++ } else {
++ inputs = [ "$root_out_dir/etc/fonts/fonts.conf" ]
++ }
+ outputs = [
+ "$root_out_dir/fontconfig_caches/fb5c91b2895aa445d23aebf7f9e2189c-le64.cache-9",
+ "$root_out_dir/fontconfig_caches/CACHEDIR.TAG",
diff --git a/www/chromium/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc b/www/chromium/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc
index ffd8c2c19312..ab6e24c7b835 100644
--- a/www/chromium/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc
+++ b/www/chromium/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc
@@ -1,4 +1,4 @@
---- third_party/test_fonts/fontconfig/fontconfig_util_linux.cc.orig 2022-03-25 21:59:56 UTC
+--- third_party/test_fonts/fontconfig/fontconfig_util_linux.cc.orig 2024-03-22 08:19:40 UTC
+++ 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
@@ -9,7 +9,7 @@
#include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h"
#include <fontconfig/fontconfig.h>
-@@ -15,11 +17,15 @@
+@@ -16,11 +18,15 @@
namespace test_fonts {
std::string GetSysrootDir() {
diff --git a/www/chromium/files/patch-third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc b/www/chromium/files/patch-third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc
new file mode 100644
index 000000000000..777e6f2af457
--- /dev/null
+++ b/www/chromium/files/patch-third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc
@@ -0,0 +1,11 @@
+--- third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc.orig 2023-04-05 11:05:06 UTC
++++ 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/chromium/files/patch-third__party_tflite_features.gni b/www/chromium/files/patch-third__party_tflite_features.gni
index a40a3129fe38..40486cd4ad5c 100644
--- a/www/chromium/files/patch-third__party_tflite_features.gni
+++ b/www/chromium/files/patch-third__party_tflite_features.gni
@@ -1,9 +1,11 @@
---- third_party/tflite/features.gni.orig 2022-06-17 14:20:10 UTC
+--- third_party/tflite/features.gni.orig 2025-05-28 14:55:43 UTC
+++ third_party/tflite/features.gni
-@@ -7,5 +7,5 @@ import("//build/config/chrome_build.gni")
+@@ -8,7 +8,7 @@ import("//services/on_device_model/on_device_model.gni
+
declare_args() {
- # This enables building TFLite with XNNPACK. Currently only available for
- # Linux x64.
-- build_tflite_with_xnnpack = is_linux && target_cpu == "x64"
-+ build_tflite_with_xnnpack = (is_linux && target_cpu == "x64") && !is_bsd
- }
+ # This enables building TFLite with XNNPACK.
+- build_tflite_with_xnnpack = current_cpu != "arm" && !is_fuchsia
++ build_tflite_with_xnnpack = current_cpu != "arm" && !is_fuchsia && !is_bsd
+
+ # Turns on TFLITE_WITH_RUY, using ruy as the gemm backend instead of gemmlowp.
+ build_tflite_with_ruy = true
diff --git a/www/chromium/files/patch-third__party_unrar_src_crypt.cpp b/www/chromium/files/patch-third__party_unrar_src_crypt.cpp
index 8769300e8988..29db09a3bb3b 100644
--- a/www/chromium/files/patch-third__party_unrar_src_crypt.cpp
+++ b/www/chromium/files/patch-third__party_unrar_src_crypt.cpp
@@ -1,7 +1,7 @@
---- third_party/unrar/src/crypt.cpp.orig 2022-02-07 13:39:41 UTC
+--- third_party/unrar/src/crypt.cpp.orig 2024-07-30 11:12:21 UTC
+++ third_party/unrar/src/crypt.cpp
-@@ -120,6 +120,8 @@ void GetRnd(byte *RndBuf,size_t BufSize)
- Success=CryptGenRandom(hProvider, (DWORD)BufSize, RndBuf) == TRUE;
+@@ -116,6 +116,8 @@ void GetRnd(byte *RndBuf,size_t BufSize)
+ Success=CryptGenRandom(hProvider, (DWORD)BufSize, RndBuf) != FALSE;
CryptReleaseContext(hProvider, 0);
}
+#elif defined(__OpenBSD__)
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_BUILD.gn b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_BUILD.gn
deleted file mode 100644
index 96ef68940ec4..000000000000
--- a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/vulkan-deps/vulkan-loader/src/BUILD.gn.orig 2022-05-19 14:06:27 UTC
-+++ third_party/vulkan-deps/vulkan-loader/src/BUILD.gn
-@@ -60,7 +60,7 @@ config("vulkan_internal_config") {
- defines += [
- "SYSCONFDIR=\"/etc\"",
- "FALLBACK_CONFIG_DIRS=\"/etc/xdg\"",
-- "FALLBACK_DATA_DIRS=\"/usr/local/share:/usr/share\"",
-+ "FALLBACK_DATA_DIRS=\"/usr/X11R6/share:/usr/local/share:/usr/share\"",
- ]
- }
- }
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_allocation.h b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_allocation.h
deleted file mode 100644
index c70316197e2c..000000000000
--- a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_allocation.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/vulkan-deps/vulkan-loader/src/loader/allocation.h.orig 2022-07-22 17:30:31 UTC
-+++ third_party/vulkan-deps/vulkan-loader/src/loader/allocation.h
-@@ -60,7 +60,7 @@ void loader_free_with_instance_fallback(const VkAlloca
- void *loader_realloc_with_instance_fallback(const VkAllocationCallbacks *pAllocator, const struct loader_instance *instance,
- void *pMemory, size_t orig_size, size_t size, VkSystemAllocationScope allocation_scope);
-
--#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__) || defined(__OpenBSD__)
- #define loader_stack_alloc(size) alloca(size)
- #elif defined(_WIN32)
- #define loader_stack_alloc(size) _alloca(size)
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.c b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.c
deleted file mode 100644
index 3bd0c02d322e..000000000000
--- a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/vulkan-deps/vulkan-loader/src/loader/get_environment.c.orig 2022-07-22 17:30:31 UTC
-+++ third_party/vulkan-deps/vulkan-loader/src/loader/get_environment.c
-@@ -32,7 +32,7 @@
- #include "log.h"
-
- // Environment variables
--#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__) || defined(__OpenBSD__)
-
- bool is_high_integrity() { return geteuid() != getuid() || getegid() != getgid(); }
-
-@@ -44,7 +44,7 @@ char *loader_getenv(const char *name, const struct loa
- }
-
- char *loader_secure_getenv(const char *name, const struct loader_instance *inst) {
--#if defined(__APPLE__) || defined(__FreeBSD__)
-+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
- // Apple does not appear to have a secure getenv implementation.
- // The main difference between secure getenv and getenv is that secure getenv
- // returns NULL if the process is being run with elevated privileges by a normal user.
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.h b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.h
deleted file mode 100644
index 4266fe4fea01..000000000000
--- a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- third_party/vulkan-deps/vulkan-loader/src/loader/get_environment.h.orig 2022-02-07 13:39:41 UTC
-+++ third_party/vulkan-deps/vulkan-loader/src/loader/get_environment.h
-@@ -35,10 +35,10 @@
- char *loader_getenv(const char *name, const struct loader_instance *inst);
- void loader_free_getenv(char *val, const struct loader_instance *inst);
-
--#if defined(WIN32) || defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__)
-+#if defined(WIN32) || defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__) || defined(__OpenBSD__)
-
- bool is_high_integrity();
-
- char *loader_secure_getenv(const char *name, const struct loader_instance *inst);
-
--#endif
-\ No newline at end of file
-+#endif
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h
deleted file mode 100644
index 22112a260116..000000000000
--- a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h
+++ /dev/null
@@ -1,36 +0,0 @@
---- third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h.orig 2022-07-22 17:30:31 UTC
-+++ third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h
-@@ -43,7 +43,7 @@
- #include "dlopen_fuchsia.h"
- #endif // defined(__Fuchsia__)
-
--#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__) || defined(__OpenBSD__)
- #include <unistd.h>
- // Note: The following file is for dynamic loading:
- #include <dlfcn.h>
-@@ -103,7 +103,7 @@
- // Override layer information
- #define VK_OVERRIDE_LAYER_NAME "VK_LAYER_LUNARG_override"
-
--#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__QNXNTO__) || defined(__FreeBSD__) || defined(__OpenBSD__)
- /* Linux-specific common code: */
-
- // VK Library Filenames, Paths, etc.:
-@@ -194,6 +194,15 @@ static inline char *loader_platform_executable_path(ch
- if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), buffer, &size, NULL, 0) < 0) {
- return NULL;
- }
-+
-+ return buffer;
-+}
-+#elif defined(__OpenBSD__)
-+static inline char *loader_platform_executable_path(char *buffer, size_t size) {
-+ if ((buffer = getenv("CHROME_EXE_PATH")) != NULL)
-+ return buffer;
-+ else
-+ buffer = "/usr/local/chrome/chrome";
-
- return buffer;
- }
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h
deleted file mode 100644
index 658f2ff02c10..000000000000
--- a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_loader_platform.h.orig 2022-02-07 13:39:41 UTC
-+++ third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_loader_platform.h
-@@ -33,7 +33,7 @@
- #undef NOMINMAX
- #include "vulkan/vk_sdk_platform.h"
-
--#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
- /* Linux-specific common code: */
-
- // Headers:
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h
deleted file mode 100644
index 7f89b299948f..000000000000
--- a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_mem_alloc.h.orig 2022-02-07 13:39:41 UTC
-+++ third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_mem_alloc.h
-@@ -3181,7 +3181,8 @@ void *aligned_alloc(size_t alignment, size_t size)
-
- return memalign(alignment, size);
- }
--#elif defined(__APPLE__) || defined(__ANDROID__)
-+#elif defined(__APPLE__) || defined(__ANDROID__) || defined(__OpenBSD__) || \
-+ defined(__FreeBSD__)
- # define ALIGNED_ALLOC_WITH_POSIX_MEMALIGN
- #elif defined(__GNU_LIBRARY__)
- # if !defined(__GLIBC_PREREQ) || !__GLIBC_PREREQ(2, 16)
diff --git a/www/chromium/files/patch-third__party_vulkan-loader_src_BUILD.gn b/www/chromium/files/patch-third__party_vulkan-loader_src_BUILD.gn
new file mode 100644
index 000000000000..e6180bd84e27
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-loader_src_BUILD.gn
@@ -0,0 +1,11 @@
+--- third_party/vulkan-loader/src/BUILD.gn.orig 2024-09-30 07:45:04 UTC
++++ third_party/vulkan-loader/src/BUILD.gn
+@@ -57,7 +57,7 @@ config("vulkan_internal_config") {
+ defines += [
+ "SYSCONFDIR=\"/etc\"",
+ "FALLBACK_CONFIG_DIRS=\"/etc/xdg\"",
+- "FALLBACK_DATA_DIRS=\"/usr/local/share:/usr/share\"",
++ "FALLBACK_DATA_DIRS=\"/usr/X11R6/share:/usr/local/share:/usr/share\"",
+ ]
+ }
+ if (is_apple && !vulkan_loader_shared) {
diff --git a/www/chromium/files/patch-third__party_vulkan-loader_src_loader_vk__loader__platform.h b/www/chromium/files/patch-third__party_vulkan-loader_src_loader_vk__loader__platform.h
new file mode 100644
index 000000000000..0c32c818e4d9
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-loader_src_loader_vk__loader__platform.h
@@ -0,0 +1,19 @@
+--- third_party/vulkan-loader/src/loader/vk_loader_platform.h.orig 2025-03-05 08:14:56 UTC
++++ third_party/vulkan-loader/src/loader/vk_loader_platform.h
+@@ -353,7 +353,15 @@ static inline char *loader_platform_executable_path(ch
+
+ return buffer;
+ }
+-#elif defined(__Fuchsia__) || defined(__OpenBSD__)
++#elif defined(__OpenBSD__)
++static inline char *loader_platform_executable_path(char *buffer, size_t size) {
++ if ((buffer = getenv("CHROME_EXE_PATH")) != NULL)
++ return buffer;
++ else
++ buffer = "/usr/local/chrome/chrome";
++ return buffer;
++}
++#elif defined(__Fuchsia__)
+ static inline char *loader_platform_executable_path(char *buffer, size_t size) { return NULL; }
+ #elif defined(__QNX__)
+
diff --git a/www/chromium/files/patch-third__party_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h b/www/chromium/files/patch-third__party_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h
new file mode 100644
index 000000000000..a4f92af117c8
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h
@@ -0,0 +1,11 @@
+--- third_party/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.orig 2025-03-05 08:14:56 UTC
++++ third_party/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h
+@@ -2971,7 +2971,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__)
+ #include <cstdlib>
+
+ #if defined(__APPLE__)
diff --git a/www/chromium/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h b/www/chromium/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h
index 9faee003ae78..570cf98b90b6 100644
--- a/www/chromium/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h
+++ b/www/chromium/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h
@@ -1,11 +1,11 @@
---- third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.orig 2022-02-28 16:54:41 UTC
+--- third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.orig 2023-12-10 07:19:51 UTC
+++ third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
-@@ -2503,7 +2503,7 @@ void *vma_aligned_alloc(size_t alignment, size_t 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__)
- #include <cstdlib>
-
- #if defined(__APPLE__)
+@@ -2760,7 +2760,7 @@ void* vma_aligned_alloc(size_t alignment, size_t 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__)
+ #include <cstdlib>
+
+ #if defined(__APPLE__)
diff --git a/www/chromium/files/patch-third__party_wayland_BUILD.gn b/www/chromium/files/patch-third__party_wayland_BUILD.gn
new file mode 100644
index 000000000000..8ce30a9de459
--- /dev/null
+++ b/www/chromium/files/patch-third__party_wayland_BUILD.gn
@@ -0,0 +1,14 @@
+--- third_party/wayland/BUILD.gn.orig 2024-08-26 12:06:38 UTC
++++ third_party/wayland/BUILD.gn
+@@ -24,6 +24,11 @@ if (!use_system_libwayland) {
+ "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/chromium/files/patch-third__party_wayland_features.gni b/www/chromium/files/patch-third__party_wayland_features.gni
deleted file mode 100644
index 1a02c3781214..000000000000
--- a/www/chromium/files/patch-third__party_wayland_features.gni
+++ /dev/null
@@ -1,17 +0,0 @@
---- third_party/wayland/features.gni.orig 2022-04-21 18:48:31 UTC
-+++ third_party/wayland/features.gni
-@@ -13,8 +13,12 @@ declare_args() {
- default_toolchain != "//build/toolchain/cros:target"
-
- # Path to wayland-scanner. Has effect only when the system libwayland is used.
-- assert(host_os == "linux")
-- system_wayland_scanner_path = "/usr/bin/wayland-scanner"
-+ assert(host_os == "linux" || host_os == "freebsd")
-+ if (is_bsd) {
-+ system_wayland_scanner_path = "/usr/local/bin/wayland-scanner"
-+ } else {
-+ system_wayland_scanner_path = "/usr/bin/wayland-scanner"
-+ }
-
- # This may be set by Chromium packagers who do not wish to use the bundled
- # wayland scanner.
diff --git a/www/chromium/files/patch-third__party_wayland_include_config.h b/www/chromium/files/patch-third__party_wayland_include_config.h
new file mode 100644
index 000000000000..5b789bca12ea
--- /dev/null
+++ b/www/chromium/files/patch-third__party_wayland_include_config.h
@@ -0,0 +1,29 @@
+--- third_party/wayland/include/config.h.orig 2024-01-30 07:53:34 UTC
++++ third_party/wayland/include/config.h
+@@ -9,7 +9,14 @@
+
+ #define HAVE_BROKEN_MSG_CMSG_CLOEXEC 0
+
++#if defined(__FreeBSD__)
++#include <osreldate.h>
++#if defined(__FreeBSD_version) && __FreeBSD_version < 1300048
++#undef HAVE_MEMFD_CREATE
++#else
+ #define HAVE_MEMFD_CREATE
++#endif
++#endif
+
+ #define HAVE_MKOSTEMP
+
+@@ -25,7 +32,11 @@
+
+ #undef HAVE_SYS_PROCCTL_H
+
++#if defined(__FreeBSD__)
++#define HAVE_SYS_UCRED_H
++#else
+ #undef HAVE_SYS_UCRED_H
++#endif
+
+ #define HAVE_XUCRED_CR_PID 0
+
diff --git a/www/chromium/files/patch-third__party_webrtc_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_BUILD.gn
index 0ac2932d9a5d..cb06e967f3a9 100644
--- a/www/chromium/files/patch-third__party_webrtc_BUILD.gn
+++ b/www/chromium/files/patch-third__party_webrtc_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/webrtc/BUILD.gn.orig 2022-06-17 14:20:10 UTC
+--- third_party/webrtc/BUILD.gn.orig 2025-04-04 08:52:13 UTC
+++ third_party/webrtc/BUILD.gn
-@@ -204,6 +204,9 @@ config("common_inherited_config") {
+@@ -219,6 +219,9 @@ config("common_inherited_config") {
if (is_linux || is_chromeos) {
defines += [ "WEBRTC_LINUX" ]
}
diff --git a/www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
index 36aa7017411e..c4f9918e79f0 100644
--- a/www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
+++ b/www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/webrtc/modules/audio_device/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- third_party/webrtc/modules/audio_device/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ third_party/webrtc/modules/audio_device/BUILD.gn
-@@ -294,7 +294,7 @@ rtc_library("audio_device_impl") {
+@@ -337,7 +337,7 @@ rtc_library("audio_device_impl") {
if (rtc_use_dummy_audio_file_devices) {
defines += [ "WEBRTC_DUMMY_FILE_DEVICES" ]
} else {
diff --git a/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc b/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc
new file mode 100644
index 000000000000..f248da33adcc
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc
@@ -0,0 +1,12 @@
+--- third_party/webrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc.orig 2025-05-05 18:35:31 UTC
++++ third_party/webrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc
+@@ -11,7 +11,9 @@
+ #include "modules/desktop_capture/linux/wayland/egl_dmabuf.h"
+
+ #include <EGL/eglext.h>
++#if !defined(WEBRTC_BSD)
+ #include <asm/ioctl.h>
++#endif
+ #include <dlfcn.h>
+ #include <fcntl.h>
+ #include <libdrm/drm_fourcc.h>
diff --git a/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc b/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc
index c6c9c8213851..5d110486a6b1 100644
--- a/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc
+++ b/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc
@@ -1,6 +1,6 @@
---- third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc.orig 2022-02-28 16:54:41 UTC
+--- third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc
-@@ -212,6 +212,12 @@ bool XServerPixelBuffer::Init(XAtomCache* cache, Windo
+@@ -207,6 +207,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/chromium/files/patch-third__party_webrtc_rtc__base_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_rtc__base_BUILD.gn
deleted file mode 100644
index 7e0fad19444e..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/rtc_base/BUILD.gn.orig 2022-06-17 14:20:10 UTC
-+++ third_party/webrtc/rtc_base/BUILD.gn
-@@ -1231,7 +1231,7 @@ rtc_library("rtc_base") {
- sources += [ "mac_ifaddrs_converter.cc" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- libs += [
- "dl",
- "rt",
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_byte__order.h b/www/chromium/files/patch-third__party_webrtc_rtc__base_byte__order.h
index 34f01f741435..54fabfc03f97 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_byte__order.h
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_byte__order.h
@@ -1,6 +1,6 @@
---- third_party/webrtc/rtc_base/byte_order.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/webrtc/rtc_base/byte_order.h.orig 2023-02-08 09:03:45 UTC
+++ third_party/webrtc/rtc_base/byte_order.h
-@@ -88,6 +88,8 @@
+@@ -90,6 +90,8 @@
#error WEBRTC_ARCH_BIG_ENDIAN or WEBRTC_ARCH_LITTLE_ENDIAN must be defined.
#endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN)
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.cc b/www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.cc
index 5bd234bc4b29..401272424b51 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.cc
@@ -1,9 +1,9 @@
---- third_party/webrtc/rtc_base/ip_address.cc.orig 2022-05-19 14:06:27 UTC
+--- third_party/webrtc/rtc_base/ip_address.cc.orig 2024-10-22 08:31:56 UTC
+++ third_party/webrtc/rtc_base/ip_address.cc
-@@ -13,7 +13,8 @@
- #include <sys/socket.h>
-
- #include "absl/strings/string_view.h"
+@@ -14,7 +14,8 @@
+ #include <cstring>
+ #include <string>
+ #if defined(WEBRTC_POSIX)
-#ifdef OPENBSD
+#if defined(WEBRTC_BSD)
+#include <sys/types.h>
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_net__helpers.cc b/www/chromium/files/patch-third__party_webrtc_rtc__base_net__helpers.cc
new file mode 100644
index 000000000000..9998d5416b12
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_net__helpers.cc
@@ -0,0 +1,10 @@
+--- third_party/webrtc/rtc_base/net_helpers.cc.orig 2025-05-28 14:55:43 UTC
++++ third_party/webrtc/rtc_base/net_helpers.cc
+@@ -21,6 +21,7 @@
+ #endif
+ #if defined(WEBRTC_POSIX) && !defined(__native_client__)
+ #include <arpa/inet.h>
++#include <sys/socket.h>
+ #endif // defined(WEBRTC_POSIX) && !defined(__native_client__)
+
+ namespace webrtc {
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_network.cc b/www/chromium/files/patch-third__party_webrtc_rtc__base_network.cc
index 3e730c66508a..eaeae177f93e 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_network.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_network.cc
@@ -1,12 +1,12 @@
---- third_party/webrtc/rtc_base/network.cc.orig 2022-06-17 14:20:10 UTC
+--- third_party/webrtc/rtc_base/network.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/webrtc/rtc_base/network.cc
-@@ -266,7 +266,12 @@ AdapterType GetAdapterTypeFromName(absl::string_view n
+@@ -306,7 +306,12 @@ AdapterType GetAdapterTypeFromName(absl::string_view n
}
#endif
+#if defined(WEBRTC_BSD)
+ // Treat all other network interface names as ethernet on BSD
-+ return ADAPTER_TYPE_ETHERNET;
++ return webrtc::ADAPTER_TYPE_ETHERNET;
+#else
return ADAPTER_TYPE_UNKNOWN;
+#endif
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc b/www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
index 501e6e0ff138..90459c8dfb87 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
@@ -1,6 +1,6 @@
---- third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2022-02-07 13:39:41 UTC
+--- third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2025-07-02 06:08:04 UTC
+++ third_party/webrtc/rtc_base/physical_socket_server.cc
-@@ -51,7 +51,7 @@
+@@ -65,7 +65,7 @@
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/time_utils.h"
@@ -9,7 +9,7 @@
#include <linux/sockios.h>
#endif
-@@ -70,7 +70,7 @@ typedef void* SockOptArg;
+@@ -85,7 +85,7 @@ typedef void* SockOptArg;
#endif // WEBRTC_POSIX
@@ -18,7 +18,7 @@
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
-@@ -298,7 +298,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
+@@ -340,7 +340,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) {
-@@ -316,7 +316,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+@@ -369,7 +369,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) {
-@@ -344,7 +344,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+@@ -400,7 +400,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
-@@ -373,7 +373,7 @@ int PhysicalSocket::SendTo(const void* buffer,
+@@ -429,7 +429,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
-@@ -564,7 +564,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+@@ -707,7 +707,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
*slevel = IPPROTO_IP;
*sopt = IP_DONTFRAGMENT;
break;
@@ -63,3 +63,52 @@
RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported.";
return -1;
#elif defined(WEBRTC_POSIX)
+@@ -756,7 +756,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ return -1;
+ #endif
+ case OPT_RECV_ECN:
+-#if defined(WEBRTC_POSIX)
++#if defined(WEBRTC_POSIX) && defined(IP_RECVTOS)
+ if (family_ == AF_INET6) {
+ *slevel = IPPROTO_IPV6;
+ *sopt = IPV6_RECVTCLASS;
+@@ -776,10 +776,19 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ *sopt = SO_KEEPALIVE;
+ break;
+ case OPT_TCP_KEEPCNT:
++#if !defined(TCP_KEEPCNT)
++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPCNT not supported.";
++ return -1;
++#else
+ *slevel = IPPROTO_TCP;
+ *sopt = TCP_KEEPCNT;
+ break;
++#endif
+ case OPT_TCP_KEEPIDLE:
++#if !defined(TCP_KEEPALIVE)
++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPALIVE not supported.";
++ return -1;
++#else
+ *slevel = IPPROTO_TCP;
+ #if !defined(WEBRTC_MAC)
+ *sopt = TCP_KEEPIDLE;
+@@ -787,12 +796,18 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ *sopt = TCP_KEEPALIVE;
+ #endif
+ break;
++#endif
+ case OPT_TCP_KEEPINTVL:
++#if !defined(TCP_KEEPALIVE)
++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPINTVL not supported.";
++ return -1;
++#else
+ *slevel = IPPROTO_TCP;
+ *sopt = TCP_KEEPINTVL;
+ break;
++#endif
+ case OPT_TCP_USER_TIMEOUT:
+-#if defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)
++#if (defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)) && defined(TCP_USER_TIMEOUT)
+ *slevel = IPPROTO_TCP;
+ *sopt = TCP_USER_TIMEOUT;
+ break;
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h b/www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
index 7626434df63e..0edb8bc356be 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
@@ -1,11 +1,11 @@
---- third_party/webrtc/rtc_base/physical_socket_server.h.orig 2021-04-14 18:43:12 UTC
+--- third_party/webrtc/rtc_base/physical_socket_server.h.orig 2025-05-28 14:55:43 UTC
+++ third_party/webrtc/rtc_base/physical_socket_server.h
-@@ -11,7 +11,7 @@
- #ifndef RTC_BASE_PHYSICAL_SOCKET_SERVER_H_
- #define RTC_BASE_PHYSICAL_SOCKET_SERVER_H_
+@@ -21,7 +21,7 @@
+ #include "rtc_base/third_party/sigslot/sigslot.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/chromium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc b/www/chromium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
index a8824341be26..1a359b6a988a 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
@@ -1,8 +1,8 @@
---- third_party/webrtc/rtc_base/platform_thread_types.cc.orig 2022-02-07 13:39:41 UTC
+--- third_party/webrtc/rtc_base/platform_thread_types.cc.orig 2025-05-28 14:55:43 UTC
+++ third_party/webrtc/rtc_base/platform_thread_types.cc
-@@ -11,7 +11,9 @@
- #include "rtc_base/platform_thread_types.h"
+@@ -12,7 +12,9 @@
+ // IWYU pragma: begin_keep
#if defined(WEBRTC_LINUX)
+#if !defined(WEBRTC_BSD)
#include <sys/prctl.h>
@@ -10,19 +10,16 @@
#include <sys/syscall.h>
#endif
-@@ -37,8 +39,10 @@ PlatformThreadId CurrentThreadId() {
+@@ -46,6 +48,8 @@ PlatformThreadId CurrentThreadId() {
return gettid();
#elif defined(WEBRTC_FUCHSIA)
return zx_thread_self();
--#elif defined(WEBRTC_LINUX)
-+#elif defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- return syscall(__NR_gettid);
+#elif defined(WEBRTC_BSD)
+ return reinterpret_cast<uint64_t>(pthread_self());
+ #elif defined(WEBRTC_LINUX)
+ return syscall(__NR_gettid);
#elif defined(__EMSCRIPTEN__)
- return static_cast<PlatformThreadId>(pthread_self());
- #else
-@@ -67,6 +71,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons
+@@ -76,6 +80,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons
}
void SetCurrentThreadName(const char* name) {
@@ -30,10 +27,10 @@
#if defined(WEBRTC_WIN)
// The SetThreadDescription API works even if no debugger is attached.
// The names set with this API also show up in ETW traces. Very handy.
-@@ -109,6 +114,7 @@ void SetCurrentThreadName(const char* name) {
- prctl(PR_SET_NAME, reinterpret_cast<unsigned long>(name)); // NOLINT
- #elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
- pthread_setname_np(name);
+@@ -122,6 +127,7 @@ void SetCurrentThreadName(const char* name) {
+ zx_status_t status = zx_object_set_property(zx_thread_self(), ZX_PROP_NAME,
+ name, strlen(name));
+ RTC_DCHECK_EQ(status, ZX_OK);
+#endif
#endif
}
diff --git a/www/chromium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
index 40fb708a359e..f9b6ffc90bb0 100644
--- a/www/chromium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
+++ b/www/chromium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/webrtc/system_wrappers/BUILD.gn.orig 2022-05-19 14:06:27 UTC
+--- third_party/webrtc/system_wrappers/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ third_party/webrtc/system_wrappers/BUILD.gn
-@@ -64,8 +64,6 @@ rtc_library("system_wrappers") {
+@@ -56,8 +56,6 @@ rtc_library("system_wrappers") {
if (!build_with_chromium) {
sources += [ "source/cpu_features_linux.cc" ]
}
diff --git a/www/chromium/files/patch-third__party_widevine_cdm_widevine.gni b/www/chromium/files/patch-third__party_widevine_cdm_widevine.gni
new file mode 100644
index 000000000000..b8bf6514f4b0
--- /dev/null
+++ b/www/chromium/files/patch-third__party_widevine_cdm_widevine.gni
@@ -0,0 +1,11 @@
+--- third_party/widevine/cdm/widevine.gni.orig 2023-12-10 06:10:27 UTC
++++ third_party/widevine/cdm/widevine.gni
+@@ -28,6 +28,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/chromium/files/patch-third__party_zlib_BUILD.gn b/www/chromium/files/patch-third__party_zlib_BUILD.gn
index 432ffb7ffd27..0c2dd64188ed 100644
--- a/www/chromium/files/patch-third__party_zlib_BUILD.gn
+++ b/www/chromium/files/patch-third__party_zlib_BUILD.gn
@@ -1,24 +1,26 @@
---- third_party/zlib/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- third_party/zlib/BUILD.gn.orig 2024-07-30 11:12:21 UTC
+++ third_party/zlib/BUILD.gn
-@@ -117,7 +117,7 @@ if (use_arm_neon_optimizations) {
- # Disabled for iPhone, as described in DDI0487C_a_armv8_arm:
- # "All implementations of the ARMv8.1 architecture are required to
- # implement the CRC32* instructions. These are optional in ARMv8.0."
-- if (!is_ios) {
-+ if (!is_ios && !is_bsd) {
- defines = [ "CRC32_ARMV8_CRC32" ]
- if (is_android) {
- defines += [ "ARMV8_OS_ANDROID" ]
-@@ -138,7 +138,7 @@ if (use_arm_neon_optimizations) {
- source_set("zlib_arm_crc32") {
- visibility = [ ":*" ]
-
-- if (!is_ios) {
-+ if (!is_ios && !is_bsd) {
- include_dirs = [ "." ]
-
- if (!is_win && !is_clang) {
-@@ -401,7 +401,7 @@ static_library("minizip") {
+@@ -128,7 +128,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" ]
+@@ -138,6 +138,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")
+ }
+@@ -413,7 +417,7 @@ static_library("minizip") {
]
}
diff --git a/www/chromium/files/patch-third__party_zlib_cpu__features.c b/www/chromium/files/patch-third__party_zlib_cpu__features.c
new file mode 100644
index 000000000000..ad94c2d9d9e8
--- /dev/null
+++ b/www/chromium/files/patch-third__party_zlib_cpu__features.c
@@ -0,0 +1,51 @@
+--- third_party/zlib/cpu_features.c.orig 2024-06-03 12:51:57 UTC
++++ third_party/zlib/cpu_features.c
+@@ -39,7 +39,8 @@ int ZLIB_INTERNAL riscv_cpu_enable_vclmul = 0;
+ #ifndef CPU_NO_SIMD
+
+ #if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || \
+- defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS)
++ defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS) || \
++ defined(ARMV8_OS_OPENBSD) || defined(ARMV8_OS_FREEBSD)
+ #include <pthread.h>
+ #endif
+
+@@ -56,6 +57,10 @@ int ZLIB_INTERNAL riscv_cpu_enable_vclmul = 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
+@@ -69,7 +74,8 @@ static void _cpu_check_features(void);
+ #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(RISCV_RVV)
++ defined(RISCV_RVV) || 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.
+@@ -122,6 +128,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_CRC32(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/chromium/files/patch-tools_generate__shim__headers_generate__shim__headers.py b/www/chromium/files/patch-tools_generate__shim__headers_generate__shim__headers.py
new file mode 100644
index 000000000000..91e95a612cee
--- /dev/null
+++ b/www/chromium/files/patch-tools_generate__shim__headers_generate__shim__headers.py
@@ -0,0 +1,21 @@
+--- tools/generate_shim_headers/generate_shim_headers.py.orig 2023-04-28 17:01:32 UTC
++++ tools/generate_shim_headers/generate_shim_headers.py
+@@ -18,7 +18,7 @@ import sys
+
+
+ SHIM_TEMPLATE = """
+-#if defined(OFFICIAL_BUILD)
++#if defined(GOOGLE_CHROME_BUILD)
+ #error shim headers must not be used in official builds!
+ #endif
+ """
+@@ -65,6 +65,9 @@ def GeneratorMain(argv):
+ if options.outputs:
+ yield os.path.join(target_directory, header_filename)
+ if options.generate:
++ source_file = os.path.join(root, header_filename)
++ if os.path.exists(source_file):
++ os.unlink(source_file)
+ header_path = os.path.join(target_directory, header_filename)
+ header_dir = os.path.dirname(header_path)
+ if not os.path.exists(header_dir):
diff --git a/www/chromium/files/patch-tools_generate__stubs_rules.gni b/www/chromium/files/patch-tools_generate__stubs_rules.gni
index eaaeaa37cd1b..a3e779c1b0a6 100644
--- a/www/chromium/files/patch-tools_generate__stubs_rules.gni
+++ b/www/chromium/files/patch-tools_generate__stubs_rules.gni
@@ -1,6 +1,6 @@
---- tools/generate_stubs/rules.gni.orig 2022-02-07 13:39:41 UTC
+--- tools/generate_stubs/rules.gni.orig 2022-08-31 12:19:35 UTC
+++ tools/generate_stubs/rules.gni
-@@ -96,7 +96,6 @@ template("generate_stubs") {
+@@ -110,7 +110,6 @@ template("generate_stubs") {
"${target_gen_dir}/${invoker.output_name}.cc",
"${target_gen_dir}/${invoker.output_name}.h",
]
diff --git a/www/chromium/files/patch-tools_gn_build_build__linux.ninja.template b/www/chromium/files/patch-tools_gn_build_build__linux.ninja.template
index 2636120143e8..4d16470b744d 100644
--- a/www/chromium/files/patch-tools_gn_build_build__linux.ninja.template
+++ b/www/chromium/files/patch-tools_gn_build_build__linux.ninja.template
@@ -1,11 +1,11 @@
---- tools/gn/build/build_linux.ninja.template.orig 2022-02-07 13:39:41 UTC
+--- tools/gn/build/build_linux.ninja.template.orig 2024-06-17 12:56:06 UTC
+++ tools/gn/build/build_linux.ninja.template
@@ -5,7 +5,7 @@ rule cxx
deps = gcc
rule alink_thin
-- command = rm -f $out && $ar rcsT $out $in
-+ command = rm -f $out && $ar rcs $out $in
+- command = $ar rcsT $out $in
++ command = $ar rcs $out $in
description = AR $out
rule link
diff --git a/www/chromium/files/patch-tools_gn_build_gen.py b/www/chromium/files/patch-tools_gn_build_gen.py
index 413aadccc5eb..c670f8b1a570 100644
--- a/www/chromium/files/patch-tools_gn_build_gen.py
+++ b/www/chromium/files/patch-tools_gn_build_gen.py
@@ -1,6 +1,6 @@
---- tools/gn/build/gen.py.orig 2022-06-17 14:20:10 UTC
+--- tools/gn/build/gen.py.orig 2025-05-28 14:55:43 UTC
+++ tools/gn/build/gen.py
-@@ -92,6 +92,12 @@ class Platform(object):
+@@ -94,6 +94,12 @@ class Platform(object):
def is_solaris(self):
return self._platform == 'solaris'
@@ -11,9 +11,9 @@
+ return self._platform == 'freebsd'
+
def is_posix(self):
- return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku', 'solaris', 'msys', 'netbsd']
+ return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku', 'solaris', 'msys', 'netbsd', 'serenity']
-@@ -279,7 +285,7 @@ def WriteGenericNinja(path, static_libraries, executab
+@@ -308,7 +314,7 @@ def WriteGenericNinja(path, static_libraries, executab
'linux': 'build_linux.ninja.template',
'freebsd': 'build_linux.ninja.template',
'aix': 'build_aix.ninja.template',
@@ -22,7 +22,7 @@
'haiku': 'build_haiku.ninja.template',
'solaris': 'build_linux.ninja.template',
'netbsd': 'build_linux.ninja.template',
-@@ -494,6 +500,9 @@ def WriteGNNinja(path, platform, host, options, args_l
+@@ -551,6 +557,9 @@ def WriteGNNinja(path, platform, host, options, args_l
if platform.is_posix() and not platform.is_haiku():
ldflags.append('-pthread')
diff --git a/www/chromium/files/patch-tools_gn_src_base_files_file__posix.cc b/www/chromium/files/patch-tools_gn_src_base_files_file__posix.cc
index 8004dec2996e..1488107524d3 100644
--- a/www/chromium/files/patch-tools_gn_src_base_files_file__posix.cc
+++ b/www/chromium/files/patch-tools_gn_src_base_files_file__posix.cc
@@ -1,6 +1,6 @@
---- tools/gn/src/base/files/file_posix.cc.orig 2021-09-24 04:34:58 UTC
+--- tools/gn/src/base/files/file_posix.cc.orig 2024-10-22 08:31:56 UTC
+++ tools/gn/src/base/files/file_posix.cc
-@@ -369,7 +369,7 @@ void File::DoInitialize(const FilePath& path, uint32_t
+@@ -359,7 +359,7 @@ void File::DoInitialize(const FilePath& path, uint32_t
bool File::Flush() {
DCHECK(IsValid());
diff --git a/www/chromium/files/patch-tools_grit_grit_node_base.py b/www/chromium/files/patch-tools_grit_grit_node_base.py
new file mode 100644
index 000000000000..798d6c3ecddd
--- /dev/null
+++ b/www/chromium/files/patch-tools_grit_grit_node_base.py
@@ -0,0 +1,12 @@
+--- tools/grit/grit/node/base.py.orig 2025-05-28 14:55:43 UTC
++++ tools/grit/grit/node/base.py
+@@ -497,7 +497,8 @@ class Node:
+ value = defs
+
+ elif name == 'is_linux':
+- value = target_platform == 'linux'
++ value = (target_platform == 'linux'
++ or 'bsd' in target_platform)
+ elif name == 'is_chromeos':
+ value = target_platform == 'chromeos'
+ elif name == 'is_macosx':
diff --git a/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py b/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py
index 61d595420b1e..cf827d8163e4 100644
--- a/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py
+++ b/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py
@@ -1,8 +1,8 @@
---- tools/json_schema_compiler/cpp_bundle_generator.py.orig 2022-05-19 14:06:27 UTC
+--- tools/json_schema_compiler/cpp_bundle_generator.py.orig 2025-04-04 08:52:13 UTC
+++ tools/json_schema_compiler/cpp_bundle_generator.py
-@@ -153,7 +153,7 @@ class CppBundleGenerator(object):
- # BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(IS_CHROMEOS_LACROS).
- ifdefs.append('BUILDFLAG(IS_CHROMEOS_LACROS)')
+@@ -140,7 +140,7 @@ class CppBundleGenerator(object):
+ elif platform == Platforms.FUCHSIA:
+ ifdefs.append('BUILDFLAG(IS_FUCHSIA)')
elif platform == Platforms.LINUX:
- ifdefs.append('BUILDFLAG(IS_LINUX)')
+ ifdefs.append('BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)')
diff --git a/www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py b/www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py
index 1c8470cce02b..76b5fd2c1daa 100644
--- a/www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py
+++ b/www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py
@@ -1,9 +1,9 @@
---- tools/json_schema_compiler/feature_compiler.py.orig 2022-07-22 17:30:31 UTC
+--- tools/json_schema_compiler/feature_compiler.py.orig 2025-04-04 08:52:13 UTC
+++ tools/json_schema_compiler/feature_compiler.py
-@@ -267,6 +267,8 @@ FEATURE_GRAMMAR = ({
+@@ -289,6 +289,8 @@ FEATURE_GRAMMAR = ({
+ 'linux': 'Feature::LINUX_PLATFORM',
'mac': 'Feature::MACOSX_PLATFORM',
'win': 'Feature::WIN_PLATFORM',
- 'fuchsia': 'Feature::FUCHSIA_PLATFORM',
+ 'openbsd': 'Feature::LINUX_PLATFORM',
+ 'freebsd': 'Feature::LINUX_PLATFORM',
}
diff --git a/www/chromium/files/patch-tools_memory_partition__allocator_inspect__utils.h b/www/chromium/files/patch-tools_memory_partition__allocator_inspect__utils.h
index fd50a70e6715..bb608f4e0f74 100644
--- a/www/chromium/files/patch-tools_memory_partition__allocator_inspect__utils.h
+++ b/www/chromium/files/patch-tools_memory_partition__allocator_inspect__utils.h
@@ -1,6 +1,6 @@
---- tools/memory/partition_allocator/inspect_utils.h.orig 2022-06-17 14:20:10 UTC
+--- tools/memory/partition_allocator/inspect_utils.h.orig 2024-02-23 21:04:38 UTC
+++ tools/memory/partition_allocator/inspect_utils.h
-@@ -60,7 +60,7 @@ class RemoteProcessMemoryReader {
+@@ -61,7 +61,7 @@ class RemoteProcessMemoryReader {
const pid_t pid_;
bool is_valid_;
diff --git a/www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn b/www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
index 6985646b6e92..4bd7e01333d0 100644
--- a/www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
+++ b/www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
@@ -1,15 +1,15 @@
---- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2025-05-05 10:57:53 UTC
+++ tools/perf/chrome_telemetry_build/BUILD.gn
-@@ -45,7 +45,7 @@ group("telemetry_chrome_test") {
+@@ -56,7 +56,7 @@ group("telemetry_chrome_test") {
data_deps += [ "//chrome:reorder_imports" ]
}
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
- data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
+ data_deps += [ "//third_party/breakpad:dump_syms" ]
# CrOS currently has issues with the locally compiled version of
-@@ -212,7 +212,7 @@ group("telemetry_chrome_test_without_chrome") {
+@@ -210,7 +210,7 @@ group("telemetry_chrome_test_without_chrome") {
]
# Cr-Fuchsia doesn't support breakpad.
diff --git a/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py b/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py
index 989a6184a5ec..ab3d39bd0412 100644
--- a/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py
+++ b/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py
@@ -1,6 +1,6 @@
---- tools/protoc_wrapper/protoc_wrapper.py.orig 2022-07-28 04:37:35 UTC
+--- tools/protoc_wrapper/protoc_wrapper.py.orig 2025-07-02 06:08:04 UTC
+++ tools/protoc_wrapper/protoc_wrapper.py
-@@ -182,15 +182,19 @@ def main(argv):
+@@ -226,15 +226,19 @@ def main(argv):
if not options.exclude_imports:
protoc_cmd += ["--include_imports"]
diff --git a/www/chromium/files/patch-ui_accessibility_accessibility__features.cc b/www/chromium/files/patch-ui_accessibility_accessibility__features.cc
new file mode 100644
index 000000000000..6c2927be19c9
--- /dev/null
+++ b/www/chromium/files/patch-ui_accessibility_accessibility__features.cc
@@ -0,0 +1,11 @@
+--- ui/accessibility/accessibility_features.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/accessibility/accessibility_features.cc
+@@ -524,7 +524,7 @@ bool IsBlockRootWindowAccessibleNameChangeEventEnabled
+ }
+ #endif // BUILDFLAG(IS_MAC)
+
+-#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(kWasmTtsComponentUpdaterEnabled,
+ "WasmTtsComponentUpdaterEnabled",
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-ui_accessibility_accessibility__features.h b/www/chromium/files/patch-ui_accessibility_accessibility__features.h
new file mode 100644
index 000000000000..587807596339
--- /dev/null
+++ b/www/chromium/files/patch-ui_accessibility_accessibility__features.h
@@ -0,0 +1,11 @@
+--- ui/accessibility/accessibility_features.h.orig 2025-07-02 06:08:04 UTC
++++ ui/accessibility/accessibility_features.h
+@@ -347,7 +347,7 @@ AX_BASE_EXPORT BASE_DECLARE_FEATURE(kBlockRootWindowAc
+ AX_BASE_EXPORT bool IsBlockRootWindowAccessibleNameChangeEventEnabled();
+ #endif // BUILDFLAG(IS_MAC)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Enable the component updater to download the wasm tts engine component.
+ AX_BASE_EXPORT BASE_DECLARE_FEATURE(kWasmTtsComponentUpdaterEnabled);
+ AX_BASE_EXPORT bool IsWasmTtsComponentUpdaterEnabled();
diff --git a/www/chromium/files/patch-ui_accessibility_ax__node.cc b/www/chromium/files/patch-ui_accessibility_ax__node.cc
new file mode 100644
index 000000000000..0641dea3f3df
--- /dev/null
+++ b/www/chromium/files/patch-ui_accessibility_ax__node.cc
@@ -0,0 +1,20 @@
+--- ui/accessibility/ax_node.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/accessibility/ax_node.cc
+@@ -1555,7 +1555,7 @@ AXNode::GetExtraMacNodes() const {
+ return &table_info->extra_mac_nodes;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ AXNode* AXNode::GetExtraAnnouncementNode(
+ ax::mojom::AriaNotificationPriority priority_property) const {
+ if (!tree_->extra_announcement_nodes()) {
+@@ -1583,7 +1583,7 @@ bool AXNode::IsGenerated() const {
+ GetRole() == ax::mojom::Role::kColumn ||
+ GetRole() == ax::mojom::Role::kTableHeaderContainer;
+ DCHECK_EQ(is_generated_node, is_extra_mac_node_role);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Linux, generated nodes are always children of the root.
+ if (GetParent() && GetParent()->GetManager()) {
+ DCHECK(GetParent()->GetManager()->IsRoot());
diff --git a/www/chromium/files/patch-ui_accessibility_ax__node.h b/www/chromium/files/patch-ui_accessibility_ax__node.h
new file mode 100644
index 000000000000..a5e2d1d70297
--- /dev/null
+++ b/www/chromium/files/patch-ui_accessibility_ax__node.h
@@ -0,0 +1,11 @@
+--- ui/accessibility/ax_node.h.orig 2025-05-05 10:57:53 UTC
++++ ui/accessibility/ax_node.h
+@@ -587,7 +587,7 @@ class AX_EXPORT AXNode final {
+ const std::vector<raw_ptr<AXNode, VectorExperimental>>* GetExtraMacNodes()
+ const;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ AXNode* GetExtraAnnouncementNode(
+ ax::mojom::AriaNotificationPriority priority_property) const;
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-ui_accessibility_ax__tree.cc b/www/chromium/files/patch-ui_accessibility_ax__tree.cc
new file mode 100644
index 000000000000..8c9999b141f7
--- /dev/null
+++ b/www/chromium/files/patch-ui_accessibility_ax__tree.cc
@@ -0,0 +1,38 @@
+--- ui/accessibility/ax_tree.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/accessibility/ax_tree.cc
+@@ -867,7 +867,7 @@ bool AXTree::ComputeNodeIsIgnoredChanged(
+ return old_node_is_ignored != new_node_is_ignored;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ExtraAnnouncementNodes::ExtraAnnouncementNodes(AXNode* root) {
+ assertive_node_ = CreateNode("assertive", root);
+ polite_node_ = CreateNode("polite", root);
+@@ -960,7 +960,7 @@ AXNode* AXTree::GetFromId(AXNodeID id) const {
+
+ void AXTree::Destroy() {
+ base::ElapsedThreadTimer timer;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ClearExtraAnnouncementNodes();
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -2181,7 +2181,7 @@ void AXTree::NotifyNodeAttributesWillChange(
+ new_data);
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void AXTree::ClearExtraAnnouncementNodes() {
+ if (!extra_announcement_nodes_) {
+ return;
+@@ -2570,7 +2570,7 @@ bool AXTree::CreateNewChildVector(
+ AXTreeUpdateState* update_state) {
+ DCHECK(GetTreeUpdateInProgressState());
+ bool success = true;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If the root node has children added, clear the extra announcement nodes,
+ // which should always have their indices as the last two children of the root
+ // node. They will be recreated if needed, and given the correct indices.
diff --git a/www/chromium/files/patch-ui_accessibility_ax__tree.h b/www/chromium/files/patch-ui_accessibility_ax__tree.h
new file mode 100644
index 000000000000..903c97f6ffef
--- /dev/null
+++ b/www/chromium/files/patch-ui_accessibility_ax__tree.h
@@ -0,0 +1,29 @@
+--- ui/accessibility/ax_tree.h.orig 2025-07-02 06:08:04 UTC
++++ ui/accessibility/ax_tree.h
+@@ -63,7 +63,7 @@ enum class AXTreeUnserializeError {
+ };
+ // LINT.ThenChange(/tools/metrics/histograms/metadata/accessibility/enums.xml:AccessibilityTreeUnserializeError)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // To support AriaNotify on older versions of ATK, we need to use the ATK
+ // signal "Text::text-insert". This signal requires a node that is a
+ // text type, and it needs to have aria-live properties set in order for
+@@ -288,7 +288,7 @@ class AX_EXPORT AXTree {
+
+ void NotifyChildTreeConnectionChanged(AXNode* node, AXTree* child_tree);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void ClearExtraAnnouncementNodes();
+ void CreateExtraAnnouncementNodes();
+ ExtraAnnouncementNodes* extra_announcement_nodes() const {
+@@ -550,7 +550,7 @@ class AX_EXPORT AXTree {
+
+ std::unique_ptr<AXEvent> event_data_;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<ExtraAnnouncementNodes> extra_announcement_nodes_ = nullptr;
+ #endif // BUILDFLAG(IS_LINUX)
+ };
diff --git a/www/chromium/files/patch-ui_aura_client_drag__drop__client.h b/www/chromium/files/patch-ui_aura_client_drag__drop__client.h
new file mode 100644
index 000000000000..6a4f258ce820
--- /dev/null
+++ b/www/chromium/files/patch-ui_aura_client_drag__drop__client.h
@@ -0,0 +1,11 @@
+--- ui/aura/client/drag_drop_client.h.orig 2023-01-11 09:17:16 UTC
++++ ui/aura/client/drag_drop_client.h
+@@ -44,7 +44,7 @@ class AURA_EXPORT DragDropClient {
+ int allowed_operations,
+ ui::mojom::DragEventSource source) = 0;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Updates the drag image. An empty |image| may be used to hide a previously
+ // set non-empty drag image, and a non-empty |image| shows the drag image
+ // again if it was previously hidden.
diff --git a/www/chromium/files/patch-ui_aura_screen__ozone.cc b/www/chromium/files/patch-ui_aura_screen__ozone.cc
index 407604a9484c..0f23cb3ae7a1 100644
--- a/www/chromium/files/patch-ui_aura_screen__ozone.cc
+++ b/www/chromium/files/patch-ui_aura_screen__ozone.cc
@@ -1,11 +1,11 @@
---- ui/aura/screen_ozone.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/aura/screen_ozone.cc.orig 2025-01-15 09:18:26 UTC
+++ ui/aura/screen_ozone.cc
@@ -107,7 +107,7 @@ display::Display ScreenOzone::GetPrimaryDisplay() cons
return platform_screen_->GetPrimaryDisplay();
}
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- bool ScreenOzone::SetScreenSaverSuspended(bool suspend) {
- return platform_screen_->SetScreenSaverSuspended(suspend);
- }
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ScreenOzone::ScreenSaverSuspenderOzone::ScreenSaverSuspenderOzone(
+ std::unique_ptr<ui::PlatformScreen::PlatformScreenSaverSuspender> suspender)
+ : suspender_(std::move(suspender)) {}
diff --git a/www/chromium/files/patch-ui_aura_screen__ozone.h b/www/chromium/files/patch-ui_aura_screen__ozone.h
index c34014971143..c8a5adf022f3 100644
--- a/www/chromium/files/patch-ui_aura_screen__ozone.h
+++ b/www/chromium/files/patch-ui_aura_screen__ozone.h
@@ -1,11 +1,20 @@
---- ui/aura/screen_ozone.h.orig 2022-07-22 17:30:31 UTC
+--- ui/aura/screen_ozone.h.orig 2025-01-15 09:18:26 UTC
+++ ui/aura/screen_ozone.h
-@@ -65,7 +65,7 @@ class AURA_EXPORT ScreenOzone : public display::Screen
- protected:
+@@ -44,7 +44,7 @@ class AURA_EXPORT ScreenOzone : public display::Screen
+ display::Display GetDisplayMatching(
+ const gfx::Rect& match_rect) const override;
+ display::Display GetPrimaryDisplay() const override;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<display::Screen::ScreenSaverSuspender> SuspendScreenSaver()
+ override;
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -68,7 +68,7 @@ class AURA_EXPORT ScreenOzone : public display::Screen
ui::PlatformScreen* platform_screen() { return platform_screen_.get(); }
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- bool SetScreenSaverSuspended(bool suspend) override;
- #endif // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
-
+ private:
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class ScreenSaverSuspenderOzone
+ : public display::Screen::ScreenSaverSuspender {
+ public:
diff --git a/www/chromium/files/patch-ui_base_accelerators_accelerator.cc b/www/chromium/files/patch-ui_base_accelerators_accelerator.cc
new file mode 100644
index 000000000000..7f03e9bf9d73
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_accelerators_accelerator.cc
@@ -0,0 +1,11 @@
+--- ui/base/accelerators/accelerator.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/base/accelerators/accelerator.cc
+@@ -335,7 +335,7 @@ std::vector<std::u16string> Accelerator::GetLongFormMo
+ modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_SEARCH_KEY));
+ #elif BUILDFLAG(IS_WIN)
+ modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_WINDOWS_KEY));
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_SUPER_KEY));
+ #else
+ NOTREACHED();
diff --git a/www/chromium/files/patch-ui_base_accelerators_command.cc b/www/chromium/files/patch-ui_base_accelerators_command.cc
new file mode 100644
index 000000000000..16aa6f5e4f64
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_accelerators_command.cc
@@ -0,0 +1,11 @@
+--- ui/base/accelerators/command.cc.orig 2025-04-04 08:52:13 UTC
++++ ui/base/accelerators/command.cc
+@@ -81,7 +81,7 @@ std::string Command::CommandPlatform() {
+ return ui::kKeybindingPlatformMac;
+ #elif BUILDFLAG(IS_CHROMEOS)
+ return ui::kKeybindingPlatformChromeOs;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return ui::kKeybindingPlatformLinux;
+ #elif BUILDFLAG(IS_FUCHSIA)
+ // TODO(crbug.com/40220501): Change this once we decide what string should be
diff --git a/www/chromium/files/patch-ui_base_accelerators_global__accelerator__listener_global__accelerator__listener__ozone.cc b/www/chromium/files/patch-ui_base_accelerators_global__accelerator__listener_global__accelerator__listener__ozone.cc
new file mode 100644
index 000000000000..de4618bc2d6c
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_accelerators_global__accelerator__listener_global__accelerator__listener__ozone.cc
@@ -0,0 +1,29 @@
+--- ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_ozone.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_ozone.cc
+@@ -12,7 +12,7 @@
+ #include "ui/base/accelerators/accelerator.h"
+ #include "ui/ozone/public/ozone_platform.h"
+
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS)
+ #include "base/environment.h"
+ #include "base/feature_list.h"
+ #include "build/branding_buildflags.h"
+@@ -22,7 +22,7 @@
+ using content::BrowserThread;
+
+ namespace {
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS)
+ BASE_FEATURE(kGlobalShortcutsPortal,
+ "GlobalShortcutsPortal",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -74,7 +74,7 @@ GlobalAcceleratorListener* GlobalAcceleratorListener::
+ return instance->get();
+ }
+
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS)
+ if (base::FeatureList::IsEnabled(kGlobalShortcutsPortal)) {
+ static GlobalAcceleratorListenerLinux* const linux_instance =
+ new GlobalAcceleratorListenerLinux(nullptr, GetSessionName());
diff --git a/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc b/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc
deleted file mode 100644
index 61f01c13cd6a..000000000000
--- a/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/base/clipboard/clipboard_constants.cc.orig 2022-03-25 21:59:56 UTC
-+++ ui/base/clipboard/clipboard_constants.cc
-@@ -24,7 +24,7 @@ const char kMimeTypeOctetStream[] = "application/octet
- // Used for window dragging on some platforms.
- const char kMimeTypeWindowDrag[] = "chromium/x-window-drag";
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- const char kMimeTypeLinuxUtf8String[] = "UTF8_STRING";
- const char kMimeTypeLinuxString[] = "STRING";
- const char kMimeTypeLinuxText[] = "TEXT";
diff --git a/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.h b/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.h
index 9232742bbece..14c0e2882e75 100644
--- a/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.h
+++ b/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.h
@@ -1,11 +1,20 @@
---- ui/base/clipboard/clipboard_constants.h.orig 2022-03-25 21:59:56 UTC
+--- ui/base/clipboard/clipboard_constants.h.orig 2025-05-28 14:55:43 UTC
+++ ui/base/clipboard/clipboard_constants.h
-@@ -46,7 +46,7 @@ extern const char kMimeTypeDataTransferEndpoint[];
- #endif // BUILDFLAG(IS_CHROMEOS)
+@@ -44,7 +44,7 @@ inline constexpr char kMimeTypeWindowDrag[] = "chromiu
+
+ // ----- LINUX & CHROMEOS & FUCHSIA MIME TYPES -----
- // Linux-specific MIME type constants (also used in Fuchsia).
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES)
- extern const char kMimeTypeLinuxUtf8String[];
- COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES)
+ inline constexpr char kMimeTypeLinuxUtf8String[] = "UTF8_STRING";
+ inline constexpr char kMimeTypeLinuxString[] = "STRING";
+ inline constexpr char kMimeTypeLinuxText[] = "TEXT";
+@@ -52,7 +52,7 @@ inline constexpr char kMimeTypeLinuxText[] = "TEXT";
+ // BUILDFLAG(IS_FUCHSIA)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ inline constexpr char kMimeTypeSourceUrl[] = "chromium/x-source-url";
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
+ // BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID)
diff --git a/www/chromium/files/patch-ui_base_clipboard_clipboard__non__backed.cc b/www/chromium/files/patch-ui_base_clipboard_clipboard__non__backed.cc
new file mode 100644
index 000000000000..b5218a9b8d57
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_clipboard_clipboard__non__backed.cc
@@ -0,0 +1,11 @@
+--- ui/base/clipboard/clipboard_non_backed.cc.orig 2024-06-17 12:56:06 UTC
++++ ui/base/clipboard/clipboard_non_backed.cc
+@@ -461,7 +461,7 @@ ClipboardNonBacked::ClipboardNonBacked() {
+ // so create internal clipboards for platform supported clipboard buffers.
+ constexpr ClipboardBuffer kClipboardBuffers[] = {
+ ClipboardBuffer::kCopyPaste,
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ ClipboardBuffer::kSelection,
+ #endif
+ #if BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc b/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc
index 0fbb5d4ddf9c..d6b71e79ac85 100644
--- a/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc
+++ b/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc
@@ -1,8 +1,8 @@
---- ui/base/cursor/cursor_factory.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/base/cursor/cursor_factory.cc.orig 2024-11-14 07:57:23 UTC
+++ ui/base/cursor/cursor_factory.cc
-@@ -83,7 +83,7 @@ void CursorFactory::ObserveThemeChanges() {
-
- void CursorFactory::SetDeviceScaleFactor(float scale) {}
+@@ -96,7 +96,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/chromium/files/patch-ui_base_cursor_cursor__factory.h b/www/chromium/files/patch-ui_base_cursor_cursor__factory.h
index d155d2ff5289..b0cafbf42454 100644
--- a/www/chromium/files/patch-ui_base_cursor_cursor__factory.h
+++ b/www/chromium/files/patch-ui_base_cursor_cursor__factory.h
@@ -1,6 +1,6 @@
---- ui/base/cursor/cursor_factory.h.orig 2022-02-28 16:54:41 UTC
+--- ui/base/cursor/cursor_factory.h.orig 2023-09-13 12:11:42 UTC
+++ ui/base/cursor/cursor_factory.h
-@@ -81,7 +81,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/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc b/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc
index 0f95132edd70..ce1640183881 100644
--- a/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc
+++ b/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc
@@ -1,9 +1,9 @@
---- ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2025-05-05 10:57:53 UTC
+++ ui/base/dragdrop/os_exchange_data_provider_non_backed.cc
-@@ -94,7 +94,7 @@ void OSExchangeDataProviderNonBacked::SetPickledData(
- }
+@@ -101,7 +101,7 @@ void OSExchangeDataProviderNonBacked::SetPickledData(
- bool OSExchangeDataProviderNonBacked::GetString(std::u16string* data) const {
+ std::optional<std::u16string> OSExchangeDataProviderNonBacked::GetString()
+ const {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (HasFile()) {
diff --git a/www/chromium/files/patch-ui_base_ime_dummy__text__input__client.cc b/www/chromium/files/patch-ui_base_ime_dummy__text__input__client.cc
index 660cd0441366..878688514585 100644
--- a/www/chromium/files/patch-ui_base_ime_dummy__text__input__client.cc
+++ b/www/chromium/files/patch-ui_base_ime_dummy__text__input__client.cc
@@ -1,6 +1,6 @@
---- ui/base/ime/dummy_text_input_client.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/base/ime/dummy_text_input_client.cc.orig 2025-01-15 09:18:26 UTC
+++ ui/base/ime/dummy_text_input_client.cc
-@@ -156,7 +156,7 @@ bool DummyTextInputClient::ShouldDoLearning() {
+@@ -175,7 +175,7 @@ bool DummyTextInputClient::ShouldDoLearning() {
return false;
}
diff --git a/www/chromium/files/patch-ui_base_ime_dummy__text__input__client.h b/www/chromium/files/patch-ui_base_ime_dummy__text__input__client.h
index 64607ef8821e..d9d5f9fe9c4e 100644
--- a/www/chromium/files/patch-ui_base_ime_dummy__text__input__client.h
+++ b/www/chromium/files/patch-ui_base_ime_dummy__text__input__client.h
@@ -1,6 +1,6 @@
---- ui/base/ime/dummy_text_input_client.h.orig 2022-02-28 16:54:41 UTC
+--- ui/base/ime/dummy_text_input_client.h.orig 2025-01-15 09:18:26 UTC
+++ ui/base/ime/dummy_text_input_client.h
-@@ -63,7 +63,7 @@ class DummyTextInputClient : public TextInputClient {
+@@ -73,7 +73,7 @@ class DummyTextInputClient : public TextInputClient {
ukm::SourceId GetClientSourceForMetrics() const override;
bool ShouldDoLearning() override;
diff --git a/www/chromium/files/patch-ui_base_ime_fake__text__input__client.cc b/www/chromium/files/patch-ui_base_ime_fake__text__input__client.cc
index b6b545bddb38..a81a458e95ca 100644
--- a/www/chromium/files/patch-ui_base_ime_fake__text__input__client.cc
+++ b/www/chromium/files/patch-ui_base_ime_fake__text__input__client.cc
@@ -1,7 +1,7 @@
---- ui/base/ime/fake_text_input_client.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/base/ime/fake_text_input_client.cc.orig 2025-01-15 09:18:26 UTC
+++ ui/base/ime/fake_text_input_client.cc
-@@ -161,7 +161,7 @@ bool FakeTextInputClient::ShouldDoLearning() {
- return false;
+@@ -227,7 +227,7 @@ bool FakeTextInputClient::ShouldDoLearning() {
+ return should_do_learning_;
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-ui_base_ime_fake__text__input__client.h b/www/chromium/files/patch-ui_base_ime_fake__text__input__client.h
index aa3aa8b32a7c..8f15764112d7 100644
--- a/www/chromium/files/patch-ui_base_ime_fake__text__input__client.h
+++ b/www/chromium/files/patch-ui_base_ime_fake__text__input__client.h
@@ -1,6 +1,6 @@
---- ui/base/ime/fake_text_input_client.h.orig 2022-02-28 16:54:41 UTC
+--- ui/base/ime/fake_text_input_client.h.orig 2025-01-15 09:18:26 UTC
+++ ui/base/ime/fake_text_input_client.h
-@@ -69,7 +69,7 @@ class FakeTextInputClient : public TextInputClient {
+@@ -107,7 +107,7 @@ class FakeTextInputClient : public TextInputClient {
void SetTextEditCommandForNextKeyEvent(TextEditCommand command) override;
ukm::SourceId GetClientSourceForMetrics() const override;
bool ShouldDoLearning() override;
diff --git a/www/chromium/files/patch-ui_base_ime_init_input__method__initializer.cc b/www/chromium/files/patch-ui_base_ime_init_input__method__initializer.cc
index 2b686551d206..865d383945e1 100644
--- a/www/chromium/files/patch-ui_base_ime_init_input__method__initializer.cc
+++ b/www/chromium/files/patch-ui_base_ime_init_input__method__initializer.cc
@@ -1,38 +1,29 @@
---- ui/base/ime/init/input_method_initializer.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/base/ime/init/input_method_initializer.cc.orig 2025-02-19 07:43:18 UTC
+++ ui/base/ime/init/input_method_initializer.cc
-@@ -10,7 +10,7 @@
- #include "build/chromeos_buildflags.h"
+@@ -9,7 +9,7 @@
+ #include "base/trace_event/trace_event.h"
+ #include "build/build_config.h"
- #if !BUILDFLAG(IS_CHROMEOS_ASH) && defined(USE_AURA) && \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- #include "base/check.h"
- #include "ui/base/ime/linux/fake_input_method_context_factory.h"
+-#if defined(USE_AURA) && BUILDFLAG(IS_LINUX)
++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ #include "ui/base/ime/linux/fake_input_method_context.h"
+ #include "ui/base/ime/linux/linux_input_method_context_factory.h"
#elif BUILDFLAG(IS_WIN)
-@@ -20,7 +20,7 @@
-
- namespace {
-
--#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))
- const ui::LinuxInputMethodContextFactory*
- g_linux_input_method_context_factory_for_testing;
- #endif
-@@ -43,7 +43,7 @@ void ShutdownInputMethod() {
+@@ -33,7 +33,7 @@ void ShutdownInputMethod() {
+ }
void InitializeInputMethodForTesting() {
- #if !BUILDFLAG(IS_CHROMEOS_ASH) && defined(USE_AURA) && \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- if (!g_linux_input_method_context_factory_for_testing)
- g_linux_input_method_context_factory_for_testing =
- new FakeInputMethodContextFactory();
-@@ -61,7 +61,7 @@ void InitializeInputMethodForTesting() {
+-#if defined(USE_AURA) && BUILDFLAG(IS_LINUX)
++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ GetInputMethodContextFactoryForTest() =
+ base::BindRepeating([](LinuxInputMethodContextDelegate* delegate)
+ -> std::unique_ptr<LinuxInputMethodContext> {
+@@ -45,7 +45,7 @@ void InitializeInputMethodForTesting() {
+ }
void ShutdownInputMethodForTesting() {
- #if !BUILDFLAG(IS_CHROMEOS_ASH) && defined(USE_AURA) && \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- const LinuxInputMethodContextFactory* factory =
- LinuxInputMethodContextFactory::instance();
- CHECK(!factory || factory == g_linux_input_method_context_factory_for_testing)
+-#if defined(USE_AURA) && BUILDFLAG(IS_LINUX)
++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+ // The function owns the factory (as a static variable that's returned by
+ // reference), so setting this to an empty factory will free the old one.
+ GetInputMethodContextFactoryForTest() = LinuxInputMethodContextFactory();
diff --git a/www/chromium/files/patch-ui_base_ime_linux_linux__input__method__context__factory.cc b/www/chromium/files/patch-ui_base_ime_linux_linux__input__method__context__factory.cc
new file mode 100644
index 000000000000..1c1f6204ed93
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_ime_linux_linux__input__method__context__factory.cc
@@ -0,0 +1,20 @@
+--- ui/base/ime/linux/linux_input_method_context_factory.cc.orig 2022-09-27 14:30:33 UTC
++++ ui/base/ime/linux/linux_input_method_context_factory.cc
+@@ -9,7 +9,7 @@
+ #include "build/build_config.h"
+ #include "ui/base/ime/linux/fake_input_method_context.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #include "ui/linux/linux_ui_delegate.h"
+ #endif
+@@ -32,7 +32,7 @@ std::unique_ptr<LinuxInputMethodContext> CreateLinuxIn
+ if (auto factory = GetInputMethodContextFactoryForTest())
+ return factory.Run(delegate);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Give the toolkit a chance to create the context.
+ if (auto* linux_ui = LinuxUi::instance()) {
+ if (auto context = linux_ui->CreateInputMethodContext(delegate))
diff --git a/www/chromium/files/patch-ui_base_ime_text__input__client.h b/www/chromium/files/patch-ui_base_ime_text__input__client.h
index 2e2adad0131d..b6a2cf4fb2e0 100644
--- a/www/chromium/files/patch-ui_base_ime_text__input__client.h
+++ b/www/chromium/files/patch-ui_base_ime_text__input__client.h
@@ -1,6 +1,6 @@
---- ui/base/ime/text_input_client.h.orig 2022-05-19 14:06:27 UTC
+--- ui/base/ime/text_input_client.h.orig 2025-03-05 08:14:56 UTC
+++ ui/base/ime/text_input_client.h
-@@ -238,7 +238,7 @@ class COMPONENT_EXPORT(UI_BASE_IME) TextInputClient {
+@@ -337,7 +337,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/chromium/files/patch-ui_base_resource_resource__bundle.cc b/www/chromium/files/patch-ui_base_resource_resource__bundle.cc
index 62f3afed5250..823c2db72053 100644
--- a/www/chromium/files/patch-ui_base_resource_resource__bundle.cc
+++ b/www/chromium/files/patch-ui_base_resource_resource__bundle.cc
@@ -1,6 +1,6 @@
---- ui/base/resource/resource_bundle.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/base/resource/resource_bundle.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/base/resource/resource_bundle.cc
-@@ -884,7 +884,7 @@ void ResourceBundle::ReloadFonts() {
+@@ -971,7 +971,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/chromium/files/patch-ui_base_test_skia__gold__pixel__diff.cc b/www/chromium/files/patch-ui_base_test_skia__gold__pixel__diff.cc
index 220b5060b6d4..0a9e4249ae59 100644
--- a/www/chromium/files/patch-ui_base_test_skia__gold__pixel__diff.cc
+++ b/www/chromium/files/patch-ui_base_test_skia__gold__pixel__diff.cc
@@ -1,11 +1,11 @@
---- ui/base/test/skia_gold_pixel_diff.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/base/test/skia_gold_pixel_diff.cc.orig 2025-03-05 08:14:56 UTC
+++ ui/base/test/skia_gold_pixel_diff.cc
-@@ -150,7 +150,7 @@ std::string SkiaGoldPixelDiff::GetPlatform() {
+@@ -117,7 +117,7 @@ const char* GetPlatformName() {
+ return "windows";
+ #elif BUILDFLAG(IS_APPLE)
return "macOS";
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return "linux";
- #elif BUILDFLAG(IS_CHROMEOS_LACROS)
- return "lacros";
+ #elif BUILDFLAG(IS_CHROMEOS)
+ return "ash";
diff --git a/www/chromium/files/patch-ui_base_test_ui__controls.h b/www/chromium/files/patch-ui_base_test_ui__controls.h
new file mode 100644
index 000000000000..2cd8ab9dd66f
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_test_ui__controls.h
@@ -0,0 +1,11 @@
+--- ui/base/test/ui_controls.h.orig 2025-05-05 10:57:53 UTC
++++ ui/base/test/ui_controls.h
+@@ -191,7 +191,7 @@ bool SendTouchEventsNotifyWhenDone(int action,
+ base::OnceClosure task);
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Forces the platform implementation to use screen coordinates, even if they're
+ // not really available, the next time that ui_controls::SendMouseMove() or
+ // ui_controls::SendMouseMoveNotifyWhenDone() is called, or some other method
diff --git a/www/chromium/files/patch-ui_base_ui__base__features.cc b/www/chromium/files/patch-ui_base_ui__base__features.cc
index e92ac9b0fb62..c4639aee3311 100644
--- a/www/chromium/files/patch-ui_base_ui__base__features.cc
+++ b/www/chromium/files/patch-ui_base_ui__base__features.cc
@@ -1,20 +1,38 @@
---- ui/base/ui_base_features.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/base/ui_base_features.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/base/ui_base_features.cc
-@@ -180,7 +180,7 @@ const base::Feature kExperimentalFlingAnimation {
- // of lacros-chrome is complete.
- #if BUILDFLAG(IS_WIN) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-- !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ !BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
+@@ -119,7 +119,7 @@ BASE_FEATURE(kWaylandLinuxDrmSyncobj,
+ // Controls whether support for Wayland's per-surface scaling is enabled.
+ BASE_FEATURE(kWaylandPerSurfaceScale,
+ "WaylandPerSurfaceScale",
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
#else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -276,7 +276,7 @@ bool IsForcedColorsEnabled() {
- // milestones.
- const base::Feature kEyeDropper {
- "EyeDropper",
--#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
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -143,7 +143,7 @@ BASE_FEATURE(kWaylandSessionManagement,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif // BUILDFLAG(IS_OZONE)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If this feature is enabled, users not specify --ozone-platform-hint switch
+ // will get --ozone-platform-hint=auto treatment. https://crbug.com/40250220.
+ COMPONENT_EXPORT(UI_BASE_FEATURES)
+@@ -231,7 +231,7 @@ BASE_FEATURE(kUiCompositorUsesLayerLists,
+ // native apps on Windows.
+ BASE_FEATURE(kExperimentalFlingAnimation,
+ "ExperimentalFlingAnimation",
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
#else
- base::FEATURE_DISABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -323,7 +323,7 @@ bool IsForcedColorsEnabled() {
+ BASE_FEATURE(kEyeDropper,
+ "EyeDropper",
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-ui_base_ui__base__features.h b/www/chromium/files/patch-ui_base_ui__base__features.h
new file mode 100644
index 000000000000..99bce9421f17
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_ui__base__features.h
@@ -0,0 +1,11 @@
+--- ui/base/ui_base_features.h.orig 2025-07-02 06:08:04 UTC
++++ ui/base/ui_base_features.h
+@@ -129,7 +129,7 @@ COMPONENT_EXPORT(UI_BASE_FEATURES)
+ BASE_DECLARE_FEATURE(kWaylandSessionManagement);
+ #endif // BUILDFLAG(IS_OZONE)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(UI_BASE_FEATURES)
+ BASE_DECLARE_FEATURE(kOverrideDefaultOzonePlatformHintToAuto);
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-ui_base_ui__base__switches.cc b/www/chromium/files/patch-ui_base_ui__base__switches.cc
new file mode 100644
index 000000000000..a0a276ae3efd
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_ui__base__switches.cc
@@ -0,0 +1,18 @@
+--- ui/base/ui_base_switches.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/base/ui_base_switches.cc
+@@ -24,13 +24,13 @@ const char kDisableModalAnimations[] = "disable-modal-
+ const char kShowMacOverlayBorders[] = "show-mac-overlay-borders";
+ #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";
+ // Specify the GTK version to be loaded.
diff --git a/www/chromium/files/patch-ui_base_ui__base__switches.h b/www/chromium/files/patch-ui_base_ui__base__switches.h
new file mode 100644
index 000000000000..cb812fc6078e
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_ui__base__switches.h
@@ -0,0 +1,16 @@
+--- ui/base/ui_base_switches.h.orig 2025-07-02 06:08:04 UTC
++++ ui/base/ui_base_switches.h
+@@ -22,11 +22,11 @@ COMPONENT_EXPORT(UI_BASE) extern const char kDisableMo
+ COMPONENT_EXPORT(UI_BASE) extern const char kShowMacOverlayBorders[];
+ #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[];
+ COMPONENT_EXPORT(UI_BASE) extern const char kGtkVersionFlag[];
+ COMPONENT_EXPORT(UI_BASE) extern const char kQtVersionFlag[];
diff --git a/www/chromium/files/patch-ui_base_webui_web__ui__util.cc b/www/chromium/files/patch-ui_base_webui_web__ui__util.cc
index 9cdedd2a2db9..b2db60b59594 100644
--- a/www/chromium/files/patch-ui_base_webui_web__ui__util.cc
+++ b/www/chromium/files/patch-ui_base_webui_web__ui__util.cc
@@ -1,11 +1,20 @@
---- ui/base/webui/web_ui_util.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/base/webui/web_ui_util.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/base/webui/web_ui_util.cc
-@@ -226,7 +226,7 @@ std::string GetFontFamily() {
+@@ -42,7 +42,7 @@ namespace {
+ constexpr float kMaxScaleFactor = 1000.0f;
- // 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 GetFontFamilyMd() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return "Roboto, " + GetFontFamily();
+ #else
+ return GetFontFamily();
+@@ -217,7 +217,7 @@ void AppendWebUiCssTextDefaults(std::string* html) {
+ std::string GetFontFamily() {
+ std::string font_family = l10n_util::GetStringUTF8(IDS_WEB_FONT_FAMILY);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
std::string font_name = ui::ResourceBundle::GetSharedInstance()
.GetFont(ui::ResourceBundle::BaseFont)
.GetFontName();
diff --git a/www/chromium/files/patch-ui_base_x_x11__cursor__factory.cc b/www/chromium/files/patch-ui_base_x_x11__cursor__factory.cc
new file mode 100644
index 000000000000..e010e0250233
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_x_x11__cursor__factory.cc
@@ -0,0 +1,20 @@
+--- ui/base/x/x11_cursor_factory.cc.orig 2023-11-03 10:09:45 UTC
++++ ui/base/x/x11_cursor_factory.cc
+@@ -13,7 +13,7 @@
+ #include "ui/gfx/geometry/point.h"
+ #include "ui/gfx/x/connection.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #endif
+
+@@ -70,7 +70,7 @@ scoped_refptr<PlatformCursor> X11CursorFactory::Create
+ }
+
+ void X11CursorFactory::ObserveThemeChanges() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto* linux_ui = LinuxUi::instance();
+ DCHECK(linux_ui);
+ cursor_theme_observation_.Observe(linux_ui);
diff --git a/www/chromium/files/patch-ui_base_x_x11__cursor__factory.h b/www/chromium/files/patch-ui_base_x_x11__cursor__factory.h
new file mode 100644
index 000000000000..989000eeffb0
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_x_x11__cursor__factory.h
@@ -0,0 +1,20 @@
+--- ui/base/x/x11_cursor_factory.h.orig 2023-11-03 10:09:45 UTC
++++ ui/base/x/x11_cursor_factory.h
+@@ -20,7 +20,7 @@ namespace ui {
+ class X11Cursor;
+ class XCursorLoader;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class LinuxUi;
+ #endif
+
+@@ -62,7 +62,7 @@ class COMPONENT_EXPORT(UI_BASE_X) X11CursorFactory
+ // initializing `cursor_loader_` will modify `default_cursors_`.
+ std::unique_ptr<XCursorLoader> cursor_loader_;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::ScopedObservation<LinuxUi, CursorThemeManagerObserver>
+ cursor_theme_observation_{this};
+ #endif
diff --git a/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc b/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc
index 87c8db6e1496..470404c9220a 100644
--- a/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc
+++ b/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc
@@ -1,10 +1,19 @@
---- ui/base/x/x11_cursor_loader.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/base/x/x11_cursor_loader.cc.orig 2025-05-28 14:55:43 UTC
+++ ui/base/x/x11_cursor_loader.cc
-@@ -136,7 +136,11 @@ std::string CursorPathFromLibXcursor() {
+@@ -42,7 +42,7 @@
+ #include "ui/gfx/x/connection.h"
+ #include "ui/gfx/x/xproto.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #endif
+
+@@ -84,7 +84,11 @@ std::string CursorPathFromLibXcursor() {
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));
@@ -12,3 +21,21 @@
if (!lib)
return "";
+@@ -229,7 +233,7 @@ scoped_refptr<base::RefCountedMemory> ReadCursorFile(
+ const std::string& rm_xcursor_theme) {
+ constexpr const char kDefaultTheme[] = "default";
+ std::string themes[] = {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // The toolkit theme has the highest priority.
+ LinuxUi::instance() ? LinuxUi::instance()->GetCursorThemeName()
+ : std::string(),
+@@ -419,7 +423,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const
+ return size;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Let the toolkit have the next say.
+ auto* linux_ui = LinuxUi::instance();
+ size = linux_ui ? linux_ui->GetCursorThemeSize() : 0;
diff --git a/www/chromium/files/patch-ui_base_x_x11__display__manager.cc b/www/chromium/files/patch-ui_base_x_x11__display__manager.cc
new file mode 100644
index 000000000000..2f6c1eeb6e3d
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_x_x11__display__manager.cc
@@ -0,0 +1,20 @@
+--- ui/base/x/x11_display_manager.cc.orig 2024-03-22 08:19:40 UTC
++++ ui/base/x/x11_display_manager.cc
+@@ -16,7 +16,7 @@
+ #include "ui/gfx/x/randr.h"
+ #include "ui/gfx/x/xproto.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #endif
+
+@@ -92,7 +92,7 @@ void XDisplayManager::FetchDisplayList() {
+ ? display::Display::GetForcedDeviceScaleFactor()
+ : 1.0f};
+ const auto* display_config = &empty_display_config;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (const auto* linux_ui = ui::LinuxUi::instance()) {
+ display_config = &linux_ui->display_config();
+ }
diff --git a/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc b/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc
index 83be0d5ac856..257b1e8c0cd7 100644
--- a/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc
+++ b/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc
@@ -1,14 +1,14 @@
---- ui/base/x/x11_shm_image_pool.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/base/x/x11_shm_image_pool.cc.orig 2025-01-15 09:18:26 UTC
+++ ui/base/x/x11_shm_image_pool.cc
@@ -16,6 +16,7 @@
- #include "base/environment.h"
+ #include "base/functional/callback.h"
#include "base/location.h"
#include "base/strings/string_util.h"
+#include "base/system/sys_info.h"
- #include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
- #include "build/chromeos_buildflags.h"
-@@ -46,10 +47,14 @@ constexpr float kShmResizeShrinkThreshold =
+ #include "net/base/url_util.h"
+ #include "ui/events/platform/platform_event_dispatcher.h"
+@@ -44,10 +45,14 @@ constexpr float kShmResizeShrinkThreshold =
1.0f / (kShmResizeThreshold * kShmResizeThreshold);
std::size_t MaxShmSegmentSizeImpl() {
@@ -23,17 +23,35 @@
}
std::size_t MaxShmSegmentSize() {
-@@ -66,6 +71,9 @@ bool IsRemoteHost(const std::string& name) {
+@@ -56,14 +61,19 @@ std::size_t MaxShmSegmentSize() {
}
+ #if !BUILDFLAG(IS_CHROMEOS)
++#if !BUILDFLAG(IS_BSD)
+ bool IsRemoteHost(const std::string& name) {
+ if (name.empty())
+ return false;
+
+ return !net::HostStringIsLocalhost(name);
+ }
++#endif
+
bool ShouldUseMitShm(x11::Connection* connection) {
+#if BUILDFLAG(IS_BSD)
+ return false;
-+#endif
++#else
// MIT-SHM may be available on remote connetions, but it will be unusable. Do
// a best-effort check to see if the host is remote to disable the SHM
// codepath. It may be possible in contrived cases for there to be a
-@@ -184,7 +192,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
+@@ -92,6 +102,7 @@ bool ShouldUseMitShm(x11::Connection* connection) {
+ return false;
+
+ return true;
++#endif
+ }
+ #endif // !BUILDFLAG(IS_CHROMEOS)
+
+@@ -182,7 +193,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
shmctl(state.shmid, IPC_RMID, nullptr);
return false;
}
@@ -42,7 +60,7 @@
// On Linux, a shmid can still be attached after IPC_RMID if otherwise
// kept alive. Detach before XShmAttach to prevent a memory leak in case
// the process dies.
-@@ -203,7 +211,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
+@@ -201,7 +212,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
return false;
state.shmseg = shmseg;
state.shmem_attached_to_server = true;
diff --git a/www/chromium/files/patch-ui_color_color__id.h b/www/chromium/files/patch-ui_color_color__id.h
index 3e982fd3bd14..4d1c784b2f4f 100644
--- a/www/chromium/files/patch-ui_color_color__id.h
+++ b/www/chromium/files/patch-ui_color_color__id.h
@@ -1,11 +1,11 @@
---- ui/color/color_id.h.orig 2022-07-22 17:30:31 UTC
+--- ui/color/color_id.h.orig 2025-07-02 06:08:04 UTC
+++ ui/color/color_id.h
-@@ -209,7 +209,7 @@
- E_CPONLY(kColorNativeColor6) \
- E_CPONLY(kColorNativeBaseColor) \
- E_CPONLY(kColorNativeSecondaryColor)
+@@ -648,7 +648,7 @@
+ E_CPONLY(kColorCrosSysPositive) \
+ E_CPONLY(kColorCrosSysComplementVariant) \
+ E_CPONLY(kColorCrosSysInputFieldOnBase)
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#define PLATFORM_SPECIFIC_COLOR_IDS \
- E_CPONLY(kColorNativeButtonBorder)\
+ E_CPONLY(kColorNativeBoxFrameBorder)\
E_CPONLY(kColorNativeHeaderButtonBorderActive) \
diff --git a/www/chromium/files/patch-ui_color_color__provider__utils.cc b/www/chromium/files/patch-ui_color_color__provider__utils.cc
new file mode 100644
index 000000000000..09548c17aec6
--- /dev/null
+++ b/www/chromium/files/patch-ui_color_color__provider__utils.cc
@@ -0,0 +1,11 @@
+--- ui/color/color_provider_utils.cc.orig 2025-05-28 14:55:43 UTC
++++ ui/color/color_provider_utils.cc
+@@ -194,7 +194,7 @@ std::string_view SystemThemeName(ui::SystemTheme syste
+ switch (system_theme) {
+ case ui::SystemTheme::kDefault:
+ return "kDefault";
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ case ui::SystemTheme::kGtk:
+ return "kGtk";
+ case ui::SystemTheme::kQt:
diff --git a/www/chromium/files/patch-ui_color_system__theme.h b/www/chromium/files/patch-ui_color_system__theme.h
new file mode 100644
index 000000000000..e251684d8ee6
--- /dev/null
+++ b/www/chromium/files/patch-ui_color_system__theme.h
@@ -0,0 +1,11 @@
+--- ui/color/system_theme.h.orig 2022-11-30 08:12:58 UTC
++++ ui/color/system_theme.h
+@@ -15,7 +15,7 @@ namespace ui {
+ enum class SystemTheme {
+ // Classic theme, used in the default or users' chosen theme.
+ kDefault = 0,
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ kGtk = 1,
+ kQt = 2,
+ kMaxValue = kQt,
diff --git a/www/chromium/files/patch-ui_compositor_compositor.cc b/www/chromium/files/patch-ui_compositor_compositor.cc
index 037ec1f60f9b..ec5a76119066 100644
--- a/www/chromium/files/patch-ui_compositor_compositor.cc
+++ b/www/chromium/files/patch-ui_compositor_compositor.cc
@@ -1,11 +1,11 @@
---- ui/compositor/compositor.cc.orig 2022-06-17 14:20:10 UTC
+--- ui/compositor/compositor.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/compositor/compositor.cc
-@@ -857,7 +857,7 @@ void Compositor::OnResume() {
+@@ -979,7 +979,7 @@ void Compositor::OnResume() {
+ obs.ResetIfActive();
+ }
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
void Compositor::OnCompleteSwapWithNewSize(const gfx::Size& size) {
- for (auto& observer : observer_list_)
- observer.OnCompositingCompleteSwapWithNewSize(this, size);
+ observer_list_.Notify(
+ &CompositorObserver::OnCompositingCompleteSwapWithNewSize, this, size);
diff --git a/www/chromium/files/patch-ui_compositor_compositor.h b/www/chromium/files/patch-ui_compositor_compositor.h
index b1c58b9246b6..45784c46cc33 100644
--- a/www/chromium/files/patch-ui_compositor_compositor.h
+++ b/www/chromium/files/patch-ui_compositor_compositor.h
@@ -1,11 +1,11 @@
---- ui/compositor/compositor.h.orig 2022-06-17 14:20:10 UTC
+--- ui/compositor/compositor.h.orig 2025-05-05 10:57:53 UTC
+++ ui/compositor/compositor.h
-@@ -411,7 +411,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe
+@@ -463,7 +463,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe
+ // base::PowerSuspendObserver:
+ void OnResume() override;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
void OnCompleteSwapWithNewSize(const gfx::Size& size);
- #endif
+ #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
diff --git a/www/chromium/files/patch-ui_compositor_compositor__observer.h b/www/chromium/files/patch-ui_compositor_compositor__observer.h
index a590e267ffac..ee873852efd6 100644
--- a/www/chromium/files/patch-ui_compositor_compositor__observer.h
+++ b/www/chromium/files/patch-ui_compositor_compositor__observer.h
@@ -1,11 +1,11 @@
---- ui/compositor/compositor_observer.h.orig 2022-02-28 16:54:41 UTC
+--- ui/compositor/compositor_observer.h.orig 2025-02-19 07:43:18 UTC
+++ ui/compositor/compositor_observer.h
-@@ -48,7 +48,7 @@ class COMPOSITOR_EXPORT CompositorObserver {
+@@ -56,7 +56,7 @@ class COMPOSITOR_EXPORT CompositorObserver {
+ // Called when a child of the compositor is resizing.
+ virtual void OnCompositingChildResizing(Compositor* compositor) {}
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11)
// Called when a swap with new size is completed.
virtual void OnCompositingCompleteSwapWithNewSize(ui::Compositor* compositor,
const gfx::Size& size) {}
diff --git a/www/chromium/files/patch-ui_display_screen.cc b/www/chromium/files/patch-ui_display_screen.cc
index 77ea0c0b4224..302f4f997952 100644
--- a/www/chromium/files/patch-ui_display_screen.cc
+++ b/www/chromium/files/patch-ui_display_screen.cc
@@ -1,11 +1,11 @@
---- ui/display/screen.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/display/screen.cc.orig 2025-05-28 14:55:43 UTC
+++ ui/display/screen.cc
-@@ -84,7 +84,7 @@ void Screen::SetDisplayForNewWindows(int64_t display_i
+@@ -82,7 +82,7 @@ void Screen::SetDisplayForNewWindows(int64_t display_i
display_id_for_new_windows_ = display_id;
}
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ Screen::ScreenSaverSuspender::~ScreenSaverSuspender() = default;
+
std::unique_ptr<Screen::ScreenSaverSuspender> Screen::SuspendScreenSaver() {
- SetScreenSaverSuspended(true);
- screen_saver_suspension_count_++;
diff --git a/www/chromium/files/patch-ui_display_screen.h b/www/chromium/files/patch-ui_display_screen.h
index 0c68f862a44f..1bd4c187feb2 100644
--- a/www/chromium/files/patch-ui_display_screen.h
+++ b/www/chromium/files/patch-ui_display_screen.h
@@ -1,29 +1,20 @@
---- ui/display/screen.h.orig 2022-07-22 17:30:31 UTC
+--- ui/display/screen.h.orig 2025-05-05 10:57:53 UTC
+++ ui/display/screen.h
-@@ -128,7 +128,7 @@ class DISPLAY_EXPORT Screen {
+@@ -140,7 +140,7 @@ class DISPLAY_EXPORT Screen {
// (both of which may or may not be `nearest_id`).
display::ScreenInfos GetScreenInfosNearestDisplay(int64_t nearest_id) const;
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Object which suspends the platform-specific screensaver for the duration of
// its existence.
class ScreenSaverSuspender {
-@@ -200,7 +200,7 @@ class DISPLAY_EXPORT Screen {
- const gfx::GpuExtraInfo& gpu_extra_info);
-
- protected:
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Suspends or un-suspends the platform-specific screensaver, and returns
- // whether the operation was successful.
- virtual bool SetScreenSaverSuspended(bool suspend);
-@@ -224,7 +224,7 @@ class DISPLAY_EXPORT Screen {
+@@ -246,7 +246,7 @@ class DISPLAY_EXPORT Screen {
int64_t display_id_for_new_windows_;
int64_t scoped_display_id_for_new_windows_ = display::kInvalidDisplayId;
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
uint32_t screen_saver_suspension_count_ = 0;
- #endif // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+ #endif // BUILDFLAG(IS_LINUX)
};
diff --git a/www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc b/www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
index 14f2b2b23566..7db69e95c85e 100644
--- a/www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
+++ b/www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
@@ -1,10 +1,10 @@
---- ui/events/devices/x11/device_data_manager_x11.cc.orig 2022-02-07 13:39:41 UTC
+--- ui/events/devices/x11/device_data_manager_x11.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/events/devices/x11/device_data_manager_x11.cc
-@@ -874,6 +874,7 @@ void DeviceDataManagerX11::SetDisabledKeyboardAllowedK
+@@ -855,6 +855,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/chromium/files/patch-ui_events_event.cc b/www/chromium/files/patch-ui_events_event.cc
index 4c588c77b542..6b66f09cfb0d 100644
--- a/www/chromium/files/patch-ui_events_event.cc
+++ b/www/chromium/files/patch-ui_events_event.cc
@@ -1,6 +1,6 @@
---- ui/events/event.cc.orig 2022-03-25 21:59:56 UTC
+--- ui/events/event.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/events/event.cc
-@@ -453,7 +453,7 @@ std::string LocatedEvent::ToString() const {
+@@ -375,7 +375,7 @@ std::string LocatedEvent::ToString() const {
MouseEvent::MouseEvent(const PlatformEvent& native_event)
: LocatedEvent(native_event),
changed_button_flags_(GetChangedMouseButtonFlagsFromNative(native_event)),
@@ -9,9 +9,18 @@
movement_(GetMouseMovementFromNative(native_event)),
#endif
pointer_details_(GetMousePointerDetailsFromNative(native_event)) {
-@@ -935,7 +935,7 @@ void KeyEvent::InitializeNative() {
- if (synthesize_key_repeat_enabled_ && IsRepeated(GetLastKeyEvent()))
- set_flags(flags() | EF_IS_REPEAT);
+@@ -631,7 +631,7 @@ std::unique_ptr<Event> MouseWheelEvent::Clone() const
+ return std::make_unique<MouseWheelEvent>(*this);
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // This value matches Windows, Fuchsia WHEEL_DELTA, and (roughly) Firefox on
+ // Linux.
+ // static
+@@ -894,7 +894,7 @@ void KeyEvent::InitializeNative() {
+ SetFlags(flags() | EF_IS_REPEAT);
+ }
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.cc b/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.cc
index 100a496153ef..bf85a0e0958e 100644
--- a/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.cc
+++ b/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.cc
@@ -1,6 +1,6 @@
---- ui/events/keycodes/dom/keycode_converter.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/events/keycodes/dom/keycode_converter.cc.orig 2024-09-30 07:45:04 UTC
+++ ui/events/keycodes/dom/keycode_converter.cc
-@@ -11,7 +11,7 @@
+@@ -18,7 +18,7 @@
#include "ui/events/keycodes/dom/dom_code.h"
#include "ui/events/keycodes/dom/dom_key.h"
@@ -9,7 +9,7 @@
#include <linux/input.h>
#endif
-@@ -24,7 +24,7 @@ namespace {
+@@ -31,7 +31,7 @@ namespace {
#if BUILDFLAG(IS_WIN)
#define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \
{ usb, win, code }
@@ -18,16 +18,16 @@
#define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \
{ usb, xkb, code }
#elif BUILDFLAG(IS_APPLE)
-@@ -58,7 +58,7 @@ struct DomKeyMapEntry {
- #undef DOM_KEY_MAP
+@@ -70,7 +70,7 @@ struct DomKeyMapEntry {
#undef DOM_KEY_UNI
+ #undef DOM_KEY_MAP_DECLARATION_END
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD)
// The offset between XKB Keycode and evdev code.
constexpr int kXkbKeycodeOffset = 8;
-@@ -139,7 +139,7 @@ int KeycodeConverter::DomCodeToNativeKeycode(DomCode c
+@@ -191,7 +191,7 @@ int KeycodeConverter::DomCodeToNativeKeycode(DomCode c
return UsbKeycodeToNativeKeycode(static_cast<uint32_t>(code));
}
diff --git a/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h b/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h
index ad4c6ff88f32..0fec07e61fd1 100644
--- a/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h
+++ b/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h
@@ -1,4 +1,4 @@
---- ui/events/keycodes/dom/keycode_converter.h.orig 2022-07-22 17:30:31 UTC
+--- ui/events/keycodes/dom/keycode_converter.h.orig 2024-06-17 12:56:06 UTC
+++ ui/events/keycodes/dom/keycode_converter.h
@@ -64,7 +64,7 @@ class KeycodeConverter {
// Convert a DomCode into a native keycode.
diff --git a/www/chromium/files/patch-ui_gfx_BUILD.gn b/www/chromium/files/patch-ui_gfx_BUILD.gn
index 48a8b74d0fff..5032d31cfec6 100644
--- a/www/chromium/files/patch-ui_gfx_BUILD.gn
+++ b/www/chromium/files/patch-ui_gfx_BUILD.gn
@@ -1,6 +1,6 @@
---- ui/gfx/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- ui/gfx/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ ui/gfx/BUILD.gn
-@@ -586,7 +586,7 @@ source_set("memory_buffer_sources") {
+@@ -664,7 +664,7 @@ source_set("memory_buffer_sources") {
deps += [ "//build/config/linux/libdrm" ]
}
diff --git a/www/chromium/files/patch-ui_gfx_canvas__skia.cc b/www/chromium/files/patch-ui_gfx_canvas__skia.cc
index 3b2d9aa2a31a..0db881085f16 100644
--- a/www/chromium/files/patch-ui_gfx_canvas__skia.cc
+++ b/www/chromium/files/patch-ui_gfx_canvas__skia.cc
@@ -1,6 +1,6 @@
---- ui/gfx/canvas_skia.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/canvas_skia.cc.orig 2025-04-04 08:52:13 UTC
+++ ui/gfx/canvas_skia.cc
-@@ -200,7 +200,7 @@ void Canvas::DrawStringRectWithFlags(const std::u16str
+@@ -219,7 +219,7 @@ void Canvas::DrawStringRectWithFlags(std::u16string_vi
Range range = StripAcceleratorChars(flags, &adjusted_text);
bool elide_text = ((flags & NO_ELLIPSIS) == 0);
diff --git a/www/chromium/files/patch-ui_gfx_codec_png__codec.cc b/www/chromium/files/patch-ui_gfx_codec_png__codec.cc
deleted file mode 100644
index b34adc45f857..000000000000
--- a/www/chromium/files/patch-ui_gfx_codec_png__codec.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/codec/png_codec.cc.orig 2022-02-07 13:39:41 UTC
-+++ ui/gfx/codec/png_codec.cc
-@@ -10,7 +10,7 @@
- #include "base/memory/raw_ptr.h"
- #include "base/notreached.h"
- #include "base/strings/string_util.h"
--#include "third_party/libpng/png.h"
-+#include <png.h>
- #include "third_party/skia/include/core/SkBitmap.h"
- #include "third_party/skia/include/core/SkColorPriv.h"
- #include "third_party/skia/include/core/SkUnPreMultiply.h"
diff --git a/www/chromium/files/patch-ui_gfx_font__fallback__linux.cc b/www/chromium/files/patch-ui_gfx_font__fallback__linux.cc
index 517205abf2d5..cb92aba46c15 100644
--- a/www/chromium/files/patch-ui_gfx_font__fallback__linux.cc
+++ b/www/chromium/files/patch-ui_gfx_font__fallback__linux.cc
@@ -1,6 +1,6 @@
---- ui/gfx/font_fallback_linux.cc.orig 2022-03-25 21:59:56 UTC
+--- ui/gfx/font_fallback_linux.cc.orig 2024-09-30 07:45:04 UTC
+++ ui/gfx/font_fallback_linux.cc
-@@ -25,6 +25,8 @@
+@@ -32,6 +32,8 @@
#include "ui/gfx/linux/fontconfig_util.h"
#include "ui/gfx/platform_font.h"
diff --git a/www/chromium/files/patch-ui_gfx_font__list.cc b/www/chromium/files/patch-ui_gfx_font__list.cc
deleted file mode 100644
index cda1787ffdf7..000000000000
--- a/www/chromium/files/patch-ui_gfx_font__list.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/font_list.cc.orig 2022-02-28 16:54:41 UTC
-+++ 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/chromium/files/patch-ui_gfx_font__render__params.h b/www/chromium/files/patch-ui_gfx_font__render__params.h
index 7ec38845feee..251368a87e95 100644
--- a/www/chromium/files/patch-ui_gfx_font__render__params.h
+++ b/www/chromium/files/patch-ui_gfx_font__render__params.h
@@ -1,20 +1,20 @@
---- ui/gfx/font_render_params.h.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/font_render_params.h.orig 2025-01-15 09:18:26 UTC
+++ ui/gfx/font_render_params.h
-@@ -109,7 +109,7 @@ GFX_EXPORT FontRenderParams GetFontRenderParams(
- const FontRenderParamsQuery& query,
- std::string* family_out);
+@@ -115,7 +115,7 @@ COMPONENT_EXPORT(GFX)
+ FontRenderParams GetFontRenderParams(const FontRenderParamsQuery& query,
+ std::string* family_out);
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
// Clears GetFontRenderParams()'s cache. Intended to be called by tests that are
// changing Fontconfig's configuration.
- GFX_EXPORT void ClearFontRenderParamsCacheForTest();
-@@ -119,7 +119,7 @@ GFX_EXPORT void ClearFontRenderParamsCacheForTest();
- GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor();
+ COMPONENT_EXPORT(GFX) void ClearFontRenderParamsCacheForTest();
+@@ -125,7 +125,7 @@ COMPONENT_EXPORT(GFX) void ClearFontRenderParamsCacheF
+ COMPONENT_EXPORT(GFX) float GetFontRenderParamsDeviceScaleFactor();
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
// Sets the device scale factor for FontRenderParams to decide
// if it should enable subpixel positioning.
- GFX_EXPORT void SetFontRenderParamsDeviceScaleFactor(
+ COMPONENT_EXPORT(GFX)
diff --git a/www/chromium/files/patch-ui_gfx_font__render__params__linux.cc b/www/chromium/files/patch-ui_gfx_font__render__params__linux.cc
new file mode 100644
index 000000000000..f0e4a6f9c62c
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_font__render__params__linux.cc
@@ -0,0 +1,20 @@
+--- ui/gfx/font_render_params_linux.cc.orig 2025-03-05 08:14:56 UTC
++++ ui/gfx/font_render_params_linux.cc
+@@ -24,7 +24,7 @@
+ #include "ui/gfx/linux/fontconfig_util.h"
+ #include "ui/gfx/switches.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #endif
+
+@@ -222,7 +222,7 @@ FontRenderParams GetFontRenderParams(const FontRenderP
+
+ // Start with the delegate's settings, but let Fontconfig have the final say.
+ FontRenderParams params;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (auto* linux_ui = ui::LinuxUi::instance()) {
+ params = linux_ui->GetDefaultFontRenderParams();
+ }
diff --git a/www/chromium/files/patch-ui_gfx_font__util.cc b/www/chromium/files/patch-ui_gfx_font__util.cc
index 8727d4724110..2be350840f2c 100644
--- a/www/chromium/files/patch-ui_gfx_font__util.cc
+++ b/www/chromium/files/patch-ui_gfx_font__util.cc
@@ -1,4 +1,4 @@
---- ui/gfx/font_util.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/font_util.cc.orig 2024-03-22 08:19:40 UTC
+++ ui/gfx/font_util.cc
@@ -6,7 +6,7 @@
@@ -15,6 +15,6 @@
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Ensures the config is created on this thread.
- FcConfig* config = GetGlobalFontConfig();
- DCHECK(config);
+ // Early initialize FontConfig.
+ InitializeGlobalFontConfigAsync();
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-ui_gfx_gpu__extra__info.h b/www/chromium/files/patch-ui_gfx_gpu__extra__info.h
new file mode 100644
index 000000000000..f95dc9acbdf7
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_gpu__extra__info.h
@@ -0,0 +1,11 @@
+--- ui/gfx/gpu_extra_info.h.orig 2025-07-02 06:08:04 UTC
++++ ui/gfx/gpu_extra_info.h
+@@ -51,7 +51,7 @@ struct COMPONENT_EXPORT(GFX) GpuExtraInfo {
+ std::vector<gfx::BufferUsageAndFormat> gpu_memory_buffer_support_x11;
+ #endif // BUILDFLAG(IS_OZONE_X11)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool is_gmb_nv12_supported = false;
+ #endif
+ };
diff --git a/www/chromium/files/patch-ui_gfx_gpu__memory__buffer.cc b/www/chromium/files/patch-ui_gfx_gpu__memory__buffer.cc
index 533769a6d43e..be1ef9dbe71e 100644
--- a/www/chromium/files/patch-ui_gfx_gpu__memory__buffer.cc
+++ b/www/chromium/files/patch-ui_gfx_gpu__memory__buffer.cc
@@ -1,11 +1,20 @@
---- ui/gfx/gpu_memory_buffer.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/gpu_memory_buffer.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/gfx/gpu_memory_buffer.cc
-@@ -54,7 +54,7 @@ GpuMemoryBufferHandle GpuMemoryBufferHandle::Clone() c
- handle.region = region.Duplicate();
+@@ -100,7 +100,7 @@ GpuMemoryBufferHandle::GpuMemoryBufferHandle(DXGIHandl
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ GpuMemoryBufferHandle::GpuMemoryBufferHandle(
+ NativePixmapHandle native_pixmap_handle)
+ : type(GpuMemoryBufferType::NATIVE_PIXMAP),
+@@ -138,7 +138,7 @@ GpuMemoryBufferHandle GpuMemoryBufferHandle::Clone() c
+ handle.id = id;
handle.offset = offset;
handle.stride = stride;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- handle.native_pixmap_handle = CloneHandleForIPC(native_pixmap_handle);
- #elif BUILDFLAG(IS_MAC)
+ handle.native_pixmap_handle_ = CloneHandleForIPC(native_pixmap_handle_);
+ #elif BUILDFLAG(IS_APPLE)
handle.io_surface = io_surface;
diff --git a/www/chromium/files/patch-ui_gfx_gpu__memory__buffer.h b/www/chromium/files/patch-ui_gfx_gpu__memory__buffer.h
index 2d4b542ed95d..cd57adab03c9 100644
--- a/www/chromium/files/patch-ui_gfx_gpu__memory__buffer.h
+++ b/www/chromium/files/patch-ui_gfx_gpu__memory__buffer.h
@@ -1,20 +1,47 @@
---- ui/gfx/gpu_memory_buffer.h.orig 2022-03-25 21:59:56 UTC
+--- ui/gfx/gpu_memory_buffer.h.orig 2025-07-02 06:08:04 UTC
+++ ui/gfx/gpu_memory_buffer.h
-@@ -16,7 +16,7 @@
- #include "ui/gfx/gfx_export.h"
- #include "ui/gfx/hdr_metadata.h"
+@@ -17,7 +17,7 @@
+ #include "ui/gfx/generic_shared_memory_id.h"
+ #include "ui/gfx/geometry/rect.h"
--#if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "ui/gfx/native_pixmap_handle.h"
- #elif BUILDFLAG(IS_MAC)
+ #elif BUILDFLAG(IS_APPLE)
#include "ui/gfx/mac/io_surface.h"
-@@ -78,7 +78,7 @@ struct GFX_EXPORT GpuMemoryBufferHandle {
- base::UnsafeSharedMemoryRegion region;
- uint32_t offset = 0;
- int32_t stride = 0;
+@@ -58,7 +58,7 @@ enum GpuMemoryBufferType {
+ #if BUILDFLAG(IS_APPLE)
+ IO_SURFACE_BUFFER,
+ #endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- NativePixmapHandle native_pixmap_handle;
- #elif BUILDFLAG(IS_MAC)
- ScopedIOSurface io_surface;
+ NATIVE_PIXMAP,
+ #endif
+ #if BUILDFLAG(IS_WIN)
+@@ -154,7 +154,7 @@ struct COMPONENT_EXPORT(GFX) GpuMemoryBufferHandle {
+ #if BUILDFLAG(IS_WIN)
+ explicit GpuMemoryBufferHandle(DXGIHandle handle);
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ explicit GpuMemoryBufferHandle(gfx::NativePixmapHandle native_pixmap_handle);
+ #endif
+ #if BUILDFLAG(IS_ANDROID)
+@@ -196,7 +196,7 @@ struct COMPONENT_EXPORT(GFX) GpuMemoryBufferHandle {
+ return std::move(region_);
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ const NativePixmapHandle& native_pixmap_handle() const& {
+ CHECK_EQ(type, NATIVE_PIXMAP);
+ return native_pixmap_handle_;
+@@ -240,7 +240,7 @@ struct COMPONENT_EXPORT(GFX) GpuMemoryBufferHandle {
+ // goal is to make `this` an encapsulated class.
+ base::UnsafeSharedMemoryRegion region_;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ NativePixmapHandle native_pixmap_handle_;
+ #endif
+
diff --git a/www/chromium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h b/www/chromium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h
deleted file mode 100644
index 6e0338f01778..000000000000
--- a/www/chromium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h
+++ /dev/null
@@ -1,44 +0,0 @@
---- ui/gfx/ipc/gfx_param_traits_macros.h.orig 2022-02-28 16:54:41 UTC
-+++ ui/gfx/ipc/gfx_param_traits_macros.h
-@@ -18,7 +18,7 @@
- #include "ui/gfx/selection_bound.h"
- #include "ui/gfx/swap_result.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "ui/gfx/native_pixmap_handle.h"
- #endif
-
-@@ -48,7 +48,7 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferHandle)
- IPC_STRUCT_TRAITS_MEMBER(region)
- IPC_STRUCT_TRAITS_MEMBER(offset)
- IPC_STRUCT_TRAITS_MEMBER(stride)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(native_pixmap_handle)
- #elif BUILDFLAG(IS_APPLE)
- IPC_STRUCT_TRAITS_MEMBER(io_surface)
-@@ -63,12 +63,12 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferId)
- IPC_STRUCT_TRAITS_MEMBER(id)
- IPC_STRUCT_TRAITS_END()
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapPlane)
- IPC_STRUCT_TRAITS_MEMBER(stride)
- IPC_STRUCT_TRAITS_MEMBER(offset)
- IPC_STRUCT_TRAITS_MEMBER(size)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(fd)
- #elif BUILDFLAG(IS_FUCHSIA)
- IPC_STRUCT_TRAITS_MEMBER(vmo)
-@@ -77,7 +77,7 @@ IPC_STRUCT_TRAITS_END()
-
- IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapHandle)
- IPC_STRUCT_TRAITS_MEMBER(planes)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(modifier)
- #endif
- #if BUILDFLAG(IS_FUCHSIA)
diff --git a/www/chromium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc b/www/chromium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc
deleted file mode 100644
index 3d99954b8fbc..000000000000
--- a/www/chromium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- ui/gfx/linux/client_native_pixmap_dmabuf.cc.orig 2022-02-07 13:39:41 UTC
-+++ 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/chromium/files/patch-ui_gfx_linux_dmabuf__uapi.h b/www/chromium/files/patch-ui_gfx_linux_dmabuf__uapi.h
new file mode 100644
index 000000000000..1f1a5f458d0f
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_linux_dmabuf__uapi.h
@@ -0,0 +1,36 @@
+--- ui/gfx/linux/dmabuf_uapi.h.orig 2023-10-12 11:15:05 UTC
++++ 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 __u64 DMA_BUF_SYNC_END = 1 << 2;
+ constexpr char DMA_BUF_BASE = 'b';
+ constexpr unsigned long DMA_BUF_IOCTL_SYNC =
+ _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync);
+-#endif
+
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
+ struct dma_buf_export_sync_file {
+ __u32 flags;
+ __s32 fd;
+@@ -43,6 +40,5 @@ constexpr unsigned long DMA_BUF_IOCTL_EXPORT_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/chromium/files/patch-ui_gfx_linux_gbm__wrapper.cc b/www/chromium/files/patch-ui_gfx_linux_gbm__wrapper.cc
new file mode 100644
index 000000000000..c0d23d0467bb
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_linux_gbm__wrapper.cc
@@ -0,0 +1,11 @@
+--- ui/gfx/linux/gbm_wrapper.cc.orig 2025-02-19 07:43:18 UTC
++++ ui/gfx/linux/gbm_wrapper.cc
+@@ -318,7 +318,7 @@ class Device final : public ui::GbmDevice {
+ // of 1x1 BOs which are destroyed before creating the final BO creation used
+ // to instantiate the returned GbmBuffer.
+ gfx::Size size_for_verification =
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ gfx::Size(1, 1);
+ #else
+ requested_size;
diff --git a/www/chromium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc b/www/chromium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc
deleted file mode 100644
index e1aa8a535b8d..000000000000
--- a/www/chromium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/mojom/buffer_types_mojom_traits.cc.orig 2022-06-17 14:20:10 UTC
-+++ ui/gfx/mojom/buffer_types_mojom_traits.cc
-@@ -33,7 +33,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTra
- return gfx::mojom::GpuMemoryBufferPlatformHandle::NewSharedMemoryHandle(
- std::move(handle.region));
- case gfx::NATIVE_PIXMAP:
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
- return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle(
- std::move(handle.native_pixmap_handle));
- #else
-@@ -115,7 +115,7 @@ bool StructTraits<gfx::mojom::GpuMemoryBufferHandleDat
- out->type = gfx::SHARED_MEMORY_BUFFER;
- out->region = std::move(platform_handle->get_shared_memory_handle());
- return true;
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
- case gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag::
- kNativePixmapHandle:
- out->type = gfx::NATIVE_PIXMAP;
diff --git a/www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc b/www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc
index e75407e9a750..43d427ea7d12 100644
--- a/www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc
+++ b/www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc
@@ -1,11 +1,20 @@
---- ui/gfx/mojom/native_handle_types_mojom_traits.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/mojom/native_handle_types_mojom_traits.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/gfx/mojom/native_handle_types_mojom_traits.cc
-@@ -8,11 +8,11 @@
+@@ -14,7 +14,7 @@
+ #include "ui/gfx/mac/io_surface.h"
+ #endif // BUILDFLAG(IS_APPLE)
- namespace mojo {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
+ #include "ui/gfx/native_pixmap_handle.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
+@@ -80,11 +80,11 @@ bool StructTraits<gfx::mojom::AHardwareBufferHandleDat
+ }
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
mojo::PlatformHandle StructTraits<
gfx::mojom::NativePixmapPlaneDataView,
gfx::NativePixmapPlane>::buffer_handle(gfx::NativePixmapPlane& plane) {
@@ -14,7 +23,7 @@
return mojo::PlatformHandle(std::move(plane.fd));
#elif BUILDFLAG(IS_FUCHSIA)
return mojo::PlatformHandle(std::move(plane.vmo));
-@@ -28,7 +28,7 @@ bool StructTraits<
+@@ -100,7 +100,7 @@ bool StructTraits<
out->size = data.size();
mojo::PlatformHandle handle = data.TakeBufferHandle();
@@ -23,12 +32,30 @@
if (!handle.is_fd())
return false;
out->fd = handle.TakeFD();
-@@ -45,7 +45,7 @@ bool StructTraits<
+@@ -126,7 +126,7 @@ bool StructTraits<
gfx::mojom::NativePixmapHandleDataView,
gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data,
gfx::NativePixmapHandle* out) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
out->modifier = data.modifier();
- #endif
-
+ out->supports_zero_copy_webgpu_import =
+ data.supports_zero_copy_webgpu_import();
+@@ -187,7 +187,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag
+ case gfx::IO_SURFACE_BUFFER:
+ return Tag::kMachPort;
+ #endif // BUILDFLAG(IS_APPLE)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
+ case gfx::NATIVE_PIXMAP:
+ return Tag::kNativePixmapHandle;
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
+@@ -251,7 +251,7 @@ bool UnionTraits<gfx::mojom::GpuMemoryBufferPlatformHa
+ }
+ return true;
+ #endif // BUILDFLAG(IS_APPLE)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
+ case Tag::kNativePixmapHandle:
+ handle->type = gfx::NATIVE_PIXMAP;
+ return data.ReadNativePixmapHandle(&handle->native_pixmap_handle_);
diff --git a/www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h b/www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h
index fe71a756be38..8552d326e8c1 100644
--- a/www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h
+++ b/www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h
@@ -1,24 +1,24 @@
---- ui/gfx/mojom/native_handle_types_mojom_traits.h.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/mojom/native_handle_types_mojom_traits.h.orig 2025-07-02 06:08:04 UTC
+++ ui/gfx/mojom/native_handle_types_mojom_traits.h
-@@ -15,7 +15,7 @@
- #include "third_party/abseil-cpp/absl/types/optional.h"
+@@ -18,7 +18,7 @@
+ #include "ui/gfx/gpu_memory_buffer.h"
#include "ui/gfx/mojom/native_handle_types.mojom-shared.h"
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
#include "ui/gfx/native_pixmap_handle.h"
- #endif
-
-@@ -25,7 +25,7 @@
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
- namespace mojo {
+@@ -46,7 +46,7 @@ struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED
+ };
+ #endif // BUILDFLAG(IS_ANDROID)
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
template <>
struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED_MOJOM_TRAITS)
StructTraits<gfx::mojom::NativePixmapPlaneDataView,
-@@ -53,7 +53,7 @@ struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED
+@@ -74,13 +74,13 @@ struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED
return pixmap_handle.planes;
}
@@ -27,3 +27,19 @@
static uint64_t modifier(const gfx::NativePixmapHandle& pixmap_handle) {
return pixmap_handle.modifier;
}
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ static bool supports_zero_copy_webgpu_import(
+ const gfx::NativePixmapHandle& pixmap_handle) {
+ return pixmap_handle.supports_zero_copy_webgpu_import;
+@@ -159,7 +159,7 @@ struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED
+ static PlatformHandle mach_port(gfx::GpuMemoryBufferHandle& handle);
+ #endif // BUILDFLAG(IS_APPLE)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
+ static gfx::NativePixmapHandle& native_pixmap_handle(
+ gfx::GpuMemoryBufferHandle& handle) {
+ return handle.native_pixmap_handle_;
diff --git a/www/chromium/files/patch-ui_gfx_native__pixmap__handle.cc b/www/chromium/files/patch-ui_gfx_native__pixmap__handle.cc
index 6c0473f75cc5..e223aa32f5ad 100644
--- a/www/chromium/files/patch-ui_gfx_native__pixmap__handle.cc
+++ b/www/chromium/files/patch-ui_gfx_native__pixmap__handle.cc
@@ -1,15 +1,15 @@
---- ui/gfx/native_pixmap_handle.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/gfx/native_pixmap_handle.cc.orig 2022-11-30 08:12:58 UTC
+++ ui/gfx/native_pixmap_handle.cc
-@@ -9,7 +9,7 @@
- #include "base/logging.h"
- #include "build/build_config.h"
+@@ -11,7 +11,7 @@
+ #include "ui/gfx/buffer_format_util.h"
+ #include "ui/gfx/geometry/size.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <drm_fourcc.h>
#include <unistd.h>
-@@ -21,9 +21,13 @@
+@@ -23,9 +23,13 @@
#include "base/fuchsia/fuchsia_logging.h"
#endif
@@ -24,7 +24,7 @@
static_assert(NativePixmapHandle::kNoModifier == DRM_FORMAT_MOD_INVALID,
"gfx::NativePixmapHandle::kNoModifier should be an alias for"
"DRM_FORMAT_MOD_INVALID");
-@@ -34,7 +38,7 @@ NativePixmapPlane::NativePixmapPlane() : stride(0), of
+@@ -36,7 +40,7 @@ NativePixmapPlane::NativePixmapPlane() : stride(0), of
NativePixmapPlane::NativePixmapPlane(int stride,
int offset,
uint64_t size
@@ -33,7 +33,7 @@
,
base::ScopedFD fd
#elif BUILDFLAG(IS_FUCHSIA)
-@@ -45,7 +49,7 @@ NativePixmapPlane::NativePixmapPlane(int stride,
+@@ -47,7 +51,7 @@ NativePixmapPlane::NativePixmapPlane(int stride,
: stride(stride),
offset(offset),
size(size)
@@ -42,7 +42,7 @@
,
fd(std::move(fd))
#elif BUILDFLAG(IS_FUCHSIA)
-@@ -73,7 +77,7 @@ NativePixmapHandle& NativePixmapHandle::operator=(Nati
+@@ -75,7 +79,7 @@ NativePixmapHandle& NativePixmapHandle::operator=(Nati
NativePixmapHandle CloneHandleForIPC(const NativePixmapHandle& handle) {
NativePixmapHandle clone;
for (auto& plane : handle.planes) {
@@ -51,7 +51,7 @@
DCHECK(plane.fd.is_valid());
// Combining the HANDLE_EINTR and ScopedFD's constructor causes the compiler
// to emit some very strange assembly that tends to cause FD ownership
-@@ -103,7 +107,7 @@ NativePixmapHandle CloneHandleForIPC(const NativePixma
+@@ -113,7 +117,7 @@ NativePixmapHandle CloneHandleForIPC(const NativePixma
#endif
}
diff --git a/www/chromium/files/patch-ui_gfx_native__pixmap__handle.h b/www/chromium/files/patch-ui_gfx_native__pixmap__handle.h
index f7057e7ae43c..f4f3f4ee150e 100644
--- a/www/chromium/files/patch-ui_gfx_native__pixmap__handle.h
+++ b/www/chromium/files/patch-ui_gfx_native__pixmap__handle.h
@@ -1,15 +1,15 @@
---- ui/gfx/native_pixmap_handle.h.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/native_pixmap_handle.h.orig 2025-01-15 09:18:26 UTC
+++ ui/gfx/native_pixmap_handle.h
-@@ -15,7 +15,7 @@
- #include "third_party/abseil-cpp/absl/types/optional.h"
- #include "ui/gfx/gfx_export.h"
+@@ -14,7 +14,7 @@
+ #include "build/build_config.h"
+ #include "ui/gfx/buffer_types.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/files/scoped_file.h"
#endif
-@@ -32,7 +32,7 @@ struct GFX_EXPORT NativePixmapPlane {
+@@ -34,7 +34,7 @@ struct COMPONENT_EXPORT(GFX) NativePixmapPlane {
NativePixmapPlane(int stride,
int offset,
uint64_t size
@@ -18,7 +18,7 @@
,
base::ScopedFD fd
#elif BUILDFLAG(IS_FUCHSIA)
-@@ -53,7 +53,7 @@ struct GFX_EXPORT NativePixmapPlane {
+@@ -55,7 +55,7 @@ struct COMPONENT_EXPORT(GFX) NativePixmapPlane {
// This is necessary to map the buffers.
uint64_t size;
@@ -27,7 +27,7 @@
// File descriptor for the underlying memory object (usually dmabuf).
base::ScopedFD fd;
#elif BUILDFLAG(IS_FUCHSIA)
-@@ -82,7 +82,7 @@ struct GFX_EXPORT NativePixmapHandle {
+@@ -78,7 +78,7 @@ struct COMPONENT_EXPORT(GFX) NativePixmapHandle {
std::vector<NativePixmapPlane> planes;
diff --git a/www/chromium/files/patch-ui_gfx_native__widget__types.h b/www/chromium/files/patch-ui_gfx_native__widget__types.h
index 41e0ce3986f1..3a8f5d86f936 100644
--- a/www/chromium/files/patch-ui_gfx_native__widget__types.h
+++ b/www/chromium/files/patch-ui_gfx_native__widget__types.h
@@ -1,20 +1,20 @@
---- ui/gfx/native_widget_types.h.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/native_widget_types.h.orig 2025-05-28 14:55:43 UTC
+++ ui/gfx/native_widget_types.h
-@@ -106,7 +106,7 @@ class SkBitmap;
+@@ -102,7 +102,7 @@ class ViewAndroid;
+ #endif
+ class SkBitmap;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
extern "C" {
struct _AtkObject;
- typedef struct _AtkObject AtkObject;
-@@ -209,7 +209,7 @@ typedef NSFont* NativeFont;
- typedef id NativeViewAccessible;
- // 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 AtkObject = struct _AtkObject;
+@@ -186,7 +186,7 @@ using NativeViewAccessible = IAccessible*;
+ using NativeViewAccessible = base::apple::OwnedNSObject;
+ #elif BUILDFLAG(IS_MAC)
+ using NativeViewAccessible = base::apple::OwnedNSAccessibility;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Linux doesn't have a native accessibility type.
+ using NativeViewAccessible = AtkObject*;
#else
diff --git a/www/chromium/files/patch-ui_gfx_platform__font__skia.cc b/www/chromium/files/patch-ui_gfx_platform__font__skia.cc
new file mode 100644
index 000000000000..1d867ecf3822
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_platform__font__skia.cc
@@ -0,0 +1,20 @@
+--- ui/gfx/platform_font_skia.cc.orig 2024-08-26 12:06:38 UTC
++++ ui/gfx/platform_font_skia.cc
+@@ -29,7 +29,7 @@
+ #include "ui/gfx/system_fonts_win.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #endif
+
+@@ -167,7 +167,7 @@ void PlatformFontSkia::EnsuresDefaultFontIsInitialized
+ weight = system_font.GetWeight();
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Linux, LinuxUi is used to query the native toolkit (e.g.
+ // GTK) for the default UI font.
+ if (auto* linux_ui = ui::LinuxUi::instance()) {
diff --git a/www/chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc b/www/chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc
index 8b5c016b028e..91079ce0598c 100644
--- a/www/chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc
+++ b/www/chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc
@@ -1,29 +1,20 @@
---- ui/gfx/render_text_api_fuzzer.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/render_text_api_fuzzer.cc.orig 2025-01-15 09:18:26 UTC
+++ ui/gfx/render_text_api_fuzzer.cc
-@@ -21,7 +21,7 @@
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if BUILDFLAG(IS_ANDROID) || \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- #include "base/test/test_discardable_memory_allocator.h"
- #endif
+@@ -19,7 +19,7 @@
+ #include "ui/gfx/font_util.h"
+ #include "ui/gfx/render_text.h"
-@@ -44,7 +44,7 @@ struct Environment {
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if BUILDFLAG(IS_ANDROID) || \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- // Some platforms require discardable memory to use bitmap fonts.
- base::DiscardableMemoryAllocator::SetInstance(
- &discardable_memory_allocator);
-@@ -56,7 +56,7 @@ struct Environment {
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if BUILDFLAG(IS_ANDROID) || \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
- base::TestDiscardableMemoryAllocator discardable_memory_allocator;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h"
#endif
+@@ -46,7 +46,7 @@ struct Environment {
+
+ CHECK(base::i18n::InitializeICU());
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ test_fonts::SetUpFontconfig();
+ #endif
+ gfx::InitializeFonts();
diff --git a/www/chromium/files/patch-ui_gfx_render__text__fuzzer.cc b/www/chromium/files/patch-ui_gfx_render__text__fuzzer.cc
new file mode 100644
index 000000000000..97a711a34209
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_render__text__fuzzer.cc
@@ -0,0 +1,20 @@
+--- ui/gfx/render_text_fuzzer.cc.orig 2024-06-17 12:56:06 UTC
++++ ui/gfx/render_text_fuzzer.cc
+@@ -17,7 +17,7 @@
+ #include "ui/gfx/canvas.h"
+ #include "ui/gfx/font_util.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h"
+ #endif
+
+@@ -40,7 +40,7 @@ struct Environment {
+
+ CHECK(base::i18n::InitializeICU());
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ test_fonts::SetUpFontconfig();
+ #endif
+ gfx::InitializeFonts();
diff --git a/www/chromium/files/patch-ui_gfx_switches.cc b/www/chromium/files/patch-ui_gfx_switches.cc
index 3f5285b48ac9..87e6158a8e7f 100644
--- a/www/chromium/files/patch-ui_gfx_switches.cc
+++ b/www/chromium/files/patch-ui_gfx_switches.cc
@@ -1,8 +1,8 @@
---- ui/gfx/switches.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/switches.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/gfx/switches.cc
-@@ -26,7 +26,7 @@ const char kForcePrefersReducedMotion[] = "force-prefe
- // Run in headless mode, i.e., without a UI or display server dependencies.
- const char kHeadless[] = "headless";
+@@ -36,7 +36,7 @@ const char kHeadless[] = "headless";
+ // See //components/headless/screen_info/README.md for more details.
+ const char kScreenInfo[] = "screen-info";
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-ui_gfx_switches.h b/www/chromium/files/patch-ui_gfx_switches.h
index 0bacccff8c67..c5f12a549b44 100644
--- a/www/chromium/files/patch-ui_gfx_switches.h
+++ b/www/chromium/files/patch-ui_gfx_switches.h
@@ -1,8 +1,8 @@
---- ui/gfx/switches.h.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/switches.h.orig 2025-07-02 06:08:04 UTC
+++ ui/gfx/switches.h
-@@ -17,7 +17,7 @@ GFX_SWITCHES_EXPORT extern const char kEnableNativeGpu
- GFX_SWITCHES_EXPORT extern const char kForcePrefersReducedMotion[];
+@@ -19,7 +19,7 @@ GFX_SWITCHES_EXPORT extern const char kForcePrefersNoR
GFX_SWITCHES_EXPORT extern const char kHeadless[];
+ GFX_SWITCHES_EXPORT extern const char kScreenInfo[];
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/chromium/files/patch-ui_gfx_x_atom__cache.cc b/www/chromium/files/patch-ui_gfx_x_atom__cache.cc
new file mode 100644
index 000000000000..3496e0180705
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_x_atom__cache.cc
@@ -0,0 +1,10 @@
+--- ui/gfx/x/atom_cache.cc.orig 2025-05-05 10:57:53 UTC
++++ ui/gfx/x/atom_cache.cc
+@@ -157,6 +157,7 @@ constexpr auto kAtomsToCache = std::to_array<const cha
+ "application/octet-stream",
+ "application/vnd.chromium.test",
+ "chromium/filename",
++ "chromium/from-privileged",
+ "chromium/x-bookmark-entries",
+ "chromium/x-browser-actions",
+ "chromium/x-file-system-files",
diff --git a/www/chromium/files/patch-ui_gfx_x_generated__protos_dri3.cc b/www/chromium/files/patch-ui_gfx_x_generated__protos_dri3.cc
index ece38ca39b19..bc45cc343837 100644
--- a/www/chromium/files/patch-ui_gfx_x_generated__protos_dri3.cc
+++ b/www/chromium/files/patch-ui_gfx_x_generated__protos_dri3.cc
@@ -1,6 +1,6 @@
---- ui/gfx/x/generated_protos/dri3.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/x/generated_protos/dri3.cc.orig 2024-01-30 07:53:34 UTC
+++ ui/gfx/x/generated_protos/dri3.cc
-@@ -44,6 +44,8 @@
+@@ -27,6 +27,8 @@
#include <xcb/xcb.h>
#include <xcb/xcbext.h>
@@ -8,4 +8,4 @@
+
#include "base/logging.h"
#include "base/posix/eintr_wrapper.h"
- #include "ui/gfx/x/xproto_internal.h"
+ #include "ui/gfx/x/connection.h"
diff --git a/www/chromium/files/patch-ui_gfx_x_generated__protos_shm.cc b/www/chromium/files/patch-ui_gfx_x_generated__protos_shm.cc
index ec4011950c6b..eeca9e455ab6 100644
--- a/www/chromium/files/patch-ui_gfx_x_generated__protos_shm.cc
+++ b/www/chromium/files/patch-ui_gfx_x_generated__protos_shm.cc
@@ -1,6 +1,6 @@
---- ui/gfx/x/generated_protos/shm.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gfx/x/generated_protos/shm.cc.orig 2024-01-30 07:53:34 UTC
+++ ui/gfx/x/generated_protos/shm.cc
-@@ -44,6 +44,8 @@
+@@ -27,6 +27,8 @@
#include <xcb/xcb.h>
#include <xcb/xcbext.h>
@@ -8,4 +8,4 @@
+
#include "base/logging.h"
#include "base/posix/eintr_wrapper.h"
- #include "ui/gfx/x/xproto_internal.h"
+ #include "ui/gfx/x/connection.h"
diff --git a/www/chromium/files/patch-ui_gfx_x_xlib__support.cc b/www/chromium/files/patch-ui_gfx_x_xlib__support.cc
index 1f642681f5e7..e714a42ee809 100644
--- a/www/chromium/files/patch-ui_gfx_x_xlib__support.cc
+++ b/www/chromium/files/patch-ui_gfx_x_xlib__support.cc
@@ -1,17 +1,17 @@
---- ui/gfx/x/xlib_support.cc.orig 2022-02-07 13:39:41 UTC
+--- ui/gfx/x/xlib_support.cc.orig 2024-02-23 21:04:38 UTC
+++ ui/gfx/x/xlib_support.cc
-@@ -38,10 +38,18 @@ void InitXlib() {
- if (xlib_loader->loaded())
+@@ -39,10 +39,18 @@ void InitXlib() {
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/chromium/files/patch-ui_gl_BUILD.gn b/www/chromium/files/patch-ui_gl_BUILD.gn
index 94ed646623e6..a69e2037658f 100644
--- a/www/chromium/files/patch-ui_gl_BUILD.gn
+++ b/www/chromium/files/patch-ui_gl_BUILD.gn
@@ -1,35 +1,10 @@
---- ui/gl/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- ui/gl/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ ui/gl/BUILD.gn
-@@ -166,8 +166,6 @@ component("gl") {
- defines += [ "GPU_ENABLE_SERVICE_LOGGING" ]
- }
-
-- include_dirs = [ "//third_party/mesa_headers" ]
--
- all_dependent_configs = [ ":gl_config" ]
-
- public_configs = [ "//third_party/khronos:khronos_headers" ]
-@@ -184,7 +182,6 @@ component("gl") {
- ]
- public_deps = [
- "//base",
-- "//third_party/mesa_headers",
- "//ui/events/platform",
- "//ui/gfx",
- "//ui/gfx/geometry",
-@@ -420,7 +417,6 @@ component("gl") {
- data_deps += [
- "//third_party/angle:libEGL",
- "//third_party/angle:libGLESv2",
-- "//third_party/mesa_headers",
- ]
- if (enable_swiftshader) {
- data_deps += [
-@@ -639,7 +635,6 @@ test("gl_unittests") {
+@@ -569,7 +569,6 @@ test("gl_unittests") {
data_deps = [
"//testing/buildbot/filters:gl_unittests_filters",
- "//third_party/mesa_headers",
]
- # TODO(https://crbug.com/789065): this must be moved to Ozone.
+ if (is_win) {
diff --git a/www/chromium/files/patch-ui_gl_generate__bindings.py b/www/chromium/files/patch-ui_gl_generate__bindings.py
deleted file mode 100644
index 6ceaa0b651f5..000000000000
--- a/www/chromium/files/patch-ui_gl_generate__bindings.py
+++ /dev/null
@@ -1,12 +0,0 @@
---- ui/gl/generate_bindings.py.orig 2022-07-22 17:30:31 UTC
-+++ ui/gl/generate_bindings.py
-@@ -2925,6 +2925,9 @@ GLX_FUNCTIONS = [
- 'arguments':
- 'Display* dpy, GLXDrawable drawable, int32_t* numerator, '
- 'int32_t* denominator' },
-+{ 'return_type': '__GLXextFuncPtr',
-+ 'names': ['glXGetProcAddressARB'],
-+ 'arguments': 'const GLubyte* procName', },
- { 'return_type': 'void',
- 'names': ['glXGetSelectedEvent'],
- 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long* mask', },
diff --git a/www/chromium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h b/www/chromium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h
deleted file mode 100644
index 94b80fa852b9..000000000000
--- a/www/chromium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- ui/gl/gl_bindings_api_autogen_glx.h.orig 2021-04-14 18:41:39 UTC
-+++ ui/gl/gl_bindings_api_autogen_glx.h
-@@ -88,6 +88,7 @@ bool glXGetMscRateOMLFn(Display* dpy,
- GLXDrawable drawable,
- int32_t* numerator,
- int32_t* denominator) override;
-+__GLXextFuncPtr glXGetProcAddressARBFn(const GLubyte* procName) override;
- void glXGetSelectedEventFn(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask) override;
diff --git a/www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.cc b/www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.cc
deleted file mode 100644
index 6d3ae1073346..000000000000
--- a/www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.cc
+++ /dev/null
@@ -1,61 +0,0 @@
---- ui/gl/gl_bindings_autogen_glx.cc.orig 2022-02-07 13:39:41 UTC
-+++ ui/gl/gl_bindings_autogen_glx.cc
-@@ -115,6 +115,8 @@ void DriverGLX::InitializeExtensionBindings() {
-
- ext.b_GLX_ARB_create_context =
- gfx::HasExtension(extensions, "GLX_ARB_create_context");
-+ ext.b_GLX_ARB_get_proc_address =
-+ gfx::HasExtension(extensions, "GLX_ARB_get_proc_address");
- ext.b_GLX_EXT_swap_control =
- gfx::HasExtension(extensions, "GLX_EXT_swap_control");
- ext.b_GLX_EXT_texture_from_pixmap =
-@@ -156,6 +158,11 @@ void DriverGLX::InitializeExtensionBindings() {
- GetGLProcAddress("glXGetMscRateOML"));
- }
-
-+ if (ext.b_GLX_ARB_get_proc_address) {
-+ fn.glXGetProcAddressARBFn = reinterpret_cast<glXGetProcAddressARBProc>(
-+ GetGLProcAddress("glXGetProcAddressARB"));
-+ }
-+
- if (ext.b_GLX_OML_sync_control) {
- fn.glXGetSyncValuesOMLFn = reinterpret_cast<glXGetSyncValuesOMLProc>(
- GetGLProcAddress("glXGetSyncValuesOML"));
-@@ -346,6 +353,10 @@ bool GLXApiBase::glXGetMscRateOMLFn(Display* dpy,
- return driver_->fn.glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
- }
-
-+__GLXextFuncPtr GLXApiBase::glXGetProcAddressARBFn(const GLubyte* procName) {
-+ return driver_->fn.glXGetProcAddressARBFn(procName);
-+}
-+
- void GLXApiBase::glXGetSelectedEventFn(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask) {
-@@ -648,6 +659,11 @@ bool TraceGLXApi::glXGetMscRateOMLFn(Display* dpy,
- return glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
- }
-
-+__GLXextFuncPtr TraceGLXApi::glXGetProcAddressARBFn(const GLubyte* procName) {
-+ TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLXAPI::glXGetProcAddressARB")
-+ return glx_api_->glXGetProcAddressARBFn(procName);
-+}
-+
- void TraceGLXApi::glXGetSelectedEventFn(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask) {
-@@ -1069,6 +1085,14 @@ bool LogGLXApi::glXGetMscRateOMLFn(Display* dpy,
- << static_cast<const void*>(denominator) << ")");
- bool result =
- glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
-+ GL_SERVICE_LOG("GL_RESULT: " << result);
-+ return result;
-+}
-+
-+__GLXextFuncPtr LogGLXApi::glXGetProcAddressARBFn(const GLubyte* procName) {
-+ GL_SERVICE_LOG("glXGetProcAddressARB"
-+ << "(" << static_cast<const void*>(procName) << ")");
-+ __GLXextFuncPtr result = glx_api_->glXGetProcAddressARBFn(procName);
- GL_SERVICE_LOG("GL_RESULT: " << result);
- return result;
- }
diff --git a/www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.h b/www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.h
deleted file mode 100644
index 5056950b8b34..000000000000
--- a/www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.h
+++ /dev/null
@@ -1,43 +0,0 @@
---- ui/gl/gl_bindings_autogen_glx.h.orig 2021-04-14 18:41:39 UTC
-+++ ui/gl/gl_bindings_autogen_glx.h
-@@ -104,6 +104,8 @@ typedef bool(GL_BINDING_CALL* glXGetMscRateOMLProc)(Di
- GLXDrawable drawable,
- int32_t* numerator,
- int32_t* denominator);
-+typedef __GLXextFuncPtr(GL_BINDING_CALL* glXGetProcAddressARBProc)(
-+ const GLubyte* procName);
- typedef void(GL_BINDING_CALL* glXGetSelectedEventProc)(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask);
-@@ -166,6 +168,7 @@ typedef void(GL_BINDING_CALL* glXWaitXProc)(void);
-
- struct ExtensionsGLX {
- bool b_GLX_ARB_create_context;
-+ bool b_GLX_ARB_get_proc_address;
- bool b_GLX_EXT_swap_control;
- bool b_GLX_EXT_texture_from_pixmap;
- bool b_GLX_MESA_copy_sub_buffer;
-@@ -203,6 +206,7 @@ struct ProcsGLX {
- glXGetFBConfigFromVisualSGIXProc glXGetFBConfigFromVisualSGIXFn;
- glXGetFBConfigsProc glXGetFBConfigsFn;
- glXGetMscRateOMLProc glXGetMscRateOMLFn;
-+ glXGetProcAddressARBProc glXGetProcAddressARBFn;
- glXGetSelectedEventProc glXGetSelectedEventFn;
- glXGetSyncValuesOMLProc glXGetSyncValuesOMLFn;
- glXGetVisualFromFBConfigProc glXGetVisualFromFBConfigFn;
-@@ -310,6 +314,7 @@ class GL_EXPORT GLXApi {
- GLXDrawable drawable,
- int32_t* numerator,
- int32_t* denominator) = 0;
-+ virtual __GLXextFuncPtr glXGetProcAddressARBFn(const GLubyte* procName) = 0;
- virtual void glXGetSelectedEventFn(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask) = 0;
-@@ -394,6 +399,7 @@ class GL_EXPORT GLXApi {
- ::gl::g_current_glx_context->glXGetFBConfigFromVisualSGIXFn
- #define glXGetFBConfigs ::gl::g_current_glx_context->glXGetFBConfigsFn
- #define glXGetMscRateOML ::gl::g_current_glx_context->glXGetMscRateOMLFn
-+#define glXGetProcAddressARB ::gl::g_current_glx_context->glXGetProcAddressARBFn
- #define glXGetSelectedEvent ::gl::g_current_glx_context->glXGetSelectedEventFn
- #define glXGetSyncValuesOML ::gl::g_current_glx_context->glXGetSyncValuesOMLFn
- #define glXGetVisualFromFBConfig \
diff --git a/www/chromium/files/patch-ui_gl_gl__context.cc b/www/chromium/files/patch-ui_gl_gl__context.cc
index aadfb35988c7..209d330a6420 100644
--- a/www/chromium/files/patch-ui_gl_gl__context.cc
+++ b/www/chromium/files/patch-ui_gl_gl__context.cc
@@ -1,6 +1,6 @@
---- ui/gl/gl_context.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/gl/gl_context.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/gl/gl_context.cc
-@@ -415,7 +415,7 @@ bool GLContext::MakeVirtuallyCurrent(
+@@ -517,7 +517,7 @@ bool GLContext::MakeVirtuallyCurrent(
DCHECK(virtual_context->IsCurrent(surface));
if (switched_real_contexts || virtual_context != current_virtual_context_) {
diff --git a/www/chromium/files/patch-ui_gl_gl__features.cc b/www/chromium/files/patch-ui_gl_gl__features.cc
deleted file mode 100644
index f51eaab55a8c..000000000000
--- a/www/chromium/files/patch-ui_gl_gl__features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/gl_features.cc.orig 2022-07-22 17:30:31 UTC
-+++ ui/gl/gl_features.cc
-@@ -85,7 +85,7 @@ const base::Feature kDefaultPassthroughCommandDecoder
- "DefaultPassthroughCommandDecoder",
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_MAC)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-ui_gl_gl__fence.cc b/www/chromium/files/patch-ui_gl_gl__fence.cc
new file mode 100644
index 000000000000..60d5026e8ff7
--- /dev/null
+++ b/www/chromium/files/patch-ui_gl_gl__fence.cc
@@ -0,0 +1,11 @@
+--- ui/gl/gl_fence.cc.orig 2024-08-26 12:06:38 UTC
++++ ui/gl/gl_fence.cc
+@@ -17,7 +17,7 @@
+ #include "ui/gl/gl_surface_egl.h"
+ #include "ui/gl/gl_version_info.h"
+
+-#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/chromium/files/patch-ui_gl_gl__image__glx__native__pixmap.cc b/www/chromium/files/patch-ui_gl_gl__image__glx__native__pixmap.cc
deleted file mode 100644
index 474c9f51caa8..000000000000
--- a/www/chromium/files/patch-ui_gl_gl__image__glx__native__pixmap.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/gl_image_glx_native_pixmap.cc.orig 2022-06-17 14:20:10 UTC
-+++ ui/gl/gl_image_glx_native_pixmap.cc
-@@ -17,6 +17,8 @@
- #include "ui/gl/buffer_format_utils.h"
- #include "ui/gl/gl_bindings.h"
-
-+#include <unistd.h>
-+
- namespace gl {
-
- namespace {
diff --git a/www/chromium/files/patch-ui_gl_gl__implementation.cc b/www/chromium/files/patch-ui_gl_gl__implementation.cc
new file mode 100644
index 000000000000..23285d47c449
--- /dev/null
+++ b/www/chromium/files/patch-ui_gl_gl__implementation.cc
@@ -0,0 +1,11 @@
+--- ui/gl/gl_implementation.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/gl/gl_implementation.cc
+@@ -287,7 +287,7 @@ GetRequestedGLImplementationFromCommandLine(
+ const base::CommandLine* command_line) {
+ bool overrideUseSoftwareGL =
+ command_line->HasSwitch(switches::kOverrideUseSoftwareGLForTests);
+-#if BUILDFLAG(IS_LINUX) || \
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE))
+ if (std::getenv("RUNNING_UNDER_RR")) {
+ // https://rr-project.org/ is a Linux-only record-and-replay debugger that
diff --git a/www/chromium/files/patch-ui_gl_gl__switches.cc b/www/chromium/files/patch-ui_gl_gl__switches.cc
new file mode 100644
index 000000000000..3dbedfdebacb
--- /dev/null
+++ b/www/chromium/files/patch-ui_gl_gl__switches.cc
@@ -0,0 +1,29 @@
+--- ui/gl/gl_switches.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/gl/gl_switches.cc
+@@ -15,7 +15,7 @@
+ #endif
+
+ #if BUILDFLAG(ENABLE_VULKAN) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD))
+ #include <vulkan/vulkan_core.h>
+ #include "third_party/angle/src/gpu_info_util/SystemInfo.h" // nogncheck
+ #endif // BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) ||
+@@ -323,7 +323,7 @@ bool IsDefaultANGLEVulkan() {
+ }
+ #endif // BUILDFLAG(IS_ANDROID)
+ #if BUILDFLAG(ENABLE_VULKAN) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD))
+ angle::SystemInfo system_info;
+ {
+ GPU_STARTUP_TRACE_EVENT("angle::GetSystemInfoVulkan");
+@@ -392,7 +392,7 @@ bool IsDefaultANGLEVulkan() {
+ }
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // AMDVLK driver is buggy, so disable Vulkan with AMDVLK for now.
+ // crbug.com/1340081
+ if (active_gpu.driverId == VK_DRIVER_ID_AMD_OPEN_SOURCE)
diff --git a/www/chromium/files/patch-ui_gl_sync__control__vsync__provider.cc b/www/chromium/files/patch-ui_gl_sync__control__vsync__provider.cc
index 539e7fbe08d7..9ba6e8687826 100644
--- a/www/chromium/files/patch-ui_gl_sync__control__vsync__provider.cc
+++ b/www/chromium/files/patch-ui_gl_sync__control__vsync__provider.cc
@@ -1,4 +1,4 @@
---- ui/gl/sync_control_vsync_provider.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/gl/sync_control_vsync_provider.cc.orig 2024-07-30 11:12:21 UTC
+++ ui/gl/sync_control_vsync_provider.cc
@@ -11,7 +11,7 @@
#include "base/trace_event/trace_event.h"
@@ -24,10 +24,10 @@
TRACE_EVENT0("gpu", "SyncControlVSyncProvider::GetVSyncParameters");
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // The actual clock used for the system time returned by glXGetSyncValuesOML
- // is unspecified. In practice, the clock used is likely to be either
- // CLOCK_REALTIME or CLOCK_MONOTONIC, so we compare the returned time to the
-@@ -159,7 +159,7 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva
+ // The actual clock used for the system time returned by
+ // eglGetSyncValuesCHROMIUM is unspecified. In practice, the clock used is
+ // likely to be either CLOCK_REALTIME or CLOCK_MONOTONIC, so we compare the
+@@ -160,7 +160,7 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva
}
bool SyncControlVSyncProvider::SupportGetVSyncParametersIfAvailable() const {
diff --git a/www/chromium/files/patch-ui_gtk_gtk__compat.cc b/www/chromium/files/patch-ui_gtk_gtk__compat.cc
index 7d11b98dac2c..ab6b71868865 100644
--- a/www/chromium/files/patch-ui_gtk_gtk__compat.cc
+++ b/www/chromium/files/patch-ui_gtk_gtk__compat.cc
@@ -1,10 +1,10 @@
---- ui/gtk/gtk_compat.cc.orig 2022-02-07 13:39:41 UTC
+--- ui/gtk/gtk_compat.cc.orig 2025-05-05 10:57:53 UTC
+++ ui/gtk/gtk_compat.cc
-@@ -62,27 +62,47 @@ auto DlCast(void* symbol) {
+@@ -65,27 +65,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/chromium/files/patch-ui_gtk_ime__compat__check.cc b/www/chromium/files/patch-ui_gtk_ime__compat__check.cc
new file mode 100644
index 000000000000..560688ecdecc
--- /dev/null
+++ b/www/chromium/files/patch-ui_gtk_ime__compat__check.cc
@@ -0,0 +1,21 @@
+--- ui/gtk/ime_compat_check.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/gtk/ime_compat_check.cc
+@@ -35,6 +35,10 @@ struct InputMethod {
+
+ std::vector<base::FilePath> GetLibrarySearchPaths() {
+ std::vector<base::FilePath> search_path;
++#if BUILDFLAG(IS_BSD)
++ // We really only care about this search path.
++ search_path.emplace_back("/usr/local/lib");
++#else
+ void* handle = dlopen("libc.so.6", RTLD_GLOBAL | RTLD_LAZY | RTLD_NOLOAD);
+ if (!handle) {
+ return search_path;
+@@ -60,6 +64,7 @@ std::vector<base::FilePath> GetLibrarySearchPaths() {
+ // SAFETY: The range is bound by `serinfo.dls_cnt`.
+ search_path.emplace_back(UNSAFE_BUFFERS(sip->dls_serpath[j].dls_name));
+ }
++#endif
+
+ return search_path;
+ }
diff --git a/www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc b/www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc
index 3e044fa349a0..e93e445851f3 100644
--- a/www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc
+++ b/www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc
@@ -1,11 +1,11 @@
---- ui/gtk/printing/print_dialog_gtk.cc.orig 2022-06-17 14:20:10 UTC
+--- ui/gtk/printing/print_dialog_gtk.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/gtk/printing/print_dialog_gtk.cc
-@@ -397,7 +397,7 @@ void PrintDialogGtk::ShowDialog(
+@@ -445,7 +445,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 |
- GTK_PRINT_CAPABILITY_REVERSE);
+ GTK_PRINT_CAPABILITY_REVERSE | GTK_PRINT_CAPABILITY_GENERATE_PS);
- gtk_print_unix_dialog_set_manual_capabilities(GTK_PRINT_UNIX_DIALOG(dialog_),
- cap);
- gtk_print_unix_dialog_set_embed_page_setup(GTK_PRINT_UNIX_DIALOG(dialog_),
+ gtk_print_unix_dialog_set_manual_capabilities(
+ GTK_PRINT_UNIX_DIALOG(dialog_.get()), cap);
+ gtk_print_unix_dialog_set_embed_page_setup(
diff --git a/www/chromium/files/patch-ui_message__center_views_message__popup__view.cc b/www/chromium/files/patch-ui_message__center_views_message__popup__view.cc
index cb1b17abde47..6417f8de5184 100644
--- a/www/chromium/files/patch-ui_message__center_views_message__popup__view.cc
+++ b/www/chromium/files/patch-ui_message__center_views_message__popup__view.cc
@@ -1,11 +1,11 @@
---- ui/message_center/views/message_popup_view.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/message_center/views/message_popup_view.cc.orig 2025-01-15 09:18:26 UTC
+++ ui/message_center/views/message_popup_view.cc
-@@ -123,7 +123,7 @@ void MessagePopupView::Show() {
+@@ -153,7 +153,7 @@ std::unique_ptr<views::Widget> MessagePopupView::Show(
+ views::Widget::InitParams::CLIENT_OWNS_WIDGET,
+ views::Widget::InitParams::TYPE_POPUP);
params.z_order = ui::ZOrderLevel::kFloatingWindow;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Make the widget explicitly activatable as TYPE_POPUP is not activatable by
// default but we need focus for the inline reply textarea.
params.activatable = views::Widget::InitParams::Activatable::kYes;
diff --git a/www/chromium/files/patch-ui_native__theme_features_native__theme__features.cc b/www/chromium/files/patch-ui_native__theme_features_native__theme__features.cc
new file mode 100644
index 000000000000..2dac52433c24
--- /dev/null
+++ b/www/chromium/files/patch-ui_native__theme_features_native__theme__features.cc
@@ -0,0 +1,20 @@
+--- ui/native_theme/features/native_theme_features.cc.orig 2025-05-05 10:57:53 UTC
++++ ui/native_theme/features/native_theme_features.cc
+@@ -59,7 +59,7 @@ namespace ui {
+
+ bool IsFluentOverlayScrollbarEnabled() {
+ // Fluent scrollbars are only used for some OSes due to UI design guidelines.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(features::kFluentOverlayScrollbar);
+ #else
+ return false;
+@@ -68,7 +68,7 @@ bool IsFluentOverlayScrollbarEnabled() {
+
+ bool IsFluentScrollbarEnabled() {
+ // Fluent scrollbars are only used for some OSes due to UI design guidelines.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return base::FeatureList::IsEnabled(features::kFluentScrollbar) ||
+ IsFluentOverlayScrollbarEnabled();
+ #else
diff --git a/www/chromium/files/patch-ui_native__theme_native__theme.h b/www/chromium/files/patch-ui_native__theme_native__theme.h
index 45777fb7c008..e9a061594e9f 100644
--- a/www/chromium/files/patch-ui_native__theme_native__theme.h
+++ b/www/chromium/files/patch-ui_native__theme_native__theme.h
@@ -1,11 +1,11 @@
---- ui/native_theme/native_theme.h.orig 2022-03-25 21:59:56 UTC
+--- ui/native_theme/native_theme.h.orig 2025-05-05 10:57:53 UTC
+++ ui/native_theme/native_theme.h
-@@ -59,7 +59,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
+@@ -61,7 +61,7 @@ class COMPONENT_EXPORT(NATIVE_THEME) NativeTheme {
+ // The part to be painted / sized.
+ enum Part {
kCheckbox,
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
kFrameTopArea,
#endif
kInnerSpinButton,
diff --git a/www/chromium/files/patch-ui_native__theme_native__theme__base.cc b/www/chromium/files/patch-ui_native__theme_native__theme__base.cc
index 1eba3525d72b..c3000486cab6 100644
--- a/www/chromium/files/patch-ui_native__theme_native__theme__base.cc
+++ b/www/chromium/files/patch-ui_native__theme_native__theme__base.cc
@@ -1,11 +1,11 @@
---- ui/native_theme/native_theme_base.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/native_theme/native_theme_base.cc.orig 2025-05-05 10:57:53 UTC
+++ ui/native_theme/native_theme_base.cc
-@@ -269,7 +269,7 @@ void NativeThemeBase::Paint(cc::PaintCanvas* canvas,
+@@ -240,7 +240,7 @@ void NativeThemeBase::Paint(cc::PaintCanvas* canvas,
+ std::get<ButtonExtraParams>(extra), color_scheme,
+ accent_color_opaque);
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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
case kFrameTopArea:
- PaintFrameTopArea(canvas, state, rect, extra.frame_top_area,
- color_scheme);
+ PaintFrameTopArea(canvas, state, rect,
+ std::get<FrameTopAreaExtraParams>(extra), color_scheme);
diff --git a/www/chromium/files/patch-ui_ozone_common_egl__util.cc b/www/chromium/files/patch-ui_ozone_common_egl__util.cc
index d12b1989b22a..64e4e1005cdb 100644
--- a/www/chromium/files/patch-ui_ozone_common_egl__util.cc
+++ b/www/chromium/files/patch-ui_ozone_common_egl__util.cc
@@ -1,6 +1,6 @@
---- ui/ozone/common/egl_util.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/ozone/common/egl_util.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/ozone/common/egl_util.cc
-@@ -26,9 +26,9 @@ const base::FilePath::CharType kDefaultGlesSoname[] =
+@@ -35,9 +35,9 @@ const base::FilePath::CharType kDefaultGlesSoname[] =
FILE_PATH_LITERAL("libGLESv2.so");
#else // BUILDFLAG(IS_FUCHSIA)
const base::FilePath::CharType kDefaultEglSoname[] =
@@ -10,5 +10,5 @@
- FILE_PATH_LITERAL("libGLESv2.so.2");
+ FILE_PATH_LITERAL("libGLESv2.so");
#endif
+ #if !BUILDFLAG(USE_STATIC_ANGLE)
const base::FilePath::CharType kAngleEglSoname[] =
- FILE_PATH_LITERAL("libEGL.so");
diff --git a/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc b/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc
index 44db7756adce..f0810df5f435 100644
--- a/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc
+++ b/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc
@@ -1,20 +1,20 @@
---- ui/ozone/platform/headless/headless_surface_factory.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/ozone/platform/headless/headless_surface_factory.cc.orig 2025-01-15 09:18:26 UTC
+++ ui/ozone/platform/headless/headless_surface_factory.cc
@@ -34,7 +34,7 @@
#include "ui/ozone/platform/headless/headless_window_manager.h"
#include "ui/ozone/public/surface_ozone_canvas.h"
--#if BUILDFLAG(ENABLE_VULKAN) && BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
+-#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA))
++#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD))
#include "ui/ozone/platform/headless/vulkan_implementation_headless.h"
#endif
-@@ -274,7 +274,7 @@ void HeadlessSurfaceFactory::CheckBasePath() const {
- PLOG(FATAL) << "Unable to write to output location";
- }
-
--#if BUILDFLAG(ENABLE_VULKAN) && BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
- std::unique_ptr<gpu::VulkanImplementation>
+@@ -281,7 +281,7 @@ std::unique_ptr<gpu::VulkanImplementation>
HeadlessSurfaceFactory::CreateVulkanImplementation(
bool use_swiftshader,
+ bool allow_protected_memory) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ return std::make_unique<VulkanImplementationHeadless>(use_swiftshader);
+ #else
+ return nullptr;
diff --git a/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.h b/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.h
deleted file mode 100644
index d23223b8fd14..000000000000
--- a/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/ozone/platform/headless/headless_surface_factory.h.orig 2022-04-21 18:48:31 UTC
-+++ ui/ozone/platform/headless/headless_surface_factory.h
-@@ -26,7 +26,7 @@ class HeadlessSurfaceFactory : public SurfaceFactoryOz
- // SurfaceFactoryOzone:
- std::vector<gl::GLImplementationParts> GetAllowedGLImplementations() override;
- GLOzone* GetGLOzone(const gl::GLImplementationParts& implementation) override;
--#if BUILDFLAG(ENABLE_VULKAN) && BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))
- std::unique_ptr<gpu::VulkanImplementation> CreateVulkanImplementation(
- bool use_swiftshader,
- bool allow_protected_memory) override;
diff --git a/www/chromium/files/patch-ui_ozone_platform_headless_ozone__platform__headless.cc b/www/chromium/files/patch-ui_ozone_platform_headless_ozone__platform__headless.cc
index b156fd3a5f5b..e77ccb9e8201 100644
--- a/www/chromium/files/patch-ui_ozone_platform_headless_ozone__platform__headless.cc
+++ b/www/chromium/files/patch-ui_ozone_platform_headless_ozone__platform__headless.cc
@@ -1,6 +1,6 @@
---- ui/ozone/platform/headless/ozone_platform_headless.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/ozone/platform/headless/ozone_platform_headless.cc.orig 2025-05-05 10:57:53 UTC
+++ ui/ozone/platform/headless/ozone_platform_headless.cc
-@@ -102,7 +102,7 @@ class OzonePlatformHeadless : public OzonePlatform {
+@@ -108,7 +108,7 @@ class OzonePlatformHeadlessImpl : public OzonePlatform
}
// Desktop Linux, not CastOS.
diff --git a/www/chromium/files/patch-ui_ozone_platform_headless_vulkan__implementation__headless.cc b/www/chromium/files/patch-ui_ozone_platform_headless_vulkan__implementation__headless.cc
new file mode 100644
index 000000000000..f6dfe4fafdb9
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_headless_vulkan__implementation__headless.cc
@@ -0,0 +1,29 @@
+--- ui/ozone/platform/headless/vulkan_implementation_headless.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/ozone/platform/headless/vulkan_implementation_headless.cc
+@@ -116,7 +116,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;
+@@ -126,7 +126,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) &&
+@@ -149,7 +149,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;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (gmb_handle.native_pixmap_handle().modifier !=
+ gfx::NativePixmapHandle::kNoModifier) {
+ tiling = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT;
diff --git a/www/chromium/files/patch-ui_ozone_platform_wayland_common_wayland__util.cc b/www/chromium/files/patch-ui_ozone_platform_wayland_common_wayland__util.cc
new file mode 100644
index 000000000000..9e28805d3a24
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_wayland_common_wayland__util.cc
@@ -0,0 +1,18 @@
+--- ui/ozone/platform/wayland/common/wayland_util.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/ozone/platform/wayland/common/wayland_util.cc
+@@ -421,6 +421,7 @@ void RecordConnectionMetrics(wl_display* display) {
+ {"weston", WaylandCompositor::kWeston},
+ };
+
++#if !BUILDFLAG(IS_BSD)
+ const int fd = wl_display_get_fd(display);
+ if (fd == -1) {
+ return WaylandCompositor::kUnknown;
+@@ -446,6 +447,7 @@ void RecordConnectionMetrics(wl_display* display) {
+ return compositor;
+ }
+ }
++#endif
+
+ return WaylandCompositor::kOther;
+ };
diff --git a/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc b/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc
new file mode 100644
index 000000000000..e106ca3408e3
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc
@@ -0,0 +1,13 @@
+--- ui/ozone/platform/wayland/host/wayland_frame_manager.cc.orig 2025-05-13 08:59:54 UTC
++++ ui/ozone/platform/wayland/host/wayland_frame_manager.cc
+@@ -461,8 +461,10 @@ std::optional<bool> WaylandFrameManager::ApplySurfaceC
+ surface->UpdateBufferDamageRegion(
+ gfx::ToEnclosingRectIgnoringError(surface_damage));
+
++#if !BUILDFLAG(IS_BSD)
+ if (!config.access_fence_handle.is_null())
+ surface->set_acquire_fence(std::move(config.access_fence_handle));
++#endif
+
+ bool needs_commit = false;
+
diff --git a/www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc b/www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc
deleted file mode 100644
index d5e641ddfc08..000000000000
--- a/www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/ozone/platform/x11/ozone_platform_x11.cc.orig 2022-02-28 16:54:41 UTC
-+++ ui/ozone/platform/x11/ozone_platform_x11.cc
-@@ -204,7 +204,7 @@ class OzonePlatformX11 : public OzonePlatform,
- properties->supports_global_application_menus = true;
- properties->app_modal_dialogs_use_event_blocker = true;
- properties->fetch_buffer_formats_for_gmb_on_gpu = true;
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- properties->supports_vaapi = true;
- #endif
-
diff --git a/www/chromium/files/patch-ui_ozone_platform_x11_vulkan__implementation__x11.cc b/www/chromium/files/patch-ui_ozone_platform_x11_vulkan__implementation__x11.cc
index ab67e875d327..d34a0984385b 100644
--- a/www/chromium/files/patch-ui_ozone_platform_x11_vulkan__implementation__x11.cc
+++ b/www/chromium/files/patch-ui_ozone_platform_x11_vulkan__implementation__x11.cc
@@ -1,6 +1,6 @@
---- ui/ozone/platform/x11/vulkan_implementation_x11.cc.orig 2022-03-25 21:59:56 UTC
+--- ui/ozone/platform/x11/vulkan_implementation_x11.cc.orig 2024-03-22 08:19:40 UTC
+++ ui/ozone/platform/x11/vulkan_implementation_x11.cc
-@@ -58,7 +58,11 @@ bool VulkanImplementationX11::InitializeVulkanInstance
+@@ -59,7 +59,11 @@ bool VulkanImplementationX11::InitializeVulkanInstance
path = path.Append("libvk_swiftshader.so");
} else {
diff --git a/www/chromium/files/patch-ui_ozone_platform_x11_x11__screen__ozone.cc b/www/chromium/files/patch-ui_ozone_platform_x11_x11__screen__ozone.cc
new file mode 100644
index 000000000000..d2daaae04de4
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_x11_x11__screen__ozone.cc
@@ -0,0 +1,29 @@
+--- ui/ozone/platform/x11/x11_screen_ozone.cc.orig 2025-03-05 08:14:56 UTC
++++ ui/ozone/platform/x11/x11_screen_ozone.cc
+@@ -22,7 +22,7 @@
+ #include "ui/ozone/platform/x11/x11_window.h"
+ #include "ui/ozone/platform/x11/x11_window_manager.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #endif
+
+@@ -97,7 +97,7 @@ X11ScreenOzone::X11ScreenOzone()
+ window_manager_(X11WindowManager::GetInstance()),
+ x11_display_manager_(std::make_unique<XDisplayManager>(this)) {
+ DCHECK(window_manager_);
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (auto* linux_ui = ui::LinuxUi::instance()) {
+ display_scale_factor_observer_.Observe(linux_ui);
+ }
+@@ -267,7 +267,7 @@ void X11ScreenOzone::OnEvent(const x11::Event& xev) {
+ x11_display_manager_->OnEvent(xev);
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void X11ScreenOzone::OnDeviceScaleFactorChanged() {
+ x11_display_manager_->DispatchDelayedDisplayListUpdate();
+ }
diff --git a/www/chromium/files/patch-ui_ozone_platform_x11_x11__screen__ozone.h b/www/chromium/files/patch-ui_ozone_platform_x11_x11__screen__ozone.h
new file mode 100644
index 000000000000..2ff5f629b23a
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_x11_x11__screen__ozone.h
@@ -0,0 +1,38 @@
+--- ui/ozone/platform/x11/x11_screen_ozone.h.orig 2024-03-22 08:19:40 UTC
++++ ui/ozone/platform/x11/x11_screen_ozone.h
+@@ -16,7 +16,7 @@
+ #include "ui/gfx/x/event.h"
+ #include "ui/ozone/public/platform_screen.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/device_scale_factor_observer.h"
+ #include "ui/linux/linux_ui.h"
+ #endif
+@@ -29,7 +29,7 @@ class X11WindowManager;
+ class X11ScreenOzone : public PlatformScreen,
+ public x11::EventObserver,
+ public XDisplayManager::Delegate
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ,
+ public DeviceScaleFactorObserver
+ #endif
+@@ -97,7 +97,7 @@ class X11ScreenOzone : public PlatformScreen,
+ // ui::XDisplayManager::Delegate:
+ void OnXDisplayListUpdated() override;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // DeviceScaleFactorObserver:
+ void OnDeviceScaleFactorChanged() override;
+ #endif
+@@ -109,7 +109,7 @@ class X11ScreenOzone : public PlatformScreen,
+ // Indicates that |this| is initialized.
+ bool initialized_ = false;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::ScopedObservation<ui::LinuxUi, DeviceScaleFactorObserver>
+ display_scale_factor_observer_{this};
+ #endif
diff --git a/www/chromium/files/patch-ui_ozone_platform_x11_x11__window.cc b/www/chromium/files/patch-ui_ozone_platform_x11_x11__window.cc
new file mode 100644
index 000000000000..079bee7c4f2f
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_x11_x11__window.cc
@@ -0,0 +1,11 @@
+--- ui/ozone/platform/x11/x11_window.cc.orig 2025-07-02 06:08:04 UTC
++++ ui/ozone/platform/x11/x11_window.cc
+@@ -1507,7 +1507,7 @@ void X11Window::OnXWindowStateChanged() {
+ WindowTiledEdges tiled_state = GetTiledState();
+ if (tiled_state != tiled_state_) {
+ tiled_state_ = tiled_state;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ platform_window_delegate_->OnWindowTiledStateChanged(tiled_state);
+ UpdateDecorationInsets();
+ #endif
diff --git a/www/chromium/files/patch-ui_ozone_public_ozone__platform.h b/www/chromium/files/patch-ui_ozone_public_ozone__platform.h
deleted file mode 100644
index 0b17c29d986c..000000000000
--- a/www/chromium/files/patch-ui_ozone_public_ozone__platform.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/ozone/public/ozone_platform.h.orig 2022-02-28 16:54:41 UTC
-+++ ui/ozone/public/ozone_platform.h
-@@ -151,7 +151,7 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
- // back via gpu extra info.
- bool fetch_buffer_formats_for_gmb_on_gpu = false;
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on
- // Linux. At the moment, VA-API Linux implementation supports only X11
- // backend. This implementation must be refactored to support Ozone
diff --git a/www/chromium/files/patch-ui_ozone_public_ozone__ui__controls__test__helper.h b/www/chromium/files/patch-ui_ozone_public_ozone__ui__controls__test__helper.h
new file mode 100644
index 000000000000..70c4d6860293
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_public_ozone__ui__controls__test__helper.h
@@ -0,0 +1,11 @@
+--- ui/ozone/public/ozone_ui_controls_test_helper.h.orig 2025-04-04 08:52:13 UTC
++++ ui/ozone/public/ozone_ui_controls_test_helper.h
+@@ -62,7 +62,7 @@ class OzoneUIControlsTestHelper {
+ // aura::Window.
+ virtual bool MustUseUiControlsForMoveCursorTo() = 0;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ virtual void ForceUseScreenCoordinatesOnce();
+ #endif
+ };
diff --git a/www/chromium/files/patch-ui_ozone_test_mock__platform__window__delegate.h b/www/chromium/files/patch-ui_ozone_test_mock__platform__window__delegate.h
new file mode 100644
index 000000000000..108c8136eac6
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_test_mock__platform__window__delegate.h
@@ -0,0 +1,11 @@
+--- ui/ozone/test/mock_platform_window_delegate.h.orig 2024-06-17 12:56:06 UTC
++++ ui/ozone/test/mock_platform_window_delegate.h
+@@ -35,7 +35,7 @@ class MockPlatformWindowDelegate : public PlatformWind
+ MOCK_METHOD2(OnWindowStateChanged,
+ void(PlatformWindowState old_state,
+ PlatformWindowState new_state));
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ MOCK_METHOD1(OnWindowTiledStateChanged,
+ void(WindowTiledEdges new_tiled_edges));
+ #endif
diff --git a/www/chromium/files/patch-ui_platform__window_platform__window__delegate.cc b/www/chromium/files/patch-ui_platform__window_platform__window__delegate.cc
new file mode 100644
index 000000000000..2b55098e33ce
--- /dev/null
+++ b/www/chromium/files/patch-ui_platform__window_platform__window__delegate.cc
@@ -0,0 +1,11 @@
+--- ui/platform_window/platform_window_delegate.cc.orig 2025-04-04 08:52:13 UTC
++++ ui/platform_window/platform_window_delegate.cc
+@@ -56,7 +56,7 @@ gfx::Insets PlatformWindowDelegate::CalculateInsetsInD
+ return gfx::Insets();
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void PlatformWindowDelegate::OnWindowTiledStateChanged(
+ WindowTiledEdges new_tiled_edges) {}
+ #endif
diff --git a/www/chromium/files/patch-ui_platform__window_platform__window__delegate.h b/www/chromium/files/patch-ui_platform__window_platform__window__delegate.h
new file mode 100644
index 000000000000..df87e6eeac9c
--- /dev/null
+++ b/www/chromium/files/patch-ui_platform__window_platform__window__delegate.h
@@ -0,0 +1,11 @@
+--- ui/platform_window/platform_window_delegate.h.orig 2025-05-07 06:38:02 UTC
++++ ui/platform_window/platform_window_delegate.h
+@@ -144,7 +144,7 @@ class COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindow
+ virtual void OnWindowStateChanged(PlatformWindowState old_state,
+ PlatformWindowState new_state) = 0;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Notifies the delegate that the tiled state of the window edges has changed.
+ virtual void OnWindowTiledStateChanged(WindowTiledEdges new_tiled_edges);
+ #endif
diff --git a/www/chromium/files/patch-ui_platform__window_platform__window__init__properties.h b/www/chromium/files/patch-ui_platform__window_platform__window__init__properties.h
index c47a5d6c20e5..9980beaaf6f3 100644
--- a/www/chromium/files/patch-ui_platform__window_platform__window__init__properties.h
+++ b/www/chromium/files/patch-ui_platform__window_platform__window__init__properties.h
@@ -1,6 +1,6 @@
---- ui/platform_window/platform_window_init_properties.h.orig 2022-04-21 18:48:31 UTC
+--- ui/platform_window/platform_window_init_properties.h.orig 2025-05-05 10:57:53 UTC
+++ ui/platform_window/platform_window_init_properties.h
-@@ -54,7 +54,7 @@ class WorkspaceExtensionDelegate;
+@@ -56,7 +56,7 @@ class WorkspaceExtensionDelegate;
class ScenicWindowDelegate;
#endif
@@ -9,12 +9,12 @@
class X11ExtensionDelegate;
#endif
-@@ -114,7 +114,7 @@ struct COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindo
+@@ -120,7 +120,7 @@ struct COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindo
PlatformWindowShadowType shadow_type = PlatformWindowShadowType::kDefault;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
bool prefer_dark_theme = false;
- gfx::ImageSkia* icon = nullptr;
- absl::optional<int> background_color;
+ raw_ptr<gfx::ImageSkia> icon = nullptr;
+ std::optional<SkColor> background_color;
diff --git a/www/chromium/files/patch-ui_qt_BUILD.gn b/www/chromium/files/patch-ui_qt_BUILD.gn
new file mode 100644
index 000000000000..340e72941c0b
--- /dev/null
+++ b/www/chromium/files/patch-ui_qt_BUILD.gn
@@ -0,0 +1,11 @@
+--- ui/qt/BUILD.gn.orig 2024-01-30 07:53:34 UTC
++++ ui/qt/BUILD.gn
+@@ -20,7 +20,7 @@ config("qt_internal_config") {
+
+ # It's OK to depend on the system libstdc++ since it's a dependency of QT, so
+ # it will get loaded into the process anyway.
+- libs = [ "stdc++" ]
++ # libs = [ "stdc++" ]
+
+ configs = [
+ "//build/config/linux:runtime_library",
diff --git a/www/chromium/files/patch-ui_qt_moc__wrapper.py b/www/chromium/files/patch-ui_qt_moc__wrapper.py
new file mode 100644
index 000000000000..f34a282b3c58
--- /dev/null
+++ b/www/chromium/files/patch-ui_qt_moc__wrapper.py
@@ -0,0 +1,8 @@
+--- ui/qt/moc_wrapper.py.orig 2025-05-28 14:55:43 UTC
++++ ui/qt/moc_wrapper.py
+@@ -20,4 +20,4 @@ args = parser.parse_args()
+ if args.path is None:
+ subprocess.check_call(["moc", args.input, "-o", args.output])
+ else:
+- subprocess.check_call([args.path + "/moc", args.input, "-o", args.output])
++ subprocess.check_call([args.path, args.input, "-o", args.output])
diff --git a/www/chromium/files/patch-ui_strings_app__locale__settings.grd b/www/chromium/files/patch-ui_strings_app__locale__settings.grd
deleted file mode 100644
index 3b29ccb6f239..000000000000
--- a/www/chromium/files/patch-ui_strings_app__locale__settings.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/strings/app_locale_settings.grd.orig 2022-07-22 17:30:31 UTC
-+++ ui/strings/app_locale_settings.grd
-@@ -218,7 +218,7 @@
- 75%
- </message>
- </if>
-- <if expr="is_linux or is_android or is_bsd or is_fuchsia">
-+ <if expr="is_posix or is_android or is_bsd or is_fuchsia">
- <!-- The font used in Web UI (e.g. History). Note that these are only
- backups. We try to use the system font if possible. -->
- <message name="IDS_WEB_FONT_FAMILY" use_name_for_id="true">
diff --git a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__bn.xtb b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__bn.xtb
index 0943ed5c5d0f..1726e72f6580 100644
--- a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__bn.xtb
+++ b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__bn.xtb
@@ -1,4 +1,4 @@
---- ui/strings/translations/app_locale_settings_bn.xtb.orig 2022-07-22 17:30:31 UTC
+--- ui/strings/translations/app_locale_settings_bn.xtb.orig 2022-09-24 10:57:32 UTC
+++ ui/strings/translations/app_locale_settings_bn.xtb
@@ -10,7 +10,7 @@
<translation id="IDS_WEB_FONT_FAMILY">Vrinda</translation>
@@ -8,4 +8,4 @@
+<if expr="is_posix">
<translation id="IDS_WEB_FONT_FAMILY">Lohit Bengali</translation>
</if>
- <if expr="chromeos_ash or chromeos_lacros">
+ <if expr="is_chromeos">
diff --git a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb
index 9ee691643011..36dfea3003d0 100644
--- a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb
+++ b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb
@@ -1,4 +1,4 @@
---- ui/strings/translations/app_locale_settings_ja.xtb.orig 2022-07-22 17:30:31 UTC
+--- ui/strings/translations/app_locale_settings_ja.xtb.orig 2022-09-24 10:57:32 UTC
+++ ui/strings/translations/app_locale_settings_ja.xtb
@@ -12,7 +12,7 @@
<if expr="is_ios">
@@ -8,4 +8,4 @@
+<if expr="is_posix">
<translation id="IDS_WEB_FONT_FAMILY">VL PGothic,Sazanami Gothic,Kochi Gothic,sans-serif</translation>
</if>
- <if expr="chromeos_ash or chromeos_lacros">
+ <if expr="is_chromeos">
diff --git a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb
index e47a36bba5b5..48faa3043711 100644
--- a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb
+++ b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb
@@ -1,4 +1,4 @@
---- ui/strings/translations/app_locale_settings_ko.xtb.orig 2022-07-22 17:30:31 UTC
+--- ui/strings/translations/app_locale_settings_ko.xtb.orig 2022-09-24 10:57:32 UTC
+++ ui/strings/translations/app_locale_settings_ko.xtb
@@ -12,7 +12,7 @@
<if expr="is_ios">
@@ -8,4 +8,4 @@
+<if expr="is_posix">
<translation id="IDS_WEB_FONT_FAMILY">Noto Sans CJK KR,NanumGothic,UnDotum,Baekmuk Gulim,sans-serif</translation>
</if>
- <if expr="chromeos_ash or chromeos_lacros">
+ <if expr="is_chromeos">
diff --git a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb
index eedd6e8ab654..00647e1e4e74 100644
--- a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb
+++ b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb
@@ -1,4 +1,4 @@
---- ui/strings/translations/app_locale_settings_ml.xtb.orig 2022-07-22 17:30:31 UTC
+--- ui/strings/translations/app_locale_settings_ml.xtb.orig 2022-09-24 10:57:32 UTC
+++ ui/strings/translations/app_locale_settings_ml.xtb
@@ -9,7 +9,7 @@
<translation id="IDS_WEB_FONT_FAMILY">'Segoe UI',Arial,AnjaliOldLipi,Rachana,Kartika</translation>
@@ -8,4 +8,4 @@
+<if expr="is_posix">
<translation id="IDS_WEB_FONT_FAMILY">Arial,AnjaliOldLipi,Rachana,Kartika,sans-serif</translation>
</if>
- <if expr="chromeos_ash or chromeos_lacros">
+ <if expr="is_chromeos">
diff --git a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__th.xtb b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__th.xtb
index cea6e5589dc8..0aed42526f65 100644
--- a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__th.xtb
+++ b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__th.xtb
@@ -1,4 +1,4 @@
---- ui/strings/translations/app_locale_settings_th.xtb.orig 2022-07-22 17:30:31 UTC
+--- ui/strings/translations/app_locale_settings_th.xtb.orig 2022-09-24 10:57:32 UTC
+++ ui/strings/translations/app_locale_settings_th.xtb
@@ -6,7 +6,7 @@
<translation id="IDS_WEB_FONT_FAMILY">Tahoma,sans-serif</translation>
@@ -8,4 +8,4 @@
+<if expr="is_posix">
<translation id="IDS_WEB_FONT_FAMILY">Norasi,Waree,Garuda,Loma,sans-serif</translation>
</if>
- <if expr="chromeos_ash or chromeos_lacros">
+ <if expr="is_chromeos">
diff --git a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb
index dc0c733a6137..e721fbf1758d 100644
--- a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb
+++ b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb
@@ -1,4 +1,4 @@
---- ui/strings/translations/app_locale_settings_zh-CN.xtb.orig 2022-07-22 17:30:31 UTC
+--- ui/strings/translations/app_locale_settings_zh-CN.xtb.orig 2022-09-24 10:57:32 UTC
+++ ui/strings/translations/app_locale_settings_zh-CN.xtb
@@ -12,7 +12,7 @@
<if expr="is_ios">
@@ -8,4 +8,4 @@
+<if expr="is_posix">
<translation id="IDS_WEB_FONT_FAMILY">Noto Sans CJK SC, WenQuanYi Zen Hei, sans-serif</translation>
</if>
- <if expr="chromeos_ash or chromeos_lacros">
+ <if expr="is_chromeos">
diff --git a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb
index 26ef171631ed..2666da735117 100644
--- a/www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb
+++ b/www/chromium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb
@@ -1,4 +1,4 @@
---- ui/strings/translations/app_locale_settings_zh-TW.xtb.orig 2022-07-22 17:30:31 UTC
+--- ui/strings/translations/app_locale_settings_zh-TW.xtb.orig 2023-01-11 09:17:16 UTC
+++ ui/strings/translations/app_locale_settings_zh-TW.xtb
@@ -12,7 +12,7 @@
<if expr="is_ios">
@@ -6,6 +6,6 @@
</if>
-<if expr="is_linux">
+<if expr="is_posix">
- <translation id="IDS_WEB_FONT_FAMILY">Noto Sans CJK SC, WenQuanYi Zen Hei, sans-serif</translation>
+ <translation id="IDS_WEB_FONT_FAMILY">Noto Sans CJK TC, WenQuanYi Zen Hei, sans-serif</translation>
</if>
- <if expr="chromeos_ash or chromeos_lacros">
+ <if expr="is_chromeos">
diff --git a/www/chromium/files/patch-ui_views_BUILD.gn b/www/chromium/files/patch-ui_views_BUILD.gn
new file mode 100644
index 000000000000..58986bbc19a4
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_BUILD.gn
@@ -0,0 +1,10 @@
+--- ui/views/BUILD.gn.orig 2025-05-28 14:55:43 UTC
++++ ui/views/BUILD.gn
+@@ -833,7 +833,6 @@ component("views") {
+ sources += [ "accessibility/widget_ax_tree_id_map.cc" ]
+ }
+ deps += [
+- "//components/crash/core/common:crash_key",
+ "//ui/aura",
+ "//ui/base/cursor/mojom:cursor_type_shared",
+ "//ui/events",
diff --git a/www/chromium/files/patch-ui_views_accessibility_view__accessibility.cc b/www/chromium/files/patch-ui_views_accessibility_view__accessibility.cc
new file mode 100644
index 000000000000..275f452aa052
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_accessibility_view__accessibility.cc
@@ -0,0 +1,20 @@
+--- ui/views/accessibility/view_accessibility.cc.orig 2025-05-05 10:57:53 UTC
++++ ui/views/accessibility/view_accessibility.cc
+@@ -34,7 +34,7 @@
+ #include "ui/views/accessibility/view_ax_platform_node_delegate_win.h"
+ #elif BUILDFLAG(IS_MAC)
+ #include "ui/views/accessibility/view_ax_platform_node_delegate_mac.h"
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/views/accessibility/view_ax_platform_node_delegate_auralinux.h"
+ #endif
+
+@@ -101,7 +101,7 @@ std::unique_ptr<ViewAccessibility> ViewAccessibility::
+ return ViewAXPlatformNodeDelegateWin::CreatePlatformSpecific(view);
+ #elif BUILDFLAG(IS_MAC)
+ return ViewAXPlatformNodeDelegateMac::CreatePlatformSpecific(view);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return ViewAXPlatformNodeDelegateAuraLinux::CreatePlatformSpecific(view);
+ #endif
+ }
diff --git a/www/chromium/files/patch-ui_views_controls_prefix__selector.cc b/www/chromium/files/patch-ui_views_controls_prefix__selector.cc
index c222ad18ed27..d17c11f21cd3 100644
--- a/www/chromium/files/patch-ui_views_controls_prefix__selector.cc
+++ b/www/chromium/files/patch-ui_views_controls_prefix__selector.cc
@@ -1,6 +1,6 @@
---- ui/views/controls/prefix_selector.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/views/controls/prefix_selector.cc.orig 2025-01-15 09:18:26 UTC
+++ ui/views/controls/prefix_selector.cc
-@@ -171,7 +171,7 @@ bool PrefixSelector::ShouldDoLearning() {
+@@ -192,7 +192,7 @@ bool PrefixSelector::ShouldDoLearning() {
return false;
}
diff --git a/www/chromium/files/patch-ui_views_controls_prefix__selector.h b/www/chromium/files/patch-ui_views_controls_prefix__selector.h
index e8836e693954..b31412c7ff81 100644
--- a/www/chromium/files/patch-ui_views_controls_prefix__selector.h
+++ b/www/chromium/files/patch-ui_views_controls_prefix__selector.h
@@ -1,6 +1,6 @@
---- ui/views/controls/prefix_selector.h.orig 2022-02-28 16:54:41 UTC
+--- ui/views/controls/prefix_selector.h.orig 2025-01-15 09:18:26 UTC
+++ ui/views/controls/prefix_selector.h
-@@ -81,7 +81,7 @@ class VIEWS_EXPORT PrefixSelector : public ui::TextInp
+@@ -91,7 +91,7 @@ class VIEWS_EXPORT PrefixSelector : public ui::TextInp
ukm::SourceId GetClientSourceForMetrics() const override;
bool ShouldDoLearning() override;
diff --git a/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc b/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc
index c9e7bb2a3e80..68d3948654b0 100644
--- a/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc
+++ b/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc
@@ -1,15 +1,15 @@
---- ui/views/controls/textfield/textfield.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/views/controls/textfield/textfield.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/views/controls/textfield/textfield.cc
-@@ -72,7 +72,7 @@
+@@ -85,7 +85,7 @@
+ #include "base/win/win_util.h"
+ #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)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/base/ime/linux/text_edit_command_auralinux.h"
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
- #endif
-@@ -165,7 +165,7 @@ bool IsControlKeyModifier(int flags) {
+ #include "ui/base/ime/text_input_flags.h"
+ #include "ui/linux/linux_ui.h"
+@@ -182,7 +182,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,47 +18,48 @@
return flags & ui::EF_CONTROL_DOWN;
#else
return false;
-@@ -719,7 +719,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event
+@@ -789,7 +789,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event
+ return handled;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!handled) {
+ if (auto* linux_ui = ui::LinuxUi::instance()) {
+ const auto command =
+@@ -974,7 +974,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo
+ }
- // 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)
- ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
- ui::GetTextEditKeyBindingsDelegate();
- std::vector<ui::TextEditCommandAuraLinux> commands;
-@@ -865,7 +865,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo
bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Skip any accelerator handling that conflicts with custom keybindings.
- ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
- ui::GetTextEditKeyBindingsDelegate();
-@@ -1727,7 +1727,7 @@ bool Textfield::ShouldDoLearning() {
+ if (auto* linux_ui = ui::LinuxUi::instance()) {
+ if (IsTextEditCommandEnabled(linux_ui->GetTextEditCommandForEvent(
+@@ -2062,7 +2062,7 @@ bool Textfield::ShouldDoLearning() {
return false;
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // TODO(https://crbug.com/952355): Implement this method to support Korean IME
+ // TODO(crbug.com/41452689): Implement this method to support Korean IME
// reconversion feature on native text fields (e.g. find bar).
bool Textfield::SetCompositionFromExistingText(
-@@ -2226,14 +2226,14 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent(
+@@ -2580,7 +2580,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent(
#endif
return ui::TextEditCommand::DELETE_BACKWARD;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Only erase by line break on Linux and ChromeOS.
- if (shift)
+ if (shift) {
return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE;
+@@ -2588,7 +2588,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent(
#endif
return ui::TextEditCommand::DELETE_WORD_BACKWARD;
case ui::VKEY_DELETE:
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Only erase by line break on Linux and ChromeOS.
- if (shift && control)
+ if (shift && control) {
return ui::TextEditCommand::DELETE_TO_END_OF_LINE;
diff --git a/www/chromium/files/patch-ui_views_controls_textfield_textfield.h b/www/chromium/files/patch-ui_views_controls_textfield_textfield.h
index b1d4bb997fc4..3b712975983d 100644
--- a/www/chromium/files/patch-ui_views_controls_textfield_textfield.h
+++ b/www/chromium/files/patch-ui_views_controls_textfield_textfield.h
@@ -1,6 +1,15 @@
---- ui/views/controls/textfield/textfield.h.orig 2022-03-25 21:59:56 UTC
+--- ui/views/controls/textfield/textfield.h.orig 2025-07-02 06:08:04 UTC
+++ ui/views/controls/textfield/textfield.h
-@@ -443,7 +443,7 @@ class VIEWS_EXPORT Textfield : public View,
+@@ -48,7 +48,7 @@
+ #include "ui/views/view_observer.h"
+ #include "ui/views/word_lookup_client.h"
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include <vector>
+ #endif
+
+@@ -478,7 +478,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/chromium/files/patch-ui_views_corewm_tooltip__aura.cc b/www/chromium/files/patch-ui_views_corewm_tooltip__aura.cc
index 436ede7eade3..271c476bfb69 100644
--- a/www/chromium/files/patch-ui_views_corewm_tooltip__aura.cc
+++ b/www/chromium/files/patch-ui_views_corewm_tooltip__aura.cc
@@ -1,11 +1,11 @@
---- ui/views/corewm/tooltip_aura.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/views/corewm/tooltip_aura.cc.orig 2025-05-05 10:57:53 UTC
+++ ui/views/corewm/tooltip_aura.cc
-@@ -50,7 +50,7 @@ constexpr int kVerticalPaddingBottom = 5;
+@@ -42,7 +42,7 @@ static constexpr int kTooltipMaxWidth = 800;
+
+ // TODO(varkha): Update if native widget can be transparent on Linux.
bool CanUseTranslucentTooltipWidget() {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_WIN)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
return false;
#else
return true;
diff --git a/www/chromium/files/patch-ui_views_examples_widget__example.cc b/www/chromium/files/patch-ui_views_examples_widget__example.cc
index 3a6e1803eb0f..767ab3d2c1f0 100644
--- a/www/chromium/files/patch-ui_views_examples_widget__example.cc
+++ b/www/chromium/files/patch-ui_views_examples_widget__example.cc
@@ -1,6 +1,6 @@
---- ui/views/examples/widget_example.cc.orig 2022-06-17 14:20:10 UTC
+--- ui/views/examples/widget_example.cc.orig 2025-05-05 10:57:53 UTC
+++ ui/views/examples/widget_example.cc
-@@ -50,7 +50,7 @@ void WidgetExample::CreateExampleView(View* container)
+@@ -51,7 +51,7 @@ void WidgetExample::CreateExampleView(View* container)
modal_button->SetCallback(
base::BindRepeating(&WidgetExample::CreateDialogWidget,
base::Unretained(this), modal_button, true));
diff --git a/www/chromium/files/patch-ui_views_focus_focus__manager.cc b/www/chromium/files/patch-ui_views_focus_focus__manager.cc
index 2cf4c056be35..7a38152ac5bf 100644
--- a/www/chromium/files/patch-ui_views_focus_focus__manager.cc
+++ b/www/chromium/files/patch-ui_views_focus_focus__manager.cc
@@ -1,20 +1,20 @@
---- ui/views/focus/focus_manager.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/views/focus/focus_manager.cc.orig 2025-04-04 08:52:13 UTC
+++ ui/views/focus/focus_manager.cc
-@@ -635,7 +635,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+@@ -606,7 +606,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+ return false;
+ }
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// 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
-@@ -652,7 +652,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+@@ -621,7 +621,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+ const bool accelerator_processed =
+ focus_manager->ProcessAccelerator(accelerator);
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Need to manually close the bubble widget on Linux. On Linux when the
// bubble is shown, the main widget remains active. Because of that when
// focus is set to the main widget to process accelerator, the main widget
diff --git a/www/chromium/files/patch-ui_views_linux__ui_linux__ui.cc b/www/chromium/files/patch-ui_views_linux__ui_linux__ui.cc
deleted file mode 100644
index 3442829c98bf..000000000000
--- a/www/chromium/files/patch-ui_views_linux__ui_linux__ui.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/linux_ui/linux_ui.cc.orig 2022-07-22 17:30:31 UTC
-+++ ui/views/linux_ui/linux_ui.cc
-@@ -27,7 +27,7 @@ void LinuxUI::SetInstance(std::unique_ptr<LinuxUI> ins
- g_linux_ui = instance.release();
-
- SkiaFontDelegate::SetInstance(g_linux_ui);
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS)
- ShellDialogLinux::SetInstance(g_linux_ui);
- #endif
- ui::SetTextEditKeyBindingsDelegate(g_linux_ui);
diff --git a/www/chromium/files/patch-ui_views_linux__ui_linux__ui.h b/www/chromium/files/patch-ui_views_linux__ui_linux__ui.h
deleted file mode 100644
index 4e609161fc1c..000000000000
--- a/www/chromium/files/patch-ui_views_linux__ui_linux__ui.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/views/linux_ui/linux_ui.h.orig 2022-07-22 17:30:31 UTC
-+++ ui/views/linux_ui/linux_ui.h
-@@ -23,7 +23,7 @@
- #include "ui/views/controls/button/button.h"
- #include "ui/views/views_export.h"
-
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS)
- #include "ui/shell_dialogs/shell_dialog_linux.h"
- #endif
-
-@@ -56,7 +56,7 @@ class WindowFrameProvider;
- // project that wants to do linux desktop native rendering.
- class VIEWS_EXPORT LinuxUI : public ui::LinuxInputMethodContextFactory,
- public gfx::SkiaFontDelegate,
--#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS)
- public ui::ShellDialogLinux,
- #endif
- public ui::TextEditKeyBindingsDelegateAuraLinux,
diff --git a/www/chromium/files/patch-ui_views_style_platform__style.cc b/www/chromium/files/patch-ui_views_style_platform__style.cc
index 0292c1fd177e..1a39a9747b40 100644
--- a/www/chromium/files/patch-ui_views_style_platform__style.cc
+++ b/www/chromium/files/patch-ui_views_style_platform__style.cc
@@ -1,11 +1,20 @@
---- ui/views/style/platform_style.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/views/style/platform_style.cc.orig 2025-04-04 08:52:13 UTC
+++ ui/views/style/platform_style.cc
-@@ -52,7 +52,7 @@ const View::FocusBehavior PlatformStyle::kDefaultFocus
- const bool PlatformStyle::kAdjustBubbleIfOffscreen =
- // 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)
- false;
+@@ -23,7 +23,7 @@
+ #include "ui/views/controls/focusable_border.h"
+ #include "ui/views/controls/scrollbar/scroll_bar_views.h"
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/views/controls/scrollbar/overlay_scroll_bar.h"
+ #endif
+ #endif
+@@ -35,7 +35,7 @@ namespace views {
+ // static
+ std::unique_ptr<ScrollBar> PlatformStyle::CreateScrollBar(
+ ScrollBar::Orientation orientation) {
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return std::make_unique<OverlayScrollBar>(orientation);
#else
- true;
+ return std::make_unique<ScrollBarViews>(orientation);
diff --git a/www/chromium/files/patch-ui_views_style_platform__style.h b/www/chromium/files/patch-ui_views_style_platform__style.h
new file mode 100644
index 000000000000..f4c2e51b0f54
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_style_platform__style.h
@@ -0,0 +1,11 @@
+--- ui/views/style/platform_style.h.orig 2025-04-15 07:33:26 UTC
++++ ui/views/style/platform_style.h
+@@ -84,7 +84,7 @@ class VIEWS_EXPORT PlatformStyle {
+ // Default setting at bubble creation time for whether arrow will be adjusted
+ // for bubbles going off-screen to bring more bubble area into view. Linux
+ // clips bubble windows that extend outside their parent window bounds.
+- static constexpr bool kAdjustBubbleIfOffscreen = !BUILDFLAG(IS_LINUX);
++ static constexpr bool kAdjustBubbleIfOffscreen = (!BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD));
+
+ // Default focus behavior on the platform.
+ static constexpr View::FocusBehavior kDefaultFocusBehavior =
diff --git a/www/chromium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc b/www/chromium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc
new file mode 100644
index 000000000000..c5f6b44e9e51
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc
@@ -0,0 +1,11 @@
+--- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc.orig 2025-01-15 09:18:26 UTC
++++ ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
+@@ -237,7 +237,7 @@ bool SendMouseClick(MouseButton type, gfx::NativeWindo
+ window_hint);
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // static
+ void ForceUseScreenCoordinatesOnce() {
+ g_ozone_ui_controls_test_helper->ForceUseScreenCoordinatesOnce();
diff --git a/www/chromium/files/patch-ui_views_views__delegate.cc b/www/chromium/files/patch-ui_views_views__delegate.cc
index 5a24231acc6f..b02f52d1a2ec 100644
--- a/www/chromium/files/patch-ui_views_views__delegate.cc
+++ b/www/chromium/files/patch-ui_views_views__delegate.cc
@@ -1,6 +1,6 @@
---- ui/views/views_delegate.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/views/views_delegate.cc.orig 2025-05-28 14:55:43 UTC
+++ ui/views/views_delegate.cc
-@@ -95,7 +95,7 @@ bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow
+@@ -91,7 +91,7 @@ bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow
return false;
}
#elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \
diff --git a/www/chromium/files/patch-ui_views_views__delegate.h b/www/chromium/files/patch-ui_views_views__delegate.h
index 90d0e4d91a68..afc59885aa77 100644
--- a/www/chromium/files/patch-ui_views_views__delegate.h
+++ b/www/chromium/files/patch-ui_views_views__delegate.h
@@ -1,6 +1,6 @@
---- ui/views/views_delegate.h.orig 2022-02-28 16:54:41 UTC
+--- ui/views/views_delegate.h.orig 2025-05-28 14:55:43 UTC
+++ ui/views/views_delegate.h
-@@ -139,7 +139,7 @@ class VIEWS_EXPORT ViewsDelegate {
+@@ -143,7 +143,7 @@ class VIEWS_EXPORT ViewsDelegate {
// environment.
virtual bool IsWindowInMetro(gfx::NativeWindow window) const;
#elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \
diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc
new file mode 100644
index 000000000000..d5a4a34252f1
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc
@@ -0,0 +1,11 @@
+--- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc.orig 2025-02-19 07:43:18 UTC
++++ ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc
+@@ -203,7 +203,7 @@ DragOperation DesktopDragDropClientOzone::StartDragAnd
+ return selected_operation_;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void DesktopDragDropClientOzone::UpdateDragImage(const gfx::ImageSkia& image,
+ const gfx::Vector2d& offset) {
+ DCHECK(drag_handler_);
diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h
index ca1948b16212..9e79a1f9d358 100644
--- a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h
+++ b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h
@@ -1,4 +1,4 @@
---- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.h.orig 2022-06-17 14:20:10 UTC
+--- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.h.orig 2024-11-14 07:57:23 UTC
+++ ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.h
@@ -67,7 +67,7 @@ class VIEWS_EXPORT DesktopDragDropClientOzone
// The offset of |drag_widget_| relative to the mouse position.
@@ -9,3 +9,12 @@
// The last received drag location. The drag widget is moved asynchronously
// so its position is updated when the UI thread has time for that. When
// the first change to the location happens, a call to UpdateDragWidget()
+@@ -88,7 +88,7 @@ class VIEWS_EXPORT DesktopDragDropClientOzone
+ const gfx::Point& root_location,
+ int allowed_operations,
+ ui::mojom::DragEventSource source) override;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void UpdateDragImage(const gfx::ImageSkia& image,
+ const gfx::Vector2d& offset) override;
+ #endif
diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc
deleted file mode 100644
index 4496b0bea20d..000000000000
--- a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/widget/desktop_aura/desktop_screen_ozone.cc.orig 2022-06-17 14:20:10 UTC
-+++ ui/views/widget/desktop_aura/desktop_screen_ozone.cc
-@@ -25,7 +25,7 @@ gfx::NativeWindow DesktopScreenOzone::GetNativeWindowF
- widget);
- }
-
--#if !BUILDFLAG(IS_LINUX)
-+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
- std::unique_ptr<display::Screen> CreateDesktopScreen() {
- auto screen = std::make_unique<DesktopScreenOzone>();
- screen->Initialize();
diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
index a3d629327dcf..49a51910fa1d 100644
--- a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
+++ b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
@@ -1,6 +1,6 @@
---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2022-07-22 17:30:31 UTC
+--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2025-05-28 14:55:43 UTC
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
-@@ -40,7 +40,7 @@
+@@ -50,7 +50,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
-@@ -316,7 +316,7 @@ std::unique_ptr<aura::client::DragDropClient>
+@@ -356,7 +356,7 @@ std::unique_ptr<aura::client::DragDropClient>
DesktopWindowTreeHostPlatform::CreateDragDropClient() {
ui::WmDragHandler* drag_handler = ui::GetWmDragHandler(*(platform_window()));
std::unique_ptr<DesktopDragDropClientOzone> drag_drop_client =
@@ -18,7 +18,7 @@
std::make_unique<DesktopDragDropClientOzoneLinux>(window(), drag_handler);
#else
std::make_unique<DesktopDragDropClientOzone>(window(), drag_handler);
-@@ -1002,7 +1002,7 @@ display::Display DesktopWindowTreeHostPlatform::GetDis
+@@ -1188,7 +1188,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg
// DesktopWindowTreeHost:
// Linux subclasses this host and adds some Linux specific bits.
diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc
deleted file mode 100644
index 0815c62ca170..000000000000
--- a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform_impl_interactive_uitest.cc.orig 2022-06-17 14:20:10 UTC
-+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform_impl_interactive_uitest.cc
-@@ -21,7 +21,7 @@
- #include "ui/views/widget/widget_delegate.h"
- #include "ui/views/window/native_frame_view.h"
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
- #include "ui/views/widget/desktop_aura/window_event_filter_linux.h"
- using DesktopWindowTreeHostPlatformImpl = views::DesktopWindowTreeHostLinux;
diff --git a/www/chromium/files/patch-ui_views_widget_root__view.cc b/www/chromium/files/patch-ui_views_widget_root__view.cc
new file mode 100644
index 000000000000..d5f99dcf2bdc
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_widget_root__view.cc
@@ -0,0 +1,11 @@
+--- ui/views/widget/root_view.cc.orig 2025-02-19 07:43:18 UTC
++++ ui/views/widget/root_view.cc
+@@ -169,7 +169,7 @@ class AnnounceTextView : public View {
+ #if BUILDFLAG(IS_CHROMEOS)
+ // On ChromeOS, kAlert role can invoke an unnecessary event on reparenting.
+ GetViewAccessibility().SetRole(ax::mojom::Role::kStaticText);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/40658933): Use live regions (do not use alerts).
+ // May require setting kLiveStatus, kContainerLiveStatus to "polite".
+ GetViewAccessibility().SetRole(ax::mojom::Role::kAlert);
diff --git a/www/chromium/files/patch-ui_views_widget_widget.cc b/www/chromium/files/patch-ui_views_widget_widget.cc
index b144e7cd6ec7..ed637aa59e62 100644
--- a/www/chromium/files/patch-ui_views_widget_widget.cc
+++ b/www/chromium/files/patch-ui_views_widget_widget.cc
@@ -1,20 +1,20 @@
---- ui/views/widget/widget.cc.orig 2022-06-17 14:20:10 UTC
+--- ui/views/widget/widget.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/views/widget/widget.cc
-@@ -48,7 +48,7 @@
+@@ -63,7 +63,7 @@
#include "ui/views/window/custom_frame_view.h"
#include "ui/views/window/dialog_delegate.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/views/linux_ui/linux_ui.h"
+ #include "ui/linux/linux_ui.h"
#endif
-@@ -1819,7 +1819,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const
- if (parent_)
+@@ -2473,7 +2473,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const
return parent_->GetNativeTheme();
+ }
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- if (const views::LinuxUI* linux_ui = views::LinuxUI::instance()) {
- if (auto* native_theme = linux_ui->GetNativeTheme(GetNativeWindow()))
- return native_theme;
+ if (auto* linux_ui_theme =
+ ui::LinuxUiTheme::GetForWindow(GetNativeWindow())) {
+ return linux_ui_theme->GetNativeTheme();
diff --git a/www/chromium/files/patch-ui_views_widget_widget.h b/www/chromium/files/patch-ui_views_widget_widget.h
new file mode 100644
index 000000000000..b4bd08acca8b
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_widget_widget.h
@@ -0,0 +1,11 @@
+--- ui/views/widget/widget.h.orig 2025-07-02 06:08:04 UTC
++++ ui/views/widget/widget.h
+@@ -488,7 +488,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWid
+ bool force_system_menu_for_frameless = false;
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Only used by X11, for root level windows. Specifies the res_name and
+ // res_class fields, respectively, of the WM_CLASS window property. Controls
+ // window grouping and desktop file matching in Linux window managers.
diff --git a/www/chromium/files/patch-ui_views_window_custom__frame__view.cc b/www/chromium/files/patch-ui_views_window_custom__frame__view.cc
index b4a1c7a1554c..122602d00741 100644
--- a/www/chromium/files/patch-ui_views_window_custom__frame__view.cc
+++ b/www/chromium/files/patch-ui_views_window_custom__frame__view.cc
@@ -1,11 +1,11 @@
---- ui/views/window/custom_frame_view.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/views/window/custom_frame_view.cc.orig 2025-02-19 07:43:18 UTC
+++ ui/views/window/custom_frame_view.cc
-@@ -265,7 +265,7 @@ int CustomFrameView::CaptionButtonY() const {
+@@ -279,7 +279,7 @@ int CustomFrameView::NonClientTopBorderHeight() const
+ int CustomFrameView::CaptionButtonY() const {
+ // Maximized buttons start at window top so that even if their images aren't
// drawn flush with the screen edge, they still obey Fitts' Law.
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return FrameBorderThickness();
#else
return frame_->IsMaximized() ? FrameBorderThickness() : kFrameShadowThickness;
diff --git a/www/chromium/files/patch-ui_views_window_dialog__delegate.cc b/www/chromium/files/patch-ui_views_window_dialog__delegate.cc
index 51e7ce37e2bb..e09a6b683102 100644
--- a/www/chromium/files/patch-ui_views_window_dialog__delegate.cc
+++ b/www/chromium/files/patch-ui_views_window_dialog__delegate.cc
@@ -1,11 +1,11 @@
---- ui/views/window/dialog_delegate.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/views/window/dialog_delegate.cc.orig 2025-07-02 06:08:04 UTC
+++ ui/views/window/dialog_delegate.cc
-@@ -79,7 +79,7 @@ Widget* DialogDelegate::CreateDialogWidget(
+@@ -108,7 +108,7 @@ Widget* DialogDelegate::CreateDialogWidget(
// static
bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) {
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
- BUILDFLAG(ENABLE_DESKTOP_AURA)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA)
// The new style doesn't support unparented dialogs on Linux desktop.
return parent != nullptr;
+ #else
diff --git a/www/chromium/files/patch-ui_views_window_frame__background.cc b/www/chromium/files/patch-ui_views_window_frame__background.cc
index 5c9450ab1a68..e57d7c7dbf7d 100644
--- a/www/chromium/files/patch-ui_views_window_frame__background.cc
+++ b/www/chromium/files/patch-ui_views_window_frame__background.cc
@@ -1,4 +1,4 @@
---- ui/views/window/frame_background.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/views/window/frame_background.cc.orig 2023-10-11 18:22:24 UTC
+++ 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/chromium/files/patch-ui_webui_resources_js_cr.js b/www/chromium/files/patch-ui_webui_resources_js_cr.js
deleted file mode 100644
index 45f5a3c127cc..000000000000
--- a/www/chromium/files/patch-ui_webui_resources_js_cr.js
+++ /dev/null
@@ -1,14 +0,0 @@
---- ui/webui/resources/js/cr.js.orig 2022-05-19 14:06:27 UTC
-+++ ui/webui/resources/js/cr.js
-@@ -438,6 +438,11 @@ var cr = cr || function(global) {
- return returnValue;
- },
-
-+ /** Whether this is on *BSD. */
-+ get isBSD() {
-+ return /BSD/.test(navigator.userAgent);
-+ },
-+
- /** Whether this is on vanilla Linux (not chromeOS). */
- get isLinux() {
- return /Linux/.test(navigator.userAgent);
diff --git a/www/chromium/files/patch-v8_BUILD.gn b/www/chromium/files/patch-v8_BUILD.gn
index f67794ed6158..07e154e2f8bc 100644
--- a/www/chromium/files/patch-v8_BUILD.gn
+++ b/www/chromium/files/patch-v8_BUILD.gn
@@ -1,21 +1,41 @@
---- v8/BUILD.gn.orig 2022-07-22 17:30:31 UTC
+--- v8/BUILD.gn.orig 2025-07-02 06:08:04 UTC
+++ v8/BUILD.gn
-@@ -1254,6 +1254,14 @@ config("toolchain") {
- } else if (target_os == "win") {
- defines += [ "V8_HAVE_TARGET_OS" ]
- defines += [ "V8_TARGET_OS_WIN" ]
-+ } else if (target_os == "openbsd") {
-+ defines += [ "V8_HAVE_TARGET_OS" ]
-+ defines += [ "V8_TARGET_OS_OPENBSD" ]
-+ defines += [ "V8_TARGET_OS_BSD" ]
-+ } else if (target_os == "freebsd") {
-+ defines += [ "V8_HAVE_TARGET_OS" ]
-+ defines += [ "V8_TARGET_OS_FREEBSD" ]
-+ defines += [ "V8_TARGET_OS_BSD" ]
- }
+@@ -1014,6 +1014,8 @@ external_v8_defines = [
+ "V8_TARGET_OS_MACOS",
+ "V8_TARGET_OS_WIN",
+ "V8_TARGET_OS_CHROMEOS",
++ "V8_TARGET_OS_OPENBSD",
++ "V8_TARGET_OS_FREEBSD",
+ ]
+
+ enabled_external_v8_defines = [
+@@ -1090,6 +1092,12 @@ if (target_os == "android") {
+ } else if (target_os == "chromeos") {
+ enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ]
+ enabled_external_v8_defines += [ "V8_TARGET_OS_CHROMEOS" ]
++} else if (target_os == "openbsd") {
++ enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ]
++ enabled_external_v8_defines += [ "V8_TARGET_OS_OPENBSD" ]
++} else if (target_os == "freebsd") {
++ enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ]
++ enabled_external_v8_defines += [ "V8_TARGET_OS_FREEBSD" ]
+ }
+
+ disabled_external_v8_defines = external_v8_defines - enabled_external_v8_defines
+@@ -2598,6 +2606,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",
++ ]
++ }
+ }
- # TODO(infra): Support v8_enable_prof on Windows.
-@@ -5348,7 +5356,7 @@ v8_component("v8_libbase") {
+ if (v8_enable_turboshaft_csa) {
+@@ -6760,7 +6774,7 @@ v8_component("v8_libbase") {
}
}
@@ -24,7 +44,7 @@
sources += [
"src/base/debug/stack_trace_posix.cc",
"src/base/platform/platform-linux.cc",
-@@ -5359,6 +5367,18 @@ v8_component("v8_libbase") {
+@@ -6771,6 +6785,18 @@ v8_component("v8_libbase") {
"dl",
"rt",
]
diff --git a/www/chromium/files/patch-v8_include_v8-internal.h b/www/chromium/files/patch-v8_include_v8-internal.h
new file mode 100644
index 000000000000..7dc853e0ccd9
--- /dev/null
+++ b/www/chromium/files/patch-v8_include_v8-internal.h
@@ -0,0 +1,11 @@
+--- v8/include/v8-internal.h.orig 2025-02-19 07:43:18 UTC
++++ v8/include/v8-internal.h
+@@ -232,7 +232,7 @@ using SandboxedPointer_t = Address;
+ #ifdef V8_ENABLE_SANDBOX
+
+ // Size of the sandbox, excluding the guard regions surrounding it.
+-#if defined(V8_TARGET_OS_ANDROID)
++#if (defined(V8_TARGET_OS_ANDROID) || defined(V8_TARGET_OS_OPENBSD))
+ // On Android, most 64-bit devices seem to be configured with only 39 bits of
+ // virtual address space for userspace. As such, limit the sandbox to 128GB (a
+ // quarter of the total available address space).
diff --git a/www/chromium/files/patch-v8_include_v8config.h b/www/chromium/files/patch-v8_include_v8config.h
index 1f906768877c..cb75744698bf 100644
--- a/www/chromium/files/patch-v8_include_v8config.h
+++ b/www/chromium/files/patch-v8_include_v8config.h
@@ -1,29 +1,27 @@
---- v8/include/v8config.h.orig 2022-04-21 18:48:31 UTC
+--- v8/include/v8config.h.orig 2025-05-05 10:57:53 UTC
+++ v8/include/v8config.h
-@@ -183,6 +183,8 @@ path. Add it with -I<path> to the command line
+@@ -201,6 +201,8 @@ path. Add it with -I<path> to the command line
&& !defined(V8_TARGET_OS_FUCHSIA) \
&& !defined(V8_TARGET_OS_IOS) \
&& !defined(V8_TARGET_OS_LINUX) \
+ && !defined(V8_TARGET_OS_OPENBSD) \
+ && !defined(V8_TARGET_OS_FREEBSD) \
&& !defined(V8_TARGET_OS_MACOS) \
- && !defined(V8_TARGET_OS_WIN)
- # error No known target OS defined.
-@@ -194,6 +196,8 @@ path. Add it with -I<path> to the command line
+ && !defined(V8_TARGET_OS_WIN) \
+ && !defined(V8_TARGET_OS_CHROMEOS)
+@@ -213,6 +215,8 @@ path. Add it with -I<path> to the command line
|| defined(V8_TARGET_OS_FUCHSIA) \
|| defined(V8_TARGET_OS_IOS) \
|| defined(V8_TARGET_OS_LINUX) \
+ || defined(V8_TARGET_OS_OPENBSD) \
+ || defined(V8_TARGET_OS_FREEBSD) \
|| defined(V8_TARGET_OS_MACOS) \
- || defined(V8_TARGET_OS_WIN)
- # error A target OS is defined but V8_HAVE_TARGET_OS is unset.
-@@ -214,6 +218,16 @@ path. Add it with -I<path> to the command line
-
- #ifdef V8_OS_LINUX
+ || defined(V8_TARGET_OS_WIN) \
+ || defined(V8_TARGET_OS_CHROMEOS)
+@@ -236,6 +240,16 @@ path. Add it with -I<path> to the command line
# define V8_TARGET_OS_LINUX
-+#endif
-+
+ #endif
+
+#ifdef V8_OS_OPENBSD
+# define V8_TARGET_OS_OPENBSD
+# define V8_TARGET_OS_BSD
@@ -32,6 +30,16 @@
+#ifdef V8_OS_FREEBSD
+# define V8_TARGET_OS_OPENBSD
+# define V8_TARGET_OS_BSD
- #endif
-
++#endif
++
#ifdef V8_OS_MACOS
+ # define V8_TARGET_OS_MACOS
+ #endif
+@@ -383,6 +397,7 @@ path. Add it with -I<path> to the command line
+ #if (defined(_M_X64) || defined(__x86_64__) /* x64 (everywhere) */ \
+ || ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */ \
+ && !defined(_WIN32))) /* not on windows */ \
++ && !defined(__OpenBSD__) /* not on OpenBSD */ \
+ && !defined(COMPONENT_BUILD) /* no component build */\
+ && __clang_major__ >= 17 /* clang >= 17 */
+ # define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most))
diff --git a/www/chromium/files/patch-v8_src_api_api.cc b/www/chromium/files/patch-v8_src_api_api.cc
index 39309be4bac4..12ee791a6cca 100644
--- a/www/chromium/files/patch-v8_src_api_api.cc
+++ b/www/chromium/files/patch-v8_src_api_api.cc
@@ -1,15 +1,15 @@
---- v8/src/api/api.cc.orig 2022-07-22 17:30:31 UTC
+--- v8/src/api/api.cc.orig 2025-07-02 06:08:04 UTC
+++ v8/src/api/api.cc
-@@ -138,7 +138,7 @@
- #include "src/wasm/wasm-serialization.h"
- #endif // V8_ENABLE_WEBASSEMBLY
+@@ -158,7 +158,7 @@
+ #include "src/objects/intl-objects.h"
+ #endif // V8_INTL_SUPPORT
-#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
-@@ -6060,7 +6060,7 @@ bool v8::V8::Initialize(const int build_config) {
+@@ -6400,7 +6400,7 @@ bool v8::V8::Initialize(const int build_config) {
return true;
}
diff --git a/www/chromium/files/patch-v8_src_base_atomicops.h b/www/chromium/files/patch-v8_src_base_atomicops.h
index 5e9ed3088e3b..84383215ae30 100644
--- a/www/chromium/files/patch-v8_src_base_atomicops.h
+++ b/www/chromium/files/patch-v8_src_base_atomicops.h
@@ -1,4 +1,4 @@
---- v8/src/base/atomicops.h.orig 2022-06-17 14:20:10 UTC
+--- v8/src/base/atomicops.h.orig 2023-09-13 12:11:42 UTC
+++ 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/chromium/files/patch-v8_src_base_platform_memory.h b/www/chromium/files/patch-v8_src_base_platform_memory.h
new file mode 100644
index 000000000000..dbd115bfb277
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_base_platform_memory.h
@@ -0,0 +1,18 @@
+--- v8/src/base/platform/memory.h.orig 2024-10-22 08:31:56 UTC
++++ v8/src/base/platform/memory.h
+@@ -21,13 +21,13 @@
+ #include <malloc/malloc.h>
+ #elif V8_OS_OPENBSD
+ #include <sys/malloc.h>
+-#elif V8_OS_ZOS
++#elif (V8_OS_ZOS || V8_OS_BSD)
+ #include <stdlib.h>
+ #else
+ #include <malloc.h>
+ #endif
+
+-#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_ZOS && !V8_OS_OPENBSD) || V8_OS_WIN
++#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_ZOS && !V8_OS_BSD) || V8_OS_WIN
+ #define V8_HAS_MALLOC_USABLE_SIZE 1
+ #endif
+
diff --git a/www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc b/www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc
index 5cdd12fb9b50..f54b27c95474 100644
--- a/www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc
+++ b/www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc
@@ -1,4 +1,4 @@
---- v8/src/base/platform/platform-openbsd.cc.orig 2022-02-07 13:39:41 UTC
+--- v8/src/base/platform/platform-openbsd.cc.orig 2024-07-30 11:12:21 UTC
+++ 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)
@@ -24,5 +24,5 @@
+ return reinterpret_cast<uint8_t*>(base) + ss.ss_size;
+}
- std::vector<OS::MemoryRange> OS::GetFreeMemoryRangesWithin(
+ std::optional<OS::MemoryRange> OS::GetFirstFreeMemoryRangeWithin(
OS::Address boundary_start, OS::Address boundary_end, size_t minimum_size,
diff --git a/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc b/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc
index 201867d123dc..fc3f8c61af52 100644
--- a/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc
+++ b/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc
@@ -1,6 +1,6 @@
---- v8/src/base/platform/platform-posix.cc.orig 2022-06-17 14:20:10 UTC
+--- v8/src/base/platform/platform-posix.cc.orig 2025-07-02 06:08:04 UTC
+++ v8/src/base/platform/platform-posix.cc
-@@ -68,7 +68,7 @@
+@@ -76,7 +76,7 @@
#include <sys/syscall.h>
#endif
@@ -9,7 +9,7 @@
#define MAP_ANONYMOUS MAP_ANON
#endif
-@@ -294,8 +294,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
+@@ -313,8 +313,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
}
}
@@ -25,7 +25,7 @@
uintptr_t raw_addr;
{
MutexGuard guard(rng_mutex.Pointer());
-@@ -386,6 +393,7 @@ void* OS::GetRandomMmapAddr() {
+@@ -411,6 +418,7 @@ void* OS::GetRandomMmapAddr() {
#endif
return reinterpret_cast<void*>(raw_addr);
}
@@ -33,8 +33,8 @@
// TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files.
#if !V8_OS_CYGWIN && !V8_OS_FUCHSIA
-@@ -634,7 +642,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
-
+@@ -699,7 +707,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
+ #if !V8_OS_ZOS
// static
bool OS::HasLazyCommits() {
-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN
@@ -42,12 +42,12 @@
return true;
#else
// TODO(bbudge) Return true for all POSIX platforms.
-@@ -1209,7 +1217,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
+@@ -1344,7 +1352,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/chromium/files/patch-v8_src_base_sys-info.cc b/www/chromium/files/patch-v8_src_base_sys-info.cc
index d3c532c9289f..f7429f1ac8f0 100644
--- a/www/chromium/files/patch-v8_src_base_sys-info.cc
+++ b/www/chromium/files/patch-v8_src_base_sys-info.cc
@@ -1,6 +1,6 @@
---- v8/src/base/sys-info.cc.orig 2022-02-07 13:39:41 UTC
+--- v8/src/base/sys-info.cc.orig 2024-10-22 08:31:56 UTC
+++ v8/src/base/sys-info.cc
-@@ -38,7 +38,7 @@ namespace base {
+@@ -36,7 +36,7 @@ namespace base {
// static
int SysInfo::NumberOfProcessors() {
#if V8_OS_OPENBSD
diff --git a/www/chromium/files/patch-v8_src_compiler_backend_ia32_instruction-selector-ia32.cc b/www/chromium/files/patch-v8_src_compiler_backend_ia32_instruction-selector-ia32.cc
deleted file mode 100644
index b8599ecc5b85..000000000000
--- a/www/chromium/files/patch-v8_src_compiler_backend_ia32_instruction-selector-ia32.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- v8/src/compiler/backend/ia32/instruction-selector-ia32.cc.orig 2022-06-17 14:20:10 UTC
-+++ v8/src/compiler/backend/ia32/instruction-selector-ia32.cc
-@@ -3026,6 +3026,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;
-
-@@ -3079,6 +3080,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/chromium/files/patch-v8_src_diagnostics_perf-jit.cc b/www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc
index d6d2809f73e6..023d7715ea56 100644
--- a/www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc
+++ b/www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc
@@ -1,11 +1,11 @@
---- v8/src/diagnostics/perf-jit.cc.orig 2022-06-17 14:20:10 UTC
+--- v8/src/diagnostics/perf-jit.cc.orig 2025-05-28 14:55:43 UTC
+++ 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
-+#if defined(V8_OS_LINUX) || defined(V8_OS_BSD)
+ // Only compile the {PerfJitLogger} on Linux & Darwin.
+-#if V8_OS_LINUX || V8_OS_DARWIN
++#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_BSD
#include <fcntl.h>
#include <sys/mman.h>
diff --git a/www/chromium/files/patch-v8_src_diagnostics_perf-jit.h b/www/chromium/files/patch-v8_src_diagnostics_perf-jit.h
index b5c06ad88b32..e58534f8fd5f 100644
--- a/www/chromium/files/patch-v8_src_diagnostics_perf-jit.h
+++ b/www/chromium/files/patch-v8_src_diagnostics_perf-jit.h
@@ -1,11 +1,11 @@
---- v8/src/diagnostics/perf-jit.h.orig 2022-06-17 14:20:10 UTC
+--- v8/src/diagnostics/perf-jit.h.orig 2025-05-28 14:55:43 UTC
+++ v8/src/diagnostics/perf-jit.h
@@ -31,7 +31,7 @@
#include "include/v8config.h"
- // {LinuxPerfJitLogger} is only implemented on Linux.
--#if V8_OS_LINUX
-+#if defined(V8_OS_LINUX) || defined(V8_OS_BSD)
+ // {PerfJitLogger} is only implemented on Linux & Darwin.
+-#if V8_OS_LINUX || V8_OS_DARWIN
++#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_BSD
#include "src/logging/log.h"
diff --git a/www/chromium/files/patch-v8_src_execution_isolate.cc b/www/chromium/files/patch-v8_src_execution_isolate.cc
new file mode 100644
index 000000000000..6e4a73698048
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_execution_isolate.cc
@@ -0,0 +1,27 @@
+--- v8/src/execution/isolate.cc.orig 2025-07-02 06:08:04 UTC
++++ v8/src/execution/isolate.cc
+@@ -173,6 +173,10 @@
+ #include "src/execution/simulator-base.h"
+ #endif
+
++#if defined(V8_OS_OPENBSD)
++#include <sys/mman.h>
++#endif
++
+ 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_[];
+@@ -5171,6 +5175,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() {
+ uint32_t code_size = DefaultEmbeddedBlobCodeSize();
+ const uint8_t* data = DefaultEmbeddedBlobData();
+ uint32_t data_size = DefaultEmbeddedBlobDataSize();
++
++#if defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32)
++ if (code_size > 0) {
++ mprotect(reinterpret_cast<void *>(const_cast<uint8_t *>(code)),
++ code_size, PROT_READ | PROT_EXEC);
++ }
++#endif
+
+ if (StickyEmbeddedBlobCode() != nullptr) {
+ base::MutexGuard guard(current_embedded_blob_refcount_mutex_.Pointer());
diff --git a/www/chromium/files/patch-v8_src_flags_flags.cc b/www/chromium/files/patch-v8_src_flags_flags.cc
new file mode 100644
index 000000000000..16ee51dd6b20
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_flags_flags.cc
@@ -0,0 +1,24 @@
+--- v8/src/flags/flags.cc.orig 2025-03-05 08:14:56 UTC
++++ v8/src/flags/flags.cc
+@@ -16,6 +16,10 @@
+ #include <set>
+ #include <sstream>
+
++#if V8_OS_OPENBSD
++#include <sys/mman.h>
++#endif
++
+ #include "src/base/hashing.h"
+ #include "src/base/lazy-instance.h"
+ #include "src/base/platform/platform.h"
+@@ -823,6 +827,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/chromium/files/patch-v8_src_libsampler_sampler.cc b/www/chromium/files/patch-v8_src_libsampler_sampler.cc
new file mode 100644
index 000000000000..4533ba3fe003
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_libsampler_sampler.cc
@@ -0,0 +1,19 @@
+--- v8/src/libsampler/sampler.cc.orig 2025-07-02 06:08:04 UTC
++++ v8/src/libsampler/sampler.cc
+@@ -527,6 +527,16 @@ void SignalHandler::FillRegisterState(void* context, R
+ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]);
+ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]);
+ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]);
++#elif V8_HOST_ARCH_ARM64
++#ifdef __CHERI_PURE_CAPABILITY__
++ state->pc = reinterpret_cast<void*>(mcontext.mc_capregs.cap_elr);
++ state->sp = reinterpret_cast<void*>(mcontext.mc_capregs.cap_sp);
++ state->fp = reinterpret_cast<void*>(mcontext.mc_capregs.cap_x[29]);
++#else // !__CHERI_PURE_CAPABILITY__
++ state->pc = reinterpret_cast<void*>(mcontext.mc_gpregs.gp_elr);
++ state->sp = reinterpret_cast<void*>(mcontext.mc_gpregs.gp_sp);
++ state->fp = reinterpret_cast<void*>(mcontext.mc_gpregs.gp_x[29]);
++#endif // __CHERI_PURE_CAPABILITY__
+ #endif // V8_HOST_ARCH_*
+ #elif V8_OS_NETBSD
+ #if V8_HOST_ARCH_IA32
diff --git a/www/chromium/files/patch-v8_src_sandbox_sandbox.cc b/www/chromium/files/patch-v8_src_sandbox_sandbox.cc
new file mode 100644
index 000000000000..8ea9f08c3823
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_sandbox_sandbox.cc
@@ -0,0 +1,11 @@
+--- v8/src/sandbox/sandbox.cc.orig 2025-03-05 08:14:56 UTC
++++ v8/src/sandbox/sandbox.cc
+@@ -59,7 +59,7 @@ static Address DetermineAddressSpaceLimit() {
+ }
+ #endif // V8_TARGET_ARCH_X64
+
+-#if defined(V8_TARGET_ARCH_ARM64) && defined(V8_TARGET_OS_ANDROID)
++#if defined(V8_TARGET_ARCH_ARM64) && (defined(V8_TARGET_OS_ANDROID) || defined(V8_TARGET_OS_OPENBSD))
+ // On Arm64 Android assume a 40-bit virtual address space (39 bits for
+ // userspace and kernel each) as that appears to be the most common
+ // configuration and there seems to be no easy way to retrieve the actual
diff --git a/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc b/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc
new file mode 100644
index 000000000000..b54eae551d58
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc
@@ -0,0 +1,11 @@
+--- v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc.orig 2024-08-26 12:06:38 UTC
++++ v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc
+@@ -148,6 +148,8 @@ EmbeddedTargetOs ToEmbeddedTargetOs(const char* s) {
+ return EmbeddedTargetOs::kStarboard;
+ } else if (string == "zos") {
+ return EmbeddedTargetOs::kZOS;
++ } else if (string == "openbsd") {
++ return EmbeddedTargetOs::kOpenBSD;
+ } else {
+ return EmbeddedTargetOs::kGeneric;
+ }
diff --git a/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h b/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h
new file mode 100644
index 000000000000..e5b8cbf5bee0
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h
@@ -0,0 +1,10 @@
+--- v8/src/snapshot/embedded/platform-embedded-file-writer-base.h.orig 2024-09-30 07:45:04 UTC
++++ v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
+@@ -36,6 +36,7 @@ enum class EmbeddedTargetOs {
+ kWin,
+ kStarboard,
+ kZOS,
++ kOpenBSD,
+ kGeneric, // Everything not covered above falls in here.
+ };
+
diff --git a/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc b/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc
new file mode 100644
index 000000000000..32969fc9f317
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc
@@ -0,0 +1,42 @@
+--- v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc.orig 2023-08-17 07:33:31 UTC
++++ v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
+@@ -9,6 +9,10 @@
+
+ #include "src/objects/instruction-stream.h"
+
++#if V8_OS_OPENBSD
++#include <sys/param.h>
++#endif
++
+ namespace v8 {
+ namespace internal {
+
+@@ -35,6 +39,10 @@ const char* DirectiveAsString(DataDirective directive)
+ void PlatformEmbeddedFileWriterGeneric::SectionText() {
+ if (target_os_ == EmbeddedTargetOs::kChromeOS) {
+ fprintf(fp_, ".section .text.hot.embedded\n");
++#if !defined(V8_TARGET_ARCH_IA32)
++ } else if (target_os_ == EmbeddedTargetOs::kOpenBSD) {
++ fprintf(fp_, ".section .openbsd.mutable,\"a\"\n");
++#endif
+ } else {
+ fprintf(fp_, ".section .text\n");
+ }
+@@ -66,6 +74,8 @@ void PlatformEmbeddedFileWriterGeneric::AlignToCodeAli
+ // On these architectures and platforms, we remap the builtins, so need these
+ // to be aligned on a page boundary.
+ fprintf(fp_, ".balign 4096\n");
++#elif defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32)
++ fprintf(fp_, ".balign %d\n", PAGE_SIZE);
+ #elif V8_TARGET_ARCH_X64
+ // On x64 use 64-bytes code alignment to allow 64-bytes loop header alignment.
+ static_assert(64 >= kCodeAlignment);
+@@ -86,6 +96,8 @@ void PlatformEmbeddedFileWriterGeneric::AlignToPageSiz
+ (V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM64)
+ // Since the builtins are remapped, need to pad until the next page boundary.
+ fprintf(fp_, ".balign 4096\n");
++#elif defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32)
++ fprintf(fp_, ".balign %d\n", PAGE_SIZE);
+ #endif
+ }
+
diff --git a/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc
index b9a2f91e9856..693ca8b38b32 100644
--- a/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc
+++ b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc
@@ -1,6 +1,6 @@
---- v8/src/trap-handler/handler-inside-posix.cc.orig 2022-02-07 13:39:41 UTC
+--- v8/src/trap-handler/handler-inside-posix.cc.orig 2025-07-02 06:08:04 UTC
+++ v8/src/trap-handler/handler-inside-posix.cc
-@@ -53,6 +53,8 @@ namespace trap_handler {
+@@ -62,6 +62,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
-@@ -62,8 +64,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) {
+@@ -81,8 +83,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/chromium/files/patch-v8_src_trap-handler_trap-handler.h b/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h
index 4e121b916178..11de58618a02 100644
--- a/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h
+++ b/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h
@@ -1,11 +1,11 @@
---- v8/src/trap-handler/trap-handler.h.orig 2022-04-21 18:48:31 UTC
+--- v8/src/trap-handler/trap-handler.h.orig 2025-05-28 14:55:43 UTC
+++ v8/src/trap-handler/trap-handler.h
-@@ -20,7 +20,7 @@ namespace trap_handler {
+@@ -18,7 +18,7 @@ namespace v8::internal::trap_handler {
// X64 on Linux, Windows, MacOS, FreeBSD.
#if V8_HOST_ARCH_X64 && V8_TARGET_ARCH_X64 && \
((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_DARWIN || \
- 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 native on Linux, Windows, MacOS.
+ #elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && \
diff --git a/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h b/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h
new file mode 100644
index 000000000000..f983f11336b3
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h
@@ -0,0 +1,128 @@
+--- v8/src/wasm/baseline/ia32/liftoff-assembler-ia32-inl.h.orig 2025-07-02 06:08:04 UTC
++++ v8/src/wasm/baseline/ia32/liftoff-assembler-ia32-inl.h
+@@ -597,7 +597,7 @@ void LiftoffAssembler::AtomicStoreTaggedPointer(
+ }
+
+ void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
+- Register offset_reg, uint32_t offset_imm,
++ Register offset_reg, uintptr_t offset_imm,
+ LoadType type, uint32_t* protected_load_pc,
+ bool /* is_load_mem */, bool /* i64_offset */,
+ bool needs_shift) {
+@@ -677,7 +677,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis
+ }
+
+ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
+- uint32_t offset_imm, LiftoffRegister src,
++ uintptr_t offset_imm, LiftoffRegister src,
+ StoreType type, LiftoffRegList pinned,
+ uint32_t* protected_store_pc,
+ bool /* is_store_mem */, bool /* i64_offset */) {
+@@ -756,7 +756,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist
+ }
+
+ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, Register src_addr,
+- Register offset_reg, uint32_t offset_imm,
++ Register offset_reg, uintptr_t offset_imm,
+ LoadType type, LiftoffRegList /* pinned */,
+ bool /* i64_offset */) {
+ if (type.value() != LoadType::kI64Load) {
+@@ -774,7 +774,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst,
+ }
+
+ void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg,
+- uint32_t offset_imm, LiftoffRegister src,
++ uintptr_t offset_imm, LiftoffRegister src,
+ StoreType type, LiftoffRegList pinned,
+ bool /* i64_offset */) {
+ DCHECK_LE(offset_imm, std::numeric_limits<int32_t>::max());
+@@ -844,7 +844,7 @@ enum Binop { kAdd, kSub, kAnd, kOr, kXor, kExchange };
+
+ inline void AtomicAddOrSubOrExchange32(LiftoffAssembler* lasm, Binop binop,
+ Register dst_addr, Register offset_reg,
+- uint32_t offset_imm,
++ uintptr_t offset_imm,
+ LiftoffRegister value,
+ LiftoffRegister result, StoreType type) {
+ DCHECK_EQ(value, result);
+@@ -912,7 +912,7 @@ inline void AtomicAddOrSubOrExchange32(LiftoffAssemble
+ }
+
+ inline void AtomicBinop32(LiftoffAssembler* lasm, Binop op, Register dst_addr,
+- Register offset_reg, uint32_t offset_imm,
++ Register offset_reg, uintptr_t offset_imm,
+ LiftoffRegister value, LiftoffRegister result,
+ StoreType type) {
+ DCHECK_EQ(value, result);
+@@ -1027,7 +1027,7 @@ inline void AtomicBinop32(LiftoffAssembler* lasm, Bino
+ }
+
+ inline void AtomicBinop64(LiftoffAssembler* lasm, Binop op, Register dst_addr,
+- Register offset_reg, uint32_t offset_imm,
++ Register offset_reg, uintptr_t offset_imm,
+ 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
+@@ -1123,7 +1123,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino
+ } // namespace liftoff
+
+ void LiftoffAssembler::AtomicAdd(Register dst_addr, Register offset_reg,
+- uint32_t offset_imm, LiftoffRegister value,
++ uintptr_t offset_imm, LiftoffRegister value,
+ LiftoffRegister result, StoreType type,
+ bool /* i64_offset */) {
+ if (type.value() == StoreType::kI64Store) {
+@@ -1137,7 +1137,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re
+ }
+
+ void LiftoffAssembler::AtomicSub(Register dst_addr, Register offset_reg,
+- uint32_t offset_imm, LiftoffRegister value,
++ uintptr_t offset_imm, LiftoffRegister value,
+ LiftoffRegister result, StoreType type,
+ bool /* i64_offset */) {
+ if (type.value() == StoreType::kI64Store) {
+@@ -1150,7 +1150,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re
+ }
+
+ void LiftoffAssembler::AtomicAnd(Register dst_addr, Register offset_reg,
+- uint32_t offset_imm, LiftoffRegister value,
++ uintptr_t offset_imm, LiftoffRegister value,
+ LiftoffRegister result, StoreType type,
+ bool /* i64_offset */) {
+ if (type.value() == StoreType::kI64Store) {
+@@ -1164,7 +1164,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re
+ }
+
+ void LiftoffAssembler::AtomicOr(Register dst_addr, Register offset_reg,
+- uint32_t offset_imm, LiftoffRegister value,
++ uintptr_t offset_imm, LiftoffRegister value,
+ LiftoffRegister result, StoreType type,
+ bool /* i64_offset */) {
+ if (type.value() == StoreType::kI64Store) {
+@@ -1178,7 +1178,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg
+ }
+
+ void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg,
+- uint32_t offset_imm, LiftoffRegister value,
++ uintptr_t offset_imm, LiftoffRegister value,
+ LiftoffRegister result, StoreType type,
+ bool /* i64_offset */) {
+ if (type.value() == StoreType::kI64Store) {
+@@ -1192,7 +1192,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re
+ }
+
+ void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg,
+- uint32_t offset_imm,
++ uintptr_t offset_imm,
+ LiftoffRegister value,
+ LiftoffRegister result, StoreType type,
+ bool /* i64_offset */) {
+@@ -1207,7 +1207,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add
+ }
+
+ void LiftoffAssembler::AtomicCompareExchange(
+- Register dst_addr, Register offset_reg, uint32_t offset_imm,
++ Register dst_addr, Register offset_reg, uintptr_t offset_imm,
+ LiftoffRegister expected, LiftoffRegister new_value, LiftoffRegister result,
+ StoreType type, bool /* i64_offset */) {
+ // We expect that the offset has already been added to {dst_addr}, and no
diff --git a/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h b/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h
deleted file mode 100644
index 703ce462a6db..000000000000
--- a/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h
+++ /dev/null
@@ -1,101 +0,0 @@
---- v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h.orig 2022-07-22 17:30:31 UTC
-+++ v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
-@@ -433,7 +433,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst
- }
-
- void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
-- Register offset_reg, uint32_t offset_imm,
-+ Register offset_reg, uintptr_t offset_imm,
- LoadType type, LiftoffRegList pinned,
- uint32_t* protected_load_pc, bool is_load_mem,
- bool i64_offset) {
-@@ -510,7 +510,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis
- }
-
- void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
-- uint32_t offset_imm, LiftoffRegister src,
-+ uintptr_t offset_imm, LiftoffRegister src,
- StoreType type, LiftoffRegList pinned,
- uint32_t* protected_store_pc, bool is_store_mem) {
- DCHECK_EQ(type.value_type() == kWasmI64, src.is_gp_pair());
-@@ -578,7 +578,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist
- }
-
- void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, Register src_addr,
-- Register offset_reg, uint32_t offset_imm,
-+ Register offset_reg, uintptr_t offset_imm,
- LoadType type, LiftoffRegList pinned) {
- if (type.value() != LoadType::kI64Load) {
- Load(dst, src_addr, offset_reg, offset_imm, type, pinned, nullptr, true);
-@@ -597,7 +597,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst,
- }
-
- void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg,
-- uint32_t offset_imm, LiftoffRegister src,
-+ uintptr_t offset_imm, LiftoffRegister src,
- StoreType type, LiftoffRegList pinned) {
- DCHECK_NE(offset_reg, no_reg);
- DCHECK_LE(offset_imm, std::numeric_limits<int32_t>::max());
-@@ -937,7 +937,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino
- } // namespace liftoff
-
- void LiftoffAssembler::AtomicAdd(Register dst_addr, Register offset_reg,
-- uint32_t offset_imm, LiftoffRegister value,
-+ uintptr_t offset_imm, LiftoffRegister value,
- LiftoffRegister result, StoreType type) {
- if (type.value() == StoreType::kI64Store) {
- liftoff::AtomicBinop64(this, liftoff::kAdd, dst_addr, offset_reg,
-@@ -950,7 +950,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re
- }
-
- void LiftoffAssembler::AtomicSub(Register dst_addr, Register offset_reg,
-- uint32_t offset_imm, LiftoffRegister value,
-+ uintptr_t offset_imm, LiftoffRegister value,
- LiftoffRegister result, StoreType type) {
- if (type.value() == StoreType::kI64Store) {
- liftoff::AtomicBinop64(this, liftoff::kSub, dst_addr, offset_reg,
-@@ -962,7 +962,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re
- }
-
- void LiftoffAssembler::AtomicAnd(Register dst_addr, Register offset_reg,
-- uint32_t offset_imm, LiftoffRegister value,
-+ uintptr_t offset_imm, LiftoffRegister value,
- LiftoffRegister result, StoreType type) {
- if (type.value() == StoreType::kI64Store) {
- liftoff::AtomicBinop64(this, liftoff::kAnd, dst_addr, offset_reg,
-@@ -975,7 +975,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re
- }
-
- void LiftoffAssembler::AtomicOr(Register dst_addr, Register offset_reg,
-- uint32_t offset_imm, LiftoffRegister value,
-+ uintptr_t offset_imm, LiftoffRegister value,
- LiftoffRegister result, StoreType type) {
- if (type.value() == StoreType::kI64Store) {
- liftoff::AtomicBinop64(this, liftoff::kOr, dst_addr, offset_reg, offset_imm,
-@@ -988,7 +988,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg
- }
-
- void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg,
-- uint32_t offset_imm, LiftoffRegister value,
-+ uintptr_t offset_imm, LiftoffRegister value,
- LiftoffRegister result, StoreType type) {
- if (type.value() == StoreType::kI64Store) {
- liftoff::AtomicBinop64(this, liftoff::kXor, dst_addr, offset_reg,
-@@ -1001,7 +1001,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re
- }
-
- void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg,
-- uint32_t offset_imm,
-+ uintptr_t offset_imm,
- LiftoffRegister value,
- LiftoffRegister result, StoreType type) {
- if (type.value() == StoreType::kI64Store) {
-@@ -1015,7 +1015,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add
- }
-
- void LiftoffAssembler::AtomicCompareExchange(
-- Register dst_addr, Register offset_reg, uint32_t offset_imm,
-+ Register dst_addr, Register offset_reg, uintptr_t offset_imm,
- LiftoffRegister expected, LiftoffRegister new_value, LiftoffRegister result,
- StoreType type) {
- // We expect that the offset has already been added to {dst_addr}, and no
diff --git a/www/chromium/files/patch-v8_tools_run.py b/www/chromium/files/patch-v8_tools_run.py
index 194cc4ae7c4c..5606a90b788e 100644
--- a/www/chromium/files/patch-v8_tools_run.py
+++ b/www/chromium/files/patch-v8_tools_run.py
@@ -1,11 +1,11 @@
---- v8/tools/run.py.orig 2022-05-19 14:06:27 UTC
+--- v8/tools/run.py.orig 2024-10-22 08:31:56 UTC
+++ v8/tools/run.py
-@@ -9,7 +9,7 @@ scripts."""
- import subprocess
- import sys
+@@ -21,7 +21,7 @@ if cmd and cmd[0] == '--redirect-stdout':
+ kwargs = dict(stdout=subprocess.PIPE)
+ cmd = cmd[2:]
--result = subprocess.call(sys.argv[1:])
-+sys.exit(subprocess.call(sys.argv[1:], env={"LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}))
- if result != 0:
- # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier
- # to recognize and differentiate in hex.
+-process = subprocess.Popen(cmd, **kwargs)
++process = subprocess.Popen(cmd, env={"LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}, **kwargs)
+ stdout, _ = process.communicate()
+ if stdout_file:
+ with stdout_file.open('w') as f:
diff --git a/www/chromium/files/patch-weblayer_browser_browser__main__parts__impl.cc b/www/chromium/files/patch-weblayer_browser_browser__main__parts__impl.cc
deleted file mode 100644
index 565a302bec87..000000000000
--- a/www/chromium/files/patch-weblayer_browser_browser__main__parts__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- weblayer/browser/browser_main_parts_impl.cc.orig 2022-06-17 14:20:10 UTC
-+++ weblayer/browser/browser_main_parts_impl.cc
-@@ -79,7 +79,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
-
-@@ -195,7 +195,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/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc b/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc
deleted file mode 100644
index 982777ace576..000000000000
--- a/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- weblayer/browser/content_browser_client_impl.cc.orig 2022-06-17 14:20:10 UTC
-+++ weblayer/browser/content_browser_client_impl.cc
-@@ -156,7 +156,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
-
-@@ -1002,7 +1002,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/chromium/files/patch-weblayer_browser_content__browser__client__impl.h b/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.h
deleted file mode 100644
index 08299a0ffaea..000000000000
--- a/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- weblayer/browser/content_browser_client_impl.h.orig 2022-03-25 21:59:56 UTC
-+++ weblayer/browser/content_browser_client_impl.h
-@@ -179,7 +179,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/chromium/files/patch-weblayer_browser_system__network__context__manager.cc b/www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc
deleted file mode 100644
index 7c1a12d7c5e1..000000000000
--- a/www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- weblayer/browser/system_network_context_manager.cc.orig 2022-03-25 21:59:56 UTC
-+++ 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/chromium/files/patch-weblayer_common_weblayer__paths.cc b/www/chromium/files/patch-weblayer_common_weblayer__paths.cc
deleted file mode 100644
index ba512c1227d7..000000000000
--- a/www/chromium/files/patch-weblayer_common_weblayer__paths.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- weblayer/common/weblayer_paths.cc.orig 2022-03-25 21:59:56 UTC
-+++ 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));