aboutsummaryrefslogtreecommitdiff
path: root/www/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'www/chromium')
-rw-r--r--www/chromium/Makefile50
-rw-r--r--www/chromium/distinfo10
-rw-r--r--www/chromium/files/audio_manager_openbsd.cc177
-rw-r--r--www/chromium/files/audio_manager_openbsd.h65
-rw-r--r--www/chromium/files/device_info_fetcher_freebsd.cc141
-rw-r--r--www/chromium/files/device_info_fetcher_freebsd.h26
-rw-r--r--www/chromium/files/dir_reader_freebsd.h95
-rw-r--r--www/chromium/files/extra-patch-clang29
-rw-r--r--www/chromium/files/extra-patch-no-mempcpy-nasm11
-rw-r--r--www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h11
-rw-r--r--www/chromium/files/patch-BUILD.gn123
-rw-r--r--www/chromium/files/patch-apps_app__restore__service__browsertest.cc11
-rw-r--r--www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc4
-rw-r--r--www/chromium/files/patch-ash_display_mirror__window__controller.cc4
-rw-r--r--www/chromium/files/patch-base_BUILD.gn104
-rw-r--r--www/chromium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc88
-rw-r--r--www/chromium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h13
-rw-r--r--www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc47
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_address__pool__manager.cc16
-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__internals__posix.h56
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h25
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h14
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc20
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h12
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc47
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_partition__root.h11
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc55
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.h20
-rw-r--r--www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc57
-rw-r--r--www/chromium/files/patch-base_atomicops.h14
-rw-r--r--www/chromium/files/patch-base_base__paths__posix.cc98
-rw-r--r--www/chromium/files/patch-base_base__switches.cc15
-rw-r--r--www/chromium/files/patch-base_base__switches.h15
-rw-r--r--www/chromium/files/patch-base_check.h11
-rw-r--r--www/chromium/files/patch-base_compiler__specific.h11
-rw-r--r--www/chromium/files/patch-base_containers_checked__iterators__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_cpu.cc35
-rw-r--r--www/chromium/files/patch-base_cpu.h21
-rw-r--r--www/chromium/files/patch-base_debug_debugger__posix.cc62
-rw-r--r--www/chromium/files/patch-base_debug_elf__reader.cc16
-rw-r--r--www/chromium/files/patch-base_debug_proc__maps__linux.cc134
-rw-r--r--www/chromium/files/patch-base_debug_stack__trace.cc11
-rw-r--r--www/chromium/files/patch-base_debug_stack__trace.h19
-rw-r--r--www/chromium/files/patch-base_debug_stack__trace__posix.cc81
-rw-r--r--www/chromium/files/patch-base_debug_stack__trace__unittest.cc40
-rw-r--r--www/chromium/files/patch-base_files_file__path__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_files_file__path__watcher__bsd.cc (renamed from www/chromium/files/patch-base_files_file__path__watcher__freebsd.cc)19
-rw-r--r--www/chromium/files/patch-base_files_file__path__watcher__kqueue.h9
-rw-r--r--www/chromium/files/patch-base_files_file__path__watcher__unittest.cc56
-rw-r--r--www/chromium/files/patch-base_files_file__util.h46
-rw-r--r--www/chromium/files/patch-base_files_file__util__posix.cc184
-rw-r--r--www/chromium/files/patch-base_files_file__util__unittest.cc38
-rw-r--r--www/chromium/files/patch-base_files_important__file__writer__cleaner.cc12
-rw-r--r--www/chromium/files/patch-base_files_scoped__file.cc12
-rw-r--r--www/chromium/files/patch-base_files_scoped__file.h43
-rw-r--r--www/chromium/files/patch-base_files_scoped__file__linux.cc23
-rw-r--r--www/chromium/files/patch-base_i18n_icu__util.cc7
-rw-r--r--www/chromium/files/patch-base_linux__util.cc16
-rw-r--r--www/chromium/files/patch-base_location__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_logging__unittest.cc20
-rw-r--r--www/chromium/files/patch-base_memory_discardable__memory.cc33
-rw-r--r--www/chromium/files/patch-base_memory_discardable__memory__internal.h10
-rw-r--r--www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc20
-rw-r--r--www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc88
-rw-r--r--www/chromium/files/patch-base_memory_shared__memory__region__unittest.cc16
-rw-r--r--www/chromium/files/patch-base_native__library__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_numerics_safe__math__shared__impl.h12
-rw-r--r--www/chromium/files/patch-base_path__service__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_posix_can__lower__nice__to.cc28
-rw-r--r--www/chromium/files/patch-base_posix_unix__domain__socket.cc78
-rw-r--r--www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc12
-rw-r--r--www/chromium/files/patch-base_process_internal__linux.cc97
-rw-r--r--www/chromium/files/patch-base_process_internal__linux.h34
-rw-r--r--www/chromium/files/patch-base_process_kill.h9
-rw-r--r--www/chromium/files/patch-base_process_kill__posix.cc13
-rw-r--r--www/chromium/files/patch-base_process_launch.cc11
-rw-r--r--www/chromium/files/patch-base_process_launch.h20
-rw-r--r--www/chromium/files/patch-base_process_launch__posix.cc111
-rw-r--r--www/chromium/files/patch-base_process_memory.cc13
-rw-r--r--www/chromium/files/patch-base_process_memory.h11
-rw-r--r--www/chromium/files/patch-base_process_memory__stubs.cc14
-rw-r--r--www/chromium/files/patch-base_process_memory__unittest.cc67
-rw-r--r--www/chromium/files/patch-base_process_process__handle__openbsd.cc89
-rw-r--r--www/chromium/files/patch-base_process_process__iterator__openbsd.cc45
-rw-r--r--www/chromium/files/patch-base_process_process__linux.cc48
-rw-r--r--www/chromium/files/patch-base_process_process__metrics.cc31
-rw-r--r--www/chromium/files/patch-base_process_process__metrics.h143
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__openbsd.cc213
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__posix.cc4
-rw-r--r--www/chromium/files/patch-base_process_process__posix.cc70
-rw-r--r--www/chromium/files/patch-base_process_process__unittest.cc27
-rw-r--r--www/chromium/files/patch-base_process_process__util__unittest.cc16
-rw-r--r--www/chromium/files/patch-base_profiler_register__context.h60
-rw-r--r--www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc11
-rw-r--r--www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h20
-rw-r--r--www/chromium/files/patch-base_profiler_stack__copier__signal.cc63
-rw-r--r--www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc11
-rw-r--r--www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_profiler_thread__delegate__posix.cc68
-rw-r--r--www/chromium/files/patch-base_rand__util.h11
-rw-r--r--www/chromium/files/patch-base_rand__util__posix.cc52
-rw-r--r--www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc24
-rw-r--r--www/chromium/files/patch-base_security__unittest.cc28
-rw-r--r--www/chromium/files/patch-base_strings_string__util.cc11
-rw-r--r--www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc19
-rw-r--r--www/chromium/files/patch-base_synchronization_lock__impl.h10
-rw-r--r--www/chromium/files/patch-base_system_sys__info.cc4
-rw-r--r--www/chromium/files/patch-base_system_sys__info.h16
-rw-r--r--www/chromium/files/patch-base_system_sys__info__openbsd.cc100
-rw-r--r--www/chromium/files/patch-base_system_sys__info__posix.cc16
-rw-r--r--www/chromium/files/patch-base_system_sys__info__unittest.cc46
-rw-r--r--www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc11
-rw-r--r--www/chromium/files/patch-base_test_launcher_test__launcher.cc22
-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.cc11
-rw-r--r--www/chromium/files/patch-base_test_test__suite.cc20
-rw-r--r--www/chromium/files/patch-base_third__party_libevent_event-config.h11
-rw-r--r--www/chromium/files/patch-base_third__party_libevent_openbsd_config.h279
-rw-r--r--www/chromium/files/patch-base_third__party_libevent_openbsd_event-config.h287
-rw-r--r--www/chromium/files/patch-base_third__party_symbolize_symbolize.cc11
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread.h4
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__internal__posix.h18
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__linux.cc39
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__posix.cc37
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__unittest.cc24
-rw-r--r--www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc20
-rw-r--r--www/chromium/files/patch-base_threading_thread__task__runner__handle.cc26
-rw-r--r--www/chromium/files/patch-base_time_time.cc10
-rw-r--r--www/chromium/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc38
-rw-r--r--www/chromium/files/patch-base_trace__event_memory__dump__manager.cc11
-rw-r--r--www/chromium/files/patch-base_trace__event_process__memory__dump.cc11
-rw-r--r--www/chromium/files/patch-base_tracing_trace__time.cc32
-rw-r--r--www/chromium/files/patch-base_tracing_trace__time.h12
-rw-r--r--www/chromium/files/patch-build_config_BUILD.gn31
-rw-r--r--www/chromium/files/patch-build_config_BUILDCONFIG.gn62
-rw-r--r--www/chromium/files/patch-build_config_c++_c++.gni11
-rw-r--r--www/chromium/files/patch-build_config_compiler_BUILD.gn178
-rw-r--r--www/chromium/files/patch-build_config_compiler_compiler.gni11
-rw-r--r--www/chromium/files/patch-build_config_compiler_pgo_pgo.gni (renamed from www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni)2
-rw-r--r--www/chromium/files/patch-build_config_features.gni11
-rw-r--r--www/chromium/files/patch-build_config_freetype_freetype.gni9
-rw-r--r--www/chromium/files/patch-build_config_linux_BUILD.gn4
-rw-r--r--www/chromium/files/patch-build_config_linux_pkg-config.py21
-rw-r--r--www/chromium/files/patch-build_config_ozone.gni21
-rw-r--r--www/chromium/files/patch-build_config_rust.gni20
-rw-r--r--www/chromium/files/patch-build_config_sysroot.gni14
-rw-r--r--www/chromium/files/patch-build_config_v8__target__cpu.gni13
-rw-r--r--www/chromium/files/patch-build_gn__run__binary.py4
-rw-r--r--www/chromium/files/patch-build_linux_chrome.map20
-rw-r--r--www/chromium/files/patch-build_linux_libpci_BUILD.gn53
-rw-r--r--www/chromium/files/patch-build_linux_strip__binary.gni15
-rw-r--r--www/chromium/files/patch-build_linux_strip__binary.py16
-rw-r--r--www/chromium/files/patch-build_toolchain_freebsd_BUILD.gn69
-rw-r--r--www/chromium/files/patch-build_toolchain_gcc__solink__wrapper.py11
-rw-r--r--www/chromium/files/patch-build_toolchain_gcc__toolchain.gni36
-rw-r--r--www/chromium/files/patch-build_toolchain_get__concurrent__links.py14
-rw-r--r--www/chromium/files/patch-build_toolchain_openbsd_BUILD.gn69
-rw-r--r--www/chromium/files/patch-cc_BUILD.gn6
-rw-r--r--www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc13
-rw-r--r--www/chromium/files/patch-cc_test_layer__tree__test.cc11
-rw-r--r--www/chromium/files/patch-cc_test_pixel__test.cc11
-rw-r--r--www/chromium/files/patch-cc_trees_property__tree.cc20
-rw-r--r--www/chromium/files/patch-chrome_BUILD.gn31
-rw-r--r--www/chromium/files/patch-chrome_app_BUILD.gn11
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main.cc23
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main__delegate.cc151
-rw-r--r--www/chromium/files/patch-chrome_app_chromium__strings.grd19
-rw-r--r--www/chromium/files/patch-chrome_app_generated__resources.grd32
-rw-r--r--www/chromium/files/patch-chrome_app_google__chrome__strings.grd19
-rw-r--r--www/chromium/files/patch-chrome_app_profiles__strings.grdp4
-rw-r--r--www/chromium/files/patch-chrome_browser_BUILD.gn58
-rw-r--r--www/chromium/files/patch-chrome_browser_about__flags.cc188
-rw-r--r--www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc25
-rw-r--r--www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc33
-rw-r--r--www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc64
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main.cc66
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc58
-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.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc129
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h10
-rw-r--r--www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc (renamed from www/chromium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc)8
-rw-r--r--www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc4
-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.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__commands.cc27
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__commands.h12
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__item__model.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__prefs.cc96
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__prefs.h22
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__query.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc24
-rw-r--r--www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc22
-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_extensions_BUILD.gn8
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc (renamed from www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc)6
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.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_runtime_chrome__runtime__api__delegate.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_feedback_system__logs_log__sources_crash__ids__source.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h12
-rw-r--r--www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_flag__descriptions.cc68
-rw-r--r--www/chromium/files/patch-chrome_browser_flag__descriptions.h57
-rw-r--r--www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc41
-rw-r--r--www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h10
-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.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_media_audio__service__util.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc25
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc6
-rw-r--r--www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_memory__details__linux.cc32
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc25
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc32
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc35
-rw-r--r--www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc33
-rw-r--r--www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc26
-rw-r--r--www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc25
-rw-r--r--www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder__util.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h10
-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.cc61
-rw-r--r--www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc77
-rw-r--r--www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc25
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_new__tab__page_new__tab__page.js13
-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_settings_appearance__page_appearance__browser__proxy.ts6
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts24
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html4
-rw-r--r--www/chromium/files/patch-chrome_browser_resources_settings_route.ts11
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_BUILD.gn20
-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__handler__util.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc32
-rw-r--r--www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc32
-rw-r--r--www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_signin_signin__util.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc34
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h25
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc49
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h30
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc9
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h9
-rw-r--r--www/chromium/files/patch-chrome_browser_themes_theme__helper.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_BUILD.gn55
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h32
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc9
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_sad__tab.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_signin_dice__web__signin__interceptor__delegate.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc27
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_test_test__browser__dialog.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc38
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc21
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc15
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc6
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc4
-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__desktop__window__tree__host__linux.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc8
-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_profiles_profile__menu__view__base.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc22
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc6
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc101
-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_ntp_app__launcher__handler.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc8
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc14
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc28
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h4
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc4
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h16
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc25
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app__utils.cc54
-rw-r--r--www/chromium/files/patch-chrome_common_BUILD.gn34
-rw-r--r--www/chromium/files/patch-chrome_common_channel__info__posix.cc11
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__features.cc72
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__features.h49
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__paths.cc67
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__paths.h14
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__switches.cc12
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__switches.h12
-rw-r--r--www/chromium/files/patch-chrome_common_features.gni11
-rw-r--r--www/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc11
-rw-r--r--www/chromium/files/patch-chrome_common_pref__names.cc45
-rw-r--r--www/chromium/files/patch-chrome_common_pref__names.h31
-rw-r--r--www/chromium/files/patch-chrome_common_profiler_thread__profiler.cc20
-rw-r--r--www/chromium/files/patch-chrome_common_safe__browsing_BUILD.gn38
-rw-r--r--www/chromium/files/patch-chrome_common_webui__url__constants.cc69
-rw-r--r--www/chromium/files/patch-chrome_common_webui__url__constants.h38
-rw-r--r--www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc12
-rw-r--r--www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h6
-rw-r--r--www/chromium/files/patch-chrome_services_file__util_BUILD.gn20
-rw-r--r--www/chromium/files/patch-chrome_services_file__util_public_cpp_BUILD.gn20
-rw-r--r--www/chromium/files/patch-chrome_services_file__util_public_features.gni9
-rw-r--r--www/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h8
-rw-r--r--www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc13
-rw-r--r--www/chromium/files/patch-chrome_services_speech_soda_soda__test__paths.h11
-rw-r--r--www/chromium/files/patch-chrome_test_BUILD.gn31
-rw-r--r--www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc31
-rw-r--r--www/chromium/files/patch-chrome_test_base_test__browser__window.h11
-rw-r--r--www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc19
-rw-r--r--www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc6
-rw-r--r--www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc38
-rw-r--r--www/chromium/files/patch-chrome_test_chromedriver_server_chromedriver__server.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.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_configurator.cc11
-rw-r--r--www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc21
-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_lib__util.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_utility_services.cc29
-rw-r--r--www/chromium/files/patch-chromecast_app_cast__main__delegate.cc11
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc34
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h11
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc19
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc4
-rw-r--r--www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc103
-rw-r--r--www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.h15
-rw-r--r--www/chromium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc20
-rw-r--r--www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc9
-rw-r--r--www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc4
-rw-r--r--www/chromium/files/patch-components_BUILD.gn16
-rw-r--r--www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc14
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc12
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc21
-rw-r--r--www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc12
-rw-r--r--www/chromium/files/patch-components_autofill_core_common_autofill__util.cc12
-rw-r--r--www/chromium/files/patch-components_cookie__config_cookie__store__util.cc27
-rw-r--r--www/chromium/files/patch-components_crash_content_browser_BUILD.gn11
-rw-r--r--www/chromium/files/patch-components_crash_content_browser_error__reporting_BUILD.gn13
-rw-r--r--www/chromium/files/patch-components_crash_core_app_BUILD.gn55
-rw-r--r--www/chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc12
-rw-r--r--www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc16
-rw-r--r--www/chromium/files/patch-components_crash_core_common_BUILD.gn26
-rw-r--r--www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc18
-rw-r--r--www/chromium/files/patch-components_download_internal_common_download__utils.cc11
-rw-r--r--www/chromium/files/patch-components_download_public_common_download__features.cc11
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_event__constants.cc21
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_event__constants.h21
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc21
-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.h23
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_feature__list.cc21
-rw-r--r--www/chromium/files/patch-components_feature__engagement_public_feature__list.h40
-rw-r--r--www/chromium/files/patch-components_feed_core_v2_proto__util.cc6
-rw-r--r--www/chromium/files/patch-components_flags__ui_flags__state.cc12
-rw-r--r--www/chromium/files/patch-components_gcm__driver_gcm__client.h10
-rw-r--r--www/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc12
-rw-r--r--www/chromium/files/patch-components_gwp__asan_BUILD.gn17
-rw-r--r--www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc20
-rw-r--r--www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc12
-rw-r--r--www/chromium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc14
-rw-r--r--www/chromium/files/patch-components_metrics_BUILD.gn14
-rw-r--r--www/chromium/files/patch-components_metrics_metrics__log.cc11
-rw-r--r--www/chromium/files/patch-components_new__or__sad__tab__strings.grdp8
-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.h31
-rw-r--r--www/chromium/files/patch-components_os__crypt_os__crypt__unittest.cc11
-rw-r--r--www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc4
-rw-r--r--www/chromium/files/patch-components_performance__manager_graph_process__node__impl__describer.cc11
-rw-r--r--www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc12
-rw-r--r--www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc14
-rw-r--r--www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.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__util.cc39
-rw-r--r--www/chromium/files/patch-components_policy_core_common_schema.cc14
-rw-r--r--www/chromium/files/patch-components_policy_resources_policy__templates.json173
-rw-r--r--www/chromium/files/patch-components_policy_tools_generate__policy__source.py7
-rw-r--r--www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py19
-rw-r--r--www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc11
-rw-r--r--www/chromium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc11
-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_startup__metric__utils_browser_startup__metric__utils.cc6
-rw-r--r--www/chromium/files/patch-components_storage__monitor_BUILD.gn16
-rw-r--r--www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc57
-rw-r--r--www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.h48
-rw-r--r--www/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc23
-rw-r--r--www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc4
-rw-r--r--www/chromium/files/patch-components_translate_core_common_translate__util.cc16
-rw-r--r--www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc4
-rw-r--r--www/chromium/files/patch-components_url__matcher_regex__set__matcher.cc16
-rw-r--r--www/chromium/files/patch-components_url__matcher_url__matcher__factory.cc14
-rw-r--r--www/chromium/files/patch-components_viz_common_features.cc4
-rw-r--r--www/chromium/files/patch-components_viz_host_host__display__client.h4
-rw-r--r--www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc11
-rw-r--r--www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc6
-rw-r--r--www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h6
-rw-r--r--www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc6
-rw-r--r--www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h4
-rw-r--r--www/chromium/files/patch-components_viz_test_fake__display__client.cc11
-rw-r--r--www/chromium/files/patch-components_viz_test_fake__output__surface.cc11
-rw-r--r--www/chromium/files/patch-components_viz_test_fake__output__surface.h11
-rw-r--r--www/chromium/files/patch-components_webcrypto_algorithms_test__helpers.cc14
-rw-r--r--www/chromium/files/patch-components_zucchini_main__utils.cc63
-rw-r--r--www/chromium/files/patch-content_app_content__main.cc22
-rw-r--r--www/chromium/files/patch-content_app_content__main__runner__impl.cc115
-rw-r--r--www/chromium/files/patch-content_browser_BUILD.gn14
-rw-r--r--www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc10
-rw-r--r--www/chromium/files/patch-content_browser_browser__main__loop.cc47
-rw-r--r--www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc57
-rw-r--r--www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc4
-rw-r--r--www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc10
-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.cc12
-rw-r--r--www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h12
-rw-r--r--www/chromium/files/patch-content_browser_gpu_compositor__util.cc18
-rw-r--r--www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc4
-rw-r--r--www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc34
-rw-r--r--www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc12
-rw-r--r--www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc25
-rw-r--r--www/chromium/files/patch-content_browser_ppapi__plugin__process__host.cc11
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc4
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h4
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc54
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h11
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc10
-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_sandbox__host__linux.cc18
-rw-r--r--www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc11
-rw-r--r--www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h12
-rw-r--r--www/chromium/files/patch-content_browser_utility__process__host.cc22
-rw-r--r--www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc11
-rw-r--r--www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc4
-rw-r--r--www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc38
-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.cc36
-rw-r--r--www/chromium/files/patch-content_common_BUILD.gn37
-rw-r--r--www/chromium/files/patch-content_common_sandbox__init__linux.cc19
-rw-r--r--www/chromium/files/patch-content_common_user__agent.cc6
-rw-r--r--www/chromium/files/patch-content_gpu_BUILD.gn11
-rw-r--r--www/chromium/files/patch-content_gpu_gpu__main.cc89
-rw-r--r--www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc71
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h6
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc33
-rw-r--r--www/chromium/files/patch-content_public_app_content__main__delegate.cc17
-rw-r--r--www/chromium/files/patch-content_public_app_content__main__delegate.h20
-rw-r--r--www/chromium/files/patch-content_public_browser_font__access__context.h12
-rw-r--r--www/chromium/files/patch-content_public_common_child__process__host.h11
-rw-r--r--www/chromium/files/patch-content_public_common_common__param__traits__macros.h4
-rw-r--r--www/chromium/files/patch-content_public_common_content__constants.cc11
-rw-r--r--www/chromium/files/patch-content_public_common_content__constants.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.h18
-rw-r--r--www/chromium/files/patch-content_public_common_content__switches.cc13
-rw-r--r--www/chromium/files/patch-content_public_common_content__switches.h12
-rw-r--r--www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc10
-rw-r--r--www/chromium/files/patch-content_public_test_browser__test__base.cc13
-rw-r--r--www/chromium/files/patch-content_public_test_content__browser__test.cc29
-rw-r--r--www/chromium/files/patch-content_public_test_mock__render__thread.cc11
-rw-r--r--www/chromium/files/patch-content_renderer_render__process__impl.cc14
-rw-r--r--www/chromium/files/patch-content_renderer_render__thread__impl.cc36
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc9
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h17
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc29
-rw-r--r--www/chromium/files/patch-content_shell_BUILD.gn40
-rw-r--r--www/chromium/files/patch-content_shell_app_shell__main__delegate.cc36
-rw-r--r--www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc6
-rw-r--r--www/chromium/files/patch-content_shell_browser_shell__paths.cc14
-rw-r--r--www/chromium/files/patch-content_test_BUILD.gn23
-rw-r--r--www/chromium/files/patch-content_test_content__test__suite.cc18
-rw-r--r--www/chromium/files/patch-content_utility_BUILD.gn11
-rw-r--r--www/chromium/files/patch-content_utility_services.cc20
-rw-r--r--www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc37
-rw-r--r--www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h14
-rw-r--r--www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h6
-rw-r--r--www/chromium/files/patch-content_utility_utility__main.cc57
-rw-r--r--www/chromium/files/patch-content_zygote_BUILD.gn11
-rw-r--r--www/chromium/files/patch-content_zygote_zygote__linux.cc9
-rw-r--r--www/chromium/files/patch-content_zygote_zygote__main__linux.cc50
-rw-r--r--www/chromium/files/patch-device_bluetooth_BUILD.gn11
-rw-r--r--www/chromium/files/patch-device_gamepad_hid__writer__linux.cc12
-rw-r--r--www/chromium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc14
-rw-r--r--www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc33
-rw-r--r--www/chromium/files/patch-extensions_browser_api_web__request_form__data__parser.cc14
-rw-r--r--www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc12
-rw-r--r--www/chromium/files/patch-extensions_browser_extension__prefs.cc4
-rw-r--r--www/chromium/files/patch-extensions_common_api___permission__features.json15
-rw-r--r--www/chromium/files/patch-extensions_common_api_runtime.json11
-rw-r--r--www/chromium/files/patch-extensions_common_features_feature.cc20
-rw-r--r--www/chromium/files/patch-extensions_common_stack__frame.cc14
-rw-r--r--www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc20
-rw-r--r--www/chromium/files/patch-extensions_shell_BUILD.gn31
-rw-r--r--www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc11
-rw-r--r--www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc11
-rw-r--r--www/chromium/files/patch-extensions_shell_common_switches.cc11
-rw-r--r--www/chromium/files/patch-extensions_shell_common_switches.h11
-rw-r--r--www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc30
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc22
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc15
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc14
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc21
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc12
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc31
-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_command__buffer_tests_webgpu__test.cc22
-rw-r--r--www/chromium/files/patch-gpu_config_gpu__control__list.cc32
-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.cc35
-rw-r--r--www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h24
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_gpu__init.cc78
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc47
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h20
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_x__util.h16
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc13
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h11
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc35
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h57
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__image.cc4
-rw-r--r--www/chromium/files/patch-gpu_vulkan_vulkan__image.h6
-rw-r--r--www/chromium/files/patch-gpu_vulkan_x_vulkan__implementation__x11.cc14
-rw-r--r--www/chromium/files/patch-headless_BUILD.gn56
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc18
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h11
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc4
-rw-r--r--www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc11
-rw-r--r--www/chromium/files/patch-headless_lib_headless__macros.h8
-rw-r--r--www/chromium/files/patch-ipc_ipc__channel__common.cc11
-rw-r--r--www/chromium/files/patch-ipc_ipc__channel__mojo.cc10
-rw-r--r--www/chromium/files/patch-media_BUILD.gn4
-rw-r--r--www/chromium/files/patch-media_audio_BUILD.gn19
-rw-r--r--www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc54
-rw-r--r--www/chromium/files/patch-media_audio_audio__features.cc12
-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.cc11
-rw-r--r--www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc180
-rw-r--r--www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h69
-rw-r--r--www/chromium/files/patch-media_audio_sndio_sndio__input.cc203
-rw-r--r--www/chromium/files/patch-media_audio_sndio_sndio__input.h94
-rw-r--r--www/chromium/files/patch-media_audio_sndio_sndio__output.cc186
-rw-r--r--www/chromium/files/patch-media_audio_sndio_sndio__output.h91
-rw-r--r--www/chromium/files/patch-media_base_audio__latency.cc12
-rw-r--r--www/chromium/files/patch-media_base_media__switches.cc35
-rw-r--r--www/chromium/files/patch-media_base_media__switches.h19
-rw-r--r--www/chromium/files/patch-media_base_scopedfd__helper.h12
-rw-r--r--www/chromium/files/patch-media_base_video__frame.cc11
-rw-r--r--www/chromium/files/patch-media_base_video__frame.h17
-rw-r--r--www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc8
-rw-r--r--www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc4
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h11
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc20
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h15
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h11
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc11
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h11
-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_filters_vp9__parser.h10
-rw-r--r--www/chromium/files/patch-media_formats_common_offset__byte__queue.cc20
-rw-r--r--www/chromium/files/patch-media_formats_common_offset__byte__queue.h22
-rw-r--r--www/chromium/files/patch-media_formats_mp2t_es__parser__adts.cc26
-rw-r--r--www/chromium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc26
-rw-r--r--www/chromium/files/patch-media_gpu_buffer__validation.cc27
-rw-r--r--www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc20
-rw-r--r--www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc11
-rw-r--r--www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc4
-rw-r--r--www/chromium/files/patch-media_media__options.gni21
-rw-r--r--www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc9
-rw-r--r--www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc11
-rw-r--r--www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc11
-rw-r--r--www/chromium/files/patch-media_webrtc_audio__processor.cc (renamed from www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_media__stream__audio__processor.cc)6
-rw-r--r--www/chromium/files/patch-mojo_core_channel.cc14
-rw-r--r--www/chromium/files/patch-mojo_core_channel.h14
-rw-r--r--www/chromium/files/patch-mojo_core_embedder_features.h11
-rw-r--r--www/chromium/files/patch-mojo_public_c_system_thunks.cc18
-rw-r--r--www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni19
-rw-r--r--www/chromium/files/patch-net_BUILD.gn28
-rw-r--r--www/chromium/files/patch-net_base_address__tracker__linux.cc441
-rw-r--r--www/chromium/files/patch-net_base_address__tracker__linux__unittest.cc14
-rw-r--r--www/chromium/files/patch-net_base_network__change__notifier.cc45
-rw-r--r--www/chromium/files/patch-net_base_network__change__notifier.h20
-rw-r--r--www/chromium/files/patch-net_base_network__interfaces__posix.cc17
-rw-r--r--www/chromium/files/patch-net_base_network__interfaces__posix.h11
-rw-r--r--www/chromium/files/patch-net_cert_cert__verify__proc.h4
-rw-r--r--www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc20
-rw-r--r--www/chromium/files/patch-net_dns_BUILD.gn4
-rw-r--r--www/chromium/files/patch-net_dns_address__sorter__posix.cc6
-rw-r--r--www/chromium/files/patch-net_dns_dns__config__service__posix__unittest.cc11
-rw-r--r--www/chromium/files/patch-net_dns_dns__reloader.cc21
-rw-r--r--www/chromium/files/patch-net_dns_dns__reloader.h11
-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.cc23
-rw-r--r--www/chromium/files/patch-net_dns_public_resolv__reader.h13
-rw-r--r--www/chromium/files/patch-net_http_http__auth__gssapi__posix.h8
-rw-r--r--www/chromium/files/patch-net_http_http__network__session.cc12
-rw-r--r--www/chromium/files/patch-net_nqe_network__quality__estimator__unittest.cc15
-rw-r--r--www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc8
-rw-r--r--www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc8
-rw-r--r--www/chromium/files/patch-net_socket_socket__posix.cc11
-rw-r--r--www/chromium/files/patch-net_socket_socks5__client__socket.cc15
-rw-r--r--www/chromium/files/patch-net_socket_tcp__socket__posix.cc20
-rw-r--r--www/chromium/files/patch-net_socket_udp__socket__posix.cc75
-rw-r--r--www/chromium/files/patch-net_socket_udp__socket__posix.h11
-rw-r--r--www/chromium/files/patch-net_socket_unix__domain__client__socket__posix.cc11
-rw-r--r--www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc14
-rw-r--r--www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h20
-rw-r--r--www/chromium/files/patch-net_url__request_url__fetcher.h8
-rw-r--r--www/chromium/files/patch-net_url__request_url__request__context__builder.cc13
-rw-r--r--www/chromium/files/patch-pdf_font__table__linux.cc8
-rw-r--r--www/chromium/files/patch-pdf_out__of__process__instance.cc4
-rw-r--r--www/chromium/files/patch-ppapi_proxy_file__io__resource.cc48
-rw-r--r--www/chromium/files/patch-printing_BUILD.gn20
-rw-r--r--www/chromium/files/patch-printing_cups__config__helper.py11
-rw-r--r--www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc9
-rw-r--r--www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h10
-rw-r--r--www/chromium/files/patch-printing_print__settings.cc25
-rw-r--r--www/chromium/files/patch-printing_print__settings.h32
-rw-r--r--www/chromium/files/patch-printing_print__settings__conversion.cc17
-rw-r--r--www/chromium/files/patch-printing_printing__features.cc12
-rw-r--r--www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc50
-rw-r--r--www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h16
-rw-r--r--www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_base_switches.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_base_switches.h11
-rw-r--r--www/chromium/files/patch-remoting_host_chromoting__host.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_chromoting__host__context.cc9
-rw-r--r--www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc20
-rw-r--r--www/chromium/files/patch-remoting_host_host__details.cc12
-rw-r--r--www/chromium/files/patch-remoting_host_host__main.cc31
-rw-r--r--www/chromium/files/patch-remoting_host_ipc__constants.cc11
-rw-r--r--www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc49
-rw-r--r--www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc10
-rw-r--r--www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc12
-rw-r--r--www/chromium/files/patch-remoting_host_remoting__me2me__host.cc66
-rw-r--r--www/chromium/files/patch-remoting_host_setup_start__host__main.cc27
-rw-r--r--www/chromium/files/patch-remoting_host_switches.cc14
-rw-r--r--www/chromium/files/patch-remoting_host_switches.h14
-rw-r--r--www/chromium/files/patch-remoting_test_it2me__standalone__host.cc11
-rw-r--r--www/chromium/files/patch-remoting_test_it2me__standalone__host__main.cc34
-rw-r--r--www/chromium/files/patch-sandbox_BUILD.gn4
-rw-r--r--www/chromium/files/patch-sandbox_features.gni6
-rw-r--r--www/chromium/files/patch-sandbox_linux_BUILD.gn68
-rw-r--r--www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc8
-rw-r--r--www/chromium/files/patch-sandbox_policy_BUILD.gn20
-rw-r--r--www/chromium/files/patch-sandbox_policy_features.cc14
-rw-r--r--www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc250
-rw-r--r--www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h281
-rw-r--r--www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom15
-rw-r--r--www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc397
-rw-r--r--www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h281
-rw-r--r--www/chromium/files/patch-sandbox_policy_sandbox.cc41
-rw-r--r--www/chromium/files/patch-sandbox_policy_sandbox.h30
-rw-r--r--www/chromium/files/patch-sandbox_policy_sandbox__type.cc38
-rw-r--r--www/chromium/files/patch-sandbox_policy_switches.cc6
-rw-r--r--www/chromium/files/patch-sandbox_policy_switches.h5
-rw-r--r--www/chromium/files/patch-services_audio_BUILD.gn11
-rw-r--r--www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc31
-rw-r--r--www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h14
-rw-r--r--www/chromium/files/patch-services_device_hid_BUILD.gn26
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__fido.cc201
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__fido.h60
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc9
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h8
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service.cc10
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__fido.cc331
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__fido.h46
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc9
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__freebsd.h11
-rw-r--r--www/chromium/files/patch-services_device_serial_BUILD.gn23
-rw-r--r--www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc15
-rw-r--r--www/chromium/files/patch-services_device_usb_BUILD.gn33
-rw-r--r--www/chromium/files/patch-services_network_BUILD.gn26
-rw-r--r--www/chromium/files/patch-services_network_network__context.cc4
-rw-r--r--www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc4
-rw-r--r--www/chromium/files/patch-services_network_network__sandbox__hook__linux.h14
-rw-r--r--www/chromium/files/patch-services_network_network__service.cc6
-rw-r--r--www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc20
-rw-r--r--www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h18
-rw-r--r--www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc135
-rw-r--r--www/chromium/files/patch-services_service__manager_public_cpp_service__executable_service__executable__environment.cc16
-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_video__capture_public_mojom_video__capture__service.mojom15
-rw-r--r--www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp11
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h40
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_endian.h11
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc23
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h22
-rw-r--r--www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc14
-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.gn37
-rw-r--r--www/chromium/files/patch-third__party_angle_src_common_debug.h11
-rw-r--r--www/chromium/files/patch-third__party_angle_src_common_platform.h19
-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.h13
-rw-r--r--www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp90
-rw-r--r--www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp21
-rw-r--r--www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp21
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp20
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp52
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h4
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp15
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h11
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_validationEGL.h11
-rw-r--r--www/chromium/files/patch-third__party_angle_util_BUILD.gn11
-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_BUILD.gn14
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py21
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py10
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc21
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc14
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc14
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc20
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc12
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc13
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn10
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h20
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc32
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc15
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_geometry_int__rect.h16
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc14
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc19
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc7
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h18
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h21
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc33
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc22
-rw-r--r--www/chromium/files/patch-third__party_boringssl_BUILD.generated.gni10
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c73
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_crypto_ex__data.c13
-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.c5
-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_cpu.h11
-rw-r--r--www/chromium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h11
-rw-r--r--www/chromium/files/patch-third__party_brotli_common_platform.h11
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni11
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn11
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc7
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc13
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h20
-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_metrics.cc11
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc11
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc49
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc11
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc22
-rw-r--r--www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc20
-rw-r--r--www/chromium/files/patch-third__party_crc32c_BUILD.gn11
-rw-r--r--www/chromium/files/patch-third__party_dawn_src_common_Platform.h19
-rw-r--r--www/chromium/files/patch-third__party_dawn_src_dawn__native_vulkan_BackendVk.cpp11
-rw-r--r--www/chromium/files/patch-third__party_dawn_src_include_dawn__native_VulkanBackend.h6
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_BUILD.gn10
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h2706
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm2689
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h2706
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm2688
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h2705
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h12
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_libavutil_cpu.c14
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c14
-rw-r--r--www/chromium/files/patch-third__party_fontconfig_include_config.h89
-rw-r--r--www/chromium/files/patch-third__party_fontconfig_src_src_fccompat.c13
-rw-r--r--www/chromium/files/patch-third__party_glfw_src_src_egl__context.c11
-rw-r--r--www/chromium/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h19
-rw-r--r--www/chromium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc43
-rw-r--r--www/chromium/files/patch-third__party_googletest_src_googletest_src_gtest.cc10
-rw-r--r--www/chromium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni20
-rw-r--r--www/chromium/files/patch-third__party_leveldatabase_env__chromium.cc22
-rw-r--r--www/chromium/files/patch-third__party_libgav1_src_src_utils_entropy__decoder.cc11
-rw-r--r--www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h7
-rw-r--r--www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h7
-rw-r--r--www/chromium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h15
-rw-r--r--www/chromium/files/patch-third__party_libpng_pnglibconf.h14
-rw-r--r--www/chromium/files/patch-third__party_libsync_src_include_sync_sync.h12
-rw-r--r--www/chromium/files/patch-third__party_libsync_src_sync.c25
-rw-r--r--www/chromium/files/patch-third__party_libusb_BUILD.gn46
-rw-r--r--www/chromium/files/patch-third__party_libusb_src_libusb_core.c11
-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.c52
-rw-r--r--www/chromium/files/patch-third__party_libyuv_include_libyuv_row.h37
-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_nasm_config_config-linux.h84
-rw-r--r--www/chromium/files/patch-third__party_node_node.py11
-rw-r--r--www/chromium/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc29
-rw-r--r--www/chromium/files/patch-third__party_opus_BUILD.gn10
-rw-r--r--www/chromium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp12
-rw-r--r--www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp11
-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_cjs__publicmethods.cpp106
-rw-r--r--www/chromium/files/patch-third__party_pdfium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp8
-rw-r--r--www/chromium/files/patch-third__party_perfetto_gn_BUILD.gn19
-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.h22
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h4
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h11
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h42
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_ctrl__c__handler.cc12
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_event__fd.cc22
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_file__utils.cc14
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_periodic__task.cc20
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_string__utils.cc15
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_subprocess__posix.cc47
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc11
-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.cc29
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_utils.cc44
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_watchdog__posix.cc14
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_trace__processor_read__trace.cc12
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_trace__processor_trace__processor__shell.cc22
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_traced_service_service.cc12
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc28
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_default__socket.cc21
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc16
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.cc18
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.h19
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_platform__posix.cc28
-rw-r--r--www/chromium/files/patch-third__party_perfetto_tools_busy__threads_busy__threads.cc12
-rw-r--r--www/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h4
-rw-r--r--www/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_strutil.h18
-rw-r--r--www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp26
-rw-r--r--www/chromium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h4
-rw-r--r--www/chromium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp41
-rw-r--r--www/chromium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp4
-rw-r--r--www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c23
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp11
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp4
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp4
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp6
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp6
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp4
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp14
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp4
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp4
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp80
-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_VkSemaphoreExternalLinux.hpp20
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp11
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h169
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h32
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc11
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp11
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp11
-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.cc29
-rw-r--r--www/chromium/files/patch-third__party_tflite_BUILD.gn13
-rw-r--r--www/chromium/files/patch-third__party_unrar_src_crypt.cpp11
-rw-r--r--www/chromium/files/patch-third__party_usrsctp_BUILD.gn11
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_glslang_src_BUILD.gn15
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_allocation.h14
-rw-r--r--www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.c27
-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.h29
-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__memory__allocator_include_vk__mem__alloc.h11
-rw-r--r--www/chromium/files/patch-third__party_webrtc_BUILD.gn4
-rw-r--r--www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x__server__pixel__buffer.cc16
-rw-r--r--www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc10
-rw-r--r--www/chromium/files/patch-third__party_webrtc_modules_video__coding_codecs_h264_h264__decoder__impl.cc23
-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.h12
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h11
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.cc8
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.h13
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_network.cc15
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_network.h13
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc22
-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_rtc__base_third__party_sigslot_sigslot.h10
-rw-r--r--www/chromium/files/patch-third__party_zlib_BUILD.gn25
-rw-r--r--www/chromium/files/patch-third__party_zlib_cpu__features.c48
-rw-r--r--www/chromium/files/patch-tools_generate__stubs_rules.gni10
-rw-r--r--www/chromium/files/patch-tools_gn_build_build__linux.ninja.template11
-rw-r--r--www/chromium/files/patch-tools_gn_build_gen.py32
-rw-r--r--www/chromium/files/patch-tools_gn_src_base_files_scoped__file.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_src_gn_exec__process.cc13
-rw-r--r--www/chromium/files/patch-tools_gn_src_gn_function__write__file__unittest.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_src_util_exe__path.cc90
-rw-r--r--www/chromium/files/patch-tools_gn_src_util_sys__info.cc11
-rw-r--r--www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py11
-rw-r--r--www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py18
-rw-r--r--www/chromium/files/patch-tools_json__schema__compiler_model.py10
-rw-r--r--www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn11
-rw-r--r--www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py15
-rw-r--r--www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py17
-rw-r--r--www/chromium/files/patch-ui_aura_test_aura__test__helper.cc20
-rw-r--r--www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc9
-rw-r--r--www/chromium/files/patch-ui_base_clipboard_clipboard__constants.h12
-rw-r--r--www/chromium/files/patch-ui_base_cursor_cursor__factory.cc10
-rw-r--r--www/chromium/files/patch-ui_base_cursor_cursor__factory.h6
-rw-r--r--www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc23
-rw-r--r--www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc12
-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.h4
-rw-r--r--www/chromium/files/patch-ui_base_resource_resource__bundle.cc4
-rw-r--r--www/chromium/files/patch-ui_base_resource_resource__bundle__freebsd.cc24
-rw-r--r--www/chromium/files/patch-ui_base_ui__base__features.cc14
-rw-r--r--www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc14
-rw-r--r--www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc30
-rw-r--r--www/chromium/files/patch-ui_compositor_compositor.cc4
-rw-r--r--www/chromium/files/patch-ui_compositor_compositor.h4
-rw-r--r--www/chromium/files/patch-ui_compositor_compositor__observer.h9
-rw-r--r--www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc14
-rw-r--r--www/chromium/files/patch-ui_events_event__switches.h4
-rw-r--r--www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.cc27
-rw-r--r--www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h24
-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_jpeg__codec.cc20
-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.cc6
-rw-r--r--www/chromium/files/patch-ui_gfx_font__list.cc4
-rw-r--r--www/chromium/files/patch-ui_gfx_font__names__testing.cc29
-rw-r--r--www/chromium/files/patch-ui_gfx_font__render__params.h12
-rw-r--r--www/chromium/files/patch-ui_gfx_font__util.cc9
-rw-r--r--www/chromium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc6
-rw-r--r--www/chromium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc6
-rw-r--r--www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc29
-rw-r--r--www/chromium/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h13
-rw-r--r--www/chromium/files/patch-ui_gfx_native__pixmap__handle.cc12
-rw-r--r--www/chromium/files/patch-ui_gfx_render__text.cc41
-rw-r--r--www/chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc8
-rw-r--r--www/chromium/files/patch-ui_gfx_x_gen__xproto.py19
-rw-r--r--www/chromium/files/patch-ui_gfx_x_xlib__support.cc21
-rw-r--r--www/chromium/files/patch-ui_gl_BUILD.gn41
-rw-r--r--www/chromium/files/patch-ui_gl_generate__bindings.py4
-rw-r--r--www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.cc14
-rw-r--r--www/chromium/files/patch-ui_gl_gl__features.cc8
-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.cc14
-rw-r--r--www/chromium/files/patch-ui_gl_init_gl__factory.cc4
-rw-r--r--www/chromium/files/patch-ui_gl_sync__control__vsync__provider.cc9
-rw-r--r--www/chromium/files/patch-ui_gl_sync__control__vsync__provider.h18
-rw-r--r--www/chromium/files/patch-ui_gl_test_gl__surface__test__support.cc20
-rw-r--r--www/chromium/files/patch-ui_gtk_gtk__compat.cc50
-rw-r--r--www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc14
-rw-r--r--www/chromium/files/patch-ui_ozone_common_egl__util.cc14
-rw-r--r--www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc4
-rw-r--r--www/chromium/files/patch-ui_ozone_public_ozone__platform.h4
-rw-r--r--www/chromium/files/patch-ui_platform__window_platform__window__init__properties.h6
-rw-r--r--www/chromium/files/patch-ui_strings_app__locale__settings.grd11
-rw-r--r--www/chromium/files/patch-ui_views_controls_textfield_textfield.h4
-rw-r--r--www/chromium/files/patch-ui_views_examples_widget__example.cc4
-rw-r--r--www/chromium/files/patch-ui_views_test_widget__test__aura.cc32
-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__window__tree__host__platform.cc4
-rw-r--r--www/chromium/files/patch-ui_views_widget_native__widget__aura.cc6
-rw-r--r--www/chromium/files/patch-ui_views_widget_widget.cc6
-rw-r--r--www/chromium/files/patch-ui_webui_resources_js_cr.js16
-rw-r--r--www/chromium/files/patch-v8_BUILD.gn52
-rw-r--r--www/chromium/files/patch-v8_include_v8config.h52
-rw-r--r--www/chromium/files/patch-v8_src_api_api.cc15
-rw-r--r--www/chromium/files/patch-v8_src_base_atomicops.h33
-rw-r--r--www/chromium/files/patch-v8_src_base_cpu.cc18
-rw-r--r--www/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc27
-rw-r--r--www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc28
-rw-r--r--www/chromium/files/patch-v8_src_base_platform_platform-posix.cc61
-rw-r--r--www/chromium/files/patch-v8_src_base_sys-info.cc11
-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_d8_d8.cc11
-rw-r--r--www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc4
-rw-r--r--www/chromium/files/patch-v8_src_diagnostics_perf-jit.h4
-rw-r--r--www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc26
-rw-r--r--www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h11
-rw-r--r--www/chromium/files/patch-v8_src_trap-handler_trap-handler.h11
-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.py11
-rw-r--r--www/chromium/files/patch-weblayer_BUILD.gn17
-rw-r--r--www/chromium/files/patch-weblayer_app_content__main__delegate__impl.cc13
-rw-r--r--www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc17
-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.cc10
-rw-r--r--www/chromium/files/sandbox_freebsd.cc87
-rw-r--r--www/chromium/files/sandbox_freebsd.h45
-rw-r--r--www/chromium/files/sndio_input.cc201
-rw-r--r--www/chromium/files/sndio_input.h91
-rw-r--r--www/chromium/files/sndio_output.cc183
-rw-r--r--www/chromium/files/sndio_output.h86
1049 files changed, 26366 insertions, 14232 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index b3c04a824fd4..d8adb70ae88c 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -1,7 +1,7 @@
# Created by: Florent Thoumie <flz@FreeBSD.org>
PORTNAME= chromium
-PORTVERSION= 97.0.4692.99
+PORTVERSION= 98.0.4758.102
CATEGORIES= www
MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \
LOCAL/rene/chromium/:fonts
@@ -14,7 +14,6 @@ LICENSE= BSD3CLAUSE LGPL21 MPL11
LICENSE_COMB= multi
ONLY_FOR_ARCHS= aarch64 amd64 i386
-BROKEN_i386= Does not compile, __ElfN macros unknown
BUILD_DEPENDS= bash:shells/bash \
${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
@@ -29,7 +28,8 @@ BUILD_DEPENDS= bash:shells/bash \
${LOCALBASE}/share/usbids/usb.ids:misc/usbids \
${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \
${LOCALBASE}/include/va/va.h:multimedia/libva \
- ${LOCALBASE}/bin/python2.7:lang/python27
+ ${LOCALBASE}/bin/python2.7:lang/python27 \
+ ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri
LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
libatspi.so:accessibility/at-spi2-core \
@@ -71,7 +71,7 @@ USES= bison compiler:c++17-lang cpe desktop-file-utils dos2unix gl gnome jpeg l
CPE_VENDOR= google
CPE_PRODUCT= chrome
-DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
+DOS2UNIX_FILES= third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
USE_GL= gbm gl
USE_GNOME= atk dconf gdkpixbuf2 glib20 gtk30 libxml2 libxslt
USE_LDCONFIG= ${DATADIR}
@@ -85,7 +85,6 @@ ALL_TARGET= chrome
BINARY_ALIAS= python=${LOCALBASE}/bin/python2.7 \
python3=${PYTHON_CMD}
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clang
# TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn)
#
@@ -99,6 +98,8 @@ GN_ARGS+= clang_use_chrome_plugins=false \
enable_nacl=false \
enable_one_click_signin=true \
enable_remoting=false \
+ enable_wmax_tokens=false \
+ fatal_linker_warnings=false \
is_clang=true \
optimize_webui=false \
toolkit_views=true \
@@ -113,8 +114,10 @@ GN_ARGS+= clang_use_chrome_plugins=false \
use_system_freetype=false \
use_system_harfbuzz=true \
use_system_libjpeg=true \
+ use_udev=false \
extra_cxxflags="${CXXFLAGS}" \
extra_ldflags="${LDFLAGS}"
+
# TODO: investigate building with these options:
# use_system_minigbm
GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles
@@ -202,18 +205,11 @@ TEST_ALL_TARGET= ${TEST_TARGETS}
.include <bsd.port.options.mk>
.include <bsd.port.pre.mk>
-# Add extra-patch-no-mempcpy-nasm only when there's no mempcpy() in base.
-# Nested variable expansion avoids executing the test when not needed for
-# expanding EXTRA_PATCHES.
-EXTRA_PATCHES+= ${"${:!${GREP} mempcpy ${CROSS_SYSROOT}/usr/include/string.h \
- || ${TRUE}!}" == "":?${PATCHDIR}/extra-patch-no-mempcpy-nasm:}
-
.if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so)
IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base
.endif
.if ${COMPILER_VERSION} < 120
-EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-build_config_compiler_pgo_pgo.gni
.if ${PORT_OPTIONS:MLTO}
BROKEN+= does not build with LTO needs LLVM 12+
@@ -245,20 +241,6 @@ post-extract-TEST-on:
@${MKDIR} ${WRKSRC}/third_party/test_fonts/test_fonts
@${MV} ${WRKDIR}/test_fonts ${WRKSRC}/third_party/test_fonts/
-post-patch:
- @${MKDIR} ${WRKSRC}/sandbox/policy/freebsd
- @${CP} ${FILESDIR}/dir_reader_freebsd.h ${WRKSRC}/base/files
- @${CP} ${FILESDIR}/device_info_fetcher_freebsd.h ${WRKSRC}/chrome/browser/enterprise/signals
- @${CP} ${FILESDIR}/device_info_fetcher_freebsd.cc ${WRKSRC}/chrome/browser/enterprise/signals
- @${CP} ${FILESDIR}/sandbox_freebsd.h ${WRKSRC}/sandbox/policy/freebsd
- @${CP} ${FILESDIR}/sandbox_freebsd.cc ${WRKSRC}/sandbox/policy/freebsd
-
-post-patch-SNDIO-on:
- @${MKDIR} ${WRKSRC}/media/audio/sndio ${WRKSRC}/media/audio/openbsd
- @${CP} ${FILESDIR}/sndio_output.* ${WRKSRC}/media/audio/sndio
- @${CP} ${FILESDIR}/sndio_input.* ${WRKSRC}/media/audio/sndio
- @${CP} ${FILESDIR}/audio_manager_openbsd.* ${WRKSRC}/media/audio/openbsd
-
pre-configure:
# We used to remove bundled libraries to be sure that chromium uses
# system libraries and not shipped ones.
@@ -266,11 +248,13 @@ pre-configure:
#./build/linux/unbundle/remove_bundled_libraries.py [list of preserved]
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \
./build/linux/unbundle/replace_gn_files.py --system-libraries \
- flac fontconfig freetype harfbuzz-ng libdrm libpng libwebp libxml libxslt openh264 opus snappy || ${FALSE}
+ flac fontconfig freetype harfbuzz-ng libusb libdrm libpng libwebp libxml libxslt openh264 opus snappy || ${FALSE}
# Chromium uses an unreleased version of FFmpeg, so configure it
+.for brand in Chrome Chromium
${CP} -R \
- ${WRKSRC}/third_party/ffmpeg/chromium/config/Chrome/linux/ \
- ${WRKSRC}/third_party/ffmpeg/chromium/config/Chrome/freebsd
+ ${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/linux/ \
+ ${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/freebsd
+.endfor
do-configure:
# GN generator bootstrapping and generating ninja files
@@ -281,8 +265,8 @@ do-configure:
gen --args='${GN_ARGS}' out/${BUILDTYPE}
# Setup nodejs dependency
- @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin
- ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node
+ @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin
+ ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node
# Setup buildtools/freebsd
@${MKDIR} ${WRKSRC}/buildtools/freebsd
@@ -346,8 +330,8 @@ post-install-DEBUG-on:
${STAGEDIR}${DATADIR}
post-install-DRIVER-on:
- ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver \
- ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \
+ ${STAGEDIR}${PREFIX}/bin/chromedriver
do-test-TEST-on:
.for t in ${TEST_TARGETS}
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index b74af3a6db33..4f04e0f5b957 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1642767718
-SHA256 (chromium-97.0.4692.99.tar.xz) = c91bae205705b367f2cfc1f72ce1ee99b2ceb5edfc584e15c60a6ab5ff01ecba
-SIZE (chromium-97.0.4692.99.tar.xz) = 1213731872
-SHA256 (chromium-97.0.4692.99-testdata.tar.xz) = 4d27100d2a5dda623231fb341a53c5f71fb52a5e2eeec37ccee8f6dfd568d139
-SIZE (chromium-97.0.4692.99-testdata.tar.xz) = 259732316
+TIMESTAMP = 1645271488
+SHA256 (chromium-98.0.4758.102.tar.xz) = 415b47e912766cd07f9f52e95bc6470b835acf1d6f566ae32e66ba8be608f33e
+SIZE (chromium-98.0.4758.102.tar.xz) = 1242565220
+SHA256 (chromium-98.0.4758.102-testdata.tar.xz) = d18ea0af0a9a87d53e75fbdbd886b17f689e00486f819905b38f02a2619504e6
+SIZE (chromium-98.0.4758.102-testdata.tar.xz) = 258963780
SHA256 (test_fonts-85.tar.xz) = f22b61b3639acb147c98ec2e2305d8b96f0b55c8c74c40e2ea696402fae8cef9
SIZE (test_fonts-85.tar.xz) = 9511984
diff --git a/www/chromium/files/audio_manager_openbsd.cc b/www/chromium/files/audio_manager_openbsd.cc
deleted file mode 100644
index 0521930829df..000000000000
--- a/www/chromium/files/audio_manager_openbsd.cc
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/metrics/histogram_macros.h"
-#include "base/memory/ptr_util.h"
-
-#include "media/audio/openbsd/audio_manager_openbsd.h"
-
-#include "media/audio/audio_device_description.h"
-#include "media/audio/audio_output_dispatcher.h"
-#if defined(USE_SNDIO)
-#include "media/audio/sndio/sndio_input.h"
-#include "media/audio/sndio/sndio_output.h"
-#else
-#include "media/audio/fake_audio_manager.h"
-#endif
-#include "media/base/limits.h"
-#include "media/base/media_switches.h"
-
-namespace media {
-
-enum OpenBSDAudioIO {
- kPulse,
- kSndio,
- kAudioIOMax = kSndio
-};
-
-#if defined(USE_SNDIO)
-// Maximum number of output streams that can be open simultaneously.
-static const int kMaxOutputStreams = 4;
-
-// Default sample rate for input and output streams.
-static const int kDefaultSampleRate = 48000;
-
-void AddDefaultDevice(AudioDeviceNames* device_names) {
- DCHECK(device_names->empty());
- device_names->push_front(AudioDeviceName::CreateDefault());
-}
-
-bool AudioManagerOpenBSD::HasAudioOutputDevices() {
- return true;
-}
-
-bool AudioManagerOpenBSD::HasAudioInputDevices() {
- return true;
-}
-
-void AudioManagerOpenBSD::GetAudioInputDeviceNames(
- AudioDeviceNames* device_names) {
- DCHECK(device_names->empty());
- AddDefaultDevice(device_names);
-}
-
-void AudioManagerOpenBSD::GetAudioOutputDeviceNames(
- AudioDeviceNames* device_names) {
- AddDefaultDevice(device_names);
-}
-
-#if defined(USE_SNDIO)
-const char* AudioManagerOpenBSD::GetName() {
- return "SNDIO";
-}
-#endif
-
-AudioParameters AudioManagerOpenBSD::GetInputStreamParameters(
- const std::string& device_id) {
- static const int kDefaultInputBufferSize = 1024;
-
- int user_buffer_size = GetUserBufferSize();
- int buffer_size = user_buffer_size ?
- user_buffer_size : kDefaultInputBufferSize;
-
- return AudioParameters(
- AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
- kDefaultSampleRate, buffer_size);
-}
-
-AudioManagerOpenBSD::AudioManagerOpenBSD(std::unique_ptr<AudioThread> audio_thread,
- AudioLogFactory* audio_log_factory)
- : AudioManagerBase(std::move(audio_thread),
- audio_log_factory) {
- DLOG(INFO) << "AudioManagerOpenBSD";
- SetMaxOutputStreamsAllowed(kMaxOutputStreams);
-}
-
-AudioManagerOpenBSD::~AudioManagerOpenBSD() {
- Shutdown();
-}
-
-AudioOutputStream* AudioManagerOpenBSD::MakeLinearOutputStream(
- const AudioParameters& params,
- const LogCallback& log_callback) {
- DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
- return MakeOutputStream(params);
-}
-
-AudioOutputStream* AudioManagerOpenBSD::MakeLowLatencyOutputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) {
- DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!";
- DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
- return MakeOutputStream(params);
-}
-
-AudioInputStream* AudioManagerOpenBSD::MakeLinearInputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) {
- DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
- return MakeInputStream(params);
-}
-
-AudioInputStream* AudioManagerOpenBSD::MakeLowLatencyInputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) {
- DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
- return MakeInputStream(params);
-}
-
-AudioParameters AudioManagerOpenBSD::GetPreferredOutputStreamParameters(
- const std::string& output_device_id,
- const AudioParameters& input_params) {
- // TODO(tommi): Support |output_device_id|.
- DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!";
- static const int kDefaultOutputBufferSize = 2048;
-
- ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO;
- int sample_rate = kDefaultSampleRate;
- int buffer_size = kDefaultOutputBufferSize;
- if (input_params.IsValid()) {
- sample_rate = input_params.sample_rate();
- channel_layout = input_params.channel_layout();
- buffer_size = std::min(buffer_size, input_params.frames_per_buffer());
- }
-
- int user_buffer_size = GetUserBufferSize();
- if (user_buffer_size)
- buffer_size = user_buffer_size;
-
- return AudioParameters(
- AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
- sample_rate, buffer_size);
-}
-
-AudioInputStream* AudioManagerOpenBSD::MakeInputStream(
- const AudioParameters& params) {
- DLOG(INFO) << "MakeInputStream";
- return new SndioAudioInputStream(this,
- AudioDeviceDescription::kDefaultDeviceId, params);
-}
-
-AudioOutputStream* AudioManagerOpenBSD::MakeOutputStream(
- const AudioParameters& params) {
- DLOG(INFO) << "MakeOutputStream";
- return new SndioAudioOutputStream(params, this);
-}
-#endif
-
-std::unique_ptr<media::AudioManager> CreateAudioManager(
- std::unique_ptr<AudioThread> audio_thread,
- AudioLogFactory* audio_log_factory) {
- DLOG(INFO) << "CreateAudioManager";
-#if defined(USE_SNDIO)
- UMA_HISTOGRAM_ENUMERATION("Media.OpenBSDAudioIO", kSndio, kAudioIOMax + 1);
- return std::make_unique<AudioManagerOpenBSD>(std::move(audio_thread),
- audio_log_factory);
-#else
- return std::make_unique<FakeAudioManager>(std::move(audio_thread),
- audio_log_factory);
-#endif
-
-}
-
-} // namespace media
diff --git a/www/chromium/files/audio_manager_openbsd.h b/www/chromium/files/audio_manager_openbsd.h
deleted file mode 100644
index 8c99db966d65..000000000000
--- a/www/chromium/files/audio_manager_openbsd.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_
-#define MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_
-
-#include <set>
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/threading/thread.h"
-#include "media/audio/audio_manager_base.h"
-
-namespace media {
-
-class MEDIA_EXPORT AudioManagerOpenBSD : public AudioManagerBase {
- public:
- AudioManagerOpenBSD(std::unique_ptr<AudioThread> audio_thread,
- AudioLogFactory* audio_log_factory);
- ~AudioManagerOpenBSD() override;
-
- // Implementation of AudioManager.
- bool HasAudioOutputDevices() override;
- bool HasAudioInputDevices() override;
- void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override;
- void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override;
- AudioParameters GetInputStreamParameters(
- const std::string& device_id) override;
- const char* GetName() override;
-
- // Implementation of AudioManagerBase.
- AudioOutputStream* MakeLinearOutputStream(
- const AudioParameters& params,
- const LogCallback& log_callback) override;
- AudioOutputStream* MakeLowLatencyOutputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) override;
- AudioInputStream* MakeLinearInputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) override;
- AudioInputStream* MakeLowLatencyInputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) override;
-
- protected:
- AudioParameters GetPreferredOutputStreamParameters(
- const std::string& output_device_id,
- const AudioParameters& input_params) override;
-
- private:
- // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream.
- AudioOutputStream* MakeOutputStream(const AudioParameters& params);
- AudioInputStream* MakeInputStream(const AudioParameters& params);
-
- DISALLOW_COPY_AND_ASSIGN(AudioManagerOpenBSD);
-};
-
-} // namespace media
-
-#endif // MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_
diff --git a/www/chromium/files/device_info_fetcher_freebsd.cc b/www/chromium/files/device_info_fetcher_freebsd.cc
deleted file mode 100644
index dcd5af716e46..000000000000
--- a/www/chromium/files/device_info_fetcher_freebsd.cc
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2020 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 "chrome/browser/enterprise/signals/device_info_fetcher_freebsd.h"
-
-#if defined(USE_GIO)
-#include <gio/gio.h>
-#endif // defined(USE_GIO)
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <ifaddrs.h>
-#include <net/if.h>
-#include <net/if_dl.h>
-
-#include <string>
-
-#include "base/environment.h"
-#include "base/files/dir_reader_posix.h"
-#include "base/files/file.h"
-#include "base/files/file_util.h"
-#include "base/nix/xdg_util.h"
-#include "base/strings/string_split.h"
-#include "base/strings/string_util.h"
-#include "base/strings/stringprintf.h"
-#include "base/system/sys_info.h"
-#include "net/base/network_interfaces.h"
-
-namespace enterprise_signals {
-
-namespace {
-
-std::string GetDeviceModel() {
- return base::SysInfo::HardwareModelName();
-}
-
-std::string GetOsVersion() {
- return base::SysInfo::OperatingSystemVersion();
-}
-
-std::string GetDeviceHostName() {
- return net::GetHostName();
-}
-
-std::string GetSerialNumber() {
- return std::string();
-}
-
-// Implements the logic from the native client setup script. It reads the
-// setting value straight from gsettings but picks the schema relevant to the
-// currently active desktop environment.
-// The current implementation support Gnone and Cinnamon only.
-SettingValue GetScreenlockSecured() {
-#if defined(USE_GIO)
- static constexpr char kLockScreenKey[] = "lock-enabled";
-
- std::unique_ptr<base::Environment> env(base::Environment::Create());
- const base::nix::DesktopEnvironment desktop_env =
- base::nix::GetDesktopEnvironment(env.get());
- if (desktop_env != base::nix::DESKTOP_ENVIRONMENT_CINNAMON &&
- desktop_env != base::nix::DESKTOP_ENVIRONMENT_GNOME) {
- return SettingValue::UNKNOWN;
- }
-
- const std::string settings_schema = base::StringPrintf(
- "org.%s.desktop.screensaver",
- desktop_env == base::nix::DESKTOP_ENVIRONMENT_CINNAMON ? "cinnamon"
- : "gnome");
-
- GSettingsSchema* screensaver_schema = g_settings_schema_source_lookup(
- g_settings_schema_source_get_default(), settings_schema.c_str(), FALSE);
- GSettings* screensaver_settings = nullptr;
- if (!screensaver_schema ||
- !g_settings_schema_has_key(screensaver_schema, kLockScreenKey)) {
- return SettingValue::UNKNOWN;
- }
- screensaver_settings = g_settings_new(settings_schema.c_str());
- if (!screensaver_settings)
- return SettingValue::UNKNOWN;
- gboolean lock_screen_enabled =
- g_settings_get_boolean(screensaver_settings, kLockScreenKey);
- g_object_unref(screensaver_settings);
-
- return lock_screen_enabled ? SettingValue::ENABLED : SettingValue::DISABLED;
-#else
- return SettingValue::UNKNOWN;
-#endif // defined(USE_GIO)
-}
-
-// 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() {
- return SettingValue::UNKNOWN;
-}
-
-std::vector<std::string> GetMacAddresses() {
- std::vector<std::string> result;
- 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));
- }
- return result;
-}
-
-} // namespace
-
-DeviceInfoFetcherFreeBSD::DeviceInfoFetcherFreeBSD() = default;
-
-DeviceInfoFetcherFreeBSD::~DeviceInfoFetcherFreeBSD() = default;
-
-DeviceInfo DeviceInfoFetcherFreeBSD::Fetch() {
- DeviceInfo device_info;
- device_info.os_name = "freebsd";
- device_info.os_version = GetOsVersion();
- device_info.device_host_name = GetDeviceHostName();
- device_info.device_model = GetDeviceModel();
- device_info.serial_number = GetSerialNumber();
- device_info.screen_lock_secured = GetScreenlockSecured();
- device_info.disk_encrypted = GetDiskEncrypted();
- device_info.mac_addresses = GetMacAddresses();
- return device_info;
-}
-
-} // namespace enterprise_signals
diff --git a/www/chromium/files/device_info_fetcher_freebsd.h b/www/chromium/files/device_info_fetcher_freebsd.h
deleted file mode 100644
index 2cd2f213f828..000000000000
--- a/www/chromium/files/device_info_fetcher_freebsd.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2021 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_ENTERPRISE_SIGNALS_DEVICE_INFO_FETCHER_FREEBSD_H_
-#define CHROME_BROWSER_ENTERPRISE_SIGNALS_DEVICE_INFO_FETCHER_FREEBSD_H_
-
-#include "chrome/browser/enterprise/signals/device_info_fetcher.h"
-
-namespace enterprise_signals {
-
-// FreeBSD implementation of DeviceInfoFetcher.
-class DeviceInfoFetcherFreeBSD : public DeviceInfoFetcher {
- public:
- DeviceInfoFetcherFreeBSD();
- DeviceInfoFetcherFreeBSD(const DeviceInfoFetcherFreeBSD&) = delete;
- DeviceInfoFetcherFreeBSD& operator=(const DeviceInfoFetcherFreeBSD&) = delete;
- ~DeviceInfoFetcherFreeBSD() override;
-
- // Overrides DeviceInfoFetcher:
- DeviceInfo Fetch() override;
-};
-
-} // namespace enterprise_signals
-
-#endif // CHROME_BROWSER_ENTERPRISE_SIGNALS_DEVICE_INFO_FETCHER_FREEBSD_H_
diff --git a/www/chromium/files/dir_reader_freebsd.h b/www/chromium/files/dir_reader_freebsd.h
deleted file mode 100644
index 7be73f000577..000000000000
--- a/www/chromium/files/dir_reader_freebsd.h
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef BASE_FILES_DIR_READER_FREEBSD_H_
-#define BASE_FILES_DIR_READER_FREEBSD_H_
-
-#include <errno.h>
-#include <fcntl.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <dirent.h>
-
-#include "base/logging.h"
-#include "base/posix/eintr_wrapper.h"
-
-// See the comments in dir_reader_posix.h about this.
-
-namespace base {
-
-class DirReaderFreeBSD {
- public:
- explicit DirReaderFreeBSD(const char* directory_path)
- : fd_(open(directory_path, O_RDONLY | O_DIRECTORY)),
- offset_(0),
- size_(0) {
- memset(buf_, 0, sizeof(buf_));
- }
-
- DirReaderFreeBSD(const DirReaderFreeBSD&) = delete;
- DirReaderFreeBSD& operator=(const DirReaderFreeBSD&) = delete;
-
- ~DirReaderFreeBSD() {
- if (fd_ >= 0) {
- if (IGNORE_EINTR(close(fd_)))
- RAW_LOG(ERROR, "Failed to close directory handle");
- }
- }
-
- bool IsValid() const {
- return fd_ >= 0;
- }
-
- // Move to the next entry returning false if the iteration is complete.
- bool Next() {
- if (size_) {
- struct dirent* dirent = reinterpret_cast<struct dirent*>(&buf_[offset_]);
- offset_ += dirent->d_reclen;
- }
-
- if (offset_ != size_)
- return true;
-
- ssize_t r = getdents(fd_, buf_, sizeof(buf_));
- if (r == 0)
- return false;
- if (r == -1) {
- DPLOG(FATAL) << "getdents failed";
- return false;
- }
- size_ = r;
- offset_ = 0;
- return true;
- }
-
- const char* name() const {
- if (!size_)
- return nullptr;
-
- const struct dirent* dirent =
- reinterpret_cast<const struct dirent*>(&buf_[offset_]);
- return dirent->d_name;
- }
-
- int fd() const {
- return fd_;
- }
-
- static bool IsFallback() {
- return false;
- }
-
- private:
- const int fd_;
- alignas(struct dirent) unsigned char buf_[512];
- size_t offset_;
- size_t size_;
-};
-
-} // namespace base
-
-#endif // BASE_FILES_DIR_READER_LINUX_H_
diff --git a/www/chromium/files/extra-patch-clang b/www/chromium/files/extra-patch-clang
deleted file mode 100644
index 104bbce09cda..000000000000
--- a/www/chromium/files/extra-patch-clang
+++ /dev/null
@@ -1,29 +0,0 @@
---- base/strings/safe_sprintf_unittest.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/strings/safe_sprintf_unittest.cc
-@@ -730,6 +730,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) {
- }
-
- TEST(SafeSPrintfTest, EmitNULL) {
-+/* Avoid compiler error: http://pastebin.com/1edWUE84
- char buf[40];
- #if defined(__GNUC__)
- #pragma GCC diagnostic push
-@@ -741,6 +742,7 @@ TEST(SafeSPrintfTest, EmitNULL) {
- EXPECT_EQ("0x0", std::string(buf));
- EXPECT_EQ(6, SafeSPrintf(buf, "%s", NULL));
- EXPECT_EQ("<NULL>", std::string(buf));
-+*/
- #if defined(__GCC__)
- #pragma GCC diagnostic pop
- #endif
---- base/threading/thread_local_storage_unittest.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/threading/thread_local_storage_unittest.cc
-@@ -86,7 +86,7 @@ class ThreadLocalStorageRunner : public DelegateSimple
- void ThreadLocalStorageCleanup(void *value) {
- int *ptr = reinterpret_cast<int*>(value);
- // Destructors should never be called with a NULL.
-- ASSERT_NE(reinterpret_cast<int*>(NULL), ptr);
-+ ASSERT_NE(static_cast<int*>(NULL), ptr);
- if (*ptr == kFinalTlsValue)
- return; // We've been called enough times.
- ASSERT_LT(kFinalTlsValue, *ptr);
diff --git a/www/chromium/files/extra-patch-no-mempcpy-nasm b/www/chromium/files/extra-patch-no-mempcpy-nasm
deleted file mode 100644
index 2a62e36e7edf..000000000000
--- a/www/chromium/files/extra-patch-no-mempcpy-nasm
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/nasm/config/config-linux.h.orig 2021-04-14 18:43:05 UTC
-+++ third_party/nasm/config/config-linux.h
-@@ -336,7 +336,7 @@
- #define HAVE_MEMORY_H 1
-
- /* Define to 1 if you have the `mempcpy' function. */
--#define HAVE_MEMPCPY 1
-+/* #undef HAVE_MEMPCPY */
-
- /* Define to 1 if you have a working `mmap' system call. */
- #define HAVE_MMAP 1
diff --git a/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h
deleted file mode 100644
index fdbba9ffa23b..000000000000
--- a/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2022-01-20 10:37:51 UTC
-+++ third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h
-@@ -16,7 +16,7 @@
- #if defined(OS_ANDROID)
- #include <sys/prctl.h>
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <sys/resource.h>
-
- #include <algorithm>
diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn
index 88cb1c24f737..fbf272d4b247 100644
--- a/www/chromium/files/patch-BUILD.gn
+++ b/www/chromium/files/patch-BUILD.gn
@@ -1,5 +1,14 @@
---- BUILD.gn.orig 2021-12-31 00:57:15 UTC
+--- BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ BUILD.gn
+@@ -52,7 +52,7 @@ declare_args() {
+ root_extra_deps = []
+ }
+
+-if (is_official_build) {
++if (is_official_build && !is_bsd) {
+ # An official (maximally optimized!) component (optimized for build times)
+ # build doesn't make sense and usually doesn't work.
+ assert(!is_component_build)
@@ -454,7 +454,7 @@ group("gn_all") {
]
}
@@ -9,47 +18,23 @@
deps += [
"//third_party/breakpad:breakpad_unittests",
"//third_party/breakpad:core-2-minidump",
-@@ -500,8 +500,6 @@ group("gn_all") {
- "//net:disk_cache_memory_test",
- "//net:quic_client",
- "//net:quic_server",
-- "//sandbox/linux:chrome_sandbox",
-- "//sandbox/linux:sandbox_linux_unittests",
- "//testing:empty_main",
- ]
-
-@@ -512,7 +510,7 @@ group("gn_all") {
- ]
- }
-
-- if (is_chrome_branded && is_official_build) {
-+ if (is_chrome_branded && is_official_build && !is_bsd) {
- # TODO(dpranke): add the linux_dump_symbols flag?
- deps += [ "//chrome:linux_symbols" ]
+@@ -638,6 +638,15 @@ group("gn_all") {
}
-@@ -556,10 +554,6 @@ group("gn_all") {
- "//chrome/test:load_library_perf_tests",
- "//chrome/test:sync_performance_tests",
- "//chrome/test/chromedriver:chromedriver",
-- "//courgette:courgette",
-- "//courgette:courgette_fuzz",
-- "//courgette:courgette_minimal_tool",
-- "//courgette:courgette_unittests",
- "//media/cast:generate_barcode_video",
- "//media/cast:generate_timecode_audio",
- "//net:crash_cache",
-@@ -618,10 +612,6 @@ group("gn_all") {
- "//mojo:mojo_perftests",
- "//services/service_manager/public/cpp",
- "//testing/gmock:gmock_main",
-- "//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_android) {
-@@ -699,7 +689,7 @@ group("gn_all") {
++ if (is_bsd) {
++ deps -= [
++ "//third_party/breakpad:dump_syms($host_toolchain)",
++ "//third_party/breakpad:microdump_stackwalk($host_toolchain)",
++ "//third_party/breakpad:minidump_dump($host_toolchain)",
++ "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
++ ]
++ }
++
+ if (is_mac) {
+ deps += [
+ "//third_party/breakpad:crash_inspector",
+@@ -688,7 +697,7 @@ group("gn_all") {
host_os == "win") {
deps += [ "//chrome/test/mini_installer:mini_installer_tests" ]
}
@@ -58,43 +43,7 @@
deps += [ "//third_party/breakpad:symupload($host_toolchain)" ]
}
-@@ -715,7 +705,7 @@ group("gn_all") {
- }
- }
-
-- if (is_mac || is_win || is_android || is_linux || is_chromeos) {
-+ if (is_mac || is_win || is_android || (is_linux && !is_bsd) || is_chromeos) {
- deps += [
- "//third_party/crashpad/crashpad:crashpad_tests",
- "//third_party/crashpad/crashpad/handler:crashpad_handler",
-@@ -829,15 +819,17 @@ group("gn_all") {
- "//chrome/browser/vr:vr_common_unittests",
- "//chrome/browser/vr:vr_pixeltests",
- ]
-- if (!is_android) {
-- deps += [ "//tools/perf/contrib/vr_benchmarks:vr_perf_tests" ]
-- } else {
-- deps += [ "//chrome/browser/android/vr:vr_android_unittests" ]
-- import("//tools/perf/chrome_telemetry_build/android_browser_types.gni")
-- foreach(_target_suffix, telemetry_android_browser_target_suffixes) {
-- deps += [
-- "//tools/perf/contrib/vr_benchmarks:vr_perf_tests${_target_suffix}",
-- ]
-+ if (!is_bsd) {
-+ if (!is_android) {
-+ deps += [ "//tools/perf/contrib/vr_benchmarks:vr_perf_tests" ]
-+ } else {
-+ deps += [ "//chrome/browser/android/vr:vr_android_unittests" ]
-+ import("//tools/perf/chrome_telemetry_build/android_browser_types.gni")
-+ foreach(_target_suffix, telemetry_android_browser_target_suffixes) {
-+ deps += [
-+ "//tools/perf/contrib/vr_benchmarks:vr_perf_tests${_target_suffix}",
-+ ]
-+ }
- }
- }
- }
-@@ -1140,7 +1132,7 @@ if (!is_ios) {
+@@ -1139,7 +1148,7 @@ if (!is_ios) {
data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ]
}
@@ -103,7 +52,7 @@
data_deps +=
[ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
}
-@@ -1149,7 +1141,7 @@ if (!is_ios) {
+@@ -1148,7 +1157,7 @@ if (!is_ios) {
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
}
@@ -112,22 +61,12 @@
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
}
-@@ -1518,7 +1510,7 @@ group("chromium_builder_perf") {
- data_deps += [ "//chrome/test:performance_browser_tests" ]
- }
- if (is_linux || is_chromeos_lacros) {
-- if (is_official_build) {
-+ if (is_official_build && !is_bsd) {
- # In GN builds, this is controlled by the 'linux_dump_symbols'
- # flag, which defaults to 1 for official builds. For now,
- # we skip the separate flag and just key off of is_official_build.
-@@ -1530,9 +1522,6 @@ group("chromium_builder_perf") {
+@@ -1525,7 +1534,7 @@ group("chromium_builder_perf") {
if (is_win) {
data_deps += [ "//chrome/installer/mini_installer:mini_installer" ]
- } else {
-- data_deps +=
-- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
++ } else if (!is_bsd) {
+ data_deps +=
+ [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
}
- if (is_win || is_android) {
- data_deps += [
diff --git a/www/chromium/files/patch-apps_app__restore__service__browsertest.cc b/www/chromium/files/patch-apps_app__restore__service__browsertest.cc
deleted file mode 100644
index f206af1b2f52..000000000000
--- a/www/chromium/files/patch-apps_app__restore__service__browsertest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- apps/app_restore_service_browsertest.cc.orig 2021-12-14 11:44:54 UTC
-+++ apps/app_restore_service_browsertest.cc
-@@ -140,7 +140,7 @@ IN_PROC_BROWSER_TEST_F(PlatformAppBrowserTest, FileAcc
- }
-
- // Flaky: crbug.com/269613
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- #define MAYBE_FileAccessIsRestored DISABLED_FileAccessIsRestored
- #else
- #define MAYBE_FileAccessIsRestored FileAccessIsRestored
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 715b413018fa..4c99002b2147 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 2021-04-14 18:40:47 UTC
+--- apps/ui/views/app_window_frame_view.cc.orig 2022-02-07 13:39:41 UTC
+++ apps/ui/views/app_window_frame_view.cc
@@ -137,7 +137,7 @@ gfx::Rect AppWindowFrameView::GetWindowBoundsForClient
gfx::Rect window_bounds = client_bounds;
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_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 764566caed12..aae659dabc3b 100644
--- a/www/chromium/files/patch-ash_display_mirror__window__controller.cc
+++ b/www/chromium/files/patch-ash_display_mirror__window__controller.cc
@@ -1,6 +1,6 @@
---- ash/display/mirror_window_controller.cc.orig 2021-12-31 00:57:16 UTC
+--- ash/display/mirror_window_controller.cc.orig 2022-02-07 13:39:41 UTC
+++ ash/display/mirror_window_controller.cc
-@@ -284,7 +284,11 @@ void MirrorWindowController::UpdateWindow(
+@@ -297,7 +297,11 @@ void MirrorWindowController::UpdateWindow(
return info.id() == iter->first;
}) == display_info_list.end()) {
CloseAndDeleteHost(iter->second, true);
diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn
index ac264690acfd..20b36c33a916 100644
--- a/www/chromium/files/patch-base_BUILD.gn
+++ b/www/chromium/files/patch-base_BUILD.gn
@@ -1,6 +1,6 @@
---- base/BUILD.gn.orig 2021-12-31 00:57:18 UTC
+--- base/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ base/BUILD.gn
-@@ -954,7 +954,7 @@ component("base") {
+@@ -975,7 +975,7 @@ component("base") {
"timer/hi_res_timer_manager_posix.cc",
]
@@ -9,10 +9,11 @@
sources += [
"cpu_affinity_posix.cc",
"cpu_affinity_posix.h",
-@@ -965,6 +965,11 @@ component("base") {
+@@ -986,6 +986,12 @@ component("base") {
"profiler/thread_delegate_posix.h",
]
}
++
+ if (is_bsd) {
+ sources += [
+ "profiler/stack_sampler_posix.cc",
@@ -21,74 +22,81 @@
}
if (is_win) {
-@@ -1391,7 +1396,7 @@ component("base") {
+@@ -1416,11 +1422,24 @@ component("base") {
# building inside the cros_sdk environment - use host_toolchain as a
# more robust check for this.
if (!use_sysroot &&
- (is_android || ((is_linux || is_chromeos) && !is_chromecast)) &&
-+ (is_android || ((is_linux || is_chromeos) && !is_chromecast) && !is_clang) &&
++ (is_android || ((is_linux || is_chromeos) && !is_chromecast && !is_bsd)) &&
host_toolchain != "//build/toolchain/cros:host") {
libs += [ "atomic" ]
}
-@@ -1444,7 +1449,7 @@ component("base") {
- "allocator/allocator_shim_default_dispatch_to_mac_zoned_malloc.cc",
- ]
- }
-- if (is_chromeos || is_linux) {
-+ if ((is_chromeos || is_linux) && !is_bsd) {
- sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ]
- }
- if (is_win) {
-@@ -2142,6 +2147,34 @@ component("base") {
- }
- }
++ # *BSD needs libkvm
++ if (is_bsd) {
++ libs += [ "kvm" ]
++ }
++
++ if (is_freebsd) {
++ libs += [
++ "iconv",
++ "execinfo",
++ "util",
++ ]
++ }
++
+ if (use_allocator_shim) {
+ sources += [
+ "allocator/allocator_shim.cc",
+@@ -1443,7 +1462,7 @@ component("base") {
+ "allocator/early_zone_registration_mac.h",
+ ]
+ }
+- 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",
+@@ -2176,6 +2195,42 @@ component("base") {
+ "linux_util.h",
+ ]
+ }
++ }
++
+ if (is_bsd) {
+ sources -= [
+ "files/file_path_watcher_linux.cc",
+ "files/file_util_linux.cc",
++ "files/scoped_file_linux.cc",
+ "process/memory_linux.cc",
-+ "process/process_handle_linux.cc",
++ "process/process_linux.cc",
++ "system/sys_info_linux.cc",
+ "process/process_iterator_linux.cc",
+ "process/process_metrics_linux.cc",
-+ "system/sys_info_linux.cc"
++ "process/process_handle_linux.cc"
+ ]
+ sources += [
-+ "files/file_path_watcher_freebsd.cc",
++ "process/memory_stubs.cc",
+ "files/file_path_watcher_kqueue.cc",
+ "files/file_path_watcher_kqueue.h",
-+ "process/memory_stubs.cc",
++ "files/file_path_watcher_bsd.cc",
++ ]
++ }
++
++ if (is_openbsd) {
++ sources += [
++ "process/process_handle_openbsd.cc",
++ "process/process_iterator_openbsd.cc",
++ "process/process_metrics_openbsd.cc",
++ "system/sys_info_openbsd.cc",
++ ]
++ } else if (is_freebsd) {
++ sources += [
+ "process/process_handle_freebsd.cc",
+ "process/process_iterator_freebsd.cc",
+ "process/process_metrics_freebsd.cc",
+ "system/sys_info_freebsd.cc",
+ ]
-+ libs = [
-+ "execinfo", # logging.cc
-+ "kvm", # process_metrics_freebsd
-+ "util" # process_metrics_freebsd
-+ ]
-+ }
-+
-+
- # iOS
- if (is_ios) {
- sources -= [
-@@ -3359,7 +3392,7 @@ test("base_unittests") {
- }
}
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "debug/proc_maps_linux_unittest.cc",
- "files/scoped_file_linux_unittest.cc",
-@@ -3406,7 +3439,7 @@ test("base_unittests") {
- "posix/unix_domain_socket_unittest.cc",
- "task/thread_pool/task_tracker_posix_unittest.cc",
- ]
-- if (!is_nacl && !is_apple) {
-+ if (!is_nacl && !is_apple && !is_bsd) {
- sources += [
- "cpu_affinity_posix_unittest.cc",
- "profiler/stack_copier_signal_unittest.cc",
+ # iOS
diff --git a/www/chromium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc b/www/chromium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
deleted file mode 100644
index c8722784b6ee..000000000000
--- a/www/chromium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
+++ /dev/null
@@ -1,88 +0,0 @@
---- base/allocator/allocator_shim_default_dispatch_to_glibc.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/allocator/allocator_shim_default_dispatch_to_glibc.cc
-@@ -10,18 +10,28 @@
- #include "base/process/memory.h"
-
- #include <dlfcn.h>
--#include <malloc.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <malloc_np.h>
-
- // This translation unit defines a default dispatch for the allocator shim which
- // routes allocations to libc functions.
--// The code here is strongly inspired from tcmalloc's libc_override_glibc.h.
-+// The code here is strongly inspired from tcmalloc's override_glibc.h.
-
- extern "C" {
--void* __libc_malloc(size_t size);
--void* __libc_calloc(size_t n, size_t size);
--void* __libc_realloc(void* address, size_t size);
--void* __libc_memalign(size_t alignment, size_t size);
--void __libc_free(void* ptr);
-+void* __malloc(size_t size);
-+void* __calloc(size_t n, size_t size);
-+void* __realloc(void* address, size_t len);
-+void* __memalign(size_t alignment, size_t size) {
-+ void *ret;
-+ if (__posix_memalign(&ret, alignment, size) != 0) {
-+ return nullptr;
-+ } else {
-+ return ret;
-+ }
-+}
-+int __posix_memalign(void **ptr, size_t alignment, size_t size);
-+void __free(void* ptr);
- } // extern "C"
-
- namespace {
-@@ -39,7 +49,7 @@ void* GlibcMalloc(const AllocatorDispatch*, size_t siz
- if (UNLIKELY(size >= kMaxAllowedSize))
- base::TerminateBecauseOutOfMemory(size);
-
-- return __libc_malloc(size);
-+ return __malloc(size);
- }
-
- void* GlibcUncheckedMalloc(const AllocatorDispatch*,
-@@ -48,7 +58,7 @@ void* GlibcUncheckedMalloc(const AllocatorDispatch*,
- if (UNLIKELY(size >= kMaxAllowedSize))
- return nullptr;
-
-- return __libc_malloc(size);
-+ return __malloc(size);
- }
-
- void* GlibcCalloc(const AllocatorDispatch*,
-@@ -59,7 +69,7 @@ void* GlibcCalloc(const AllocatorDispatch*,
- if (UNLIKELY(!total.IsValid() || total.ValueOrDie() >= kMaxAllowedSize))
- base::TerminateBecauseOutOfMemory(size * n);
-
-- return __libc_calloc(n, size);
-+ return __calloc(n, size);
- }
-
- void* GlibcRealloc(const AllocatorDispatch*,
-@@ -69,7 +79,7 @@ void* GlibcRealloc(const AllocatorDispatch*,
- if (UNLIKELY(size >= kMaxAllowedSize))
- base::TerminateBecauseOutOfMemory(size);
-
-- return __libc_realloc(address, size);
-+ return __realloc(address, size);
- }
-
- void* GlibcMemalign(const AllocatorDispatch*,
-@@ -79,11 +89,11 @@ void* GlibcMemalign(const AllocatorDispatch*,
- if (UNLIKELY(size >= kMaxAllowedSize))
- base::TerminateBecauseOutOfMemory(size);
-
-- return __libc_memalign(alignment, size);
-+ return __memalign(alignment, size);
- }
-
- void GlibcFree(const AllocatorDispatch*, void* address, void* context) {
-- __libc_free(address);
-+ __free(address);
- }
-
- NO_SANITIZE("cfi-icall")
diff --git a/www/chromium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h b/www/chromium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h
deleted file mode 100644
index 6308eb5707c2..000000000000
--- a/www/chromium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- base/allocator/allocator_shim_override_libc_symbols.h.orig 2021-04-14 18:40:48 UTC
-+++ base/allocator/allocator_shim_override_libc_symbols.h
-@@ -16,6 +16,10 @@
- #include <malloc.h>
- #endif
-
-+#if defined(OS_BSD)
-+#include <stdlib.h>
-+#endif
-+
- #include "base/allocator/allocator_shim_internals.h"
-
- extern "C" {
diff --git a/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc b/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc
deleted file mode 100644
index 3f3a8a53ae18..000000000000
--- a/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- base/allocator/allocator_shim_unittest.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/allocator/allocator_shim_unittest.cc
-@@ -369,7 +369,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
-
- #endif // !OS_WIN
-
--#if !defined(OS_WIN) && !defined(OS_APPLE)
-+#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD)
- void* memalign_ptr = memalign(128, 53);
- ASSERT_NE(nullptr, memalign_ptr);
- ASSERT_EQ(0u, reinterpret_cast<uintptr_t>(memalign_ptr) % 128);
-@@ -385,7 +385,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
- ASSERT_GE(aligned_allocs_intercepted_by_size[kPageSize], 1u);
- #endif // defined(OS_POSIX) && !defined(OS_ANDROID)
-
--#endif // !OS_WIN && !OS_APPLE
-+#endif // !OS_WIN && !OS_APPLE && !OS_BSD
-
- // See allocator_shim_override_glibc_weak_symbols.h for why we intercept
- // internal libc symbols.
-@@ -412,7 +412,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
- free(zero_alloc_ptr);
- ASSERT_GE(frees_intercepted_by_addr[Hash(zero_alloc_ptr)], 1u);
-
--#if !defined(OS_WIN) && !defined(OS_APPLE)
-+#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD)
- free(memalign_ptr);
- ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u);
-
-@@ -421,7 +421,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
- ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u);
- #endif // defined(OS_POSIX) && !defined(OS_ANDROID)
-
--#endif // !OS_WIN && !OS_APPLE
-+#endif // !OS_WIN && !OS_APPLE && !OS_BSD
-
- #if !defined(OS_WIN)
- free(posix_memalign_ptr);
-@@ -615,7 +615,7 @@ static size_t GetUsableSize(void* ptr) {
- static size_t GetUsableSize(void* ptr) {
- return malloc_size(ptr);
- }
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- static size_t GetUsableSize(void* ptr) {
- return malloc_usable_size(ptr);
- }
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_address__pool__manager.cc b/www/chromium/files/patch-base_allocator_partition__allocator_address__pool__manager.cc
deleted file mode 100644
index bd1771f1163f..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_address__pool__manager.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/allocator/partition_allocator/address_pool_manager.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/allocator/partition_allocator/address_pool_manager.cc
-@@ -8,6 +8,13 @@
- #include <sys/mman.h>
- #endif
-
-+#if defined(OS_FREEBSD)
-+#include <sys/mman.h>
-+#include <fcntl.h>
-+
-+#include "base/posix/eintr_wrapper.h"
-+#endif
-+
- #include <algorithm>
- #include <limits>
-
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 12f57b367556..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 2021-12-14 11:44:55 UTC
-+++ base/allocator/partition_allocator/page_allocator.h
-@@ -170,7 +170,7 @@ BASE_EXPORT void DecommitAndZeroSystemPages(void* addr
- // Whether decommitted memory is guaranteed to be zeroed when it is
- // recommitted. Do not assume that this will not change over time.
- constexpr BASE_EXPORT bool DecommittedMemoryIsAlwaysZeroed() {
--#if defined(OS_APPLE)
-+#if defined(OS_APPLE) || defined(OS_FREEBSD)
- return false;
- #else
- return true;
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 cf452245c7a2..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
+++ /dev/null
@@ -1,56 +0,0 @@
---- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-12-14 11:44:55 UTC
-+++ base/allocator/partition_allocator/page_allocator_internals_posix.h
-@@ -28,10 +28,14 @@
- #if defined(OS_ANDROID)
- #include <sys/prctl.h>
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <sys/resource.h>
- #endif
-
-+#if defined(OS_BSD)
-+#include <fcntl.h>
-+#endif
-+
- #include "base/allocator/partition_allocator/page_allocator.h"
-
- #ifndef MAP_ANONYMOUS
-@@ -151,12 +155,19 @@ void* SystemAllocPagesInternal(void* hint,
- PA_DCHECK(PageTag::kFirst <= page_tag);
- PA_DCHECK(PageTag::kLast >= page_tag);
- int fd = VM_MAKE_TAG(static_cast<int>(page_tag));
-+#elif defined(OS_FREEBSD)
-+ int fd = HANDLE_EINTR(open("/dev/zero", O_RDWR | O_CLOEXEC));
-+ PA_PCHECK(fd != -1);
- #else
- int fd = -1;
- #endif
-
- int access_flag = GetAccessFlags(accessibility);
-+#if defined(OS_FREEBSD)
-+ int map_flags = MAP_PRIVATE;
-+#else
- int map_flags = MAP_ANONYMOUS | MAP_PRIVATE;
-+#endif
-
- #if defined(OS_MAC)
- // On macOS 10.14 and higher, executables that are code signed with the
-@@ -183,6 +194,8 @@ void* SystemAllocPagesInternal(void* hint,
- prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, ret, length,
- PageTagToName(page_tag));
- }
-+#elif defined(OS_FREEBSD)
-+ HANDLE_EINTR(close(fd));
- #endif
-
- return ret;
-@@ -346,6 +359,8 @@ void DiscardSystemPagesInternal(void* address, size_t
- ret = madvise(address, length, MADV_DONTNEED);
- }
- PA_PCHECK(ret == 0);
-+#elif defined(OS_FREEBSD)
-+ PA_PCHECK(0 == madvise(address, length, MADV_FREE));
- #else
- // We have experimented with other flags, but with suboptimal results.
- //
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
index 047945ce0075..b525560e52b0 100644
--- 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
@@ -1,22 +1,11 @@
---- base/allocator/partition_allocator/partition_alloc_config.h.orig 2021-12-31 00:57:18 UTC
+--- base/allocator/partition_allocator/partition_alloc_config.h.orig 2022-02-07 13:39:41 UTC
+++ base/allocator/partition_allocator/partition_alloc_config.h
-@@ -59,6 +59,10 @@ static_assert(sizeof(void*) != 8, "");
+@@ -59,7 +59,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 defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
#define PA_HAS_LINUX_KERNEL
#endif
-+#if defined(OS_FREEBSD)
-+#define PA_HAS_FREEBSD_KERNEL
-+#endif
-+
- // On some platforms, we implement locking by spinning in userspace, then going
- // into the kernel only if there is contention. This requires platform support,
- // namely:
-@@ -73,7 +77,7 @@ static_assert(sizeof(void*) != 8, "");
- // assume that pthread_mutex_trylock() is suitable.
- //
- // Otherwise, a userspace spinlock implementation is used.
--#if defined(PA_HAS_LINUX_KERNEL) || defined(OS_WIN) || \
-+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) || defined(OS_WIN) || \
- (defined(OS_POSIX) && !defined(OS_APPLE)) || defined(OS_FUCHSIA)
- #define PA_HAS_FAST_MUTEX
- #endif
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
index 847ab3dc11a8..3c37a2b8e5a7 100644
--- 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
@@ -1,11 +1,11 @@
---- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2022-01-21 12:58:23 UTC
+--- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2022-02-07 13:39:41 UTC
+++ base/allocator/partition_allocator/partition_alloc_constants.h
-@@ -349,7 +349,7 @@ constexpr size_t kBitsPerSizeT = sizeof(void*) * CHAR_
+@@ -361,7 +361,7 @@ constexpr size_t kBitsPerSizeT = sizeof(void*) * CHAR_
// PartitionPurgeDecommitEmptySlotSpans flag will eagerly decommit all entries
// in the ring buffer, so with periodic purge enabled, this typically happens
// every few seconds.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Set to a higher value on Linux, to assess impact on performance bots. This
- // roughly halves the number of syscalls done during a speedometer 2.0 run on
- // this platform.
+-#if defined(OS_LINUX) || defined(OS_APPLE)
++#if defined(OS_LINUX) || defined(OS_APPLE) || defined(OS_BSD)
+ // Set to a higher value on Linux and macOS, to assess impact on performance
+ // bots. This roughly halves the number of syscalls done during a speedometer
+ // 2.0 run on these platforms.
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc
deleted file mode 100644
index f713b26a5cb3..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2021-12-31 00:57:18 UTC
-+++ base/allocator/partition_allocator/partition_alloc_unittest.cc
-@@ -1803,7 +1803,7 @@ TEST_F(PartitionAllocTest, LostFreeSlotSpansBug) {
- // cause flake.
- #if !defined(OS_WIN) && \
- (!defined(ARCH_CPU_64_BITS) || \
-- (defined(OS_POSIX) && !(defined(OS_APPLE) || defined(OS_ANDROID))))
-+ (defined(OS_POSIX) && !(defined(OS_APPLE) || defined(OS_ANDROID) || defined(OS_BSD))))
-
- // The following four tests wrap a called function in an expect death statement
- // to perform their test, because they are non-hermetic. Specifically they are
-@@ -1869,7 +1869,7 @@ TEST_F(PartitionAllocDeathTest, DISABLED_RepeatedTryRe
- }
-
- #endif // !defined(ARCH_CPU_64_BITS) || (defined(OS_POSIX) &&
-- // !(defined(OS_APPLE) || defined(OS_ANDROID)))
-+ // !(defined(OS_APPLE) || defined(OS_ANDROID) || defined(OS_BSD)))
-
- // Make sure that malloc(-1) dies.
- // In the past, we had an integer overflow that would alias malloc(-1) to
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
new file mode 100644
index 000000000000..3fd97ed4f2bf
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h
@@ -0,0 +1,12 @@
+--- base/allocator/partition_allocator/partition_page.h.orig 2022-02-07 13:39:41 UTC
++++ base/allocator/partition_allocator/partition_page.h
+@@ -141,7 +141,8 @@ struct __attribute__((packed)) SlotSpanMetadata {
+ // in PartitionPage, which has other fields as well, and must fit in 32 bytes.
+
+ // CHECK()ed in AllocNewSlotSpan().
+-#if defined(PA_HAS_64_BITS_POINTERS) && defined(OS_APPLE)
++#if (defined(PA_HAS_64_BITS_POINTERS) && defined(OS_APPLE)) || \
++ (defined(OS_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.
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 6eb3a48451aa..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- base/allocator/partition_allocator/partition_root.cc.orig 2021-12-31 00:57:18 UTC
-+++ base/allocator/partition_allocator/partition_root.cc
-@@ -28,7 +28,7 @@
- #include "wow64apiset.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <pthread.h>
- #endif
-
-@@ -42,7 +42,7 @@ namespace base {
-
- namespace {
-
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // NO_THREAD_SAFETY_ANALYSIS: acquires the lock and doesn't release it, by
- // design.
-@@ -111,7 +111,7 @@ void AfterForkInChild() {
- internal::ThreadCacheRegistry::Instance()
- .ForcePurgeAllThreadAfterForkUnsafe();
- }
--#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- std::atomic<bool> g_global_init_called;
- void PartitionAllocMallocInitOnce() {
-@@ -121,7 +121,7 @@ void PartitionAllocMallocInitOnce() {
- if (!g_global_init_called.compare_exchange_strong(expected, true))
- return;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_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.
-@@ -146,7 +146,7 @@ void PartitionAllocMallocInitOnce() {
- int err =
- pthread_atfork(BeforeForkInParent, AfterForkInParent, AfterForkInChild);
- PA_CHECK(err == 0);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- } // namespace
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.h
new file mode 100644
index 000000000000..86e2996e9bc2
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.h
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/partition_root.h.orig 2022-02-07 13:39:41 UTC
++++ base/allocator/partition_allocator/partition_root.h
+@@ -1044,7 +1044,7 @@ ALWAYS_INLINE void PartitionRoot<thread_safe>::FreeNoH
+ // essentially).
+ #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \
+ ((defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMECAST)) || \
+- (defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)))
++ ((defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_64_BITS)))
+ PA_CHECK(IsManagedByPartitionAlloc(reinterpret_cast<uintptr_t>(ptr)));
+ #endif
+
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
index ad0050c3bb6f..be1594ebc8d8 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
@@ -1,54 +1,47 @@
---- base/allocator/partition_allocator/spinning_mutex.cc.orig 2021-12-14 11:44:55 UTC
+--- base/allocator/partition_allocator/spinning_mutex.cc.orig 2022-02-07 13:39:41 UTC
+++ base/allocator/partition_allocator/spinning_mutex.cc
-@@ -22,6 +22,13 @@
- #include <unistd.h>
- #endif // defined(PA_HAS_LINUX_KERNEL)
+@@ -17,7 +17,15 @@
-+#if defined(PA_HAS_FREEBSD_KERNEL)
-+#include <errno.h>
+ #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>
-+#endif // defined(PA_HAS_FREEBSD_KERNEL)
-+
- #if !defined(PA_HAS_FAST_MUTEX)
- #include "base/threading/platform_thread.h"
-
-@@ -43,7 +50,7 @@ namespace internal {
-
- #if defined(PA_HAS_FAST_MUTEX)
-
--#if defined(PA_HAS_LINUX_KERNEL)
-+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL)
-
- void SpinningMutex::FutexWait() {
- // Save and restore errno.
-@@ -67,8 +74,13 @@ void SpinningMutex::FutexWait() {
++#else
+ #include <linux/futex.h>
++#endif
+ #include <sys/syscall.h>
+ #include <unistd.h>
+ #endif // defined(PA_HAS_LINUX_KERNEL)
+@@ -86,8 +94,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(PA_HAS_LINUX_KERNEL)
++#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);
-+#elif defined(PA_HAS_FREEBSD_KERNEL)
-+ int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE,
-+ kLockedContended, nullptr, nullptr);
+#endif
if (err) {
// These are programming error, check them.
-@@ -80,8 +92,14 @@ void SpinningMutex::FutexWait() {
+@@ -99,8 +112,14 @@ void SpinningMutex::FutexWait() {
void SpinningMutex::FutexWake() {
int saved_errno = errno;
-+#if defined(PA_HAS_LINUX_KERNEL)
- long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG,
- 1 /* wake up a single waiter */, nullptr, nullptr, 0);
-+#elif defined(PA_HAS_FREEBSD_KERNEL)
++#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_spinning__mutex.h b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.h
deleted file mode 100644
index a5899e29e5c8..000000000000
--- a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/allocator/partition_allocator/spinning_mutex.h.orig 2021-12-14 11:44:55 UTC
-+++ base/allocator/partition_allocator/spinning_mutex.h
-@@ -106,7 +106,7 @@ class LOCKABLE BASE_EXPORT SpinningMutex {
-
- #if defined(PA_HAS_FAST_MUTEX)
-
--#if defined(PA_HAS_LINUX_KERNEL)
-+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL)
- void FutexWait();
- void FutexWake();
-
-@@ -176,7 +176,7 @@ inline constexpr SpinningMutex::SpinningMutex() = defa
-
- #if defined(PA_HAS_FAST_MUTEX)
-
--#if defined(PA_HAS_LINUX_KERNEL)
-+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL)
-
- ALWAYS_INLINE bool SpinningMutex::Try() {
- // Using the weak variant of compare_exchange(), which may fail spuriously. On
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc
index 97c6764116f7..09e46dc3b1a8 100644
--- 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
@@ -1,39 +1,50 @@
---- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2021-09-24 04:25:55 UTC
+--- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2022-02-07 13:39:41 UTC
+++ base/allocator/partition_allocator/starscan/stack/stack.cc
@@ -17,6 +17,10 @@
#include <pthread.h>
#endif
-+#if defined(OS_FREEBSD)
++#if defined(OS_BSD)
+#include <pthread_np.h>
+#endif
+
#if defined(LIBC_GLIBC)
extern "C" void* __libc_stack_end;
#endif
-@@ -54,7 +58,15 @@ void* GetStackTop() {
+@@ -48,6 +52,36 @@ void* GetStackTop() {
void* GetStackTop() {
- pthread_attr_t attr;
-+#if defined(OS_FREEBSD)
-+ int error = pthread_attr_init(&attr);
-+ if (error) {
+ 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;
-+ }
-+ error = pthread_attr_get_np(pthread_self(), &attr);
-+#else
- int error = pthread_getattr_np(pthread_self(), &attr);
-+#endif
- if (!error) {
- void* base;
- size_t size;
-@@ -71,6 +83,9 @@ void* GetStackTop() {
- // See https://code.google.com/p/nativeclient/issues/detail?id=3431.
- return __libc_stack_end;
- #else
-+#if defined(OS_FREEBSD)
++ 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);
-+#endif
- return nullptr;
- #endif // defined(LIBC_GLIBC)
++ return nullptr;
}
+
+ #elif defined(OS_POSIX) || defined(OS_FUCHSIA)
diff --git a/www/chromium/files/patch-base_atomicops.h b/www/chromium/files/patch-base_atomicops.h
new file mode 100644
index 000000000000..2001ce228478
--- /dev/null
+++ b/www/chromium/files/patch-base_atomicops.h
@@ -0,0 +1,14 @@
+--- base/atomicops.h.orig 2022-02-07 13:39:41 UTC
++++ base/atomicops.h
+@@ -57,7 +57,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.
++#if !defined(OS_OPENBSD) && defined(__i386__)
++typedef Atomic32 AtomicWord;
++#else
+ typedef intptr_t AtomicWord;
++#endif
+
+ // Atomically execute:
+ // result = *ptr;
diff --git a/www/chromium/files/patch-base_base__paths__posix.cc b/www/chromium/files/patch-base_base__paths__posix.cc
new file mode 100644
index 000000000000..e4e467db6322
--- /dev/null
+++ b/www/chromium/files/patch-base_base__paths__posix.cc
@@ -0,0 +1,98 @@
+--- base/base_paths_posix.cc.orig 2022-02-07 13:39:41 UTC
++++ base/base_paths_posix.cc
+@@ -15,6 +15,7 @@
+ #include <ostream>
+ #include <string>
+
++#include "base/command_line.h"
+ #include "base/environment.h"
+ #include "base/files/file_path.h"
+ #include "base/files/file_util.h"
+@@ -25,9 +26,13 @@
+ #include "base/process/process_metrics.h"
+ #include "build/build_config.h"
+
+-#if defined(OS_FREEBSD)
++#if defined(OS_BSD)
+ #include <sys/param.h>
+ #include <sys/sysctl.h>
++#if defined(OS_OPENBSD)
++#include <kvm.h>
++#define MAXTOKENS 2
++#endif
+ #elif defined(OS_SOLARIS) || defined(OS_AIX)
+ #include <stdlib.h>
+ #endif
+@@ -68,13 +73,65 @@ bool PathProviderPosix(int key, FilePath* result) {
+ *result = FilePath(bin_dir);
+ return true;
+ #elif defined(OS_OPENBSD) || defined(OS_AIX)
+- // There is currently no way to get the executable path on OpenBSD
+- char* cpath;
+- if ((cpath = getenv("CHROME_EXE_PATH")) != NULL)
+- *result = FilePath(cpath);
+- else
+- *result = FilePath("/usr/local/chrome/chrome");
+- return true;
++ char *cpath;
++#if !defined(OS_AIX)
++ struct kinfo_file *files;
++ kvm_t *kd = NULL;
++ char errbuf[_POSIX2_LINE_MAX];
++ static char retval[PATH_MAX];
++ int cnt;
++ struct stat sb;
++ pid_t cpid = getpid();
++ bool ret = false;
++
++ const base::CommandLine* command_line =
++ base::CommandLine::ForCurrentProcess();
++
++ VLOG(1) << "PathProviderPosix argv: " << command_line->argv()[0];
++
++ if (realpath(command_line->argv()[0].c_str(), retval) == NULL)
++ goto out;
++
++ if (stat(command_line->argv()[0].c_str(), &sb) < 0)
++ goto out;
++
++ if (!command_line->HasSwitch("no-sandbox")) {
++ ret = true;
++ *result = FilePath(retval);
++ VLOG(1) << "PathProviderPosix (sandbox) result: " << retval;
++ goto out;
++ }
++
++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL)
++ goto out;
++
++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, cpid,
++ sizeof(struct kinfo_file), &cnt)) == NULL)
++ goto out;
++
++ 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) {
++ ret = true;
++ *result = FilePath(retval);
++ VLOG(1) << "PathProviderPosix result: " << retval;
++ }
++ }
++out:
++ if (kd)
++ kvm_close(kd);
++ if (!ret) {
++#endif
++ if ((cpath = getenv("CHROME_EXE_PATH")) != NULL)
++ *result = FilePath(cpath);
++ else
++ *result = FilePath("/usr/local/chrome/chrome");
++ return true;
++#if !defined(OS_AIX)
++ }
++ return ret;
++#endif
+ #endif
+ }
+ case DIR_SRC_TEST_DATA_ROOT: {
diff --git a/www/chromium/files/patch-base_base__switches.cc b/www/chromium/files/patch-base_base__switches.cc
index c7fd2e4d641b..be1fb8bcdacd 100644
--- a/www/chromium/files/patch-base_base__switches.cc
+++ b/www/chromium/files/patch-base_base__switches.cc
@@ -1,17 +1,6 @@
---- base/base_switches.cc.orig 2021-05-12 22:05:40 UTC
+--- base/base_switches.cc.orig 2022-02-07 13:39:41 UTC
+++ base/base_switches.cc
-@@ -125,8 +125,8 @@ const char kDisableUsbKeyboardDetect[] = "disable
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-- !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-+ !BUILDFLAG(IS_CHROMEOS_LACROS))
- // The /dev/shm partition is too small in certain VM environments, causing
- // Chrome to fail or crash (see http://crbug.com/715363). Use this flag to
- // work-around this issue (a temporary directory will always be used to create
-@@ -161,7 +161,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria
+@@ -170,7 +170,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria
#endif
diff --git a/www/chromium/files/patch-base_base__switches.h b/www/chromium/files/patch-base_base__switches.h
index f878cbc00f2d..3388972738b8 100644
--- a/www/chromium/files/patch-base_base__switches.h
+++ b/www/chromium/files/patch-base_base__switches.h
@@ -1,17 +1,6 @@
---- base/base_switches.h.orig 2021-05-12 22:05:40 UTC
+--- base/base_switches.h.orig 2022-02-07 13:39:41 UTC
+++ base/base_switches.h
-@@ -42,8 +42,8 @@ extern const char kDisableUsbKeyboardDetect[];
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-- !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-+ !BUILDFLAG(IS_CHROMEOS_LACROS))
- extern const char kDisableDevShmUsage[];
- #endif
-
-@@ -59,7 +59,7 @@ extern const char kEnableIdleTracing[];
+@@ -60,7 +60,7 @@ extern const char kEnableIdleTracing[];
extern const char kForceFieldTrialParams[];
#endif
diff --git a/www/chromium/files/patch-base_check.h b/www/chromium/files/patch-base_check.h
deleted file mode 100644
index 8ff12ec1ffe7..000000000000
--- a/www/chromium/files/patch-base_check.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/check.h.orig 2021-04-22 11:38:19 UTC
-+++ base/check.h
-@@ -85,7 +85,7 @@ class BASE_EXPORT CheckError {
- // Stream for adding optional details to the error message.
- std::ostream& stream();
-
-- NOMERGE ~CheckError();
-+ ~CheckError();
-
- CheckError(const CheckError& other) = delete;
- CheckError& operator=(const CheckError& other) = delete;
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..d9fcba02e013
--- /dev/null
+++ b/www/chromium/files/patch-base_compiler__specific.h
@@ -0,0 +1,11 @@
+--- base/compiler_specific.h.orig 2022-02-07 13:39:41 UTC
++++ base/compiler_specific.h
+@@ -366,7 +366,7 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) {
+ #endif // defined(__clang_analyzer__)
+
+ // Use nomerge attribute to disable optimization of merging multiple same calls.
+-#if defined(__clang__) && __has_attribute(nomerge)
++#if defined(__clang__) && __has_attribute(nomerge) && !defined(OS_FREEBSD)
+ #define NOMERGE [[clang::nomerge]]
+ #else
+ #define NOMERGE
diff --git a/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc b/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc
deleted file mode 100644
index 95160ac0985a..000000000000
--- a/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/containers/checked_iterators_unittest.cc.orig 2021-10-05 14:50:27 UTC
-+++ base/containers/checked_iterators_unittest.cc
-@@ -88,7 +88,7 @@ TEST(CheckedContiguousIterator, ConvertingComparisonOp
- // lags a bit behind.
- // TODO(crbug.com/1166360): Enable this test on ChromeOS once the shared libc++
- // is sufficiently modern.
--#if defined(_LIBCPP_VERSION) && !defined(OS_NACL) && !defined(OS_CHROMEOS)
-+#if defined(_LIBCPP_VERSION) && !defined(OS_NACL) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- namespace {
-
- // Helper template that wraps an iterator and disables its dereference and
diff --git a/www/chromium/files/patch-base_cpu.cc b/www/chromium/files/patch-base_cpu.cc
deleted file mode 100644
index 6a0db27401ac..000000000000
--- a/www/chromium/files/patch-base_cpu.cc
+++ /dev/null
@@ -1,35 +0,0 @@
---- base/cpu.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/cpu.cc
-@@ -17,7 +17,7 @@
- #include "base/cxx17_backports.h"
- #include "base/no_destructor.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
- #include "base/containers/flat_set.h"
- #include "base/files/file_util.h"
-@@ -215,6 +215,14 @@ const ProcCpuInfo& ParseProcCpu() {
-
- return *info;
- }
-+#elif defined(OS_BSD)
-+std::string* CpuInfoBrand() {
-+ static std::string* brand = []() {
-+ return new std::string(SysInfo::CPUModelName());
-+ }();
-+
-+ return brand;
-+}
- #endif // defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) ||
- // defined(OS_LINUX) || defined(OS_CHROMEOS))
-
-@@ -358,6 +366,8 @@ void CPU::Initialize(bool require_branding) {
- has_bti_ = hwcap2 & HWCAP2_BTI;
- #endif
-
-+#elif defined(OS_BSD)
-+ cpu_brand_ = *CpuInfoBrand();
- #elif defined(OS_WIN)
- // Windows makes high-resolution thread timing information available in
- // user-space.
diff --git a/www/chromium/files/patch-base_cpu.h b/www/chromium/files/patch-base_cpu.h
index 5b713f08f882..1879d459ce46 100644
--- a/www/chromium/files/patch-base_cpu.h
+++ b/www/chromium/files/patch-base_cpu.h
@@ -1,20 +1,11 @@
---- base/cpu.h.orig 2021-12-14 11:44:55 UTC
+--- base/cpu.h.orig 2022-02-07 13:39:41 UTC
+++ base/cpu.h
-@@ -103,7 +103,7 @@ class BASE_EXPORT CPU final {
- IntelMicroArchitecture GetIntelMicroArchitecture() const;
+@@ -104,7 +104,7 @@ class BASE_EXPORT CPU final {
const std::string& cpu_brand() const { return cpu_brand_; }
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
enum class CoreType {
kUnknown = 0,
-@@ -154,7 +154,7 @@ class BASE_EXPORT CPU final {
- // cpuidle driver.
- using CoreIdleTimes = std::vector<TimeDelta>;
- static bool GetCumulativeCoreIdleTimes(CoreIdleTimes&);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- // defined(OS_AIX)
-
- private:
+ kOther,
diff --git a/www/chromium/files/patch-base_debug_debugger__posix.cc b/www/chromium/files/patch-base_debug_debugger__posix.cc
index 024e9e915cda..63a56d85b575 100644
--- a/www/chromium/files/patch-base_debug_debugger__posix.cc
+++ b/www/chromium/files/patch-base_debug_debugger__posix.cc
@@ -1,33 +1,45 @@
---- base/debug/debugger_posix.cc.orig 2021-12-14 11:44:55 UTC
+--- base/debug/debugger_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/debug/debugger_posix.cc
-@@ -87,7 +87,7 @@ bool BeingDebugged() {
- KERN_PROC,
- KERN_PROC_PID,
- getpid()
--#if defined(OS_OPENBSD)
-+#if defined(OS_BSD)
- , sizeof(struct kinfo_proc),
- 0
+@@ -36,6 +36,10 @@
+ #include <sys/sysctl.h>
#endif
-@@ -95,33 +95,35 @@ bool BeingDebugged() {
+
++#if defined(OS_OPENBSD)
++#include <sys/proc.h>
++#endif
++
+ #if defined(OS_FREEBSD)
+ #include <sys/user.h>
+ #endif
+@@ -95,32 +99,51 @@ bool BeingDebugged() {
// Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and
// binary interfaces may change.
-- struct kinfo_proc info;
-- size_t info_size = sizeof(info);
++#if defined(OS_OPENBSD)
+ struct kinfo_proc *info;
+ size_t info_size;
++#else
+ struct kinfo_proc info;
+ size_t info_size = sizeof(info);
++#endif
--#if defined(OS_OPENBSD)
+ #if defined(OS_OPENBSD)
if (sysctl(mib, base::size(mib), NULL, &info_size, NULL, 0) < 0)
return -1;
-+ info = (struct kinfo_proc *)malloc(info_size);
mib[5] = (info_size / sizeof(struct kinfo_proc));
--#endif
-
-- int sysctl_result = sysctl(mib, base::size(mib), &info, &info_size, NULL, 0);
++ if ((info = reinterpret_cast<kinfo_proc*>(malloc(info_size))) == NULL) {
++ is_set = true;
++ being_debugged = false;
++ return being_debugged;
++ }
++
+ int sysctl_result = sysctl(mib, base::size(mib), info, &info_size, NULL, 0);
+ #endif
+
++#if !defined(OS_OPENBSD)
+ int sysctl_result = sysctl(mib, base::size(mib), &info, &info_size, NULL, 0);
++#endif
DCHECK_EQ(sysctl_result, 0);
if (sysctl_result != 0) {
is_set = true;
@@ -39,18 +51,18 @@
// This process is being debugged if the P_TRACED flag is set.
is_set = true;
#if defined(OS_FREEBSD)
-- being_debugged = (info.ki_flag & P_TRACED) != 0;
-+ being_debugged = (info->ki_flag & P_TRACED) != 0;
- #elif defined(OS_BSD)
+ being_debugged = (info.ki_flag & P_TRACED) != 0;
+-#elif defined(OS_BSD)
- being_debugged = (info.p_flag & P_TRACED) != 0;
-+ being_debugged = (info->p_flag & P_TRACED) != 0;
++#elif defined(OS_OPENBSD)
++ being_debugged = (info->p_psflags & PS_TRACED) != 0;
#else
-- being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0;
-+ being_debugged = (info->kp_proc.p_flag & P_TRACED) != 0;
- #endif
+ being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0;
++#endif
+
+out:
++#if defined(OS_OPENBSD)
+ free(info);
+ #endif
return being_debugged;
}
-
diff --git a/www/chromium/files/patch-base_debug_elf__reader.cc b/www/chromium/files/patch-base_debug_elf__reader.cc
index 50e4509445ed..21904ae7ca00 100644
--- a/www/chromium/files/patch-base_debug_elf__reader.cc
+++ b/www/chromium/files/patch-base_debug_elf__reader.cc
@@ -1,16 +1,6 @@
---- base/debug/elf_reader.cc.orig 2021-07-19 18:45:05 UTC
+--- base/debug/elf_reader.cc.orig 2022-02-07 13:39:41 UTC
+++ base/debug/elf_reader.cc
-@@ -39,7 +39,9 @@ using Nhdr = Elf64_Nhdr;
- using Word = Elf64_Word;
- #endif
-
-+#if !defined(OS_BSD)
- constexpr char kGnuNoteName[] = "GNU";
-+#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
-@@ -76,6 +78,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base,
+@@ -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);
@@ -18,7 +8,7 @@
if (current_note->n_type == NT_GNU_BUILD_ID) {
StringPiece note_name(current_section + sizeof(Nhdr),
current_note->n_namesz);
-@@ -85,6 +88,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base,
+@@ -85,6 +86,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base,
break;
}
}
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 9d9eff8794a9..c728ce89a006 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 2021-04-14 18:40:48 UTC
+--- base/debug/proc_maps_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ base/debug/proc_maps_linux.cc
-@@ -13,13 +13,18 @@
+@@ -13,7 +13,7 @@
#include "base/strings/string_split.h"
#include "build/build_config.h"
@@ -9,133 +9,3 @@
#include <inttypes.h>
#endif
- namespace base {
- namespace debug {
-
-+#if defined(OS_BSD)
-+const char kProcSelfMapsPath[] = "/proc/curproc/map";
-+#else
-+const char kProcSelfMapsPath[] = "/proc/self/maps";
-+
- // Scans |proc_maps| starting from |pos| returning true if the gate VMA was
- // found, otherwise returns false.
- static bool ContainsGateVMA(std::string* proc_maps, size_t pos) {
-@@ -35,15 +40,16 @@ static bool ContainsGateVMA(std::string* proc_maps, si
- return false;
- #endif
- }
-+#endif
-
- bool ReadProcMaps(std::string* proc_maps) {
- // seq_file only writes out a page-sized amount on each call. Refer to header
- // file for details.
- const long kReadSize = sysconf(_SC_PAGESIZE);
-
-- base::ScopedFD fd(HANDLE_EINTR(open("/proc/self/maps", O_RDONLY)));
-+ base::ScopedFD fd(HANDLE_EINTR(open(kProcSelfMapsPath, O_RDONLY)));
- if (!fd.is_valid()) {
-- DPLOG(ERROR) << "Couldn't open /proc/self/maps";
-+ DPLOG(ERROR) << "Couldn't open " << kProcSelfMapsPath;
- return false;
- }
- proc_maps->clear();
-@@ -57,7 +63,7 @@ bool ReadProcMaps(std::string* proc_maps) {
-
- ssize_t bytes_read = HANDLE_EINTR(read(fd.get(), buffer, kReadSize));
- if (bytes_read < 0) {
-- DPLOG(ERROR) << "Couldn't read /proc/self/maps";
-+ DPLOG(ERROR) << "Couldn't read " << kProcSelfMapsPath;
- proc_maps->clear();
- return false;
- }
-@@ -68,6 +74,7 @@ bool ReadProcMaps(std::string* proc_maps) {
- if (bytes_read == 0)
- break;
-
-+#if !defined(OS_BSD)
- // The gate VMA is handled as a special case after seq_file has finished
- // iterating through all entries in the virtual memory table.
- //
-@@ -78,6 +85,7 @@ bool ReadProcMaps(std::string* proc_maps) {
- // Avoid this by searching for the gate VMA and breaking early.
- if (ContainsGateVMA(proc_maps, pos))
- break;
-+#endif
- }
-
- return true;
-@@ -105,11 +113,32 @@ bool ParseProcMaps(const std::string& input,
-
- MappedMemoryRegion region;
- const char* line = lines[i].c_str();
-- char permissions[5] = {'\0'}; // Ensure NUL-terminated string.
-+ char permissions[6] = {'\0'}; // Ensure NUL-terminated string.
-+ int path_index = 0;
-+
-+#if defined(OS_BSD)
-+ if (lines[i].empty())
-+ continue;
-+
-+ char cow;
-+
-+ // Format:
-+ //
-+ // start end resident private_resident obj perms ref_count shadow_count flags cow needs_copy type fullpath cred ruid
-+ // 0x200000 0x202000 2 6 0xfffff80005be9000 r-- 3 1 0x1000 COW NC vnode /bin/cat NCH -1
-+ //
-+ if (sscanf(line, "%" SCNxPTR " %" SCNxPTR " %*ld %*ld %*[^ ] %5[^ ] %*d %*d %*x %c%*s %*s %*s %n",
-+ &region.start, &region.end, permissions, &cow, &path_index) < 4) {
-+ DPLOG(WARNING) << "sscanf failed for line: " << line;
-+ return false;
-+ }
-+
-+ const char* fullpath = line + path_index;
-+ const char* cred = strchr(fullpath, ' ');
-+#else
- uint8_t dev_major = 0;
- uint8_t dev_minor = 0;
- long inode = 0;
-- int path_index = 0;
-
- // Sample format from man 5 proc:
- //
-@@ -125,6 +154,7 @@ bool ParseProcMaps(const std::string& input,
- DPLOG(WARNING) << "sscanf failed for line: " << line;
- return false;
- }
-+#endif
-
- region.permissions = 0;
-
-@@ -143,14 +173,31 @@ bool ParseProcMaps(const std::string& input,
- else if (permissions[2] != '-')
- return false;
-
-+#if defined(OS_BSD)
-+ if (cow == 'C') {
-+ region.permissions |= MappedMemoryRegion::PRIVATE;
-+ } else if (cow != 'N') {
-+ DPLOG(WARNING) << "unknown value for COW in line " << line << ": " << cow;
-+ return false;
-+ }
-+#else
- if (permissions[3] == 'p')
- region.permissions |= MappedMemoryRegion::PRIVATE;
- else if (permissions[3] != 's' && permissions[3] != 'S') // Shared memory.
- return false;
-+#endif
-
- // Pushing then assigning saves us a string copy.
- regions.push_back(region);
-+#if defined(OS_BSD)
-+ if (cred != nullptr) {
-+ regions.back().path.assign(line + path_index, cred - fullpath);
-+ } else {
-+ regions.back().path.assign(line + path_index);
-+ }
-+#else
- regions.back().path.assign(line + path_index);
-+#endif
- }
-
- regions_out->swap(regions);
diff --git a/www/chromium/files/patch-base_debug_stack__trace.cc b/www/chromium/files/patch-base_debug_stack__trace.cc
deleted file mode 100644
index 2733c1b031d9..000000000000
--- a/www/chromium/files/patch-base_debug_stack__trace.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/debug/stack_trace.cc.orig 2021-09-14 01:51:47 UTC
-+++ base/debug/stack_trace.cc
-@@ -16,7 +16,7 @@
- #if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS)
- #include "third_party/abseil-cpp/absl/types/optional.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- #include <pthread.h>
-
- #include "base/process/process_handle.h"
diff --git a/www/chromium/files/patch-base_debug_stack__trace.h b/www/chromium/files/patch-base_debug_stack__trace.h
deleted file mode 100644
index fd24a9ba8900..000000000000
--- a/www/chromium/files/patch-base_debug_stack__trace.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- base/debug/stack_trace.h.orig 2021-12-14 11:44:55 UTC
-+++ base/debug/stack_trace.h
-@@ -18,6 +18,7 @@
- #if !defined(OS_NACL)
- #include <signal.h>
- #endif
-+#include <sys/stdint.h>
- #include <unistd.h>
- #endif
-
-@@ -155,7 +156,7 @@ BASE_EXPORT size_t CollectStackTrace(void** trace, siz
- // scanning area at the origin of the stack, wasting time and not finding any
- // frames (since Android libraries don't have frame pointers). Scanning is not
- // enabled on other posix platforms due to legacy reasons.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- constexpr bool kEnableScanningByDefault = true;
- #else
- constexpr bool kEnableScanningByDefault = false;
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 afefdadf5bf8..1852f89074be 100644
--- a/www/chromium/files/patch-base_debug_stack__trace__posix.cc
+++ b/www/chromium/files/patch-base_debug_stack__trace__posix.cc
@@ -1,4 +1,4 @@
---- base/debug/stack_trace_posix.cc.orig 2021-12-14 11:44:55 UTC
+--- base/debug/stack_trace_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/debug/stack_trace_posix.cc
@@ -35,7 +35,7 @@
#include <AvailabilityMacros.h>
@@ -9,67 +9,30 @@
#include "base/debug/proc_maps_linux.h"
#endif
-@@ -446,7 +446,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf
- if (::signal(signal, SIG_DFL) == SIG_ERR) {
- _exit(EXIT_FAILURE);
- }
--#elif !defined(OS_LINUX)
-+#elif !defined(OS_LINUX) && !defined(OS_BSD)
- // For all operating systems but Linux we do not reraise the signal that
- // brought us here but terminate the process immediately.
- // Otherwise various tests break on different operating systems, see
-@@ -454,7 +454,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf
- PrintToStderr(
- "Calling _exit(EXIT_FAILURE). Core file will not be generated.\n");
- _exit(EXIT_FAILURE);
--#endif // !defined(OS_LINUX)
-+#endif // !defined(OS_LINUX) && !defined(OS_BSD)
-
- // After leaving this handler control flow returns to the point where the
- // signal was raised, raising the current signal once again but executing the
-@@ -695,13 +695,21 @@ class SandboxSymbolizeHelper {
+@@ -693,6 +693,9 @@ class SandboxSymbolizeHelper {
+ // for the modules that are loaded in the current process.
+ // Returns true on success.
+ bool CacheMemoryRegions() {
++#if defined(OS_BSD)
++ return false;
++#else
// Reads /proc/self/maps.
std::string contents;
if (!ReadProcMaps(&contents)) {
-+#if defined(OS_BSD)
-+ LOG(ERROR) << "Failed to read /proc/curproc/map";
-+#else
- LOG(ERROR) << "Failed to read /proc/self/maps";
-+#endif
- return false;
- }
+@@ -710,6 +713,7 @@ class SandboxSymbolizeHelper {
- // Parses /proc/self/maps.
- if (!ParseProcMaps(contents, &regions_)) {
-+#if defined(OS_BSD)
-+ LOG(ERROR) << "Failed to parse the contents of /proc/curproc/map";
-+#else
- LOG(ERROR) << "Failed to parse the contents of /proc/self/maps";
-+#endif
- return false;
- }
-
-@@ -732,7 +740,11 @@ class SandboxSymbolizeHelper {
- // Skip regions with empty file names.
- continue;
- }
-+#if defined(OS_BSD)
-+ if (region.path[0] == '-') {
-+#else
- if (region.path[0] == '[') {
+ is_initialized_ = true;
+ return true;
+#endif
- // Skip pseudo-paths, like [stack], [vdso], [heap], etc ...
- continue;
- }
-@@ -827,9 +839,9 @@ bool EnableInProcessStackDumping() {
- success &= (sigaction(SIGBUS, &action, nullptr) == 0);
- success &= (sigaction(SIGSEGV, &action, nullptr) == 0);
- // On Linux, SIGSYS is reserved by the kernel for seccomp-bpf sandboxing.
--#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- success &= (sigaction(SIGSYS, &action, nullptr) == 0);
--#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ }
- return success;
- }
+ // Opens all object files and caches their file descriptors.
+@@ -866,7 +870,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) && !defined(OS_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_debug_stack__trace__unittest.cc b/www/chromium/files/patch-base_debug_stack__trace__unittest.cc
deleted file mode 100644
index a679dcb06d73..000000000000
--- a/www/chromium/files/patch-base_debug_stack__trace__unittest.cc
+++ /dev/null
@@ -1,40 +0,0 @@
---- base/debug/stack_trace_unittest.cc.orig 2021-07-19 18:45:05 UTC
-+++ base/debug/stack_trace_unittest.cc
-@@ -71,6 +71,7 @@ TEST_F(StackTraceTest, OutputToStream) {
- std::string::npos)
- << "Unable to resolve symbols.";
-
-+#if !defined(OS_BSD)
- // Expect a demangled symbol.
- // Note that Windows Release builds omit the function parameters from the
- // demangled stack output, otherwise this could be "testing::UnitTest::Run()".
-@@ -89,9 +90,10 @@ TEST_F(StackTraceTest, OutputToStream) {
- EXPECT_TRUE(backtrace_message.find(__func__) != std::string::npos)
- << "Expected to find " << __func__ << " in backtrace:\n"
- << backtrace_message;
-+#endif
- }
-
--#if !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES)
-+#if !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) && !defined(OS_BSD)
- // Disabled in Official builds, where Link-Time Optimization can result in two
- // or fewer stack frames being available, causing the test to fail.
- TEST_F(StackTraceTest, TruncatedTrace) {
-@@ -105,7 +107,7 @@ TEST_F(StackTraceTest, TruncatedTrace) {
- truncated.Addresses(&count);
- EXPECT_EQ(2u, count);
- }
--#endif // !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES)
-+#endif // !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) && !defined(OS_BSD)
-
- // The test is used for manual testing, e.g., to see the raw output.
- TEST_F(StackTraceTest, DebugOutputToStream) {
-@@ -344,7 +346,7 @@ TEST_F(StackTraceTest, MAYBE_TraceStackFramePointers)
- // sometimes we read fp / pc from the place that previously held
- // uninitialized value.
- // TODO(crbug.com/1132511): Enable this test on Fuchsia.
--#if defined(MEMORY_SANITIZER) || defined(OS_FUCHSIA)
-+#if defined(MEMORY_SANITIZER) || defined(OS_FUCHSIA) || defined(OS_BSD)
- #define MAYBE_TraceStackFramePointersFromBuffer \
- DISABLED_TraceStackFramePointersFromBuffer
- #else
diff --git a/www/chromium/files/patch-base_files_file__path__unittest.cc b/www/chromium/files/patch-base_files_file__path__unittest.cc
deleted file mode 100644
index 14bb60990cde..000000000000
--- a/www/chromium/files/patch-base_files_file__path__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/files/file_path_unittest.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/files/file_path_unittest.cc
-@@ -1202,7 +1202,7 @@ TEST_F(FilePathTest, FromUTF8Unsafe_And_AsUTF8Unsafe)
- "\xEF\xBC\xA1\xEF\xBC\xA2\xEF\xBC\xA3.txt" },
- };
-
--#if !defined(SYSTEM_NATIVE_UTF8) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+#if !defined(SYSTEM_NATIVE_UTF8) && (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- ScopedLocale locale("en_US.UTF-8");
- #endif
-
diff --git a/www/chromium/files/patch-base_files_file__path__watcher__freebsd.cc b/www/chromium/files/patch-base_files_file__path__watcher__bsd.cc
index a10889cb9fdb..b4632c587e95 100644
--- a/www/chromium/files/patch-base_files_file__path__watcher__freebsd.cc
+++ b/www/chromium/files/patch-base_files_file__path__watcher__bsd.cc
@@ -1,18 +1,14 @@
---- base/files/file_path_watcher_freebsd.cc.orig 2021-04-15 08:12:30 UTC
-+++ base/files/file_path_watcher_freebsd.cc
-@@ -0,0 +1,61 @@
-+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+--- base/files/file_path_watcher_bsd.cc.orig 2022-02-07 13:39:41 UTC
++++ base/files/file_path_watcher_bsd.cc
+@@ -0,0 +1,54 @@
++// Copyright 2021 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
-+// This file exists for Unix systems which don't have the inotify headers, and
-+// thus cannot build file_watcher_inotify.cc
-+
+#include <memory>
+
+#include "base/files/file_path_watcher.h"
+#include "base/files/file_path_watcher_kqueue.h"
-+
+#include "base/memory/ptr_util.h"
+#include "build/build_config.h"
+
@@ -31,22 +27,19 @@
+ Type type,
+ const FilePathWatcher::Callback& callback) override {
+ DCHECK(!impl_.get());
-+
+ if (type == Type::kRecursive) {
-+ return false;
++ 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();
+ }
+
diff --git a/www/chromium/files/patch-base_files_file__path__watcher__kqueue.h b/www/chromium/files/patch-base_files_file__path__watcher__kqueue.h
index 75dd465828bc..821858b75711 100644
--- a/www/chromium/files/patch-base_files_file__path__watcher__kqueue.h
+++ b/www/chromium/files/patch-base_files_file__path__watcher__kqueue.h
@@ -1,13 +1,10 @@
---- base/files/file_path_watcher_kqueue.h.orig 2021-04-14 18:40:48 UTC
+--- base/files/file_path_watcher_kqueue.h.orig 2022-02-07 13:39:41 UTC
+++ base/files/file_path_watcher_kqueue.h
-@@ -5,6 +5,10 @@
+@@ -5,6 +5,7 @@
#ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_
#define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_
-+#ifdef __FreeBSD__
-+#include <sys/stdint.h>
-+#include <sys/types.h>
-+#endif
++#include <sys/time.h>
#include <sys/event.h>
#include <memory>
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
deleted file mode 100644
index c046f76ff4cc..000000000000
--- a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- base/files/file_path_watcher_unittest.cc.orig 2021-09-24 04:25:55 UTC
-+++ base/files/file_path_watcher_unittest.cc
-@@ -451,12 +451,12 @@ TEST_F(FilePathWatcherTest, WatchDirectory) {
- VLOG(1) << "Waiting for file1 creation";
- ASSERT_TRUE(WaitForEvents());
-
--#if !defined(OS_APPLE)
-+#if !defined(OS_APPLE) && !defined(OS_BSD)
- // Mac implementation does not detect files modified in a directory.
- ASSERT_TRUE(WriteFile(file1, "content v2"));
- VLOG(1) << "Waiting for file1 modification";
- ASSERT_TRUE(WaitForEvents());
--#endif // !OS_APPLE
-+#endif // !OS_APPLE && !OS_BSD
-
- ASSERT_TRUE(base::DeleteFile(file1));
- VLOG(1) << "Waiting for file1 deletion";
-@@ -1031,7 +1031,7 @@ TEST_F(FilePathWatcherTest, InotifyLimitInUpdateRecurs
- }
- }
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- enum Permission {
- Read,
-@@ -1039,7 +1039,7 @@ enum Permission {
- Execute
- };
-
--#if defined(OS_APPLE)
-+#if defined(OS_APPLE) || defined(OS_BSD)
- bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) {
- struct stat stat_buf;
-
-@@ -1068,9 +1068,9 @@ bool ChangeFilePermissions(const FilePath& path, Permi
- }
- return chmod(path.value().c_str(), stat_buf.st_mode) == 0;
- }
--#endif // defined(OS_APPLE)
-+#endif // defined(OS_APPLE) || defined(OS_BSD)
-
--#if defined(OS_APPLE)
-+#if defined(OS_APPLE) || defined(OS_BSD)
- // Linux implementation of FilePathWatcher doesn't catch attribute changes.
- // http://crbug.com/78043
- // Windows implementation of FilePathWatcher catches attribute changes that
-@@ -1106,7 +1106,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) {
- ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true));
- }
-
--#endif // OS_APPLE
-+#endif // OS_APPLE || OS_BSD
-
- #if defined(OS_MAC)
-
diff --git a/www/chromium/files/patch-base_files_file__util.h b/www/chromium/files/patch-base_files_file__util.h
deleted file mode 100644
index de3e4fa1d2fb..000000000000
--- a/www/chromium/files/patch-base_files_file__util.h
+++ /dev/null
@@ -1,46 +0,0 @@
---- base/files/file_util.h.orig 2021-09-24 04:25:55 UTC
-+++ base/files/file_util.h
-@@ -280,14 +280,14 @@ BASE_EXPORT bool SetPosixFilePermissions(const FilePat
- BASE_EXPORT bool ExecutableExistsInPath(Environment* env,
- const FilePath::StringType& executable);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
- // Determine if files under a given |path| can be mapped and then mprotect'd
- // PROT_EXEC. This depends on the mount options used for |path|, which vary
- // among different Linux distributions and possibly local configuration. It also
- // depends on details of kernel--ChromeOS uses the noexec option for /dev/shm
- // but its kernel allows mprotect with PROT_EXEC anyway.
- BASE_EXPORT bool IsPathExecutable(const FilePath& path);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
-
- #endif // OS_POSIX
-
-@@ -610,7 +610,7 @@ BASE_EXPORT bool VerifyPathControlledByAdmin(const bas
- // the directory |path|, in the number of FilePath::CharType, or -1 on failure.
- BASE_EXPORT int GetMaximumPathComponentLength(const base::FilePath& path);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
- // Broad categories of file systems as returned by statfs() on Linux.
- enum FileSystemType {
- FILE_SYSTEM_UNKNOWN, // statfs failed.
-@@ -657,7 +657,7 @@ BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath
- const FilePath& to_path);
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- // CopyFileContentsWithSendfile will use the sendfile(2) syscall to perform a
- // file copy without moving the data between kernel and userspace. This is much
- // more efficient than sequences of read(2)/write(2) calls. The |retry_slow|
-@@ -669,7 +669,7 @@ BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath
- BASE_EXPORT bool CopyFileContentsWithSendfile(File& infile,
- File& outfile,
- bool& retry_slow);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // Used by PreReadFile() when no kernel support for prefetching is available.
- bool PreReadFileSlow(const FilePath& file_path, int64_t max_bytes);
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 4f1bee8b12a5..a1831d52549c 100644
--- a/www/chromium/files/patch-base_files_file__util__posix.cc
+++ b/www/chromium/files/patch-base_files_file__util__posix.cc
@@ -1,142 +1,52 @@
---- base/files/file_util_posix.cc.orig 2021-09-24 04:25:55 UTC
+--- base/files/file_util_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/files/file_util_posix.cc
-@@ -23,6 +23,10 @@
- #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
- #include <sys/sendfile.h>
- #endif
-+#if defined(OS_BSD)
-+#include <sys/socket.h>
-+#include <sys/uio.h>
-+#endif
-
- #include "base/base_switches.h"
- #include "base/bits.h"
-@@ -384,7 +388,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd,
- }
-
- bool CreateLocalNonBlockingPipe(int fds[2]) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0;
- #else
- int raw_fds[2];
-@@ -937,8 +941,12 @@ bool AllocateFileRegion(File* file, int64_t offset, si
- // space. It can fail because the filesystem doesn't support it. In that case,
- // use the manual method below.
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-+#if defined(OS_BSD)
-+ if (HANDLE_EINTR(posix_fallocate(file->GetPlatformFile(), offset, size)) != -1)
-+#else
- if (HANDLE_EINTR(fallocate(file->GetPlatformFile(), 0, offset, size)) != -1)
-+#endif
- return true;
- DPLOG(ERROR) << "fallocate";
- #elif defined(OS_APPLE)
-@@ -1113,7 +1121,7 @@ int GetMaximumPathComponentLength(const FilePath& path
- #if !defined(OS_ANDROID)
- // This is implemented in file_util_android.cc for that platform.
- bool GetShmemTempDir(bool executable, FilePath* path) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
- bool disable_dev_shm = false;
- #if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS)
- disable_dev_shm = CommandLine::ForCurrentProcess()->HasSwitch(
-@@ -1129,7 +1137,7 @@ bool GetShmemTempDir(bool executable, FilePath* path)
- *path = FilePath("/dev/shm");
- return true;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
- return GetTempDir(path);
- }
- #endif // !defined(OS_ANDROID)
-@@ -1167,7 +1175,7 @@ PrefetchResult PreReadFile(const FilePath& file_path,
- // posix_fadvise() is only available in the Android NDK in API 21+. Older
- // versions may have the required kernel support, but don't have enough usage
- // to justify backporting.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- (defined(OS_ANDROID) && __ANDROID_API__ >= 21)
- File file(file_path, File::FLAG_OPEN | File::FLAG_READ);
- if (!file.IsValid())
-@@ -1203,7 +1211,7 @@ PrefetchResult PreReadFile(const FilePath& file_path,
- return internal::PreReadFileSlow(file_path, max_bytes)
- ? PrefetchResult{PrefetchResultCode::kSlowSuccess}
- : PrefetchResult{PrefetchResultCode::kSlowFailed};
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || (defined(OS_ANDROID) &&
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || (defined(OS_ANDROID) &&
- // __ANDROID_API__ >= 21)
- }
-
-@@ -1234,7 +1242,7 @@ bool MoveUnsafe(const FilePath& from_path, const FileP
- return true;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- bool CopyFileContentsWithSendfile(File& infile,
- File& outfile,
- bool& retry_slow) {
-@@ -1243,17 +1251,36 @@ bool CopyFileContentsWithSendfile(File& infile,
- return false;
+@@ -694,32 +694,34 @@ bool CreateDirectoryAndGetError(const FilePath& full_p
+ File::Error* error) {
+ ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir().
++ const FilePath kFileSystemRoot("/");
+ std::vector<FilePath> subpaths;
+
+ // Collect a list of all parent directories.
+ FilePath last_path = full_path;
+- subpaths.push_back(full_path);
++ if (full_path != kFileSystemRoot)
++ subpaths.push_back(full_path);
+ for (FilePath path = full_path.DirName();
+- path.value() != last_path.value(); path = path.DirName()) {
++ (path.value() != last_path.value() &&
++ (path != kFileSystemRoot)); path = path.DirName()) {
+ subpaths.push_back(path);
+ last_path = path;
}
-+#if defined(OS_BSD)
-+ off_t copied = 0;
-+ off_t res = 0;
-+#else
- size_t copied = 0;
- ssize_t res = 0;
-+#endif
- while (file_size - copied > 0) {
- // Don't specify an offset and the kernel will begin reading/writing to the
- // current file offsets.
-+#if defined(OS_BSD)
-+ int retv = HANDLE_EINTR(sendfile(infile.GetPlatformFile(),
-+ outfile.GetPlatformFile(),
-+ copied,
-+ file_size - copied,
-+ /*hdtr=*/nullptr,
-+ &res,
-+ 0));
-+ if (retv != 0) {
-+ res = -1;
-+ break;
-+ }
-+#else
- res = HANDLE_EINTR(sendfile(outfile.GetPlatformFile(),
- infile.GetPlatformFile(), /*offset=*/nullptr,
- /*length=*/file_size - copied));
- if (res <= 0) {
- break;
+ // Iterate through the parents and create the missing ones.
+ for (auto i = subpaths.rbegin(); i != subpaths.rend(); ++i) {
+- if (DirectoryExists(*i))
+- continue;
+- if (mkdir(i->value().c_str(), 0700) == 0)
+- continue;
+- // Mkdir failed, but it might have failed with EEXIST, or some other error
+- // due to the directory appearing out of thin air. This can occur if
+- // two processes are trying to create the same file system tree at the same
+- // time. Check to see if it exists and make sure it is a directory.
+- int saved_errno = errno;
+- if (!DirectoryExists(*i)) {
+- if (error)
+- *error = File::OSErrorToFileError(saved_errno);
+- return false;
++ if (!PathExists(*i)) {
++ if ((mkdir(i->value().c_str(), 0700) == -1) &&
++ ((full_path != *i) ? (errno != ENOENT) : (-1))) {
++ int saved_errno = errno;
++ if (error)
++ *error = File::OSErrorToFileError(saved_errno);
++ return false;
++ }
++ } else if (!DirectoryExists(*i)) {
++ if (error)
++ *error = File::OSErrorToFileError(ENOTDIR);
++ return false;
}
-+#endif
-
- copied += res;
}
-@@ -1267,13 +1294,13 @@ bool CopyFileContentsWithSendfile(File& infile,
-
- return res >= 0;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- } // namespace internal
-
- #endif // !defined(OS_NACL_NONSFI)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
- BASE_EXPORT bool IsPathExecutable(const FilePath& path) {
- bool result = false;
- FilePath tmp_file_path;
-@@ -1294,6 +1321,6 @@ BASE_EXPORT bool IsPathExecutable(const FilePath& path
- }
- return result;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
-
- } // namespace base
+ 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
deleted file mode 100644
index 17631593b4b2..000000000000
--- a/www/chromium/files/patch-base_files_file__util__unittest.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/files/file_util_unittest.cc.orig 2021-12-31 00:57:18 UTC
-+++ base/files/file_util_unittest.cc
-@@ -1640,7 +1640,7 @@ TEST_F(FileUtilTest, DeleteDirRecursiveWithOpenFile) {
- #endif
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // This test will validate that files which would block when read result in a
- // failure on a call to ReadFileToStringNonBlocking. To accomplish this we will
- // use a named pipe because it appears as a file on disk and we can control how
-@@ -1673,7 +1673,7 @@ TEST_F(FileUtilTest, TestNonBlockingFileReadLinux) {
- ASSERT_EQ(result.size(), 1u);
- EXPECT_EQ(result[0], 'a');
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- TEST_F(FileUtilTest, MoveFileNew) {
- // Create a file
-@@ -3509,7 +3509,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
- }
- #endif // defined(OS_WIN)
-
--#if defined(OS_POSIX) && !defined(OS_APPLE)
-+#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD)
- TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) {
- FilePath file_path("/proc/cpuinfo");
- std::string data = "temp";
-@@ -3527,7 +3527,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSyste
-
- EXPECT_FALSE(ReadFileToStringWithMaxSize(file_path, nullptr, 4));
- }
--#endif // defined(OS_POSIX) && !defined(OS_APPLE)
-+#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD)
-
- TEST_F(FileUtilTest, ReadFileToStringWithLargeFile) {
- std::string data(kLargeFileSize, 'c');
diff --git a/www/chromium/files/patch-base_files_important__file__writer__cleaner.cc b/www/chromium/files/patch-base_files_important__file__writer__cleaner.cc
new file mode 100644
index 000000000000..63a8f084dee3
--- /dev/null
+++ b/www/chromium/files/patch-base_files_important__file__writer__cleaner.cc
@@ -0,0 +1,12 @@
+--- base/files/important_file_writer_cleaner.cc.orig 2022-02-07 13:39:41 UTC
++++ base/files/important_file_writer_cleaner.cc
+@@ -24,7 +24,8 @@ namespace base {
+ namespace {
+
+ base::Time GetUpperBoundTime() {
+-#if defined(OS_ANDROID) || defined(OS_IOS) || defined(OS_FUCHSIA)
++// needed because of .CreationTime() pledge
++#if defined(OS_ANDROID) || defined(OS_IOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ // If process creation time is not available then use instance creation
+ // time as the upper-bound for old files. Modification times may be
+ // rounded-down to coarse-grained increments, e.g. FAT has 2s granularity,
diff --git a/www/chromium/files/patch-base_files_scoped__file.cc b/www/chromium/files/patch-base_files_scoped__file.cc
index bcef7a1f0bbd..874e2e3d597a 100644
--- a/www/chromium/files/patch-base_files_scoped__file.cc
+++ b/www/chromium/files/patch-base_files_scoped__file.cc
@@ -1,11 +1,11 @@
---- base/files/scoped_file.cc.orig 2021-04-14 18:40:48 UTC
+--- base/files/scoped_file.cc.orig 2022-02-07 13:39:41 UTC
+++ base/files/scoped_file.cc
-@@ -30,7 +30,7 @@ void ScopedFDCloseTraits::Free(int fd) {
- // a single open directory would bypass the entire security model.
+@@ -31,7 +31,7 @@ void ScopedFDCloseTraits::Free(int fd) {
int ret = IGNORE_EINTR(close(fd));
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(OS_APPLE) || \
- defined(OS_FUCHSIA) || defined(OS_ANDROID)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || \
+- defined(OS_FUCHSIA) || defined(OS_ANDROID)
++ defined(OS_FUCHSIA) || defined(OS_ANDROID) || defined(OS_BSD)
// NB: Some file descriptors can return errors from close() e.g. network
// filesystems such as NFS and Linux input devices. On Linux, macOS, and
+ // Fuchsia's POSIX layer, errors from close other than EBADF do not indicate
diff --git a/www/chromium/files/patch-base_files_scoped__file.h b/www/chromium/files/patch-base_files_scoped__file.h
deleted file mode 100644
index 0973e46682f4..000000000000
--- a/www/chromium/files/patch-base_files_scoped__file.h
+++ /dev/null
@@ -1,43 +0,0 @@
---- base/files/scoped_file.h.orig 2021-07-28 07:19:23 UTC
-+++ base/files/scoped_file.h
-@@ -26,7 +26,7 @@ struct BASE_EXPORT ScopedFDCloseTraits : public Scoped
- static void Release(const ScopedGeneric<int, ScopedFDCloseTraits>&, int);
- };
- #elif defined(OS_POSIX) || defined(OS_FUCHSIA)
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- // On ChromeOS and Linux we guard FD lifetime with a global table and hook into
- // libc close() to perform checks.
- struct BASE_EXPORT ScopedFDCloseTraits : public ScopedGenericOwnershipTracking {
-@@ -37,7 +37,7 @@ struct BASE_EXPORT ScopedFDCloseTraits {
- return -1;
- }
- static void Free(int fd);
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- static void Acquire(const ScopedGeneric<int, ScopedFDCloseTraits>&, int);
- static void Release(const ScopedGeneric<int, ScopedFDCloseTraits>&, int);
- #endif
-@@ -54,7 +54,7 @@ struct ScopedFILECloser {
-
- } // namespace internal
-
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- namespace subtle {
-
- // Enables or disables enforcement of FD ownership as tracked by ScopedFD
-@@ -104,11 +104,11 @@ typedef ScopedGeneric<int, internal::ScopedFDCloseTrai
- // Automatically closes |FILE*|s.
- typedef std::unique_ptr<FILE, internal::ScopedFILECloser> ScopedFILE;
-
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- // Queries the ownership status of an FD, i.e. whether it is currently owned by
- // a ScopedFD in the calling process.
- bool BASE_EXPORT IsFDOwned(int fd);
--#endif // defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
-
- } // namespace base
-
diff --git a/www/chromium/files/patch-base_files_scoped__file__linux.cc b/www/chromium/files/patch-base_files_scoped__file__linux.cc
deleted file mode 100644
index 05667175c342..000000000000
--- a/www/chromium/files/patch-base_files_scoped__file__linux.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- base/files/scoped_file_linux.cc.orig 2021-07-28 11:34:50 UTC
-+++ base/files/scoped_file_linux.cc
-@@ -80,12 +80,20 @@ bool IsFDOwned(int fd) {
-
- extern "C" {
-
-+#if defined(OS_FREEBSD)
-+int __sys_close(int);
-+#else
- int __close(int);
-+#endif
-
- __attribute__((visibility("default"), noinline)) int close(int fd) {
- if (base::IsFDOwned(fd) && g_is_ownership_enforced)
- CrashOnFdOwnershipViolation();
-+#if defined(OS_FREEBSD)
-+ return __sys_close(fd);
-+#else
- return __close(fd);
-+#endif
- }
-
- } // extern "C"
diff --git a/www/chromium/files/patch-base_i18n_icu__util.cc b/www/chromium/files/patch-base_i18n_icu__util.cc
index c7da7bc3c69c..36122feefefa 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 2021-05-12 22:05:40 UTC
+--- base/i18n/icu_util.cc.orig 2022-02-07 13:39:41 UTC
+++ base/i18n/icu_util.cc
@@ -49,7 +49,7 @@
#include "third_party/icu/source/common/unicode/unistr.h"
@@ -9,12 +9,13 @@
((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !BUILDFLAG(IS_CHROMECAST))
#include "third_party/icu/source/i18n/unicode/timezone.h"
#endif
-@@ -343,7 +343,7 @@ void InitializeIcuTimeZone() {
+@@ -343,7 +343,8 @@ void InitializeIcuTimeZone() {
FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization();
icu::TimeZone::adoptDefault(
icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id)));
-#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !BUILDFLAG(IS_CHROMECAST)
-+#elif (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMECAST)
++#elif (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
++ !BUILDFLAG(IS_CHROMECAST)
// To respond to the time zone change properly, the default time zone
// cache in ICU has to be populated on starting up.
// See TimeZoneMonitorLinux::NotifyClientsFromImpl().
diff --git a/www/chromium/files/patch-base_linux__util.cc b/www/chromium/files/patch-base_linux__util.cc
index 5455bc589b4d..853eb881f872 100644
--- a/www/chromium/files/patch-base_linux__util.cc
+++ b/www/chromium/files/patch-base_linux__util.cc
@@ -1,4 +1,4 @@
---- base/linux_util.cc.orig 2021-09-14 01:51:47 UTC
+--- base/linux_util.cc.orig 2022-02-07 13:39:41 UTC
+++ base/linux_util.cc
@@ -15,6 +15,7 @@
@@ -8,17 +8,7 @@
#include "base/files/dir_reader_posix.h"
#include "base/files/file_util.h"
-@@ -78,6 +79,9 @@ class DistroNameGetter {
- public:
- DistroNameGetter() {
- static const char* const kFilesToCheck[] = {"/etc/os-release",
-+#if defined(OS_BSD)
-+ "/usr/local/etc/os-release",
-+#endif
- "/usr/lib/os-release"};
- for (const char* file : kFilesToCheck) {
- if (ReadDistroFromOSReleaseFile(file))
-@@ -134,6 +138,9 @@ void SetLinuxDistro(const std::string& distro) {
+@@ -134,6 +135,9 @@ void SetLinuxDistro(const std::string& distro) {
}
bool GetThreadsForProcess(pid_t pid, std::vector<pid_t>* tids) {
@@ -28,7 +18,7 @@
// 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22
char buf[25];
strings::SafeSPrintf(buf, "/proc/%d/task", pid);
-@@ -153,6 +160,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t
+@@ -153,6 +157,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t
}
return true;
diff --git a/www/chromium/files/patch-base_location__unittest.cc b/www/chromium/files/patch-base_location__unittest.cc
deleted file mode 100644
index 9d9b94b7d045..000000000000
--- a/www/chromium/files/patch-base_location__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/location_unittest.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/location_unittest.cc
-@@ -37,7 +37,7 @@ TEST(LocationTest, CurrentYieldsCorrectValue) {
- EXPECT_EQ(here.line_number(), previous_line + 1);
- EXPECT_STREQ("TestBody", here.function_name());
- #endif
--#elif defined(OFFICIAL_BUILD)
-+#elif defined(OFFICIAL_BUILD) && !defined(OS_BSD)
- #error Location builtins must be supported in official builds.
- #elif BUILDFLAG(FROM_HERE_USES_LOCATION_BUILTINS)
- #error FROM_HERE requires location builtins to be supported.
diff --git a/www/chromium/files/patch-base_logging__unittest.cc b/www/chromium/files/patch-base_logging__unittest.cc
deleted file mode 100644
index a9cee4ddbae4..000000000000
--- a/www/chromium/files/patch-base_logging__unittest.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/logging_unittest.cc.orig 2021-12-31 00:57:18 UTC
-+++ base/logging_unittest.cc
-@@ -33,7 +33,7 @@
- #include "base/posix/eintr_wrapper.h"
- #endif // OS_POSIX
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- #include <ucontext.h>
- #endif
-
-@@ -553,7 +553,7 @@ 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;
--#if defined(OS_MAC)
-+#if defined(OS_MAC) || defined(OS_BSD)
- crash_addr = reinterpret_cast<uintptr_t>(info->si_addr);
- #else // OS_*
- ucontext_t* context = reinterpret_cast<ucontext_t*>(context_ptr);
diff --git a/www/chromium/files/patch-base_memory_discardable__memory.cc b/www/chromium/files/patch-base_memory_discardable__memory.cc
index b0860eea0c36..136569ca00cd 100644
--- a/www/chromium/files/patch-base_memory_discardable__memory.cc
+++ b/www/chromium/files/patch-base_memory_discardable__memory.cc
@@ -1,4 +1,4 @@
---- base/memory/discardable_memory.cc.orig 2021-05-12 22:05:40 UTC
+--- base/memory/discardable_memory.cc.orig 2022-02-07 13:39:41 UTC
+++ base/memory/discardable_memory.cc
@@ -24,7 +24,7 @@ const base::Feature kMadvFreeDiscardableMemory{
"MadvFreeDiscardableMemory", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -9,14 +9,7 @@
const base::Feature kDiscardableMemoryBackingTrial{
"DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT};
-@@ -42,13 +42,13 @@ const base::FeatureParam<DiscardableMemoryTrialGroup>
- DiscardableMemoryTrialGroup::kEmulatedSharedMemory,
- &kDiscardableMemoryBackingParamOptions};
-
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- } // namespace features
+@@ -48,7 +48,7 @@ const base::FeatureParam<DiscardableMemoryTrialGroup>
namespace {
@@ -25,12 +18,7 @@
DiscardableMemoryBacking GetBackingForFieldTrial() {
DiscardableMemoryTrialGroup trial_group =
-@@ -62,11 +62,11 @@ DiscardableMemoryBacking GetBackingForFieldTrial() {
- }
- NOTREACHED();
- }
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+@@ -66,7 +66,7 @@ DiscardableMemoryBacking GetBackingForFieldTrial() {
} // namespace
@@ -39,15 +27,7 @@
// Probe capabilities of this device to determine whether we should participate
// in the discardable memory backing trial.
-@@ -88,18 +88,18 @@ DiscardableMemoryTrialGroup GetDiscardableMemoryBackin
- DCHECK(DiscardableMemoryBackingFieldTrialIsEnabled());
- return features::kDiscardableMemoryBackingParam.Get();
- }
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- DiscardableMemory::DiscardableMemory() = default;
-
+@@ -95,7 +95,7 @@ DiscardableMemory::DiscardableMemory() = default;
DiscardableMemory::~DiscardableMemory() = default;
DiscardableMemoryBacking GetDiscardableMemoryBacking() {
@@ -56,8 +36,3 @@
if (DiscardableMemoryBackingFieldTrialIsEnabled()) {
return GetBackingForFieldTrial();
}
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_ANDROID)
- if (ashmem_device_is_supported())
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 aad3103a3e2c..c511cb6b113c 100644
--- a/www/chromium/files/patch-base_memory_discardable__memory__internal.h
+++ b/www/chromium/files/patch-base_memory_discardable__memory__internal.h
@@ -1,4 +1,4 @@
---- base/memory/discardable_memory_internal.h.orig 2021-04-14 18:40:48 UTC
+--- base/memory/discardable_memory_internal.h.orig 2022-02-07 13:39:41 UTC
+++ base/memory/discardable_memory_internal.h
@@ -10,7 +10,7 @@
#include "base/metrics/field_trial_params.h"
@@ -9,11 +9,3 @@
namespace base {
-@@ -47,6 +47,6 @@ GetDiscardableMemoryBackingFieldTrialGroup();
-
- } // namespace base
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #endif // BASE_MEMORY_DISCARDABLE_MEMORY_INTERNAL_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 7d915032033f..51230808b76b 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,11 +1,21 @@
---- base/memory/madv_free_discardable_memory_posix.cc.orig 2021-04-14 18:40:48 UTC
+--- base/memory/madv_free_discardable_memory_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/memory/madv_free_discardable_memory_posix.cc
-@@ -292,7 +292,7 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT
+@@ -292,6 +292,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT
bool MadvFreeDiscardableMemoryPosix::IsResident() const {
DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_);
--#if defined(OS_APPLE)
-+#if defined(OS_APPLE) || defined(OS_BSD)
++// XXX mincore
++#if defined(OS_BSD)
++ return false;
++#else
+ #if defined(OS_APPLE)
std::vector<char> vec(allocated_pages_);
#else
- std::vector<unsigned char> vec(allocated_pages_);
+@@ -307,6 +311,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons
+ return false;
+ }
+ return true;
++#endif
+ }
+
+ bool MadvFreeDiscardableMemoryPosix::IsDiscarded() const {
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 ac2e0f6b2691..a35c8d880061 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,18 +1,6 @@
---- base/memory/platform_shared_memory_region_posix.cc.orig 2022-01-20 10:35:46 UTC
+--- base/memory/platform_shared_memory_region_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/memory/platform_shared_memory_region_posix.cc
-@@ -23,7 +23,11 @@ struct ScopedPathUnlinkerTraits {
- static const FilePath* InvalidValue() { return nullptr; }
-
- static void Free(const FilePath* path) {
-+#if defined(OS_BSD)
-+ if (shm_unlink(path->value().c_str()))
-+#else
- if (unlink(path->value().c_str()))
-+#endif
- PLOG(WARNING) << "unlink";
- }
- };
-@@ -70,7 +74,7 @@ FDPair ScopedFDPair::get() const {
+@@ -70,7 +70,7 @@ FDPair ScopedFDPair::get() const {
return {fd.get(), readonly_fd.get()};
}
@@ -21,16 +9,7 @@
// static
ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) {
PlatformSharedMemoryRegion region =
-@@ -79,7 +83,7 @@ ScopedFD PlatformSharedMemoryRegion::ExecutableRegion:
- return region.PassPlatformHandle().fd;
- return ScopedFD();
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // static
- PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Take(
-@@ -204,7 +208,7 @@ bool PlatformSharedMemoryRegion::MapAtInternal(off_t o
+@@ -204,7 +204,7 @@ bool PlatformSharedMemoryRegion::MapAtInternal(off_t o
// static
PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode,
size_t size
@@ -39,7 +18,7 @@
,
bool executable
#endif
-@@ -233,7 +237,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
+@@ -233,7 +233,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
// flag.
FilePath directory;
if (!GetShmemTempDir(
@@ -48,62 +27,3 @@
executable,
#else
false /* executable */,
-@@ -242,6 +246,22 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
- return {};
- }
-
-+#if defined(OS_BSD)
-+ UnguessableToken token = UnguessableToken::Create();
-+ FilePath path = directory.Append(token.ToString());
-+ ScopedFD fd{HANDLE_EINTR(shm_open(path.value().c_str(), O_CREAT | O_RDWR, 0700))};
-+ File shm_file(fd.release());
-+
-+ if (!shm_file.IsValid()) {
-+ PLOG(ERROR) << "Creating shared memory failed";
-+ return {};
-+ }
-+
-+ if (HANDLE_EINTR(ftruncate(shm_file.GetPlatformFile(), size)) == -1) {
-+ PLOG(ERROR) << "Failed to extend shared memory object to size " << size;
-+ return {};
-+ }
-+#else
- FilePath path;
- ScopedFD fd = CreateAndOpenFdForTemporaryFileInDir(directory, &path);
- File shm_file(fd.release());
-@@ -258,6 +278,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
- }
- return {};
- }
-+#endif // OS_BSD
-
- // Deleting the file prevents anyone else from mapping it in (making it
- // private), and prevents the need for cleanup (once the last fd is
-@@ -267,7 +288,11 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
- ScopedFD readonly_fd;
- if (mode == Mode::kWritable) {
- // Also open as readonly so that we can ConvertToReadOnly().
-+#if defined(OS_BSD)
-+ readonly_fd.reset(HANDLE_EINTR(shm_open(path.value().c_str(), O_RDONLY, 0400)));
-+#else
- readonly_fd.reset(HANDLE_EINTR(open(path.value().c_str(), O_RDONLY)));
-+#endif
- if (!readonly_fd.is_valid()) {
- DPLOG(ERROR) << "open(\"" << path.value() << "\", O_RDONLY) failed";
- return {};
-@@ -298,9 +323,15 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
- }
- }
-
-+#if defined(OS_BSD)
- return PlatformSharedMemoryRegion(
- {ScopedFD(shm_file.TakePlatformFile()), std::move(readonly_fd)}, mode,
-+ size, token);
-+#else
-+ return PlatformSharedMemoryRegion(
-+ {ScopedFD(shm_file.TakePlatformFile()), std::move(readonly_fd)}, mode,
- size, UnguessableToken::Create());
-+#endif // OS_BSD
- #endif // !defined(OS_NACL)
- }
-
diff --git a/www/chromium/files/patch-base_memory_shared__memory__region__unittest.cc b/www/chromium/files/patch-base_memory_shared__memory__region__unittest.cc
deleted file mode 100644
index 184ac299c806..000000000000
--- a/www/chromium/files/patch-base_memory_shared__memory__region__unittest.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/memory/shared_memory_region_unittest.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/memory/shared_memory_region_unittest.cc
-@@ -188,10 +188,13 @@ TYPED_TEST(SharedMemoryRegionTest, MapAtNotAlignedOffs
- std::tie(region, rw_mapping) = CreateMappedRegion<TypeParam>(kDataSize);
- ASSERT_TRUE(region.IsValid());
- ASSERT_TRUE(rw_mapping.IsValid());
-+#if !defined(OS_BSD)
-+ // On FreeBSD, mmap() does not require an aligned offset
- off_t offset = kDataSize / 2;
- typename TypeParam::MappingType mapping =
- region.MapAt(offset, kDataSize - offset);
- EXPECT_FALSE(mapping.IsValid());
-+#endif
- }
-
- TYPED_TEST(SharedMemoryRegionTest, MapZeroBytesFails) {
diff --git a/www/chromium/files/patch-base_native__library__unittest.cc b/www/chromium/files/patch-base_native__library__unittest.cc
deleted file mode 100644
index 58952dbd6b3a..000000000000
--- a/www/chromium/files/patch-base_native__library__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/native_library_unittest.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/native_library_unittest.cc
-@@ -118,7 +118,7 @@ TEST(NativeLibraryTest, LoadLibrary) {
- // Android dlopen() requires further investigation, as it might vary across
- // versions with respect to symbol resolution scope.
- // TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255
--#if !defined(OS_ANDROID) && !defined(THREAD_SANITIZER) && \
-+#if !defined(OS_ANDROID) && !defined(OS_BSD) && !defined(THREAD_SANITIZER) && \
- !defined(MEMORY_SANITIZER)
-
- // Verifies that the |prefer_own_symbols| option satisfies its guarantee that
diff --git a/www/chromium/files/patch-base_numerics_safe__math__shared__impl.h b/www/chromium/files/patch-base_numerics_safe__math__shared__impl.h
deleted file mode 100644
index 4a3d6cc92eb5..000000000000
--- a/www/chromium/files/patch-base_numerics_safe__math__shared__impl.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/numerics/safe_math_shared_impl.h.orig 2021-04-14 18:40:48 UTC
-+++ base/numerics/safe_math_shared_impl.h
-@@ -24,8 +24,7 @@
- // Where available use builtin math overflow support on Clang and GCC.
- #elif !defined(__native_client__) && \
- ((defined(__clang__) && \
-- ((__clang_major__ > 3) || \
-- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \
-+ (__clang_major__ > 6)) || \
- (defined(__GNUC__) && __GNUC__ >= 5))
- #include "base/numerics/safe_math_clang_gcc_impl.h"
- #define BASE_HAS_OPTIMIZED_SAFE_MATH (1)
diff --git a/www/chromium/files/patch-base_path__service__unittest.cc b/www/chromium/files/patch-base_path__service__unittest.cc
deleted file mode 100644
index 3bf8f3f4cc0f..000000000000
--- a/www/chromium/files/patch-base_path__service__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/path_service_unittest.cc.orig 2021-12-31 00:57:18 UTC
-+++ base/path_service_unittest.cc
-@@ -46,7 +46,7 @@ bool ReturnsValidPath(int key) {
- if (key == DIR_CACHE)
- check_path_exists = false;
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // On the linux try-bots: a path is returned (e.g. /home/chrome-bot/Desktop),
- // but it doesn't exist.
- if (key == DIR_USER_DESKTOP)
diff --git a/www/chromium/files/patch-base_posix_can__lower__nice__to.cc b/www/chromium/files/patch-base_posix_can__lower__nice__to.cc
index 9ffbb4524a4d..43b20c5e8988 100644
--- a/www/chromium/files/patch-base_posix_can__lower__nice__to.cc
+++ b/www/chromium/files/patch-base_posix_can__lower__nice__to.cc
@@ -1,20 +1,16 @@
---- base/posix/can_lower_nice_to.cc.orig 2021-04-14 18:40:48 UTC
+--- base/posix/can_lower_nice_to.cc.orig 2022-02-07 13:39:41 UTC
+++ base/posix/can_lower_nice_to.cc
-@@ -31,6 +31,9 @@ bool CanLowerNiceTo(int nice_value) {
- if (geteuid() == 0)
- return true;
+@@ -11,8 +11,12 @@
-+#if defined(OS_BSD)
-+ return false;
-+#else
- // 2. Skip checking the CAP_SYS_NICE permission because it would require
- // libcap.so.
+ #include "build/build_config.h"
-@@ -54,6 +57,7 @@ bool CanLowerNiceTo(int nice_value) {
- // And lowering niceness to |nice_value| is allowed if it is greater than or
- // equal to the limit:
- return nice_value >= lowest_nice_allowed;
++#if defined(OS_FREEBSD)
++#include <sys/param.h>
+#endif
- }
-
- } // namespace internal
++
+ // Not defined on AIX by default.
+-#if defined(OS_AIX)
++#if defined(OS_AIX) || defined(OS_BSD)
+ #if defined(RLIMIT_NICE)
+ #error Assumption about OS_AIX is incorrect
+ #endif
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 7064cdc080f5..db441a342cef 100644
--- a/www/chromium/files/patch-base_posix_unix__domain__socket.cc
+++ b/www/chromium/files/patch-base_posix_unix__domain__socket.cc
@@ -1,49 +1,39 @@
---- base/posix/unix_domain_socket.cc.orig 2021-09-14 01:51:47 UTC
+--- base/posix/unix_domain_socket.cc.orig 2022-02-07 13:39:41 UTC
+++ base/posix/unix_domain_socket.cc
-@@ -5,7 +5,10 @@
- #include "base/posix/unix_domain_socket.h"
+@@ -50,7 +50,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) {
- #include <errno.h>
-+#include <sys/param.h>
- #include <sys/socket.h>
-+#include <sys/types.h>
-+#include <sys/ucred.h>
- #if !defined(OS_NACL_NONSFI)
- #include <sys/un.h>
- #endif
-@@ -28,6 +31,14 @@ namespace base {
+ // static
+ bool UnixDomainSocket::EnableReceiveProcessId(int fd) {
+-#if !defined(OS_APPLE)
++#if !defined(OS_APPLE) && !defined(OS_BSD)
+ const int enable = 1;
+ return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0;
+ #else
+@@ -140,7 +140,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
- const size_t UnixDomainSocket::kMaxFileDescriptors = 16;
-
-+#ifndef SCM_CREDENTIALS
-+# define SCM_CREDENTIALS 0x9001
-+#endif
-+
-+#ifndef SO_PASSCRED
-+# define SO_PASSCRED 0x9002
-+#endif
-+
- #if !defined(OS_NACL_NONSFI)
- bool CreateSocketPair(ScopedFD* one, ScopedFD* two) {
- int raw_socks[2];
-@@ -150,7 +161,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
- #if !defined(OS_NACL_NONSFI) && !defined(OS_APPLE)
- // The PNaCl toolchain for Non-SFI binary build and macOS do not support
- // ucred. macOS supports xucred, but this structure is insufficient.
-- + CMSG_SPACE(sizeof(struct ucred))
-+ + CMSG_SPACE(sizeof(struct cmsgcred))
- #endif // !defined(OS_NACL_NONSFI) && !defined(OS_APPLE)
- ;
- char control_buffer[kControlBufferSize];
-@@ -180,9 +191,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
- // SCM_CREDENTIALS.
+ const size_t kControlBufferSize =
+ CMSG_SPACE(sizeof(int) * kMaxFileDescriptors)
+-#if !defined(OS_APPLE)
++#if !defined(OS_APPLE) && !defined(OS_BSD)
+ // macOS does not support ucred.
+ // macOS supports xucred, but this structure is insufficient.
+ + CMSG_SPACE(sizeof(struct ucred))
+@@ -168,7 +168,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
+ wire_fds = reinterpret_cast<int*>(CMSG_DATA(cmsg));
+ wire_fds_len = payload_len / sizeof(int);
+ }
+-#if !defined(OS_APPLE)
++#if !defined(OS_APPLE) && !defined(OS_BSD)
+ // macOS does not support SCM_CREDENTIALS.
if (cmsg->cmsg_level == SOL_SOCKET &&
cmsg->cmsg_type == SCM_CREDENTIALS) {
-- DCHECK_EQ(payload_len, sizeof(struct ucred));
-+ DCHECK_EQ(payload_len, sizeof(struct cmsgcred));
- DCHECK_EQ(pid, -1);
-- pid = reinterpret_cast<struct ucred*>(CMSG_DATA(cmsg))->pid;
-+ pid = getpid();
- }
- #endif // !defined(OS_NACL_NONSFI) && !defined(OS_APPLE)
- }
+@@ -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)
+ pid = -1;
++#elif defined(OS_BSD)
++ NOTIMPLEMENTED();
++ pid = -1;
+ #else
+ // |pid| will legitimately be -1 if we read EOF, so only DCHECK if we
+ // actually received a message. Unfortunately, Linux allows sending zero
diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc
deleted file mode 100644
index 47dce76652a8..000000000000
--- a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/posix/unix_domain_socket_unittest.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/posix/unix_domain_socket_unittest.cc
-@@ -8,6 +8,9 @@
- #include <stdint.h>
- #include <sys/socket.h>
- #include <sys/types.h>
-+#if defined(OS_BSD)
-+#include <signal.h>
-+#endif
- #include <unistd.h>
-
- #include "base/bind.h"
diff --git a/www/chromium/files/patch-base_process_internal__linux.cc b/www/chromium/files/patch-base_process_internal__linux.cc
deleted file mode 100644
index d0dba67d9274..000000000000
--- a/www/chromium/files/patch-base_process_internal__linux.cc
+++ /dev/null
@@ -1,97 +0,0 @@
---- base/process/internal_linux.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/process/internal_linux.cc
-@@ -30,7 +30,11 @@ namespace internal {
-
- const char kProcDir[] = "/proc";
-
-+#if defined(OS_BSD)
-+const char kStatFile[] = "status";
-+#else
- const char kStatFile[] = "stat";
-+#endif
-
- FilePath GetProcPidDir(pid_t pid) {
- return FilePath(kProcDir).Append(NumberToString(pid));
-@@ -66,6 +70,7 @@ bool ReadProcFile(const FilePath& file, std::string* b
- DLOG(WARNING) << "Failed to read " << file.MaybeAsASCII();
- return false;
- }
-+
- return !buffer->empty();
- }
-
-@@ -81,6 +86,22 @@ bool ParseProcStats(const std::string& stats_data,
- if (stats_data.empty())
- return false;
-
-+#if defined(OS_BSD)
-+ proc_stats->clear();
-+
-+ std::vector<std::string> other_stats = SplitString(
-+ stats_data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
-+
-+ for (const auto& i : other_stats) {
-+ auto pos = i.find(',');
-+
-+ if (pos == std::string::npos) {
-+ proc_stats->push_back(i);
-+ } else {
-+ proc_stats->push_back(i.substr(0, pos));
-+ }
-+ }
-+#else
- // The stat file is formatted as:
- // pid (process name) data1 data2 .... dataN
- // Look for the closing paren by scanning backwards, to avoid being fooled by
-@@ -110,6 +131,7 @@ bool ParseProcStats(const std::string& stats_data,
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
- for (const auto& i : other_stats)
- proc_stats->push_back(i);
-+#endif
- return true;
- }
-
-@@ -157,7 +179,11 @@ int64_t ReadProcStatsAndGetFieldAsInt64(pid_t pid, Pro
- }
-
- int64_t ReadProcSelfStatsAndGetFieldAsInt64(ProcStatsFields field_num) {
-+#if defined(OS_BSD)
-+ FilePath stat_file = FilePath(kProcDir).Append("curproc").Append(kStatFile);
-+#else
- FilePath stat_file = FilePath(kProcDir).Append("self").Append(kStatFile);
-+#endif
- return ReadStatFileAndGetFieldAsInt64(stat_file, field_num);
- }
-
-@@ -173,6 +199,9 @@ size_t ReadProcStatsAndGetFieldAsSizeT(pid_t pid,
- }
-
- Time GetBootTime() {
-+#if defined(OS_BSD)
-+ return Time();
-+#else
- FilePath path("/proc/stat");
- std::string contents;
- if (!ReadProcFile(path, &contents))
-@@ -186,9 +215,13 @@ Time GetBootTime() {
- if (!StringToInt(btime_it->second, &btime))
- return Time();
- return Time::FromTimeT(btime);
-+#endif
- }
-
- TimeDelta GetUserCpuTimeSinceBoot() {
-+#if defined(OS_BSD)
-+ return TimeDelta();
-+#else
- FilePath path("/proc/stat");
- std::string contents;
- if (!ReadProcFile(path, &contents))
-@@ -212,6 +245,7 @@ TimeDelta GetUserCpuTimeSinceBoot() {
- return TimeDelta();
-
- return ClockTicksToTimeDelta(user + nice);
-+#endif
- }
-
- TimeDelta ClockTicksToTimeDelta(int clock_ticks) {
diff --git a/www/chromium/files/patch-base_process_internal__linux.h b/www/chromium/files/patch-base_process_internal__linux.h
deleted file mode 100644
index 4f5d3719e412..000000000000
--- a/www/chromium/files/patch-base_process_internal__linux.h
+++ /dev/null
@@ -1,34 +0,0 @@
---- base/process/internal_linux.h.orig 2021-12-14 11:44:55 UTC
-+++ base/process/internal_linux.h
-@@ -20,6 +20,8 @@
- #include "base/strings/string_number_conversions.h"
- #include "base/threading/platform_thread.h"
-
-+#include <unistd.h> /* pid_t */
-+
- namespace base {
-
- class Time;
-@@ -61,6 +63,14 @@ bool ParseProcStats(const std::string& stats_data,
- // If the ordering ever changes, carefully review functions that use these
- // values.
- enum ProcStatsFields {
-+#if defined(OS_BSD)
-+ VM_COMM = 0, // Command name.
-+ VM_PPID = 2, // Parent process id.
-+ VM_PGRP = 3, // Process group id.
-+ VM_STARTTIME = 7, // The process start time.
-+ VM_UTIME = 8, // The user time.
-+ VM_STIME = 9, // The system time
-+#else
- VM_COMM = 1, // Filename of executable, without parentheses.
- VM_STATE = 2, // Letter indicating the state of the process.
- VM_PPID = 3, // PID of the parent.
-@@ -73,6 +83,7 @@ enum ProcStatsFields {
- VM_STARTTIME = 21, // The time the process started in clock ticks.
- VM_VSIZE = 22, // Virtual memory size in bytes.
- VM_RSS = 23, // Resident Set Size in pages.
-+#endif
- };
-
- // Reads the |field_num|th field from |proc_stats|. Returns 0 on failure.
diff --git a/www/chromium/files/patch-base_process_kill.h b/www/chromium/files/patch-base_process_kill.h
index b135b44d2e28..d74a364d078e 100644
--- a/www/chromium/files/patch-base_process_kill.h
+++ b/www/chromium/files/patch-base_process_kill.h
@@ -1,6 +1,6 @@
---- base/process/kill.h.orig 2021-04-14 18:40:48 UTC
+--- base/process/kill.h.orig 2022-02-07 13:39:41 UTC
+++ base/process/kill.h
-@@ -113,11 +113,11 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro
+@@ -112,7 +112,7 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro
BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus(
ProcessHandle handle, int* exit_code);
@@ -9,8 +9,3 @@
// Spawns a thread to wait asynchronously for the child |process| to exit
// and then reaps it.
BASE_EXPORT void EnsureProcessGetsReaped(Process process);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #endif // defined(OS_POSIX)
-
- // Registers |process| to be asynchronously monitored for termination, forcibly
diff --git a/www/chromium/files/patch-base_process_kill__posix.cc b/www/chromium/files/patch-base_process_kill__posix.cc
index 23719e51bb67..1fc27331b044 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 2021-12-14 11:44:55 UTC
+--- base/process/kill_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/process/kill_posix.cc
-@@ -162,7 +162,7 @@ void EnsureProcessTerminated(Process process) {
+@@ -159,7 +159,7 @@ void EnsureProcessTerminated(Process process) {
0, new BackgroundReaper(std::move(process), Seconds(2)));
}
@@ -9,12 +9,3 @@
void EnsureProcessGetsReaped(Process process) {
DCHECK(!process.is_current());
-@@ -173,7 +173,7 @@ void EnsureProcessGetsReaped(Process process) {
- PlatformThread::CreateNonJoinable(
- 0, new BackgroundReaper(std::move(process), TimeDelta()));
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #endif // !defined(OS_APPLE)
- #endif // !defined(OS_NACL_NONSFI)
diff --git a/www/chromium/files/patch-base_process_launch.cc b/www/chromium/files/patch-base_process_launch.cc
deleted file mode 100644
index 59944e45465b..000000000000
--- a/www/chromium/files/patch-base_process_launch.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/launch.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/process/launch.cc
-@@ -15,7 +15,7 @@ LaunchOptions::~LaunchOptions() = default;
-
- LaunchOptions LaunchOptionsForTest() {
- LaunchOptions options;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // To prevent accidental privilege sharing to an untrusted child, processes
- // are started with PR_SET_NO_NEW_PRIVS. Do not set that here, since this
- // new child will be used for testing only.
diff --git a/www/chromium/files/patch-base_process_launch.h b/www/chromium/files/patch-base_process_launch.h
index 0c41c6fe1c3e..0fe8b6553511 100644
--- a/www/chromium/files/patch-base_process_launch.h
+++ b/www/chromium/files/patch-base_process_launch.h
@@ -1,4 +1,4 @@
---- base/process/launch.h.orig 2021-12-14 11:44:55 UTC
+--- base/process/launch.h.orig 2022-02-07 13:39:41 UTC
+++ base/process/launch.h
@@ -192,7 +192,7 @@ struct BASE_EXPORT LaunchOptions {
bool clear_environment = false;
@@ -9,21 +9,3 @@
// If non-zero, start the process using clone(), using flags as provided.
// Unlike in clone, clone_flags may not contain a custom termination signal
// that is sent to the parent when the child dies. The termination signal will
-@@ -205,7 +205,7 @@ struct BASE_EXPORT LaunchOptions {
-
- // Sets parent process death signal to SIGKILL.
- bool kill_on_parent_death = false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_MAC)
- // Mach ports that will be accessible to the child process. These are not
-@@ -417,7 +417,7 @@ BASE_EXPORT void RaiseProcessToHighPriority();
- // binary. This should not be called in production/released code.
- BASE_EXPORT LaunchOptions LaunchOptionsForTest();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) || defined(OS_BSD)
- // A wrapper for clone with fork-like behavior, meaning that it returns the
- // child's pid in the parent and 0 in the child. |flags|, |ptid|, and |ctid| are
- // as in the clone system call (the CLONE_VM flag is not supported).
diff --git a/www/chromium/files/patch-base_process_launch__posix.cc b/www/chromium/files/patch-base_process_launch__posix.cc
index 4c7abac588b3..7e4f92b48eb9 100644
--- a/www/chromium/files/patch-base_process_launch__posix.cc
+++ b/www/chromium/files/patch-base_process_launch__posix.cc
@@ -1,115 +1,12 @@
---- base/process/launch_posix.cc.orig 2021-09-24 04:25:55 UTC
+--- base/process/launch_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/process/launch_posix.cc
-@@ -58,12 +58,14 @@
- #if defined(OS_FREEBSD)
- #include <sys/event.h>
- #include <sys/ucontext.h>
-+#include <sys/procctl.h>
- #endif
-
- #if defined(OS_APPLE)
+@@ -64,6 +64,9 @@
#error "macOS should use launch_mac.cc"
#endif
++#if defined(OS_FREEBSD)
+#pragma weak environ
++#endif
extern char** environ;
namespace base {
-@@ -183,7 +185,7 @@ void ResetChildSignalHandlersToDefaults(void) {
- #endif // !defined(NDEBUG)
- }
- }
--#endif // !defined(OS_LINUX) ||
-+#endif // (!defined(OS_LINUX) && !defined(OS_BSD)) ||
- // (!defined(__i386__) && !defined(__x86_64__) && !defined(__arm__))
- } // anonymous namespace
-
-@@ -220,6 +222,28 @@ void CloseSuperfluousFds(const base::InjectiveMultimap
- DirReaderPosix fd_dir(kFDDir);
- if (!fd_dir.IsValid()) {
- // Fallback case: Try every possible fd.
-+
-+#if defined(OS_FREEBSD)
-+ // CEM: blast away most of the range with closefrom(). A common use case
-+ // of this function only maps STDIN/STDOUT/STDERR and closefrom(3) is much
-+ // cheaper than x00,000 close(2) invocations with a high RLIMIT_NOFILE.
-+ //
-+ // In the other caller, it is still very likely that the fds we care about
-+ // are in relatively low number space and we can save hundreds of thousands
-+ // of syscalls.
-+ int max_valid_fd = -1;
-+ for (size_t j = 0; j < saved_mapping.size(); j++) {
-+ int fd = saved_mapping[j].dest;
-+ if (fd > max_valid_fd)
-+ max_valid_fd = fd;
-+ }
-+ if (max_valid_fd < STDERR_FILENO)
-+ max_valid_fd = STDERR_FILENO;
-+
-+ closefrom(max_valid_fd + 1);
-+ max_fds = static_cast<size_t>(max_valid_fd) + 1;
-+#endif
-+
- for (size_t i = 0; i < max_fds; ++i) {
- const int fd = static_cast<int>(i);
- if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO)
-@@ -358,7 +382,7 @@ Process LaunchProcess(const std::vector<std::string>&
- // might do things like block waiting for threads that don't even exist
- // in the child.
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // See comments on the ResetFDOwnership() declaration in
- // base/files/scoped_file.h regarding why this is called early here.
- subtle::ResetFDOwnership();
-@@ -451,22 +475,32 @@ Process LaunchProcess(const std::vector<std::string>&
-
- // Set NO_NEW_PRIVS by default. Since NO_NEW_PRIVS only exists in kernel
- // 3.5+, do not check the return value of prctl here.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_FREEBSD)
- #ifndef PR_SET_NO_NEW_PRIVS
- #define PR_SET_NO_NEW_PRIVS 38
- #endif
-+#if !defined(OS_FREEBSD)
- if (!options.allow_new_privs) {
- if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) && errno != EINVAL) {
- // Only log if the error is not EINVAL (i.e. not supported).
- RAW_LOG(FATAL, "prctl(PR_SET_NO_NEW_PRIVS) failed");
- }
- }
-+#endif
-
- if (options.kill_on_parent_death) {
-+#if defined(OS_FREEBSD)
-+ int procctl_value = SIGKILL;
-+ if (procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &procctl_value)) {
-+ RAW_LOG(ERROR, "procctl(PROC_PDEATHSIG_CTL) failed");
-+ _exit(127);
-+ }
-+#else
- if (prctl(PR_SET_PDEATHSIG, SIGKILL) != 0) {
- RAW_LOG(ERROR, "prctl(PR_SET_PDEATHSIG) failed");
- _exit(127);
- }
-+#endif
- }
- #endif
-
-@@ -558,7 +592,7 @@ static bool GetAppOutputInternal(
- // DANGER: no calls to malloc or locks are allowed from now on:
- // http://crbug.com/36678
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // See comments on the ResetFDOwnership() declaration in
- // base/files/scoped_file.h regarding why this is called early here.
- subtle::ResetFDOwnership();
-@@ -750,6 +784,6 @@ pid_t ForkWithFlags(unsigned long flags, pid_t* ptid,
-
- return 0;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) || defined(OS_BSD)
-
- } // namespace base
diff --git a/www/chromium/files/patch-base_process_memory.cc b/www/chromium/files/patch-base_process_memory.cc
index 591fc6ec350c..67b524cc8e85 100644
--- a/www/chromium/files/patch-base_process_memory.cc
+++ b/www/chromium/files/patch-base_process_memory.cc
@@ -1,6 +1,15 @@
---- base/process/memory.cc.orig 2021-09-14 01:51:47 UTC
+--- base/process/memory.cc.orig 2022-02-07 13:39:41 UTC
+++ base/process/memory.cc
-@@ -70,7 +70,7 @@ void TerminateBecauseOutOfMemory(size_t size) {
+@@ -63,14 +63,16 @@ NOINLINE void OnNoMemoryInternal(size_t size) {
+
+ } // namespace internal
+
++#if !defined(OS_BSD)
+ void TerminateBecauseOutOfMemory(size_t size) {
+ internal::OnNoMemoryInternal(size);
+ }
++#endif
+
// 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.
diff --git a/www/chromium/files/patch-base_process_memory.h b/www/chromium/files/patch-base_process_memory.h
deleted file mode 100644
index ecbfa05d7fa1..000000000000
--- a/www/chromium/files/patch-base_process_memory.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/memory.h.orig 2021-07-19 18:45:05 UTC
-+++ base/process/memory.h
-@@ -32,7 +32,7 @@ BASE_EXPORT void TerminateBecauseOutOfMemory(size_t si
- // TODO: this can be removed when Breakpad is no longer supported.
- BASE_EXPORT extern size_t g_oom_size;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
- // The maximum allowed value for the OOM score.
- const int kMaxOomScore = 1000;
diff --git a/www/chromium/files/patch-base_process_memory__stubs.cc b/www/chromium/files/patch-base_process_memory__stubs.cc
deleted file mode 100644
index 80ef5e08c505..000000000000
--- a/www/chromium/files/patch-base_process_memory__stubs.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- base/process/memory_stubs.cc.orig 2021-04-22 13:13:03 UTC
-+++ base/process/memory_stubs.cc
-@@ -19,9 +19,11 @@ bool AdjustOOMScore(ProcessId process, int score) {
- return false;
- }
-
-+#if !defined(OS_BSD)
- void TerminateBecauseOutOfMemory(size_t size) {
- abort();
- }
-+#endif
-
- // UncheckedMalloc and Calloc exist so that platforms making use of
- // EnableTerminationOnOutOfMemory have a way to allocate memory without
diff --git a/www/chromium/files/patch-base_process_memory__unittest.cc b/www/chromium/files/patch-base_process_memory__unittest.cc
deleted file mode 100644
index 3b2bc7a8d784..000000000000
--- a/www/chromium/files/patch-base_process_memory__unittest.cc
+++ /dev/null
@@ -1,67 +0,0 @@
---- base/process/memory_unittest.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/process/memory_unittest.cc
-@@ -38,6 +38,8 @@
- #if defined(OS_LINUX) || defined(OS_CHROMEOS)
- #include <malloc.h>
- #include "base/test/malloc_wrapper.h"
-+#elif defined(OS_BSD)
-+#include "base/test/malloc_wrapper.h"
- #endif
- #if defined(OS_ANDROID)
- #include "base/android/build_info.h"
-@@ -113,9 +115,9 @@ TEST(MemoryTest, AllocatorShimWorking) {
- #endif
- }
-
--// OpenBSD does not support these tests. Don't test these on ASan/TSan/MSan
-+// BSD does not support these tests. Don't test these on ASan/TSan/MSan
- // configurations: only test the real allocator.
--#if !defined(OS_OPENBSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \
-+#if !defined(OS_BSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \
- !defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
-
- namespace {
-@@ -338,7 +340,7 @@ TEST_F(OutOfMemoryDeathTest, SecurityAlignedRealloc) {
- #endif // defined(OS_WIN)
- #endif // !defined(OS_MAC) && !defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- TEST_F(OutOfMemoryDeathTest, Valloc) {
- ASSERT_OOM_DEATH({
-@@ -384,7 +386,7 @@ TEST_F(OutOfMemoryDeathTest, ViaSharedLibraries) {
- value_ = MallocWrapper(test_size_);
- });
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Android doesn't implement posix_memalign().
- #if defined(OS_POSIX) && !defined(OS_ANDROID)
-@@ -535,7 +537,7 @@ TEST_F(OutOfMemoryTest, TerminateBecauseOutOfMemoryRep
- #endif // OS_WIN
-
- #if defined(ARCH_CPU_32_BITS) && \
-- (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
-
- void TestAllocationsReleaseReservation(void* (*alloc_fn)(size_t),
- void (*free_fn)(void*)) {
-@@ -593,7 +595,7 @@ TEST_F(OutOfMemoryHandledTest, NewReleasesReservation)
- [](size_t size) { return static_cast<void*>(new char[size]); },
- [](void* ptr) { delete[] static_cast<char*>(ptr); });
- }
--#endif // defined(ARCH_CPU_32_BITS) && (defined(OS_WIN) || defined(OS_LINUX) ||
-+#endif // defined(ARCH_CPU_32_BITS) && (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS))
-
- #if defined(OS_ANDROID) || defined(OS_FUCHSIA)
-@@ -654,7 +656,6 @@ TEST_F(OutOfMemoryHandledTest, UncheckedCalloc) {
- EXPECT_EQ(0, bytes[i]);
- free(value_);
-
-- EXPECT_FALSE(base::UncheckedCalloc(1, test_size_, &value_));
- EXPECT_TRUE(value_ == nullptr);
- }
-
diff --git a/www/chromium/files/patch-base_process_process__handle__openbsd.cc b/www/chromium/files/patch-base_process_process__handle__openbsd.cc
new file mode 100644
index 000000000000..f176993b81b2
--- /dev/null
+++ b/www/chromium/files/patch-base_process_process__handle__openbsd.cc
@@ -0,0 +1,89 @@
+--- base/process/process_handle_openbsd.cc.orig 2022-02-07 13:39:41 UTC
++++ base/process/process_handle_openbsd.cc
+@@ -3,8 +3,11 @@
+ // found in the LICENSE file.
+
+ #include "base/process/process_handle.h"
++#include "base/files/file_util.h"
+
+ #include <stddef.h>
++#include <sys/param.h>
++#include <sys/proc.h>
+ #include <sys/sysctl.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+@@ -14,39 +17,59 @@
+ namespace base {
+
+ ProcessId GetParentProcessId(ProcessHandle process) {
+- struct kinfo_proc info;
++ 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, base::size(mib), NULL, &length, NULL, 0) < 0)
+ return -1;
+
++ info = (struct kinfo_proc *)malloc(length);
++
+ mib[5] = (length / sizeof(struct kinfo_proc));
+
+- if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0)
+- return -1;
++ if (sysctl(mib, base::size(mib), info, &length, NULL, 0) < 0) {
++ ppid = -1;
++ goto out;
++ }
+
+- return info.p_ppid;
++ ppid = info->p_ppid;
++
++out:
++ free(info);
++ return ppid;
+ }
+
+ 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 };
+
+- if (sysctl(mib, base::size(mib), NULL, &len, NULL, 0) == -1)
++ if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) == -1)
+ return FilePath();
+- mib[5] = (len / sizeof(struct kinfo_proc));
+- if (sysctl(mib, base::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();
++ info = (struct kinfo_proc *)malloc(length);
++
++ mib[5] = (length / sizeof(struct kinfo_proc));
++
++ if (sysctl(mib, base::size(mib), info, &length, NULL, 0) < 0)
++ goto out;
++
++ if ((info->p_flag & P_SYSTEM) != 0)
++ goto out;
++
++ if (strcmp(info->p_comm, "chrome") == 0) {
++ path = info->p_comm;
++ goto out;
++ }
++
++out:
++ free(info);
++ return FilePath(path);
+ }
+
+ } // namespace base
diff --git a/www/chromium/files/patch-base_process_process__iterator__openbsd.cc b/www/chromium/files/patch-base_process_process__iterator__openbsd.cc
new file mode 100644
index 000000000000..a48483289ff4
--- /dev/null
+++ b/www/chromium/files/patch-base_process_process__iterator__openbsd.cc
@@ -0,0 +1,45 @@
+--- base/process/process_iterator_openbsd.cc.orig 2022-02-07 13:39:41 UTC
++++ base/process/process_iterator_openbsd.cc
+@@ -6,6 +6,9 @@
+
+ #include <errno.h>
+ #include <stddef.h>
++#include <unistd.h>
++#include <sys/param.h>
++#include <sys/proc.h>
+ #include <sys/sysctl.h>
+
+ #include "base/cxx17_backports.h"
+@@ -19,12 +22,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 };
+
+ bool done = false;
+ int try_num = 1;
+ const int max_tries = 10;
++ size_t num_of_kinfo_proc;
+
+ do {
+ size_t len = 0;
+@@ -33,7 +37,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
+ kinfo_procs_.resize(0);
+ done = true;
+ } else {
+- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
++ num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
+ // Leave some spare room for process table growth (more could show up
+ // between when we check and now)
+ num_of_kinfo_proc += 16;
+@@ -49,7 +53,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);
+ kinfo_procs_.resize(num_of_kinfo_proc);
+ done = true;
+ }
diff --git a/www/chromium/files/patch-base_process_process__linux.cc b/www/chromium/files/patch-base_process_process__linux.cc
deleted file mode 100644
index b91800cecacc..000000000000
--- a/www/chromium/files/patch-base_process_process__linux.cc
+++ /dev/null
@@ -1,48 +0,0 @@
---- base/process/process_linux.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/process/process_linux.cc
-@@ -24,7 +24,9 @@ namespace base {
-
- namespace {
-
-+#if !defined(OS_BSD)
- const int kForegroundPriority = 0;
-+#endif
-
- #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
- // We are more aggressive in our lowering of background process priority
-@@ -69,7 +71,7 @@ struct CGroups {
- return groups;
- }
- };
--#else
-+#elif !defined(OS_BSD)
- const int kBackgroundPriority = 5;
- #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
-
-@@ -85,13 +87,18 @@ Time Process::CreationTime() const {
- if (!start_ticks)
- return Time();
-
-+#if defined(OS_BSD)
-+ return Time::FromTimeT(start_ticks);
-+#else
- TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks);
- Time boot_time = internal::GetBootTime();
- if (boot_time.is_null())
- return Time();
- return Time(boot_time + start_offset);
-+#endif
- }
-
-+#if !defined(OS_BSD)
- // static
- bool Process::CanBackgroundProcesses() {
- #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
-@@ -143,6 +150,7 @@ bool Process::SetProcessBackgrounded(bool background)
- DPCHECK(result == 0);
- return result == 0;
- }
-+#endif // !defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
- bool IsProcessBackgroundedCGroup(const StringPiece& cgroup_contents) {
diff --git a/www/chromium/files/patch-base_process_process__metrics.cc b/www/chromium/files/patch-base_process_process__metrics.cc
index 20a9ba831c6f..aff587d7cf98 100644
--- a/www/chromium/files/patch-base_process_process__metrics.cc
+++ b/www/chromium/files/patch-base_process_process__metrics.cc
@@ -1,14 +1,14 @@
---- base/process/process_metrics.cc.orig 2021-09-14 01:51:47 UTC
+--- base/process/process_metrics.cc.orig 2022-02-07 13:39:41 UTC
+++ base/process/process_metrics.cc
-@@ -17,7 +17,7 @@ namespace base {
-
+@@ -18,7 +18,7 @@ namespace base {
namespace {
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
int CalculateEventsPerSecond(uint64_t event_count,
uint64_t* last_event_count,
+ base::TimeTicks* last_calculated) {
@@ -55,7 +55,7 @@ SystemMetrics SystemMetrics::Sample() {
SystemMetrics system_metrics;
@@ -27,21 +27,12 @@
Value meminfo = memory_info_.ToValue();
Value vmstat = vmstat_info_.ToValue();
meminfo.MergeDictionary(&vmstat);
-@@ -125,7 +125,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
- }
+@@ -126,7 +126,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
#endif
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
int ProcessMetrics::CalculateIdleWakeupsPerSecond(
uint64_t absolute_idle_wakeups) {
-@@ -138,7 +138,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() {
- NOTIMPLEMENTED(); // http://crbug.com/120488
- return 0;
- }
--#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
-+#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
- // defined(OS_AIX)
-
- #if defined(OS_APPLE)
+ return CalculateEventsPerSecond(absolute_idle_wakeups,
diff --git a/www/chromium/files/patch-base_process_process__metrics.h b/www/chromium/files/patch-base_process_process__metrics.h
index 70884fc12fa6..d56de6d74153 100644
--- a/www/chromium/files/patch-base_process_process__metrics.h
+++ b/www/chromium/files/patch-base_process_process__metrics.h
@@ -1,15 +1,15 @@
---- base/process/process_metrics.h.orig 2021-12-14 11:44:55 UTC
+--- base/process/process_metrics.h.orig 2022-02-07 13:39:41 UTC
+++ base/process/process_metrics.h
@@ -37,7 +37,7 @@
- #include "base/win/windows_types.h"
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
#include <string>
#include <utility>
-@@ -54,7 +54,7 @@ class Value;
+ #include <vector>
+@@ -53,7 +53,7 @@ class Value;
// Full declaration is in process_metrics_iocounters.h.
struct IoCounters;
@@ -18,16 +18,7 @@
// Minor and major page fault counts since the process creation.
// Both counts are process-wide, and exclude child processes.
//
-@@ -64,7 +64,7 @@ struct PageFaultCounts {
- int64_t minor;
- int64_t major;
- };
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // Convert a POSIX timeval to microseconds.
- BASE_EXPORT int64_t TimeValToMicroseconds(const struct timeval& tv);
-@@ -108,7 +108,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -107,7 +107,7 @@ class BASE_EXPORT ProcessMetrics {
// convenience wrapper for CreateProcessMetrics().
static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics();
@@ -37,24 +28,15 @@
// attempt to extend this to other platforms.
BASE_EXPORT size_t GetResidentSetSize() const;
@@ -134,7 +134,7 @@ class BASE_EXPORT ProcessMetrics {
- // will result in a time delta of 2 seconds/per 1 wall-clock second.
TimeDelta GetCumulativeCPUUsage() WARN_UNUSED_RESULT;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
// Emits the cumulative CPU usage for all currently active threads since they
// were started into the output parameter (replacing its current contents).
-@@ -169,7 +169,7 @@ class BASE_EXPORT ProcessMetrics {
- bool ParseProcTimeInState(const std::string& content,
- PlatformThreadId tid,
- TimeInStatePerThread& time_in_state_per_thread);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
- // defined(OS_AIX)
-
- // Returns the number of average idle cpu wakeups per second since the last
-@@ -218,14 +218,14 @@ class BASE_EXPORT ProcessMetrics {
+ // Threads that have already terminated will not be reported. Thus, the sum of
+@@ -217,7 +217,7 @@ class BASE_EXPORT ProcessMetrics {
int GetOpenFdSoftLimit() const;
#endif // defined(OS_POSIX)
@@ -63,105 +45,70 @@
// Bytes of swap as reported by /proc/[pid]/status.
uint64_t GetVmSwapBytes() const;
- // Minor and major page fault count as reported by /proc/[pid]/stat.
- // Returns true for success.
- bool GetPageFaultCounts(PageFaultCounts* counts) const;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // Returns total memory usage of malloc.
- size_t GetMallocUsage();
@@ -237,7 +237,7 @@ class BASE_EXPORT ProcessMetrics {
- ProcessMetrics(ProcessHandle process, PortProvider* port_provider);
#endif // !defined(OS_MAC)
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups);
#endif
-@@ -248,10 +248,10 @@ class BASE_EXPORT ProcessMetrics {
- uint64_t absolute_package_idle_wakeups);
+ #if defined(OS_APPLE)
+@@ -248,7 +248,7 @@ class BASE_EXPORT ProcessMetrics {
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
CPU::CoreType GetCoreType(int core_index);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
// defined(OS_AIX)
-
- #if defined(OS_WIN)
@@ -273,7 +273,7 @@ class BASE_EXPORT ProcessMetrics {
- // Number of bytes transferred to/from disk in bytes.
uint64_t last_cumulative_disk_usage_ = 0;
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
// Same thing for idle wakeups.
TimeTicks last_idle_wakeups_time_;
-@@ -315,7 +315,7 @@ BASE_EXPORT size_t GetHandleLimit();
- BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_descriptors);
- #endif // defined(OS_POSIX)
+ uint64_t last_absolute_idle_wakeups_;
+@@ -316,7 +316,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_AIX) || \
- defined(OS_FUCHSIA)
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
// Data about system-wide memory consumption. Values are in KB. Available on
+ // Windows, Mac, Linux, Android and Chrome OS.
+ //
@@ -351,7 +351,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int avail_phys = 0;
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
// This provides an estimate of available memory as described here:
// https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
+ // NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always
@@ -366,7 +366,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int swap_free = 0;
#endif
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX) || defined(OS_FUCHSIA)
+ #if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_AIX) || defined(OS_FUCHSIA)
++ defined(OS_AIX) || defined(OS_FUCHSIA) || defined(OS_BSD)
int buffers = 0;
int cached = 0;
-@@ -376,7 +376,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int inactive_file = 0;
- int dirty = 0;
- int reclaimable = 0;
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
- // defined(OS_AIX) defined(OS_FUCHSIA)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
-@@ -399,11 +399,11 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- // Exposed for memory debugging widget.
- BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo);
-
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) defined(OS_ANDROID) || defined(OS_AIX) ||
+ int active_anon = 0;
+@@ -403,7 +403,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK
// defined(OS_FUCHSIA)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
// Parse the data found in /proc/<pid>/stat and return the sum of the
// CPU-related ticks. Returns -1 on parse error.
-@@ -479,7 +479,7 @@ BASE_EXPORT bool GetSystemDiskInfo(SystemDiskInfo* dis
- // Returns the amount of time spent in user space since boot across all CPUs.
- BASE_EXPORT TimeDelta GetUserCpuTimeSinceBoot();
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
- // defined(OS_AIX)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
-@@ -591,7 +591,7 @@ class BASE_EXPORT SystemMetrics {
+ // Exposed for testing.
+@@ -590,7 +590,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__openbsd.cc b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
new file mode 100644
index 000000000000..1cc46d52fa55
--- /dev/null
+++ b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
@@ -0,0 +1,213 @@
+--- base/process/process_metrics_openbsd.cc.orig 2022-02-07 13:39:41 UTC
++++ base/process/process_metrics_openbsd.cc
+@@ -4,14 +4,30 @@
+
+ #include "base/process/process_metrics.h"
+
++#include "base/files/file_util.h"
++#include "base/logging.h"
++#include "base/process/internal_linux.h"
++#include "base/strings/string_number_conversions.h"
++#include "base/strings/string_split.h"
++#include "base/strings/string_tokenizer.h"
++#include "base/strings/string_util.h"
++#include "base/system/sys_info.h"
++#include "base/threading/thread_restrictions.h"
++#include "base/notreached.h"
++
+ #include <stddef.h>
+ #include <stdint.h>
++#include <fcntl.h>
+ #include <sys/param.h>
+ #include <sys/sysctl.h>
++#include <sys/vmmeter.h>
+
++#include <kvm.h>
++
+ #include "base/cxx17_backports.h"
+ #include "base/memory/ptr_util.h"
+ #include "base/process/process_metrics_iocounters.h"
++#include "base/values.h"
+
+ namespace base {
+
+@@ -25,48 +41,13 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun
+ return false;
+ }
+
+-static int GetProcessCPU(pid_t pid) {
+- struct kinfo_proc info;
+- size_t length;
+- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid,
+- sizeof(struct kinfo_proc), 0 };
+-
+- if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0)
+- return -1;
+-
+- mib[5] = (length / sizeof(struct kinfo_proc));
+-
+- if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0)
+- return 0;
+-
+- return info.p_pctcpu;
+-}
+-
+-double ProcessMetrics::GetPlatformIndependentCPUUsage() {
+- TimeTicks time = TimeTicks::Now();
+-
+- if (last_cpu_time_.is_zero()) {
+- // First call, just set the last values.
+- last_cpu_time_ = time;
+- return 0;
+- }
+-
+- int cpu = GetProcessCPU(process_);
+-
+- last_cpu_time_ = time;
+- double percentage = static_cast<double>((cpu * 100.0) / FSCALE);
+-
+- return percentage;
+-}
+-
+ TimeDelta ProcessMetrics::GetCumulativeCPUUsage() {
+ NOTREACHED();
+ return TimeDelta();
+ }
+
+ ProcessMetrics::ProcessMetrics(ProcessHandle process)
+- : process_(process),
+- last_cpu_(0) {}
++ : process_(process) {}
+
+ size_t GetSystemCommitCharge() {
+ int mib[] = { CTL_VM, VM_METER };
+@@ -85,6 +66,129 @@ size_t GetSystemCommitCharge() {
+ pagesize = getpagesize();
+
+ return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
++}
++
++int ProcessMetrics::GetOpenFdCount() const {
++ struct kinfo_file *files;
++ kvm_t *kd = NULL;
++ int total_count = 0;
++ char errbuf[_POSIX2_LINE_MAX];
++
++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL)
++ goto out;
++
++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process_,
++ sizeof(struct kinfo_file), &total_count)) == NULL) {
++ total_count = 0;
++ goto out;
++ }
++
++ kvm_close(kd);
++
++out:
++ return total_count;
++}
++
++int ProcessMetrics::GetOpenFdSoftLimit() const {
++ return GetMaxFds();
++}
++
++uint64_t ProcessMetrics::GetVmSwapBytes() const {
++ NOTIMPLEMENTED();
++ return 0;
++}
++
++bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) {
++ NOTIMPLEMENTED_LOG_ONCE();
++ return false;
++}
++
++SystemDiskInfo::SystemDiskInfo() {
++ reads = 0;
++ reads_merged = 0;
++ sectors_read = 0;
++ read_time = 0;
++ writes = 0;
++ writes_merged = 0;
++ sectors_written = 0;
++ write_time = 0;
++ io = 0;
++ io_time = 0;
++ weighted_io_time = 0;
++}
++
++SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default;
++
++bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) {
++ NOTIMPLEMENTED();
++ return false;
++}
++
++bool GetVmStatInfo(VmStatInfo* vmstat) {
++ NOTIMPLEMENTED();
++ return false;
++}
++
++int ProcessMetrics::GetIdleWakeupsPerSecond() {
++ NOTIMPLEMENTED();
++ return 0;
++}
++
++Value SystemMemoryInfoKB::ToValue() const {
++ Value res(Value::Type::DICTIONARY);
++ res.SetIntKey("total", total);
++ res.SetIntKey("free", free);
++ res.SetIntKey("available", available);
++ res.SetIntKey("buffers", buffers);
++ res.SetIntKey("cached", cached);
++ res.SetIntKey("active_anon", active_anon);
++ res.SetIntKey("inactive_anon", inactive_anon);
++ res.SetIntKey("active_file", active_file);
++ res.SetIntKey("inactive_file", inactive_file);
++ res.SetIntKey("swap_total", swap_total);
++ res.SetIntKey("swap_free", swap_free);
++ res.SetIntKey("swap_used", swap_total - swap_free);
++ res.SetIntKey("dirty", dirty);
++ res.SetIntKey("reclaimable", reclaimable);
++
++ NOTIMPLEMENTED();
++
++ return res;
++}
++
++Value VmStatInfo::ToValue() const {
++ Value res(Value::Type::DICTIONARY);
++ res.SetIntKey("pswpin", pswpin);
++ res.SetIntKey("pswpout", pswpout);
++ res.SetIntKey("pgmajfault", pgmajfault);
++
++ NOTIMPLEMENTED();
++
++ return res;
++}
++
++SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default;
++
++Value SystemDiskInfo::ToValue() const {
++ Value res(Value::Type::DICTIONARY);
++
++ // Write out uint64_t variables as doubles.
++ // Note: this may discard some precision, but for JS there's no other option.
++ res.SetDoubleKey("reads", static_cast<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));
++
++ NOTIMPLEMENTED();
++
++ return res;
+ }
+
+ } // namespace base
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 3fe1216db9df..9e3e19fc7abb 100644
--- a/www/chromium/files/patch-base_process_process__metrics__posix.cc
+++ b/www/chromium/files/patch-base_process_process__metrics__posix.cc
@@ -1,10 +1,10 @@
---- base/process/process_metrics_posix.cc.orig 2021-07-19 18:45:05 UTC
+--- base/process/process_metrics_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/process/process_metrics_posix.cc
@@ -20,6 +20,8 @@
#if defined(OS_APPLE)
#include <malloc/malloc.h>
-+#elif defined(OS_FREEBSD)
++#elif defined(OS_OPENBSD)
+#include <stdlib.h>
#else
#include <malloc.h>
diff --git a/www/chromium/files/patch-base_process_process__posix.cc b/www/chromium/files/patch-base_process_process__posix.cc
new file mode 100644
index 000000000000..b2245b1ea796
--- /dev/null
+++ b/www/chromium/files/patch-base_process_process__posix.cc
@@ -0,0 +1,70 @@
+--- base/process/process_posix.cc.orig 2022-02-07 13:39:41 UTC
++++ base/process/process_posix.cc
+@@ -27,6 +27,11 @@
+ #include <sys/event.h>
+ #endif
+
++#if defined(OS_BSD)
++#include <sys/types.h>
++#include <sys/sysctl.h>
++#endif
++
+ #if BUILDFLAG(CLANG_PROFILING)
+ #include "base/test/clang_profiling.h"
+ #endif
+@@ -358,7 +363,55 @@ void Process::Exited(int exit_code) const {}
+
+ int Process::GetPriority() const {
+ DCHECK(IsValid());
++// avoid pledge(2) violation
++#if defined(OS_BSD)
++ return 0;
++#else
+ return getpriority(PRIO_PROCESS, process_);
++#endif
++}
++
++Time Process::CreationTime() const {
++// avoid ps pledge in the network process
++#if !defined(OS_BSD)
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(),
++ sizeof(struct kinfo_proc), 0 };
++ struct kinfo_proc *info = nullptr;
++ size_t info_size;
++#endif
++ Time ct = Time();
++
++#if !defined(OS_BSD)
++ if (sysctl(mib, base::size(mib), NULL, &info_size, NULL, 0) < 0)
++ goto out;
++
++ mib[5] = (info_size / sizeof(struct kinfo_proc));
++ if ((info = reinterpret_cast<kinfo_proc*>(malloc(info_size))) == NULL)
++ goto out;
++
++ if (sysctl(mib, base::size(mib), info, &info_size, NULL, 0) < 0)
++ goto out;
++
++ ct = Time::FromTimeT(info->p_ustart_sec);
++
++out:
++ if (info)
++ free(info);
++#endif
++ return ct;
++}
++
++bool Process::IsProcessBackgrounded() const {
++ return false;
++}
++
++bool Process::SetProcessBackgrounded(bool value) {
++ return false;
++}
++
++// static
++bool Process::CanBackgroundProcesses() {
++ return false;
+ }
+
+ } // namespace base
diff --git a/www/chromium/files/patch-base_process_process__unittest.cc b/www/chromium/files/patch-base_process_process__unittest.cc
deleted file mode 100644
index 4f9397702033..000000000000
--- a/www/chromium/files/patch-base_process_process__unittest.cc
+++ /dev/null
@@ -1,27 +0,0 @@
---- base/process/process_unittest.cc.orig 2021-09-14 01:51:47 UTC
-+++ base/process/process_unittest.cc
-@@ -140,7 +140,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 =
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // On Linux, process creation time is relative to boot time which has a
- // 1-second resolution. Tolerate 1 second for the imprecise boot time and
- // 100 ms for the imprecise clock.
-@@ -287,6 +287,7 @@ TEST_F(ProcessTest, WaitForExitOrEventWithEventSet) {
- }
- #endif // OS_WIN
-
-+#if !defined(OS_BSD)
- // Ensure that the priority of a process is restored correctly after
- // backgrounding and restoring.
- // Note: a platform may not be willing or able to lower the priority of
-@@ -344,6 +345,7 @@ TEST_F(ProcessTest, SetProcessBackgroundedSelf) {
- int new_priority = process.GetPriority();
- EXPECT_EQ(old_priority, new_priority);
- }
-+#endif
-
- // Consumers can use WaitForExitWithTimeout(base::TimeDelta(), nullptr) to check
- // whether the process is still running. This may not be safe because of the
diff --git a/www/chromium/files/patch-base_process_process__util__unittest.cc b/www/chromium/files/patch-base_process_process__util__unittest.cc
deleted file mode 100644
index b312c2876317..000000000000
--- a/www/chromium/files/patch-base_process_process__util__unittest.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/process/process_util_unittest.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/process/process_util_unittest.cc
-@@ -1342,11 +1342,11 @@ std::string TestLaunchProcess(const CommandLine& cmdli
- options.fds_to_remap.emplace_back(fds[1], STDOUT_FILENO);
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- options.clone_flags = clone_flags;
- #else
- CHECK_EQ(0, clone_flags);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- EXPECT_TRUE(LaunchProcess(cmdline, options).IsValid());
- write_pipe.Close();
diff --git a/www/chromium/files/patch-base_profiler_register__context.h b/www/chromium/files/patch-base_profiler_register__context.h
deleted file mode 100644
index 136080cf3b91..000000000000
--- a/www/chromium/files/patch-base_profiler_register__context.h
+++ /dev/null
@@ -1,60 +0,0 @@
---- base/profiler/register_context.h.orig 2021-09-14 01:51:47 UTC
-+++ base/profiler/register_context.h
-@@ -17,7 +17,7 @@
- #include <windows.h>
- #elif defined(OS_APPLE)
- #include <mach/machine/thread_status.h>
--#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <sys/ucontext.h>
- #endif
-
-@@ -209,6 +209,48 @@ inline uintptr_t& RegisterContextInstructionPointer(mc
- }
-
- #endif // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS)
-+
-+#elif defined(OS_FREEBSD)
-+
-+using RegisterContext = mcontext_t;
-+
-+#if defined(ARCH_CPU_X86_64)
-+inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_rsp);
-+}
-+
-+inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_rbp);
-+}
-+
-+inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_rip);
-+}
-+#elif defined(ARCH_CPU_X86)
-+inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_esp);
-+}
-+
-+inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_ebp);
-+}
-+
-+inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_eip);
-+}
-+#elif defined(ARCH_CPU_ARM64)
-+inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_gpregs.gp_sp);
-+}
-+
-+inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_gpregs.gp_x[29]);
-+}
-+
-+inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_gpregs.gp_elr);
-+}
-+#endif
-
- #else // #if defined(OS_WIN)
-
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
deleted file mode 100644
index fb64e59d8b3f..000000000000
--- a/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/profiler/sampling_profiler_thread_token.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/profiler/sampling_profiler_thread_token.cc
-@@ -7,7 +7,7 @@
- namespace base {
-
- SamplingProfilerThreadToken GetSamplingProfilerCurrentThreadToken() {
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- return {PlatformThread::CurrentId(), pthread_self()};
- #else
- return {PlatformThread::CurrentId()};
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
deleted file mode 100644
index b9f665289555..000000000000
--- a/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/profiler/sampling_profiler_thread_token.h.orig 2021-04-14 18:40:48 UTC
-+++ base/profiler/sampling_profiler_thread_token.h
-@@ -9,7 +9,7 @@
- #include "base/threading/platform_thread.h"
- #include "build/build_config.h"
-
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <pthread.h>
- #endif
-
-@@ -21,7 +21,7 @@ namespace base {
- // functions used to obtain the stack base address.
- struct SamplingProfilerThreadToken {
- PlatformThreadId id;
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- pthread_t pthread_id;
- #endif
- };
diff --git a/www/chromium/files/patch-base_profiler_stack__copier__signal.cc b/www/chromium/files/patch-base_profiler_stack__copier__signal.cc
deleted file mode 100644
index 4d309daebe17..000000000000
--- a/www/chromium/files/patch-base_profiler_stack__copier__signal.cc
+++ /dev/null
@@ -1,63 +0,0 @@
---- base/profiler/stack_copier_signal.cc.orig 2021-07-19 18:45:05 UTC
-+++ base/profiler/stack_copier_signal.cc
-@@ -4,7 +4,14 @@
-
- #include "base/profiler/stack_copier_signal.h"
-
-+#if defined(OS_LINUX)
- #include <linux/futex.h>
-+#include <syscall.h>
-+#elif defined(OS_FREEBSD)
-+#include <sys/types.h>
-+#include <sys/thr.h>
-+#include <sys/umtx.h>
-+#endif
- #include <signal.h>
- #include <sys/ucontext.h>
- #include <syscall.h>
-@@ -37,8 +44,13 @@ class AsyncSafeWaitableEvent {
- // for a pthread mutex. So, also check the condition.
- while (true) {
- int res =
-+#if defined(OS_LINUX)
- syscall(SYS_futex, futex_int_ptr(), FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
- 0, nullptr, nullptr, 0);
-+#elif defined(OS_FREEBSD)
-+ _umtx_op(futex_int_ptr(), UMTX_OP_WAIT_UINT_PRIVATE, 0, nullptr,
-+ nullptr);
-+#endif
- if (futex_.load(std::memory_order_acquire) != 0)
- return true;
- if (res != 0)
-@@ -48,8 +60,12 @@ class AsyncSafeWaitableEvent {
-
- void Signal() {
- futex_.store(1, std::memory_order_release);
-+#if defined(OS_LINUX)
- syscall(SYS_futex, futex_int_ptr(), FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1,
- nullptr, nullptr, 0);
-+#elif defined(OS_FREEBSD)
-+ _umtx_op(futex_int_ptr(), UMTX_OP_WAKE_PRIVATE, 1, nullptr, nullptr);
-+#endif
- }
-
- private:
-@@ -223,11 +239,18 @@ bool StackCopierSignal::CopyStack(StackBuffer* stack_b
- if (!scoped_sigaction.succeeded())
- return false;
-
-+#if defined(OS_LINUX)
- if (syscall(SYS_tgkill, getpid(), thread_delegate_->GetThreadId(),
- SIGURG) != 0) {
- NOTREACHED();
- return false;
- }
-+#elif defined(OS_FREEBSD)
-+ if (thr_kill2(getpid(), thread_delegate_->GetThreadId(), SIGURG) != 0) {
-+ NOTREACHED();
-+ return false;
-+ }
-+#endif
- bool finished_waiting = wait_event.Wait();
- TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("cpu_profiler.debug"),
- "StackCopierSignal copy stack");
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
deleted file mode 100644
index 039d8c363856..000000000000
--- a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/profiler/stack_sampling_profiler_test_util.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/profiler/stack_sampling_profiler_test_util.cc
-@@ -32,7 +32,7 @@
- // Fortunately, it provides _alloca, which functions identically.
- #include <malloc.h>
- #define alloca _alloca
--#else
-+#elif !defined(OS_BSD)
- #include <alloca.h>
- #endif
-
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
deleted file mode 100644
index 6de970a38eeb..000000000000
--- a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/profiler/stack_sampling_profiler_unittest.cc.orig 2021-09-14 01:51:47 UTC
-+++ base/profiler/stack_sampling_profiler_unittest.cc
-@@ -41,7 +41,7 @@
- #include <intrin.h>
- #include <malloc.h>
- #include <windows.h>
--#else
-+#elif !defined(OS_BSD)
- #include <alloca.h>
- #endif
-
diff --git a/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc b/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc
deleted file mode 100644
index 2cfaf0bebbc0..000000000000
--- a/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc
+++ /dev/null
@@ -1,68 +0,0 @@
---- base/profiler/thread_delegate_posix.cc.orig 2021-09-14 01:51:47 UTC
-+++ base/profiler/thread_delegate_posix.cc
-@@ -12,6 +12,10 @@
- #include "build/build_config.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
-
-+#if defined(OS_BSD)
-+#include <pthread_np.h>
-+#endif
-+
- #if defined(OS_ANDROID)
- #include "base/files/file_util.h"
- #include "base/files/scoped_file.h"
-@@ -42,7 +46,12 @@ absl::optional<uintptr_t> GetAndroidMainThreadStackBas
- uintptr_t GetThreadStackBaseAddressImpl(
- SamplingProfilerThreadToken thread_token) {
- pthread_attr_t attr;
-+#if defined(OS_FREEBSD)
-+ pthread_attr_init(&attr);
-+ pthread_attr_get_np(thread_token.pthread_id, &attr);
-+#elif defined(OS_LINUX)
- pthread_getattr_np(thread_token.pthread_id, &attr);
-+#endif
- // See crbug.com/617730 for limitations of this approach on Linux.
- void* address;
- size_t size;
-@@ -129,16 +138,33 @@ std::vector<uintptr_t*> ThreadDelegatePosix::GetRegist
- return {
- // Return the set of callee-save registers per the i386 System V ABI
- // section 2.2.3, plus the stack pointer.
-+#if defined(OS_FREEBSD)
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_ebx),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_ebp),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_esi),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_edi),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_esp),
-+#else
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_EBX]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_EBP]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_ESI]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_EDI]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_ESP]),
-+#endif
- };
- #elif defined(ARCH_CPU_X86_FAMILY) && defined(ARCH_CPU_64_BITS)
- return {
- // Return the set of callee-save registers per the x86-64 System V ABI
- // section 3.2.1, plus the stack pointer.
-+#if defined(OS_FREEBSD)
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_rbp),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_rbx),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_r12),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_r13),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_r14),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_r15),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_rsp),
-+#else
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RBP]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RBX]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R12]),
-@@ -146,6 +172,7 @@ std::vector<uintptr_t*> ThreadDelegatePosix::GetRegist
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R14]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R15]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RSP]),
-+#endif
- };
- #else // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS)
- // Unimplemented for other architectures.
diff --git a/www/chromium/files/patch-base_rand__util.h b/www/chromium/files/patch-base_rand__util.h
new file mode 100644
index 000000000000..1b379c09a366
--- /dev/null
+++ b/www/chromium/files/patch-base_rand__util.h
@@ -0,0 +1,11 @@
+--- base/rand_util.h.orig 2022-02-07 13:39:41 UTC
++++ base/rand_util.h
+@@ -77,7 +77,7 @@ void RandomShuffle(Itr first, Itr last) {
+ std::shuffle(first, last, RandomBitGenerator());
+ }
+
+-#if defined(OS_POSIX)
++#if defined(OS_POSIX) && !defined(OS_OPENBSD)
+ 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
new file mode 100644
index 000000000000..0d7503d62921
--- /dev/null
+++ b/www/chromium/files/patch-base_rand__util__posix.cc
@@ -0,0 +1,52 @@
+--- base/rand_util_posix.cc.orig 2022-02-07 13:39:41 UTC
++++ base/rand_util_posix.cc
+@@ -17,7 +17,7 @@
+ #include "base/posix/eintr_wrapper.h"
+ #include "build/build_config.h"
+
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_NACL)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_NACL) && !defined(OS_BSD)
+ #include "third_party/lss/linux_syscall_support.h"
+ #elif defined(OS_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 !defined(OS_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 {
+ private:
+ const int fd_;
+ };
++#endif
+
+ } // 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 !defined(OS_OPENBSD)
+ #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_NACL)
+ // We have to call `getrandom` via Linux Syscall Support, rather than through
+ // the libc wrapper, because we might not have an up-to-date libc (e.g. on
+@@ -93,11 +96,16 @@ void RandBytes(void* output, size_t output_length) {
+ const bool success =
+ ReadFromFD(urandom_fd, static_cast<char*>(output), output_length);
+ CHECK(success);
++#else
++ arc4random_buf(static_cast<char*>(output), output_length);
++#endif
+ }
+
++#if !defined(OS_OPENBSD)
+ int GetUrandomFD() {
+ static NoDestructor<URandomFd> urandom_fd;
+ return urandom_fd->fd();
+ }
++#endif
+
+ } // namespace base
diff --git a/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc b/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc
deleted file mode 100644
index 78f5a70b338c..000000000000
--- a/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- base/sampling_heap_profiler/sampling_heap_profiler.cc.orig 2021-09-14 01:51:47 UTC
-+++ base/sampling_heap_profiler/sampling_heap_profiler.cc
-@@ -27,6 +27,10 @@
- #include <sys/prctl.h>
- #endif
-
-+#if defined(OS_BSD)
-+#include <pthread_np.h>
-+#endif
-+
- #if defined(OS_ANDROID) && BUILDFLAG(CAN_UNWIND_WITH_CFI_TABLE) && \
- defined(OFFICIAL_BUILD)
- #include "base/trace_event/cfi_backtrace_android.h" // no-presubmit-check
-@@ -62,6 +66,10 @@ const char* GetAndLeakThreadName() {
- #elif defined(OS_APPLE)
- int err = pthread_getname_np(pthread_self(), name, kBufferLen);
- if (err == 0 && *name != '\0')
-+ return strdup(name);
-+#elif defined(OS_BSD) && __FreeBSD__ >= 12
-+ pthread_get_name_np(pthread_self(), name, kBufferLen);
-+ if (*name != '\0')
- return strdup(name);
- #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-
diff --git a/www/chromium/files/patch-base_security__unittest.cc b/www/chromium/files/patch-base_security__unittest.cc
deleted file mode 100644
index 75edbfea9696..000000000000
--- a/www/chromium/files/patch-base_security__unittest.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- base/security_unittest.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/security_unittest.cc
-@@ -61,7 +61,7 @@ NOINLINE Type HideValueFromCompiler(volatile Type valu
- void OverflowTestsSoftExpectTrue(bool overflow_detected) {
- if (!overflow_detected) {
- #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-- defined(OS_APPLE)
-+ defined(OS_APPLE) || defined(OS_BSD)
- // Sadly, on Linux, Android, and OSX we don't have a good story yet. Don't
- // fail the test, but report.
- printf("Platform has overflow: %s\n",
-@@ -121,7 +121,7 @@ TEST(SecurityTest, MAYBE_NewOverflow) {
- #endif // !defined(OS_WIN) || !defined(ARCH_CPU_64_BITS)
- }
-
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(__x86_64__)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(__x86_64__)
- // Check if ptr1 and ptr2 are separated by less than size chars.
- bool ArePointersToSameArea(void* ptr1, void* ptr2, size_t size) {
- ptrdiff_t ptr_diff = reinterpret_cast<char*>(std::max(ptr1, ptr2)) -
-@@ -175,6 +175,6 @@ TEST(SecurityTest, MALLOC_OVERFLOW_TEST(RandomMemoryAl
- EXPECT_FALSE(impossible_random_address);
- }
-
--#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(__x86_64__)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(__x86_64__)
-
- } // namespace
diff --git a/www/chromium/files/patch-base_strings_string__util.cc b/www/chromium/files/patch-base_strings_string__util.cc
new file mode 100644
index 000000000000..1003ec60edef
--- /dev/null
+++ b/www/chromium/files/patch-base_strings_string__util.cc
@@ -0,0 +1,11 @@
+--- base/strings/string_util.cc.orig 2022-02-07 13:39:41 UTC
++++ base/strings/string_util.cc
+@@ -36,7 +36,7 @@ namespace base {
+ bool IsWprintfFormatPortable(const wchar_t* format) {
+ // This snippet of code checks that we can build C++17 code.
+ // TODO(thakis): Enable this on all platforms, and then remove it again.
+-#if !defined(OS_LINUX) && !BUILDFLAG(CFI_ICALL_CHECK) && \
++#if !defined(OS_LINUX) && !defined(OS_BSD) && !BUILDFLAG(CFI_ICALL_CHECK) && \
+ !BUILDFLAG(CFI_CAST_CHECK)
+ if constexpr (constexpr int i = 0; i > 0) {
+ }
diff --git a/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc b/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc
deleted file mode 100644
index bc016b95adbe..000000000000
--- a/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- base/strings/sys_string_conversions_unittest.cc.orig 2021-09-14 01:51:47 UTC
-+++ base/strings/sys_string_conversions_unittest.cc
-@@ -75,7 +75,7 @@ TEST(SysStrings, SysUTF8ToWide) {
- }
-
- // Tests depend on setting a specific Linux locale.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- TEST(SysStrings, SysWideToNativeMB) {
- #if !defined(SYSTEM_NATIVE_UTF8)
- ScopedLocale locale("en_US.UTF-8");
-@@ -190,6 +190,6 @@ TEST(SysStrings, SysNativeMBAndWide) {
- EXPECT_EQ(wide, trip);
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- } // namespace base
diff --git a/www/chromium/files/patch-base_synchronization_lock__impl.h b/www/chromium/files/patch-base_synchronization_lock__impl.h
index b64073a52629..5e7c175fb687 100644
--- a/www/chromium/files/patch-base_synchronization_lock__impl.h
+++ b/www/chromium/files/patch-base_synchronization_lock__impl.h
@@ -1,19 +1,23 @@
---- base/synchronization/lock_impl.h.orig 2021-12-14 11:44:55 UTC
+--- base/synchronization/lock_impl.h.orig 2022-02-07 13:39:41 UTC
+++ base/synchronization/lock_impl.h
-@@ -107,6 +107,8 @@ void LockImpl::Unlock() {
+@@ -107,6 +107,10 @@ void LockImpl::Unlock() {
}
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)
++#if defined(OS_FREEBSD)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wthread-safety-analysis"
++#endif
BASE_EXPORT std::string SystemErrorCodeToString(int error_code);
-@@ -121,6 +123,7 @@ void LockImpl::Unlock() {
+@@ -121,6 +125,9 @@ void LockImpl::Unlock() {
int rv = pthread_mutex_unlock(&native_handle_);
DCHECK_EQ(rv, 0) << ". " << strerror(rv);
}
++#if defined(OS_FREEBSD)
+#pragma GCC diagnostic pop
++#endif
#endif
// This is an implementation used for AutoLock templated on the lock type.
diff --git a/www/chromium/files/patch-base_system_sys__info.cc b/www/chromium/files/patch-base_system_sys__info.cc
index ad07c1b750e5..66ca14e577d0 100644
--- a/www/chromium/files/patch-base_system_sys__info.cc
+++ b/www/chromium/files/patch-base_system_sys__info.cc
@@ -1,6 +1,6 @@
---- base/system/sys_info.cc.orig 2021-12-14 11:44:55 UTC
+--- base/system/sys_info.cc.orig 2022-02-07 13:39:41 UTC
+++ base/system/sys_info.cc
-@@ -92,7 +92,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback<void(
+@@ -100,7 +100,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback<void(
#if defined(OS_WIN) || defined(OS_ANDROID) || defined(OS_APPLE)
base::ThreadPool::PostTaskAndReplyWithResult(
FROM_HERE, {}, base::BindOnce(&GetHardwareInfoSync), std::move(callback));
diff --git a/www/chromium/files/patch-base_system_sys__info.h b/www/chromium/files/patch-base_system_sys__info.h
index b546599cf524..4991e13686f3 100644
--- a/www/chromium/files/patch-base_system_sys__info.h
+++ b/www/chromium/files/patch-base_system_sys__info.h
@@ -1,7 +1,7 @@
---- base/system/sys_info.h.orig 2021-09-14 01:51:47 UTC
+--- base/system/sys_info.h.orig 2022-02-07 13:39:41 UTC
+++ base/system/sys_info.h
-@@ -210,6 +210,8 @@ class BASE_EXPORT SysInfo {
- // On Desktop this returns true when memory <= 512MB.
+@@ -236,6 +236,8 @@ class BASE_EXPORT SysInfo {
+ // On Desktop this returns true when memory <= 2GB.
static bool IsLowEndDevice();
+ static uint64_t MaxSharedMemorySize();
@@ -9,12 +9,12 @@
private:
FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory);
FRIEND_TEST_ALL_PREFIXES(debug::SystemMetricsTest, ParseMeminfo);
-@@ -219,7 +221,7 @@ class BASE_EXPORT SysInfo {
- static bool IsLowEndDeviceImpl();
+@@ -246,7 +248,7 @@ class BASE_EXPORT SysInfo {
static HardwareInfo GetHardwareInfoSync();
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
static int64_t AmountOfAvailablePhysicalMemory(
const SystemMemoryInfoKB& meminfo);
+ #endif
diff --git a/www/chromium/files/patch-base_system_sys__info__openbsd.cc b/www/chromium/files/patch-base_system_sys__info__openbsd.cc
new file mode 100644
index 000000000000..9da562746469
--- /dev/null
+++ b/www/chromium/files/patch-base_system_sys__info__openbsd.cc
@@ -0,0 +1,100 @@
+--- base/system/sys_info_openbsd.cc.orig 2022-02-07 13:39:41 UTC
++++ base/system/sys_info_openbsd.cc
+@@ -12,6 +12,7 @@
+
+ #include "base/cxx17_backports.h"
+ #include "base/notreached.h"
++#include "base/strings/string_util.h"
+
+ namespace {
+
+@@ -29,9 +30,14 @@ int64_t AmountOfMemory(int pages_name) {
+
+ namespace base {
+
++// pledge(2)
++int64_t aofpmem = 0;
++int64_t aofapmem = 0;
++int64_t shmmax = 0;
++
+ // static
+ int SysInfo::NumberOfProcessors() {
+- int mib[] = {CTL_HW, HW_NCPU};
++ int mib[] = {CTL_HW, HW_NCPUONLINE};
+ int ncpu;
+ size_t size = sizeof(ncpu);
+ if (sysctl(mib, base::size(mib), &ncpu, &size, NULL, 0) < 0) {
+@@ -43,38 +49,61 @@ int SysInfo::NumberOfProcessors() {
+
+ // static
+ int64_t SysInfo::AmountOfPhysicalMemoryImpl() {
+- return AmountOfMemory(_SC_PHYS_PAGES);
++ // pledge(2)
++ if (!aofpmem)
++ aofpmem = AmountOfMemory(_SC_PHYS_PAGES);
++ return aofpmem;
+ }
+
+ // static
+ int64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() {
+ // We should add inactive file-backed memory also but there is no such
+ // information from OpenBSD unfortunately.
+- return AmountOfMemory(_SC_AVPHYS_PAGES);
++ // pledge(2)
++ if (!aofapmem)
++ aofapmem = AmountOfMemory(_SC_AVPHYS_PAGES);
++ return aofapmem;
+ }
+
+ // static
++std::string SysInfo::CPUModelName() {
++ int mib[] = {CTL_HW, HW_MODEL};
++ char name[256];
++ size_t len = base::size(name);
++ if (sysctl(mib, base::size(mib), name, &len, NULL, 0) < 0) {
++ NOTREACHED();
++ return std::string();
++ }
++ return name;
++}
++
++// static
+ uint64_t SysInfo::MaxSharedMemorySize() {
+ int mib[] = {CTL_KERN, KERN_SHMINFO, KERN_SHMINFO_SHMMAX};
+ size_t limit;
+ size_t size = sizeof(limit);
++ // pledge(2)
++ if (shmmax)
++ goto out;
+ if (sysctl(mib, base::size(mib), &limit, &size, NULL, 0) < 0) {
+ NOTREACHED();
+ return 0;
+ }
+- return static_cast<uint64_t>(limit);
++ shmmax = static_cast<uint64_t>(limit);
++out:
++ return shmmax;
+ }
+
+ // static
+-std::string SysInfo::CPUModelName() {
+- int mib[] = {CTL_HW, HW_MODEL};
+- char name[256];
+- size_t len = base::size(name);
+- if (sysctl(mib, base::size(mib), name, &len, NULL, 0) < 0) {
+- NOTREACHED();
+- return std::string();
+- }
+- return name;
++SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() {
++ HardwareInfo info;
++ // Set the manufacturer to "OpenBSD" and the model to
++ // an empty string.
++ info.manufacturer = "OpenBSD";
++ info.model = HardwareModelName();
++ DCHECK(IsStringUTF8(info.manufacturer));
++ DCHECK(IsStringUTF8(info.model));
++ return info;
+ }
+
+ } // namespace base
diff --git a/www/chromium/files/patch-base_system_sys__info__posix.cc b/www/chromium/files/patch-base_system_sys__info__posix.cc
index 46bca98b2550..107e2da853a5 100644
--- a/www/chromium/files/patch-base_system_sys__info__posix.cc
+++ b/www/chromium/files/patch-base_system_sys__info__posix.cc
@@ -1,18 +1,6 @@
---- base/system/sys_info_posix.cc.orig 2021-04-14 18:40:48 UTC
+--- base/system/sys_info_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/system/sys_info_posix.cc
-@@ -26,6 +26,11 @@
- #if defined(OS_ANDROID)
- #include <sys/vfs.h>
- #define statvfs statfs // Android uses a statvfs-like statfs struct and call.
-+#elif defined(OS_BSD)
-+#include <sys/param.h>
-+#include <sys/mount.h>
-+#define statvfs statfs
-+#define f_frsize f_bsize
- #else
- #include <sys/statvfs.h>
- #endif
-@@ -239,6 +244,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
+@@ -252,6 +252,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
deleted file mode 100644
index e266b5462fbe..000000000000
--- a/www/chromium/files/patch-base_system_sys__info__unittest.cc
+++ /dev/null
@@ -1,46 +0,0 @@
---- base/system/sys_info_unittest.cc.orig 2021-12-31 00:57:18 UTC
-+++ base/system/sys_info_unittest.cc
-@@ -64,13 +64,13 @@ TEST_F(SysInfoTest, AmountOfMem) {
- EXPECT_GE(SysInfo::AmountOfVirtualMemory(), 0);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #define MAYBE_AmountOfAvailablePhysicalMemory \
- DISABLED_AmountOfAvailablePhysicalMemory
- #else
- #define MAYBE_AmountOfAvailablePhysicalMemory AmountOfAvailablePhysicalMemory
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- TEST_F(SysInfoTest, MAYBE_AmountOfAvailablePhysicalMemory) {
- // Note: info is in _K_bytes.
- SystemMemoryInfoKB info;
-@@ -101,7 +101,7 @@ TEST_F(SysInfoTest, MAYBE_AmountOfAvailablePhysicalMem
- EXPECT_GT(amount, static_cast<int64_t>(info.free) * 1024);
- EXPECT_LT(amount / 1024, info.total);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- TEST_F(SysInfoTest, AmountOfFreeDiskSpace) {
- // We aren't actually testing that it's correct, just that it's sane.
-@@ -141,7 +141,7 @@ TEST_F(SysInfoTest, NestedVolumesAmountOfTotalDiskSpac
- }
- #endif // defined(OS_FUCHSIA)
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
- TEST_F(SysInfoTest, OperatingSystemVersionNumbers) {
- int32_t os_major_version = -1;
-@@ -227,7 +227,7 @@ TEST_F(SysInfoTest, GetHardwareInfo) {
- EXPECT_TRUE(IsStringUTF8(hardware_info->model));
- bool empty_result_expected =
- #if defined(OS_ANDROID) || defined(OS_APPLE) || defined(OS_WIN) || \
-- defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_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
deleted file mode 100644
index af894c771972..000000000000
--- a/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/task/thread_pool/environment_config_unittest.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/task/thread_pool/environment_config_unittest.cc
-@@ -14,7 +14,7 @@ namespace internal {
- TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPriorityForWorker) {
- #if defined(OS_WIN) || defined(OS_APPLE)
- EXPECT_TRUE(CanUseBackgroundPriorityForWorkerThread());
--#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || \
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_NACL)
- EXPECT_FALSE(CanUseBackgroundPriorityForWorkerThread());
- #else
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 13fb245637cf..9625a1f0bd0d 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 2021-12-14 11:44:55 UTC
+--- base/test/launcher/test_launcher.cc.orig 2022-02-07 13:39:41 UTC
+++ base/test/launcher/test_launcher.cc
-@@ -62,6 +62,7 @@
+@@ -63,6 +63,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_POSIX)
@@ -8,21 +8,3 @@
#include <fcntl.h>
#include "base/files/file_descriptor_watcher_posix.h"
-@@ -620,7 +621,7 @@ ChildProcessResults DoLaunchChildTestProcess(
- #if !defined(OS_FUCHSIA)
- options.new_process_group = true;
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- options.kill_on_parent_death = true;
- #endif
-
-@@ -1571,7 +1572,7 @@ bool TestLauncher::Init(CommandLine* command_line) {
- results_tracker_.AddGlobalTag("OS_IOS");
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- results_tracker_.AddGlobalTag("OS_LINUX");
- #endif
-
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
new file mode 100644
index 000000000000..137d156cf616
--- /dev/null
+++ b/www/chromium/files/patch-base_test_test__file__util__linux.cc
@@ -0,0 +1,13 @@
+--- base/test/test_file_util_linux.cc.orig 2022-02-07 13:39:41 UTC
++++ base/test/test_file_util_linux.cc
+@@ -52,8 +52,10 @@ bool EvictFileFromSystemCache(const FilePath& file) {
+ return false;
+ if (fdatasync(fd.get()) != 0)
+ return false;
++#if !defined(OS_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
deleted file mode 100644
index 2bd4c0452c6b..000000000000
--- a/www/chromium/files/patch-base_test_test__file__util__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/test/test_file_util_posix.cc.orig 2021-04-14 18:40:48 UTC
-+++ base/test/test_file_util_posix.cc
-@@ -87,7 +87,7 @@ void SyncPageCacheToDisk() {
- sync();
- }
-
--#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_APPLE) && \
-+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_APPLE) && !defined(OS_BSD) && \
- !defined(OS_ANDROID)
- bool EvictFileFromSystemCache(const FilePath& file) {
- // There doesn't seem to be a POSIX way to cool the disk cache.
diff --git a/www/chromium/files/patch-base_test_test__suite.cc b/www/chromium/files/patch-base_test_test__suite.cc
deleted file mode 100644
index 511cfda2c7e8..000000000000
--- a/www/chromium/files/patch-base_test_test__suite.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/test/test_suite.cc.orig 2022-01-05 13:32:44 UTC
-+++ base/test/test_suite.cc
-@@ -221,7 +221,7 @@ class CheckForLeakedGlobals : public testing::EmptyTes
- };
-
- // base::Process is not available on iOS
--#if !defined(OS_IOS)
-+#if !defined(OS_IOS) && !defined(OS_BSD)
- class CheckProcessPriority : public testing::EmptyTestEventListener {
- public:
- CheckProcessPriority() { CHECK(!IsProcessBackgrounded()); }
-@@ -634,7 +634,7 @@ void TestSuite::Initialize() {
- if (check_for_leaked_globals_)
- listeners.Append(new CheckForLeakedGlobals);
- if (check_for_thread_and_process_priority_) {
--#if !defined(OS_IOS)
-+#if !defined(OS_IOS) && !defined(OS_BSD)
- listeners.Append(new CheckProcessPriority);
- #endif
- }
diff --git a/www/chromium/files/patch-base_third__party_libevent_event-config.h b/www/chromium/files/patch-base_third__party_libevent_event-config.h
new file mode 100644
index 000000000000..eaa2383bbb97
--- /dev/null
+++ b/www/chromium/files/patch-base_third__party_libevent_event-config.h
@@ -0,0 +1,11 @@
+--- base/third_party/libevent/event-config.h.orig 2022-02-07 13:39:41 UTC
++++ base/third_party/libevent/event-config.h
+@@ -13,6 +13,8 @@
+ #include "base/third_party/libevent/linux/event-config.h"
+ #elif defined(__FreeBSD__)
+ #include "base/third_party/libevent/freebsd/event-config.h"
++#elif defined(__OpenBSD__)
++#include "base/third_party/libevent/openbsd/event-config.h"
+ #elif defined(__sun)
+ #include "base/third_party/libevent/solaris/event-config.h"
+ #elif defined(_AIX)
diff --git a/www/chromium/files/patch-base_third__party_libevent_openbsd_config.h b/www/chromium/files/patch-base_third__party_libevent_openbsd_config.h
new file mode 100644
index 000000000000..6c3c65196f6d
--- /dev/null
+++ b/www/chromium/files/patch-base_third__party_libevent_openbsd_config.h
@@ -0,0 +1,279 @@
+--- base/third_party/libevent/openbsd/config.h.orig 2022-02-07 13:39:41 UTC
++++ base/third_party/libevent/openbsd/config.h
+@@ -0,0 +1,276 @@
++/* config.h. Generated from config.h.in by configure. */
++/* config.h.in. Generated from configure.in by autoheader. */
++
++/* Define if clock_gettime is available in libc */
++#define DNS_USE_CPU_CLOCK_FOR_ID 1
++
++/* Define is no secure id variant is available */
++/* #undef DNS_USE_GETTIMEOFDAY_FOR_ID */
++
++/* Define to 1 if you have the `clock_gettime' function. */
++#define HAVE_CLOCK_GETTIME 1
++
++/* Define if /dev/poll is available */
++/* #undef HAVE_DEVPOLL */
++
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#define HAVE_DLFCN_H 1
++
++/* Define if your system supports the epoll system calls */
++/* #undef HAVE_EPOLL */
++
++/* Define to 1 if you have the `epoll_ctl' function. */
++/* #undef HAVE_EPOLL_CTL */
++
++/* Define if your system supports event ports */
++/* #undef HAVE_EVENT_PORTS */
++
++/* Define to 1 if you have the `fcntl' function. */
++#define HAVE_FCNTL 1
++
++/* Define to 1 if you have the <fcntl.h> header file. */
++#define HAVE_FCNTL_H 1
++
++/* Define to 1 if the system has the type `fd_mask'. */
++#define HAVE_FD_MASK 1
++
++/* Define to 1 if you have the `getaddrinfo' function. */
++#define HAVE_GETADDRINFO 1
++
++/* Define to 1 if you have the `getegid' function. */
++#define HAVE_GETEGID 1
++
++/* Define to 1 if you have the `geteuid' function. */
++#define HAVE_GETEUID 1
++
++/* Define to 1 if you have the `getnameinfo' function. */
++#define HAVE_GETNAMEINFO 1
++
++/* Define to 1 if you have the `gettimeofday' function. */
++#define HAVE_GETTIMEOFDAY 1
++
++/* Define to 1 if you have the `inet_ntop' function. */
++#define HAVE_INET_NTOP 1
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#define HAVE_INTTYPES_H 1
++
++/* Define to 1 if you have the `issetugid' function. */
++#define HAVE_ISSETUGID 1
++
++/* Define to 1 if you have the `kqueue' function. */
++#define HAVE_KQUEUE 1
++
++/* Define to 1 if you have the `nsl' library (-lnsl). */
++/* #undef HAVE_LIBNSL */
++
++/* Define to 1 if you have the `resolv' library (-lresolv). */
++/* #undef HAVE_LIBRESOLV */
++
++/* Define to 1 if you have the `rt' library (-lrt). */
++/* #undef HAVE_LIBRT */
++
++/* Define to 1 if you have the `socket' library (-lsocket). */
++/* #undef HAVE_LIBSOCKET */
++
++/* Define to 1 if you have the <memory.h> header file. */
++#define HAVE_MEMORY_H 1
++
++/* Define to 1 if you have the <netinet/in6.h> header file. */
++/* #undef HAVE_NETINET_IN6_H */
++
++/* Define to 1 if you have the `poll' function. */
++#define HAVE_POLL 1
++
++/* Define to 1 if you have the <poll.h> header file. */
++#define HAVE_POLL_H 1
++
++/* Define to 1 if you have the `port_create' function. */
++/* #undef HAVE_PORT_CREATE */
++
++/* Define to 1 if you have the <port.h> header file. */
++/* #undef HAVE_PORT_H */
++
++/* Define to 1 if you have the `select' function. */
++#define HAVE_SELECT 1
++
++/* Define if F_SETFD is defined in <fcntl.h> */
++#define HAVE_SETFD 1
++
++/* Define to 1 if you have the `sigaction' function. */
++#define HAVE_SIGACTION 1
++
++/* Define to 1 if you have the `signal' function. */
++#define HAVE_SIGNAL 1
++
++/* Define to 1 if you have the <signal.h> header file. */
++#define HAVE_SIGNAL_H 1
++
++/* Define to 1 if you have the <stdarg.h> header file. */
++#define HAVE_STDARG_H 1
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#define HAVE_STDINT_H 1
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++#define HAVE_STRINGS_H 1
++
++/* Define to 1 if you have the <string.h> header file. */
++#define HAVE_STRING_H 1
++
++/* Define to 1 if you have the `strlcpy' function. */
++#define HAVE_STRLCPY 1
++
++/* Define to 1 if you have the `strsep' function. */
++#define HAVE_STRSEP 1
++
++/* Define to 1 if you have the `strtok_r' function. */
++#define HAVE_STRTOK_R 1
++
++/* Define to 1 if you have the `strtoll' function. */
++#define HAVE_STRTOLL 1
++
++/* Define to 1 if the system has the type `struct in6_addr'. */
++#define HAVE_STRUCT_IN6_ADDR 1
++
++/* Define to 1 if you have the <sys/devpoll.h> header file. */
++/* #undef HAVE_SYS_DEVPOLL_H */
++
++/* Define to 1 if you have the <sys/epoll.h> header file. */
++/* #undef HAVE_SYS_EPOLL_H */
++
++/* Define to 1 if you have the <sys/event.h> header file. */
++#define HAVE_SYS_EVENT_H 1
++
++/* Define to 1 if you have the <sys/ioctl.h> header file. */
++#define HAVE_SYS_IOCTL_H 1
++
++/* Define to 1 if you have the <sys/param.h> header file. */
++#define HAVE_SYS_PARAM_H 1
++
++/* Define to 1 if you have the <sys/queue.h> header file. */
++#define HAVE_SYS_QUEUE_H 1
++
++/* Define to 1 if you have the <sys/select.h> header file. */
++#define HAVE_SYS_SELECT_H 1
++
++/* Define to 1 if you have the <sys/socket.h> header file. */
++#define HAVE_SYS_SOCKET_H 1
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have the <sys/time.h> header file. */
++#define HAVE_SYS_TIME_H 1
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#define HAVE_SYS_TYPES_H 1
++
++/* Define if TAILQ_FOREACH is defined in <sys/queue.h> */
++#define HAVE_TAILQFOREACH 1
++
++/* Define if timeradd is defined in <sys/time.h> */
++#define HAVE_TIMERADD 1
++
++/* Define if timerclear is defined in <sys/time.h> */
++#define HAVE_TIMERCLEAR 1
++
++/* Define if timercmp is defined in <sys/time.h> */
++#define HAVE_TIMERCMP 1
++
++/* Define if timerisset is defined in <sys/time.h> */
++#define HAVE_TIMERISSET 1
++
++/* Define to 1 if the system has the type `uint16_t'. */
++#define HAVE_UINT16_T 1
++
++/* Define to 1 if the system has the type `uint32_t'. */
++#define HAVE_UINT32_T 1
++
++/* Define to 1 if the system has the type `uint64_t'. */
++#define HAVE_UINT64_T 1
++
++/* Define to 1 if the system has the type `uint8_t'. */
++#define HAVE_UINT8_T 1
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++
++/* Define to 1 if you have the `vasprintf' function. */
++#define HAVE_VASPRINTF 1
++
++/* Define if kqueue works correctly with pipes */
++#define HAVE_WORKING_KQUEUE 1
++
++/* Define to the sub-directory in which libtool stores uninstalled libraries.
++ */
++#define LT_OBJDIR ".libs/"
++
++/* Numeric representation of the version */
++#define NUMERIC_VERSION 0x01040f00
++
++/* Name of package */
++#define PACKAGE "libevent"
++
++/* Define to the address where bug reports for this package should be sent. */
++#define PACKAGE_BUGREPORT ""
++
++/* Define to the full name of this package. */
++#define PACKAGE_NAME ""
++
++/* Define to the full name and version of this package. */
++#define PACKAGE_STRING ""
++
++/* Define to the one symbol short name of this package. */
++#define PACKAGE_TARNAME ""
++
++/* Define to the home page for this package. */
++#define PACKAGE_URL ""
++
++/* Define to the version of this package. */
++#define PACKAGE_VERSION ""
++
++/* The size of `int', as computed by sizeof. */
++#define SIZEOF_INT 4
++
++/* The size of `long', as computed by sizeof. */
++#define SIZEOF_LONG 8
++
++/* The size of `long long', as computed by sizeof. */
++#define SIZEOF_LONG_LONG 8
++
++/* The size of `short', as computed by sizeof. */
++#define SIZEOF_SHORT 2
++
++/* Define to 1 if you have the ANSI C header files. */
++#define STDC_HEADERS 1
++
++/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
++#define TIME_WITH_SYS_TIME 1
++
++/* Version number of package */
++#define VERSION "1.4.15"
++
++/* Define to appropriate substitue if compiler doesnt have __func__ */
++/* #undef __func__ */
++
++/* Define to empty if `const' does not conform to ANSI C. */
++/* #undef const */
++
++/* Define to `__inline__' or `__inline' if that's what the C compiler
++ calls it, or to nothing if 'inline' is not supported under any name. */
++#ifndef __cplusplus
++/* #undef inline */
++#endif
++
++/* Define to `int' if <sys/types.h> does not define. */
++/* #undef pid_t */
++
++/* Define to `unsigned int' if <sys/types.h> does not define. */
++/* #undef size_t */
++
++/* Define to unsigned int if you dont have it */
++/* #undef socklen_t */
diff --git a/www/chromium/files/patch-base_third__party_libevent_openbsd_event-config.h b/www/chromium/files/patch-base_third__party_libevent_openbsd_event-config.h
new file mode 100644
index 000000000000..de5423361f24
--- /dev/null
+++ b/www/chromium/files/patch-base_third__party_libevent_openbsd_event-config.h
@@ -0,0 +1,287 @@
+--- base/third_party/libevent/openbsd/event-config.h.orig 2022-02-07 13:39:41 UTC
++++ base/third_party/libevent/openbsd/event-config.h
+@@ -0,0 +1,284 @@
++/* event-config.h
++ * Generated by autoconf; post-processed by libevent.
++ * Do not edit this file.
++ * Do not rely on macros in this file existing in later versions.
++ */
++#ifndef _EVENT_CONFIG_H_
++#define _EVENT_CONFIG_H_
++/* config.h. Generated from config.h.in by configure. */
++/* config.h.in. Generated from configure.in by autoheader. */
++
++/* Define if clock_gettime is available in libc */
++#define _EVENT_DNS_USE_CPU_CLOCK_FOR_ID 1
++
++/* Define is no secure id variant is available */
++/* #undef _EVENT_DNS_USE_GETTIMEOFDAY_FOR_ID */
++
++/* Define to 1 if you have the `clock_gettime' function. */
++#define _EVENT_HAVE_CLOCK_GETTIME 1
++
++/* Define if /dev/poll is available */
++/* #undef _EVENT_HAVE_DEVPOLL */
++
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#define _EVENT_HAVE_DLFCN_H 1
++
++/* Define if your system supports the epoll system calls */
++/* #undef _EVENT_HAVE_EPOLL */
++
++/* Define to 1 if you have the `epoll_ctl' function. */
++/* #undef _EVENT_HAVE_EPOLL_CTL */
++
++/* Define if your system supports event ports */
++/* #undef _EVENT_HAVE_EVENT_PORTS */
++
++/* Define to 1 if you have the `fcntl' function. */
++#define _EVENT_HAVE_FCNTL 1
++
++/* Define to 1 if you have the <fcntl.h> header file. */
++#define _EVENT_HAVE_FCNTL_H 1
++
++/* Define to 1 if the system has the type `fd_mask'. */
++#define _EVENT_HAVE_FD_MASK 1
++
++/* Define to 1 if you have the `getaddrinfo' function. */
++#define _EVENT_HAVE_GETADDRINFO 1
++
++/* Define to 1 if you have the `getegid' function. */
++#define _EVENT_HAVE_GETEGID 1
++
++/* Define to 1 if you have the `geteuid' function. */
++#define _EVENT_HAVE_GETEUID 1
++
++/* Define to 1 if you have the `getnameinfo' function. */
++#define _EVENT_HAVE_GETNAMEINFO 1
++
++/* Define to 1 if you have the `gettimeofday' function. */
++#define _EVENT_HAVE_GETTIMEOFDAY 1
++
++/* Define to 1 if you have the `inet_ntop' function. */
++#define _EVENT_HAVE_INET_NTOP 1
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#define _EVENT_HAVE_INTTYPES_H 1
++
++/* Define to 1 if you have the `issetugid' function. */
++#define _EVENT_HAVE_ISSETUGID 1
++
++/* Define to 1 if you have the `kqueue' function. */
++#define _EVENT_HAVE_KQUEUE 1
++
++/* Define to 1 if you have the `nsl' library (-lnsl). */
++/* #undef _EVENT_HAVE_LIBNSL */
++
++/* Define to 1 if you have the `resolv' library (-lresolv). */
++/* #undef _EVENT_HAVE_LIBRESOLV */
++
++/* Define to 1 if you have the `rt' library (-lrt). */
++/* #undef _EVENT_HAVE_LIBRT */
++
++/* Define to 1 if you have the `socket' library (-lsocket). */
++/* #undef _EVENT_HAVE_LIBSOCKET */
++
++/* Define to 1 if you have the <memory.h> header file. */
++#define _EVENT_HAVE_MEMORY_H 1
++
++/* Define to 1 if you have the <netinet/in6.h> header file. */
++/* #undef _EVENT_HAVE_NETINET_IN6_H */
++
++/* Define to 1 if you have the `poll' function. */
++#define _EVENT_HAVE_POLL 1
++
++/* Define to 1 if you have the <poll.h> header file. */
++#define _EVENT_HAVE_POLL_H 1
++
++/* Define to 1 if you have the `port_create' function. */
++/* #undef _EVENT_HAVE_PORT_CREATE */
++
++/* Define to 1 if you have the <port.h> header file. */
++/* #undef _EVENT_HAVE_PORT_H */
++
++/* Define to 1 if you have the `select' function. */
++#define _EVENT_HAVE_SELECT 1
++
++/* Define if F_SETFD is defined in <fcntl.h> */
++#define _EVENT_HAVE_SETFD 1
++
++/* Define to 1 if you have the `sigaction' function. */
++#define _EVENT_HAVE_SIGACTION 1
++
++/* Define to 1 if you have the `signal' function. */
++#define _EVENT_HAVE_SIGNAL 1
++
++/* Define to 1 if you have the <signal.h> header file. */
++#define _EVENT_HAVE_SIGNAL_H 1
++
++/* Define to 1 if you have the <stdarg.h> header file. */
++#define _EVENT_HAVE_STDARG_H 1
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#define _EVENT_HAVE_STDINT_H 1
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define _EVENT_HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++#define _EVENT_HAVE_STRINGS_H 1
++
++/* Define to 1 if you have the <string.h> header file. */
++#define _EVENT_HAVE_STRING_H 1
++
++/* Define to 1 if you have the `strlcpy' function. */
++#define _EVENT_HAVE_STRLCPY 1
++
++/* Define to 1 if you have the `strsep' function. */
++#define _EVENT_HAVE_STRSEP 1
++
++/* Define to 1 if you have the `strtok_r' function. */
++#define _EVENT_HAVE_STRTOK_R 1
++
++/* Define to 1 if you have the `strtoll' function. */
++#define _EVENT_HAVE_STRTOLL 1
++
++/* Define to 1 if the system has the type `struct in6_addr'. */
++#define _EVENT_HAVE_STRUCT_IN6_ADDR 1
++
++/* Define to 1 if you have the <sys/devpoll.h> header file. */
++/* #undef _EVENT_HAVE_SYS_DEVPOLL_H */
++
++/* Define to 1 if you have the <sys/epoll.h> header file. */
++/* #undef _EVENT_HAVE_SYS_EPOLL_H */
++
++/* Define to 1 if you have the <sys/event.h> header file. */
++#define _EVENT_HAVE_SYS_EVENT_H 1
++
++/* Define to 1 if you have the <sys/ioctl.h> header file. */
++#define _EVENT_HAVE_SYS_IOCTL_H 1
++
++/* Define to 1 if you have the <sys/param.h> header file. */
++#define _EVENT_HAVE_SYS_PARAM_H 1
++
++/* Define to 1 if you have the <sys/queue.h> header file. */
++#define _EVENT_HAVE_SYS_QUEUE_H 1
++
++/* Define to 1 if you have the <sys/select.h> header file. */
++#define _EVENT_HAVE_SYS_SELECT_H 1
++
++/* Define to 1 if you have the <sys/socket.h> header file. */
++#define _EVENT_HAVE_SYS_SOCKET_H 1
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define _EVENT_HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have the <sys/time.h> header file. */
++#define _EVENT_HAVE_SYS_TIME_H 1
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#define _EVENT_HAVE_SYS_TYPES_H 1
++
++/* Define if TAILQ_FOREACH is defined in <sys/queue.h> */
++#define _EVENT_HAVE_TAILQFOREACH 1
++
++/* Define if timeradd is defined in <sys/time.h> */
++#define _EVENT_HAVE_TIMERADD 1
++
++/* Define if timerclear is defined in <sys/time.h> */
++#define _EVENT_HAVE_TIMERCLEAR 1
++
++/* Define if timercmp is defined in <sys/time.h> */
++#define _EVENT_HAVE_TIMERCMP 1
++
++/* Define if timerisset is defined in <sys/time.h> */
++#define _EVENT_HAVE_TIMERISSET 1
++
++/* Define to 1 if the system has the type `uint16_t'. */
++#define _EVENT_HAVE_UINT16_T 1
++
++/* Define to 1 if the system has the type `uint32_t'. */
++#define _EVENT_HAVE_UINT32_T 1
++
++/* Define to 1 if the system has the type `uint64_t'. */
++#define _EVENT_HAVE_UINT64_T 1
++
++/* Define to 1 if the system has the type `uint8_t'. */
++#define _EVENT_HAVE_UINT8_T 1
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define _EVENT_HAVE_UNISTD_H 1
++
++/* Define to 1 if you have the `vasprintf' function. */
++#define _EVENT_HAVE_VASPRINTF 1
++
++/* Define if kqueue works correctly with pipes */
++#define _EVENT_HAVE_WORKING_KQUEUE 1
++
++/* Define to the sub-directory in which libtool stores uninstalled libraries.
++ */
++#define _EVENT_LT_OBJDIR ".libs/"
++
++/* Numeric representation of the version */
++#define _EVENT_NUMERIC_VERSION 0x01040f00
++
++/* Name of package */
++#define _EVENT_PACKAGE "libevent"
++
++/* Define to the address where bug reports for this package should be sent. */
++#define _EVENT_PACKAGE_BUGREPORT ""
++
++/* Define to the full name of this package. */
++#define _EVENT_PACKAGE_NAME ""
++
++/* Define to the full name and version of this package. */
++#define _EVENT_PACKAGE_STRING ""
++
++/* Define to the one symbol short name of this package. */
++#define _EVENT_PACKAGE_TARNAME ""
++
++/* Define to the home page for this package. */
++#define _EVENT_PACKAGE_URL ""
++
++/* Define to the version of this package. */
++#define _EVENT_PACKAGE_VERSION ""
++
++/* The size of `int', as computed by sizeof. */
++#define _EVENT_SIZEOF_INT 4
++
++/* The size of `long', as computed by sizeof. */
++#define _EVENT_SIZEOF_LONG 8
++
++/* The size of `long long', as computed by sizeof. */
++#define _EVENT_SIZEOF_LONG_LONG 8
++
++/* The size of `short', as computed by sizeof. */
++#define _EVENT_SIZEOF_SHORT 2
++
++/* Define to 1 if you have the ANSI C header files. */
++#define _EVENT_STDC_HEADERS 1
++
++/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
++#define _EVENT_TIME_WITH_SYS_TIME 1
++
++/* Version number of package */
++#define _EVENT_VERSION "1.4.15"
++
++/* Define to appropriate substitue if compiler doesnt have __func__ */
++/* #undef _EVENT___func__ */
++
++/* Define to empty if `const' does not conform to ANSI C. */
++/* #undef _EVENT_const */
++
++/* Define to `__inline__' or `__inline' if that's what the C compiler
++ calls it, or to nothing if 'inline' is not supported under any name. */
++#ifndef _EVENT___cplusplus
++/* #undef _EVENT_inline */
++#endif
++
++/* Define to `int' if <sys/types.h> does not define. */
++/* #undef _EVENT_pid_t */
++
++/* Define to `unsigned int' if <sys/types.h> does not define. */
++/* #undef _EVENT_size_t */
++
++/* Define to unsigned int if you dont have it */
++/* #undef _EVENT_socklen_t */
++#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
new file mode 100644
index 000000000000..c73aac47312a
--- /dev/null
+++ b/www/chromium/files/patch-base_third__party_symbolize_symbolize.cc
@@ -0,0 +1,11 @@
+--- base/third_party/symbolize/symbolize.cc.orig 2022-02-07 13:39:41 UTC
++++ base/third_party/symbolize/symbolize.cc
+@@ -113,7 +113,7 @@ _END_GOOGLE_NAMESPACE_
+ #if defined(HAVE_DLFCN_H)
+ #include <dlfcn.h>
+ #endif
+-#if defined(OS_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 bff55b7b82ca..b1b6cf3f78e9 100644
--- a/www/chromium/files/patch-base_threading_platform__thread.h
+++ b/www/chromium/files/patch-base_threading_platform__thread.h
@@ -1,6 +1,6 @@
---- base/threading/platform_thread.h.orig 2021-12-31 00:57:18 UTC
+--- base/threading/platform_thread.h.orig 2022-02-07 13:39:41 UTC
+++ base/threading/platform_thread.h
-@@ -244,7 +244,7 @@ class BASE_EXPORT PlatformThread {
+@@ -243,7 +243,7 @@ class BASE_EXPORT PlatformThread {
// Returns a realtime period provided by `delegate`.
static TimeDelta GetRealtimePeriod(Delegate* delegate);
diff --git a/www/chromium/files/patch-base_threading_platform__thread__internal__posix.h b/www/chromium/files/patch-base_threading_platform__thread__internal__posix.h
deleted file mode 100644
index 3619f1d34e67..000000000000
--- a/www/chromium/files/patch-base_threading_platform__thread__internal__posix.h
+++ /dev/null
@@ -1,18 +0,0 @@
---- base/threading/platform_thread_internal_posix.h.orig 2021-12-31 00:57:18 UTC
-+++ base/threading/platform_thread_internal_posix.h
-@@ -46,13 +46,13 @@ bool SetCurrentThreadPriorityForPlatform(ThreadPriorit
- // of CanIncreaseThreadPriority().
- absl::optional<ThreadPriority> GetCurrentThreadPriorityForPlatform();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Current thread id is cached in thread local storage for performance reasons.
- // In some rare cases it's important to clear that cache explicitly (e.g. after
- // going through clone() syscall which does not call pthread_atfork()
- // handlers).
- BASE_EXPORT void ClearTidCache();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- } // namespace internal
-
diff --git a/www/chromium/files/patch-base_threading_platform__thread__linux.cc b/www/chromium/files/patch-base_threading_platform__thread__linux.cc
index 30b2a7a63b6e..fcd82b84be44 100644
--- a/www/chromium/files/patch-base_threading_platform__thread__linux.cc
+++ b/www/chromium/files/patch-base_threading_platform__thread__linux.cc
@@ -1,4 +1,4 @@
---- base/threading/platform_thread_linux.cc.orig 2022-01-20 10:35:46 UTC
+--- base/threading/platform_thread_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ base/threading/platform_thread_linux.cc
@@ -29,7 +29,9 @@
@@ -10,21 +10,8 @@
#include <sys/resource.h>
#include <sys/time.h>
#include <sys/types.h>
-@@ -61,7 +63,7 @@ int g_scheduler_boost_adj;
- int g_scheduler_limit_adj;
- bool g_scheduler_use_latency_tune_adj;
-
--#if !defined(OS_NACL) && !defined(OS_AIX)
-+#if !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD)
-
- // Defined by linux uclamp ABI of sched_setattr().
- const uint32_t kSchedulerUclampMin = 0;
-@@ -129,10 +131,10 @@ int sched_setattr(pid_t pid,
- unsigned int flags) {
- return syscall(__NR_sched_setattr, pid, attr, flags);
- }
--#endif // !defined(OS_NACL) && !defined(OS_AIX)
-+#endif // !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD)
+@@ -132,7 +134,7 @@ int sched_setattr(pid_t pid,
+ #endif // !defined(OS_NACL) && !defined(OS_AIX)
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
-#if !defined(OS_NACL)
@@ -77,15 +64,6 @@
// 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
-@@ -364,7 +366,7 @@ void PlatformThread::SetName(const std::string& name)
- // We expect EPERM failures in sandboxed processes, just ignore those.
- if (err < 0 && errno != EPERM)
- DPLOG(ERROR) << "prctl(PR_SET_NAME)";
--#endif // !defined(OS_NACL) && !defined(OS_AIX)
-+#endif // !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD)
- }
-
- #if !defined(OS_NACL) && !defined(OS_AIX)
@@ -377,8 +379,10 @@ void PlatformThread::SetThreadPriority(ProcessId proce
// priority.
CHECK_NE(thread_id, process_id);
@@ -97,14 +75,3 @@
#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
// For upstream uclamp interface. We try both legacy (schedtune, as done
-@@ -435,7 +439,9 @@ void InitThreading() {}
- void TerminateOnThread() {}
-
- size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
--#if !defined(THREAD_SANITIZER)
-+#if defined(OS_BSD)
-+ return (1 << 23);
-+#elif !defined(THREAD_SANITIZER)
- return 0;
- #else
- // ThreadSanitizer bloats the stack heavily. Evidence has been that the
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 010ad62d6f9f..071a25201e45 100644
--- a/www/chromium/files/patch-base_threading_platform__thread__posix.cc
+++ b/www/chromium/files/patch-base_threading_platform__thread__posix.cc
@@ -1,22 +1,21 @@
---- base/threading/platform_thread_posix.cc.orig 2021-12-14 11:44:55 UTC
+--- base/threading/platform_thread_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ base/threading/platform_thread_posix.cc
-@@ -33,6 +33,10 @@
- #include <sys/syscall.h>
- #endif
+@@ -74,7 +74,7 @@ void* ThreadFunc(void* params) {
+ if (!thread_params->joinable)
+ base::DisallowSingleton();
-+#if defined(OS_BSD)
-+#include <pthread_np.h>
-+#endif
-+
- #if defined(OS_FUCHSIA)
- #include <zircon/process.h>
- #else
-@@ -194,6 +198,8 @@ PlatformThreadId PlatformThread::CurrentId() {
- // into the kernel.
- #if defined(OS_APPLE)
- return pthread_mach_thread_np(pthread_self());
+-#if !defined(OS_NACL)
++#if !defined(OS_NACL) && !defined(OS_BSD)
+ #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
+ internal::PCScan::NotifyThreadCreated(internal::GetStackPointer());
+ #endif
+@@ -333,6 +333,9 @@ bool PlatformThread::CanChangeThreadPriority(ThreadPri
+ // static
+ void PlatformThread::SetCurrentThreadPriorityImpl(ThreadPriority priority) {
+ #if defined(OS_NACL)
++ NOTIMPLEMENTED();
++// avoid pledge(2) violation
+#elif defined(OS_BSD)
-+ return pthread_getthreadid_np();
- #elif defined(OS_LINUX) || defined(OS_CHROMEOS)
- static InitAtFork init_at_fork;
- if (g_thread_id == -1) {
+ NOTIMPLEMENTED();
+ #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
deleted file mode 100644
index 17d59aae5527..000000000000
--- a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- base/threading/platform_thread_unittest.cc.orig 2022-01-20 10:35:46 UTC
-+++ base/threading/platform_thread_unittest.cc
-@@ -311,7 +311,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) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_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;
-@@ -409,9 +409,9 @@ TEST(PlatformThreadTest, SetHugeThreadName) {
-
- TEST(PlatformThreadTest, GetDefaultThreadStackSize) {
- size_t stack_size = PlatformThread::GetDefaultThreadStackSize();
--#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \
-- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-- !defined(THREAD_SANITIZER)) || \
-+#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \
-+ ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
-+ !defined(THREAD_SANITIZER)) || \
- (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER))
- EXPECT_EQ(0u, stack_size);
- #else
diff --git a/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc b/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc
deleted file mode 100644
index d51bf587bd36..000000000000
--- a/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/threading/scoped_blocking_call_unittest.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/threading/scoped_blocking_call_unittest.cc
-@@ -282,7 +282,7 @@ TEST_F(ScopedBlockingCallIOJankMonitoringTest, ManyInA
- }
-
- TEST_F(ScopedBlockingCallIOJankMonitoringTest, OverlappingMultipleWindows) {
-- constexpr auto kJankTiming =
-+ auto kJankTiming =
- internal::IOJankMonitoringWindow::kMonitoringWindow * 3 +
- internal::IOJankMonitoringWindow::kIOJankInterval * 5;
-
-@@ -538,7 +538,7 @@ TEST_F(ScopedBlockingCallIOJankMonitoringTest, MultiTh
- // First one starting at 10 seconds (can't start later than that or we'll trip
- // the kTimeDiscrepancyTimeout per TaskEnvironment's inability to RunUntilIdle()
- // with pending blocked tasks).
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // https://crbug.com/1071166
- #define MAYBE_MultiThreadedOverlappedWindows \
- DISABLED_MultiThreadedOverlappedWindows
diff --git a/www/chromium/files/patch-base_threading_thread__task__runner__handle.cc b/www/chromium/files/patch-base_threading_thread__task__runner__handle.cc
deleted file mode 100644
index 821e6f66682f..000000000000
--- a/www/chromium/files/patch-base_threading_thread__task__runner__handle.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- base/threading/thread_task_runner_handle.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/threading/thread_task_runner_handle.cc
-@@ -8,6 +8,7 @@
- #include <utility>
-
- #include "base/bind.h"
-+#include "base/callback_helpers.h"
- #include "base/check_op.h"
- #include "base/dcheck_is_on.h"
- #include "base/lazy_instance.h"
-@@ -40,6 +41,7 @@ const scoped_refptr<SingleThreadTaskRunner>& ThreadTas
- return current->task_runner_;
- }
-
-+#if defined(OS_BSD)
- // static
- bool ThreadTaskRunnerHandle::IsSet() {
- return !!thread_task_runner_tls.Pointer()->Get();
-@@ -87,6 +89,7 @@ ThreadTaskRunnerHandleOverride::ThreadTaskRunnerHandle
- if (!allow_nested_runloop)
- no_running_during_override_.emplace();
- }
-+#endif
-
- ThreadTaskRunnerHandleOverride::~ThreadTaskRunnerHandleOverride() {
- if (task_runner_to_restore_) {
diff --git a/www/chromium/files/patch-base_time_time.cc b/www/chromium/files/patch-base_time_time.cc
index 8809f2523e7c..b2f0f148e1a8 100644
--- a/www/chromium/files/patch-base_time_time.cc
+++ b/www/chromium/files/patch-base_time_time.cc
@@ -1,6 +1,6 @@
---- base/time/time.cc.orig 2021-09-24 04:25:56 UTC
+--- base/time/time.cc.orig 2022-02-07 13:39:41 UTC
+++ base/time/time.cc
-@@ -4,12 +4,12 @@
+@@ -4,7 +4,7 @@
#include "base/time/time.h"
@@ -9,9 +9,3 @@
// 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
- #pragma clang max_tokens_here 390000
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #include <atomic>
- #include <cmath>
diff --git a/www/chromium/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc b/www/chromium/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc
deleted file mode 100644
index 510fe325059f..000000000000
--- a/www/chromium/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/trace_event/heap_profiler_allocation_context_tracker.cc.orig 2021-12-14 11:44:55 UTC
-+++ base/trace_event/heap_profiler_allocation_context_tracker.cc
-@@ -30,6 +30,10 @@
- #include <sys/prctl.h>
- #endif
-
-+#if defined(OS_BSD)
-+#include <pthread_np.h>
-+#endif
-+
- namespace base {
- namespace trace_event {
-
-@@ -62,13 +66,23 @@ ThreadLocalStorage::Slot& AllocationContextTrackerTLS(
- // with id. This function intentionally leaks the allocated strings since they
- // are used to tag allocations even after the thread dies.
- const char* GetAndLeakThreadName() {
-- char name[16];
-+#if defined(OS_BSD)
-+ constexpr size_t kBufferLen = 64;
-+#else
-+ constexpr size_t kBufferLen = 16;
-+#endif
-+ char name[kBufferLen];
- #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
- // If the thread name is not set, try to get it from prctl. Thread name might
- // not be set in cases where the thread started before heap profiling was
- // enabled.
- int err = prctl(PR_GET_NAME, name);
- if (!err) {
-+ return strdup(name);
-+ }
-+#elif defined(OS_BSD)
-+ pthread_get_name_np(pthread_self(), name, kBufferLen);
-+ if (*name != '\0') {
- return strdup(name);
- }
- #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
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
new file mode 100644
index 000000000000..45c5ecd63a91
--- /dev/null
+++ b/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc
@@ -0,0 +1,11 @@
+--- base/trace_event/memory_dump_manager.cc.orig 2022-02-07 13:39:41 UTC
++++ base/trace_event/memory_dump_manager.cc
+@@ -78,7 +78,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP
+ #if defined(MALLOC_MEMORY_TRACING_SUPPORTED)
+ MallocDumpProvider::kAllocatedObjects;
+ #else
+- nullptr;
++ "";
+ #endif
+
+ // static
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 fa2b435c8b7a..dc76336b3bc7 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,4 +1,4 @@
---- base/trace_event/process_memory_dump.cc.orig 2021-09-14 01:51:47 UTC
+--- base/trace_event/process_memory_dump.cc.orig 2022-02-07 13:39:41 UTC
+++ base/trace_event/process_memory_dump.cc
@@ -105,7 +105,7 @@ absl::optional<size_t> ProcessMemoryDump::CountResiden
#if defined(OS_WIN)
@@ -9,3 +9,12 @@
std::unique_ptr<char[]> vec(new char[max_vec_size]);
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)
std::unique_ptr<unsigned char[]> vec(new unsigned char[max_vec_size]);
+@@ -127,7 +127,7 @@ absl::optional<size_t> ProcessMemoryDump::CountResiden
+
+ for (size_t i = 0; i < page_count; i++)
+ resident_page_count += vec[i].VirtualAttributes.Valid;
+-#elif defined(OS_FUCHSIA)
++#elif defined(OS_FUCHSIA) | defined(OS_BSD)
+ // TODO(fuchsia): Port, see https://crbug.com/706592.
+ ALLOW_UNUSED_LOCAL(chunk_start);
+ ALLOW_UNUSED_LOCAL(page_count);
diff --git a/www/chromium/files/patch-base_tracing_trace__time.cc b/www/chromium/files/patch-base_tracing_trace__time.cc
index 917480bf011b..b391966234ab 100644
--- a/www/chromium/files/patch-base_tracing_trace__time.cc
+++ b/www/chromium/files/patch-base_tracing_trace__time.cc
@@ -1,14 +1,28 @@
---- base/tracing/trace_time.cc.orig 2021-07-21 11:24:56 UTC
+--- base/tracing/trace_time.cc.orig 2022-02-07 13:39:41 UTC
+++ base/tracing/trace_time.cc
-@@ -16,7 +16,11 @@ int64_t TraceBootTicksNow() {
+@@ -8,13 +8,17 @@
+ #include "build/build_config.h"
+ #include "third_party/perfetto/include/perfetto/base/time.h"
+
++#if defined(OS_FREEBSD)
++#define CLOCK_BOOTTIME CLOCK_UPTIME
++#endif
++
+ namespace base {
+ namespace tracing {
+
+ int64_t TraceBootTicksNow() {
+ // On Windows and Mac, TRACE_TIME_TICKS_NOW() behaves like boottime already.
#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
- defined(OS_FUCHSIA)
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
struct timespec ts;
-+#if defined(OS_BSD)
int res = clock_gettime(CLOCK_BOOTTIME, &ts);
-+#else
-+ int res = clock_gettime(CLOCK_BOOTTIME, &ts);
-+#endif
if (res != -1)
- return static_cast<int64_t>(perfetto::base::FromPosixTimespec(ts).count());
- #endif
+@@ -24,4 +28,4 @@ int64_t TraceBootTicksNow() {
+ }
+
+ } // namespace tracing
+-} // namespace base
+\ No newline at end of file
++} // namespace base
diff --git a/www/chromium/files/patch-base_tracing_trace__time.h b/www/chromium/files/patch-base_tracing_trace__time.h
index 684427507459..670469229ceb 100644
--- a/www/chromium/files/patch-base_tracing_trace__time.h
+++ b/www/chromium/files/patch-base_tracing_trace__time.h
@@ -1,11 +1,11 @@
---- base/tracing/trace_time.h.orig 2021-07-21 13:25:51 UTC
+--- base/tracing/trace_time.h.orig 2022-02-07 13:39:41 UTC
+++ base/tracing/trace_time.h
-@@ -11,7 +11,7 @@
- namespace base {
+@@ -12,7 +12,7 @@ namespace base {
namespace tracing {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
// Linux, Android, and Fuchsia all use CLOCK_MONOTONIC. See crbug.com/166153
// about efforts to unify base::TimeTicks across all platforms.
+ constexpr perfetto::protos::pbzero::BuiltinClock kTraceClockId =
diff --git a/www/chromium/files/patch-build_config_BUILD.gn b/www/chromium/files/patch-build_config_BUILD.gn
index bd6a0ed90cff..2f3841e1bb68 100644
--- a/www/chromium/files/patch-build_config_BUILD.gn
+++ b/www/chromium/files/patch-build_config_BUILD.gn
@@ -1,21 +1,22 @@
---- build/config/BUILD.gn.orig 2021-05-12 22:05:40 UTC
+--- build/config/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ build/config/BUILD.gn
-@@ -227,9 +227,7 @@ config("default_libs") {
+@@ -222,13 +222,17 @@ config("default_libs") {
+ "CoreText.framework",
+ "Foundation.framework",
]
- } else if (is_linux || is_chromeos) {
+- } else if (is_linux || is_chromeos) {
++ } else if ((is_linux && !is_bsd) || is_chromeos) {
libs = [
-- "dl",
+ "dl",
"pthread",
-- "rt",
+ "rt",
]
- }
+- }
++ } else if (is_bsd) {
++ libs = [
++ "pthread",
++ ]
++ }
}
-@@ -308,7 +306,7 @@ config("executable_config") {
- "//build/config/ios:ios_dynamic_flags",
- "//build/config/ios:ios_executable_flags",
- ]
-- } else if (is_linux || is_chromeos || is_android || current_os == "aix") {
-+ } else if (is_linux || is_bsd || is_chromeos || is_android || current_os == "aix") {
- configs += [ "//build/config/gcc:executable_config" ]
- if (is_chromecast) {
- configs += [ "//build/config/chromecast:executable_config" ]
+
+ group("common_deps") {
diff --git a/www/chromium/files/patch-build_config_BUILDCONFIG.gn b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
index 3918db73189b..d80e17aa728c 100644
--- a/www/chromium/files/patch-build_config_BUILDCONFIG.gn
+++ b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
@@ -1,35 +1,45 @@
---- build/config/BUILDCONFIG.gn.orig 2021-12-31 00:57:18 UTC
+--- build/config/BUILDCONFIG.gn.orig 2022-02-07 13:39:41 UTC
+++ build/config/BUILDCONFIG.gn
-@@ -189,8 +189,8 @@ if (host_toolchain == "") {
- # TODO(dpranke): Add some sort of assert here that verifies that
- # no toolchain omitted host_toolchain from its toolchain_args().
+@@ -136,7 +136,8 @@ declare_args() {
+ is_official_build = false
-- if (host_os == "linux") {
-- if (target_os != "linux") {
-+ if (host_os == "linux" || host_os == "freebsd") {
-+ if (target_os != "linux" && target_os != "freebsd") {
- host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
- } else if (is_clang) {
- host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
-@@ -229,7 +229,7 @@ if (target_os == "android") {
- assert(host_os == "linux" || host_os == "mac",
- "Android builds are only supported on Linux and Mac hosts.")
- _default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
--} else if (target_os == "chromeos" || target_os == "linux") {
-+} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd") {
- # See comments in build/toolchain/cros/BUILD.gn about board compiles.
- if (is_clang) {
- _default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-@@ -293,10 +293,11 @@ if (custom_toolchain != "") {
- # current_os value directly.
-
- is_android = current_os == "android"
-+is_bsd = current_os == "freebsd"
+ # Set to true when compiling with the Clang compiler.
+- is_clang = current_os != "linux" ||
++ is_clang = current_os != "linux" || current_os == "openbsd" ||
++ current_os == "freebsd" ||
+ (current_cpu != "s390x" && current_cpu != "s390" &&
+ current_cpu != "ppc64" && current_cpu != "ppc" &&
+ current_cpu != "mips" && current_cpu != "mips64" &&
+@@ -218,6 +219,10 @@ if (host_toolchain == "") {
+ host_toolchain = "//build/toolchain/aix:$host_cpu"
+ } else if (host_os == "zos") {
+ host_toolchain = "//build/toolchain/zos:$host_cpu"
++ } else if (host_os == "openbsd") {
++ host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu"
++ } else if (host_os == "freebsd") {
++ host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu"
+ } else {
+ assert(false, "Unsupported host_os: $host_os")
+ }
+@@ -262,6 +267,8 @@ if (target_os == "android") {
+ _default_toolchain = "//build/toolchain/aix:$target_cpu"
+ } else if (target_os == "zos") {
+ _default_toolchain = "//build/toolchain/zos:$target_cpu"
++} else if (target_os == "openbsd" || target_os == "freebsd") {
++ _default_toolchain = host_toolchain
+ } else {
+ assert(false, "Unsupported target_os: $target_os")
+ }
+@@ -296,7 +303,11 @@ is_android = current_os == "android"
is_chromeos = current_os == "chromeos"
is_fuchsia = current_os == "fuchsia"
is_ios = current_os == "ios"
-is_linux = current_os == "linux"
-+is_linux = current_os == "linux" || current_os == "freebsd"
++is_linux = current_os == "linux" || current_os == "openbsd" ||
++ current_os == "freebsd"
++is_openbsd = current_os == "openbsd"
++is_freebsd = current_os == "freebsd"
++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"
diff --git a/www/chromium/files/patch-build_config_c++_c++.gni b/www/chromium/files/patch-build_config_c++_c++.gni
deleted file mode 100644
index ec43c6b5fc4c..000000000000
--- a/www/chromium/files/patch-build_config_c++_c++.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/config/c++/c++.gni.orig 2021-10-06 09:43:59 UTC
-+++ build/config/c++/c++.gni
-@@ -43,7 +43,7 @@ declare_args() {
-
- use_custom_libcxx =
- use_custom_libcxx || (use_custom_libcxx_for_host && !is_a_target_toolchain)
--use_custom_libcxx = use_custom_libcxx && !is_nacl
-+use_custom_libcxx = use_custom_libcxx && !is_nacl && !is_bsd
-
- declare_args() {
- # WARNING: Setting this to a non-default value is highly discouraged.
diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn
index a74be1cecbd7..b2cb7fa98158 100644
--- a/www/chromium/files/patch-build_config_compiler_BUILD.gn
+++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn
@@ -1,15 +1,6 @@
---- build/config/compiler/BUILD.gn.orig 2021-12-31 00:57:18 UTC
+--- build/config/compiler/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ build/config/compiler/BUILD.gn
-@@ -140,7 +140,7 @@ declare_args() {
- #
- # TODO(crbug.com/1131993): Enabling this when 'is_android' is true breaks
- # content_shell_test_apk on both ARM and x86.
-- init_stack_vars = !is_android
-+ init_stack_vars = !is_android && !is_bsd
-
- # This argument is to control whether enabling text section splitting in the
- # final binary. When enabled, the separated text sections with prefix
-@@ -241,7 +241,7 @@ config("default_include_dirs") {
+@@ -236,13 +236,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") {
@@ -18,39 +9,45 @@
(is_linux || is_chromeos || is_android || is_fuchsia)) {
ldflags = [
"-Wl,-z,defs",
-@@ -361,7 +361,7 @@ config("compiler") {
- }
+ "-Wl,--as-needed",
+ ]
+ }
++ if (current_cpu == "x86" && is_openbsd) {
++ ldflags = [ "-Wl,-z,notext" ]
++ }
+ }
- # Linker warnings.
-- if (fatal_linker_warnings && !is_apple && current_os != "aix" &&
-+ if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix" &&
- current_os != "zos") {
- ldflags += [ "-Wl,--fatal-warnings" ]
+ # compiler ---------------------------------------------------------------------
+@@ -452,6 +455,10 @@ config("compiler") {
}
-@@ -539,7 +539,7 @@ config("compiler") {
+ }
+
++ if (is_openbsd) {
++ ldflags += [ "-Wl,-z,wxneeded" ]
++ }
++
+ # Linux-specific compiler flags setup.
+ # ------------------------------------
+ if ((is_posix || is_fuchsia) && !is_apple && use_lld) {
+@@ -534,7 +541,7 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
-- if (is_clang && !is_nacl && !use_xcode_clang && current_os != "zos") {
-+ if (is_clang && !is_nacl && !is_bsd && !use_xcode_clang && current_os != "zos") {
+- if (is_clang && !is_nacl && current_os != "zos") {
++ if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) {
cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
# TODO(hans): Remove this once Clang generates better optimized debug info
-@@ -682,7 +682,12 @@ config("compiler") {
- # and let it use all cores.
- # TODO(thakis): Check if '=0' (that is, number of cores, instead
- # of "all" which means number of hardware threads) is faster.
-- ldflags += [ "-Wl,--thinlto-jobs=all" ]
-+ if (is_bsd) {
-+ # FreeBSD < 13 uses LLVM 10, which doesn't support --thinlto-jobs=all
-+ ldflags += [ "-Wl,--thinlto-jobs=2" ]
-+ } else {
-+ ldflags += [ "-Wl,--thinlto-jobs=all" ]
-+ }
- if (is_mac) {
- ldflags +=
- [ "-Wl,-cache_path_lto," +
-@@ -910,7 +915,7 @@ config("compiler_cpu_abi") {
+@@ -903,7 +910,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) {
+ cflags += [ "--target=arm-linux-gnueabihf" ]
+ ldflags += [ "--target=arm-linux-gnueabihf" ]
+ }
+@@ -917,7 +924,7 @@ config("compiler_cpu_abi") {
cflags += [ "-mtune=$arm_tune" ]
}
} else if (current_cpu == "arm64") {
@@ -59,81 +56,58 @@
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
}
-@@ -1266,6 +1271,9 @@ config("compiler_deterministic") {
+@@ -1238,7 +1245,7 @@ config("compiler_deterministic") {
+ # different build directory like "out/feature_a" and "out/feature_b" if
+ # we build same files with same compile flag.
+ # Other paths are already given in relative, no need to normalize them.
+- if (is_nacl) {
++ if (is_nacl || is_bsd) {
+ # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
+ cflags += [
"-Xclang",
- ".",
+@@ -1525,7 +1532,7 @@ config("default_warnings") {
+ "-Wno-ignored-pragma-optimize",
]
-+ } else if (is_bsd) {
-+ # -ffile-compilation-dir is not supported in the LLVM version FreeBSD ships
-+ cflags += [ "-fdebug-compilation-dir=." ]
- } else {
- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
- # and -fcoverage-compilation-dir=.
-@@ -1519,7 +1527,7 @@ config("default_warnings") {
- cflags += [ "-Wno-null-pointer-subtraction" ]
- }
-- if (current_toolchain == host_toolchain || !use_xcode_clang) {
-+ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
- # Flags Xcode 9.2 (Clang clang-900.0.39.2) does not recognize.
- cflags += [
- "-Wenum-compare-conditional",
-@@ -1549,6 +1557,18 @@ config("default_warnings") {
- cflags += [ "-Wmax-tokens" ]
- }
+- if (is_chromeos || default_toolchain == "//build/toolchain/cros:target") {
++ if (is_chromeos || default_toolchain == "//build/toolchain/cros:target" || is_bsd) {
+ # TODO(https://crbug.com/1016945): Re-enable once ChromeOS toolchain is up to date
+ cflags += [ "-Wno-builtin-assume-aligned-alignment" ]
}
-+
-+ if (is_clang && is_bsd) {
-+ cflags += [
-+ "-Wno-ignored-pragma-optimize",
-+ "-Wno-implicit-int-float-conversion",
-+ "-Wno-final-dtor-non-final-class",
-+ "-Wno-builtin-assume-aligned-alignment",
-+ "-Wno-deprecated-copy",
-+ "-Wno-thread-safety-analysis",
-+ "-Wno-thread-safety-attributes",
-+ ]
-+ }
- }
- }
- }
-@@ -1684,7 +1704,7 @@ config("no_chromium_code") {
+@@ -1676,7 +1683,7 @@ config("no_chromium_code") {
# third-party libraries.
"-Wno-c++11-narrowing",
]
-- if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang)) {
-+ if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
+- if (!is_nacl) {
++ if (!is_nacl && !is_freebsd) {
cflags += [
# Disabled for similar reasons as -Wunused-variable.
"-Wno-unused-but-set-variable",
-@@ -1767,7 +1787,7 @@ config("thin_archive") {
- # archives.
- # TODO(crbug.com/1221615): Enable on is_apple if use_lld once that no longer
- # confuses lldb.
-- if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
-+ if ((is_posix && !is_nacl && !is_apple && !is_bsd) || is_fuchsia) {
- arflags = [ "-T" ]
- } else if (is_win && use_lld) {
- arflags = [ "/llvmlibthin" ]
-@@ -2267,7 +2287,11 @@ config("symbols") {
- # flag, so we can use use -g1 for pnacl and nacl-clang compiles.
- # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang.
- if ((!is_nacl || is_clang) && current_os != "zos") {
-- cflags += [ "-g2" ]
-+ if (is_bsd) {
-+ cflags += [ "-g0" ]
-+ } else {
-+ cflags += [ "-g2" ]
-+ }
+@@ -2191,7 +2198,7 @@ config("afdo_optimize_size") {
+ # between //base/allocator:tcmalloc and AFDO on GCC), so we provide a separate
+ # config to allow AFDO to be disabled per-target.
+ config("afdo") {
+- if (is_clang) {
++ if (is_clang && !is_bsd) {
+ cflags = []
+ if (clang_emit_debug_info_for_profiling) {
+ # Add the following flags to generate debug info for profiling.
+@@ -2207,7 +2214,7 @@ config("afdo") {
+ cflags += [ "-fprofile-sample-use=${rebased_clang_sample_profile}" ]
+ inputs = [ _clang_sample_profile ]
+ }
+- } else if (auto_profile_path != "" && is_a_target_toolchain) {
++ } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) {
+ cflags = [ "-fauto-profile=${auto_profile_path}" ]
+ inputs = [ auto_profile_path ]
+ }
+@@ -2346,7 +2353,8 @@ config("symbols") {
}
+ }
- # Since only one of the build options -gdwarf-aranges and -fembed-bitcode
-@@ -2307,7 +2331,7 @@ config("symbols") {
- # DWARF info may be corrupt; offsets in a range list entry are in different
- # sections" there. Maybe just a bug in nacl_switch_32.S.
- _enable_gdb_index =
-- symbol_level == 2 && !is_apple && !is_nacl && current_cpu != "x86" &&
-+ symbol_level == 2 && !is_apple && !is_nacl && !is_bsd && current_cpu != "x86" &&
- current_os != "zos" && (use_gold || use_lld) &&
- # Disable on non-fission 32-bit Android because it pushes
- # libcomponents_unittests over the 4gb size limit.
+- 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_apple) {
+ # TODO(https://crbug.com/1050118): 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_compiler_compiler.gni b/www/chromium/files/patch-build_config_compiler_compiler.gni
deleted file mode 100644
index a0b6161c64d8..000000000000
--- a/www/chromium/files/patch-build_config_compiler_compiler.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/config/compiler/compiler.gni.orig 2021-12-31 00:57:18 UTC
-+++ build/config/compiler/compiler.gni
-@@ -219,7 +219,7 @@ declare_args() {
-
- declare_args() {
- # Whether to use the gold linker from binutils instead of lld or bfd.
-- use_gold = !use_lld && !(is_chromecast && is_linux &&
-+ use_gold = !is_bsd && !use_lld && !(is_chromecast && is_linux &&
- (current_cpu == "arm" || current_cpu == "mipsel")) &&
- (((is_linux || is_chromeos_lacros) &&
- (current_cpu == "x64" || current_cpu == "x86" ||
diff --git a/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni b/www/chromium/files/patch-build_config_compiler_pgo_pgo.gni
index 9c861611d45c..87304bc3d133 100644
--- a/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni
+++ b/www/chromium/files/patch-build_config_compiler_pgo_pgo.gni
@@ -1,4 +1,4 @@
---- build/config/compiler/pgo/pgo.gni.orig 2022-01-20 10:35:46 UTC
+--- build/config/compiler/pgo/pgo.gni.orig 2022-02-07 13:39:41 UTC
+++ build/config/compiler/pgo/pgo.gni
@@ -16,7 +16,7 @@ declare_args() {
# TODO(crbug.com/1052397): Remove chromeos_is_browser_only once
diff --git a/www/chromium/files/patch-build_config_features.gni b/www/chromium/files/patch-build_config_features.gni
deleted file mode 100644
index 282ec208bed4..000000000000
--- a/www/chromium/files/patch-build_config_features.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/config/features.gni.orig 2021-04-14 18:40:48 UTC
-+++ build/config/features.gni
-@@ -26,7 +26,7 @@ declare_args() {
- proprietary_codecs = is_chrome_branded || is_chromecast
-
- # libudev usage. This currently only affects the content layer.
-- use_udev = (is_linux || is_chromeos) && !is_chromecast
-+ use_udev = (is_linux || is_chromeos) && !is_chromecast && !is_bsd
-
- use_dbus = (is_linux || is_chromeos) && !is_chromecast
-
diff --git a/www/chromium/files/patch-build_config_freetype_freetype.gni b/www/chromium/files/patch-build_config_freetype_freetype.gni
deleted file mode 100644
index 0db577fe0459..000000000000
--- a/www/chromium/files/patch-build_config_freetype_freetype.gni
+++ /dev/null
@@ -1,9 +0,0 @@
---- build/config/freetype/freetype.gni.orig 2021-04-14 18:40:48 UTC
-+++ build/config/freetype/freetype.gni
-@@ -10,5 +10,5 @@ declare_args() {
- # than version 2.7.1 and have color bitmap support compiled in. WARNING:
- # System FreeType configurations other than as described WILL INTRODUCE TEXT
- # RENDERING AND SECURITY REGRESSIONS.
-- use_system_freetype = false
-+ use_system_freetype = true
- }
diff --git a/www/chromium/files/patch-build_config_linux_BUILD.gn b/www/chromium/files/patch-build_config_linux_BUILD.gn
index 1576d19ca1eb..f73ef24f032a 100644
--- a/www/chromium/files/patch-build_config_linux_BUILD.gn
+++ b/www/chromium/files/patch-build_config_linux_BUILD.gn
@@ -1,6 +1,6 @@
---- build/config/linux/BUILD.gn.orig 2021-09-24 04:25:56 UTC
+--- build/config/linux/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ build/config/linux/BUILD.gn
-@@ -39,7 +39,7 @@ config("runtime_library") {
+@@ -42,7 +42,7 @@ config("runtime_library") {
if ((!(is_chromeos_ash || is_chromeos_lacros) ||
default_toolchain != "//build/toolchain/cros:target") &&
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 7ed4de72c661..e48b205448bd 100644
--- a/www/chromium/files/patch-build_config_linux_pkg-config.py
+++ b/www/chromium/files/patch-build_config_linux_pkg-config.py
@@ -1,26 +1,11 @@
---- build/config/linux/pkg-config.py.orig 2021-04-14 18:40:48 UTC
+--- build/config/linux/pkg-config.py.orig 2022-02-07 13:39:41 UTC
+++ build/config/linux/pkg-config.py
-@@ -59,8 +59,12 @@ def SetConfigPath(options):
- print("You must specify an architecture via -a if using a sysroot.")
- sys.exit(1)
-
-- libdir = sysroot + '/usr/' + options.system_libdir + '/pkgconfig'
-- libdir += ':' + sysroot + '/usr/share/pkgconfig'
-+ if "linux" in sys.platform:
-+ libdir = sysroot + '/libdata/' + options.system_libdir + '/pkgconfig'
-+ libdir += ':' + sysroot + '/usr/share/pkgconfig'
-+ elif "bsd" in sys.platform:
-+ libdir = sysroot + '/libdata/pkgconfig'
-+ libdir += ':' + '/usr/libdata/pkgconfig'
- os.environ['PKG_CONFIG_LIBDIR'] = libdir
- return libdir
-
-@@ -109,7 +113,7 @@ def main():
+@@ -109,7 +109,7 @@ def main():
# If this is run on non-Linux platforms, just return nothing and indicate
# success. This allows us to "kind of emulate" a Linux build from other
# platforms.
- if "linux" not in sys.platform:
-+ if "bsd" not in sys.platform:
++ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])):
print("[[],[],[],[],[]]")
return 0
diff --git a/www/chromium/files/patch-build_config_ozone.gni b/www/chromium/files/patch-build_config_ozone.gni
index bf85cab41c34..97366e428630 100644
--- a/www/chromium/files/patch-build_config_ozone.gni
+++ b/www/chromium/files/patch-build_config_ozone.gni
@@ -1,12 +1,21 @@
---- build/config/ozone.gni.orig 2021-12-14 11:44:55 UTC
+--- build/config/ozone.gni.orig 2022-02-07 13:39:41 UTC
+++ build/config/ozone.gni
-@@ -91,6 +91,9 @@ declare_args() {
+@@ -91,9 +91,17 @@ declare_args() {
} else if (is_chromeos_lacros) {
ozone_platform = "wayland"
ozone_platform_wayland = true
-+ } else if (is_bsd) {
-+ ozone_platform = "x11"
-+ ozone_platform_x11 = true
- } else if (is_linux) {
+- } else if (is_linux) {
++ } else if (is_linux && !is_bsd) {
ozone_platform = "x11"
ozone_platform_wayland = true
++ ozone_platform_x11 = true
++ } else if (is_openbsd) {
++ ozone_platform = "x11"
++ ozone_platform_wayland = false
++ ozone_platform_x11 = true
++ } else if (is_freebsd) {
++ ozone_platform = "x11"
++ ozone_platform_wayland = false
+ ozone_platform_x11 = true
+ } else if (is_win) {
+ ozone_platform = "windows"
diff --git a/www/chromium/files/patch-build_config_rust.gni b/www/chromium/files/patch-build_config_rust.gni
index bdf651b6b961..5dd7ad561eef 100644
--- a/www/chromium/files/patch-build_config_rust.gni
+++ b/www/chromium/files/patch-build_config_rust.gni
@@ -1,11 +1,11 @@
---- build/config/rust.gni.orig 2021-12-31 00:57:18 UTC
+--- build/config/rust.gni.orig 2022-02-07 13:39:41 UTC
+++ build/config/rust.gni
-@@ -67,7 +67,7 @@ toolchain_has_official_rust =
- (!is_nacl &&
- (is_android && (current_cpu == "arm" || current_cpu == "arm64" ||
- current_cpu == "x64" || current_cpu == "x86"))) ||
-- (is_linux && current_cpu == "x64")
-+ ((is_linux && !is_bsd) && current_cpu == "x64")
-
- toolchain_has_rust = enable_rust && (toolchain_has_official_rust ||
- use_unverified_rust_toolchain)
+@@ -84,7 +84,7 @@ if (enable_rust) {
+ rust_sysroot = get_path_info(rust_sysroot_absolute, "abspath")
+ use_unverified_rust_toolchain = true
+ } else {
+- if (host_os != "linux") {
++ if (host_os != "linux" && host_os != "openbsd" && host_os != "freebsd") {
+ assert(
+ false,
+ "Attempt to use standard Rust toolchain on an unsupported platform")
diff --git a/www/chromium/files/patch-build_config_sysroot.gni b/www/chromium/files/patch-build_config_sysroot.gni
deleted file mode 100644
index b68650b4abf9..000000000000
--- a/www/chromium/files/patch-build_config_sysroot.gni
+++ /dev/null
@@ -1,14 +0,0 @@
---- build/config/sysroot.gni.orig 2021-04-14 18:40:48 UTC
-+++ build/config/sysroot.gni
-@@ -21,9 +21,9 @@ declare_args() {
-
- # Controls default is_linux sysroot. If set to true, and sysroot
- # is empty, default sysroot is calculated.
-- use_sysroot = current_cpu == "x86" || current_cpu == "x64" ||
-+ use_sysroot = !is_bsd && (current_cpu == "x86" || current_cpu == "x64" ||
- current_cpu == "arm" || current_cpu == "arm64" ||
-- current_cpu == "mipsel" || current_cpu == "mips64el"
-+ current_cpu == "mipsel" || current_cpu == "mips64el")
- }
-
- if (sysroot == "") {
diff --git a/www/chromium/files/patch-build_config_v8__target__cpu.gni b/www/chromium/files/patch-build_config_v8__target__cpu.gni
new file mode 100644
index 000000000000..40fa8f6348e3
--- /dev/null
+++ b/www/chromium/files/patch-build_config_v8__target__cpu.gni
@@ -0,0 +1,13 @@
+--- build/config/v8_target_cpu.gni.orig 2022-02-07 13:39:41 UTC
++++ build/config/v8_target_cpu.gni
+@@ -36,6 +36,10 @@ declare_args() {
+ if (v8_target_cpu == "") {
+ if (current_toolchain == "//build/toolchain/linux:clang_x64_v8_arm64") {
+ v8_target_cpu = "arm64"
++ } else if (current_toolchain == "//build/toolchain/openbsd:clang_arm64") {
++ v8_target_cpu = "arm64"
++ } else if (current_toolchain == "//build/toolchain/freebsd:clang_arm64") {
++ v8_target_cpu = "arm64"
+ } else if (current_toolchain == "//build/toolchain/linux:clang_x86_v8_arm") {
+ v8_target_cpu = "arm"
+ } else if (current_toolchain ==
diff --git a/www/chromium/files/patch-build_gn__run__binary.py b/www/chromium/files/patch-build_gn__run__binary.py
index 905ddf57f5d1..cf65b6532d6f 100644
--- a/www/chromium/files/patch-build_gn__run__binary.py
+++ b/www/chromium/files/patch-build_gn__run__binary.py
@@ -1,11 +1,11 @@
---- build/gn_run_binary.py.orig 2021-04-14 18:40:48 UTC
+--- build/gn_run_binary.py.orig 2022-02-07 13:39:41 UTC
+++ build/gn_run_binary.py
@@ -24,7 +24,7 @@ if not os.path.isabs(path):
# The rest of the arguments are passed directly to the executable.
args = [path] + sys.argv[2:]
-ret = subprocess.call(args)
-+ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome"})
++ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome","LD_LIBRARY_PATH":"${WRKSRC}/out/Release"})
if ret != 0:
if ret <= -100:
# Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to
diff --git a/www/chromium/files/patch-build_linux_chrome.map b/www/chromium/files/patch-build_linux_chrome.map
index 444c645ca7df..8e8c35005efb 100644
--- a/www/chromium/files/patch-build_linux_chrome.map
+++ b/www/chromium/files/patch-build_linux_chrome.map
@@ -1,14 +1,6 @@
---- build/linux/chrome.map.orig 2021-04-14 18:40:48 UTC
+--- build/linux/chrome.map.orig 2022-02-07 13:39:41 UTC
+++ build/linux/chrome.map
-@@ -1,4 +1,7 @@
- {
-+local:
-+ *;
-+
- global:
- __bss_start;
- __data_start;
-@@ -20,6 +23,10 @@ global:
+@@ -20,6 +20,10 @@ global:
# Program entry point.
_start;
@@ -19,11 +11,3 @@
# Memory allocation symbols. We want chrome and any libraries to
# share the same heap, so it is correct to export these symbols.
calloc;
-@@ -83,7 +90,4 @@ global:
- localtime_r;
-
- v8dbg_*;
--
--local:
-- *;
- };
diff --git a/www/chromium/files/patch-build_linux_libpci_BUILD.gn b/www/chromium/files/patch-build_linux_libpci_BUILD.gn
deleted file mode 100644
index fa8f9032e351..000000000000
--- a/www/chromium/files/patch-build_linux_libpci_BUILD.gn
+++ /dev/null
@@ -1,53 +0,0 @@
---- build/linux/libpci/BUILD.gn.orig 2021-04-14 18:40:48 UTC
-+++ build/linux/libpci/BUILD.gn
-@@ -3,20 +3,36 @@
- # found in the LICENSE file.
-
- import("//tools/generate_library_loader/generate_library_loader.gni")
-+import("//build/config/linux/pkg_config.gni")
-
--# This generates a target named "libpci".
--generate_library_loader("libpci") {
-- name = "LibPciLoader"
-- output_h = "libpci.h"
-- output_cc = "libpci_loader.cc"
-- header = "<pci/pci.h>"
-+declare_args() {
-+ use_system_libpci = is_bsd
-+}
-
-- functions = [
-- "pci_alloc",
-- "pci_init",
-- "pci_cleanup",
-- "pci_scan_bus",
-- "pci_fill_info",
-- "pci_lookup_name",
-- ]
-+if (use_system_libpci) {
-+ pkg_config("system_libpci") {
-+ packages = [ "libpci" ]
-+ }
-+
-+ source_set("libpci") {
-+ public_configs = [ ":system_libpci" ]
-+ }
-+
-+} else {
-+ # This generates a target named "libpci".
-+ generate_library_loader("libpci") {
-+ name = "LibPciLoader"
-+ output_h = "libpci.h"
-+ output_cc = "libpci_loader.cc"
-+ header = "<pci/pci.h>"
-+
-+ functions = [
-+ "pci_alloc",
-+ "pci_init",
-+ "pci_cleanup",
-+ "pci_scan_bus",
-+ "pci_fill_info",
-+ "pci_lookup_name",
-+ ]
-+ }
- }
diff --git a/www/chromium/files/patch-build_linux_strip__binary.gni b/www/chromium/files/patch-build_linux_strip__binary.gni
deleted file mode 100644
index 7a6a20f0bfa8..000000000000
--- a/www/chromium/files/patch-build_linux_strip__binary.gni
+++ /dev/null
@@ -1,15 +0,0 @@
---- build/linux/strip_binary.gni.orig 2021-08-17 16:31:26 UTC
-+++ build/linux/strip_binary.gni
-@@ -20,7 +20,11 @@ template("strip_binary") {
- "testonly",
- ])
- action("${target_name}") {
-- eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip"
-+ if (is_bsd) {
-+ eu_strip_binary = "//buildtools/freebsd/strip"
-+ } else {
-+ eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip"
-+ }
- script = "//build/linux/strip_binary.py"
- inputs = [
- invoker.binary_input,
diff --git a/www/chromium/files/patch-build_linux_strip__binary.py b/www/chromium/files/patch-build_linux_strip__binary.py
index cf3ba059ea85..9dd3c051630b 100644
--- a/www/chromium/files/patch-build_linux_strip__binary.py
+++ b/www/chromium/files/patch-build_linux_strip__binary.py
@@ -1,12 +1,10 @@
---- build/linux/strip_binary.py.orig 2021-08-17 16:45:54 UTC
+--- build/linux/strip_binary.py.orig 2022-02-07 13:39:41 UTC
+++ build/linux/strip_binary.py
-@@ -19,8 +19,7 @@ def main():
- args = argparser.parse_args()
+@@ -10,6 +10,7 @@ import sys
- cmd_line = [
-- args.eu_strip_binary_path, '-o', args.stripped_binary_output, '-f',
-- args.symbol_output, args.binary_input
-+ args.eu_strip_binary_path, '-o', args.stripped_binary_output, args.binary_input
- ]
- process = subprocess.Popen(cmd_line)
+ def main():
++ return 0
+ argparser = argparse.ArgumentParser(description='eu-strip binary.')
+
+ argparser.add_argument('--eu-strip-binary-path', help='eu-strip path.')
diff --git a/www/chromium/files/patch-build_toolchain_freebsd_BUILD.gn b/www/chromium/files/patch-build_toolchain_freebsd_BUILD.gn
new file mode 100644
index 000000000000..7857149615a0
--- /dev/null
+++ b/www/chromium/files/patch-build_toolchain_freebsd_BUILD.gn
@@ -0,0 +1,69 @@
+--- build/toolchain/freebsd/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ build/toolchain/freebsd/BUILD.gn
+@@ -0,0 +1,66 @@
++# 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.
++
++import("//build/config/sysroot.gni")
++import("//build/toolchain/gcc_toolchain.gni")
++
++clang_toolchain("clang_x86") {
++ toolchain_args = {
++ current_cpu = "x86"
++ current_os = "freebsd"
++ }
++}
++
++gcc_toolchain("x86") {
++ cc = "gcc"
++ cxx = "g++"
++
++ readelf = "readelf"
++ nm = "nm"
++ ar = "ar"
++ ld = cxx
++
++ toolchain_args = {
++ current_cpu = "x86"
++ current_os = "freebsd"
++ is_clang = false
++ }
++}
++
++clang_toolchain("clang_x64") {
++ toolchain_args = {
++ current_cpu = "x64"
++ current_os = "freebsd"
++ }
++}
++
++gcc_toolchain("x64") {
++ cc = "gcc"
++ cxx = "g++"
++
++ readelf = "readelf"
++ nm = "nm"
++ ar = "ar"
++ ld = cxx
++
++ toolchain_args = {
++ current_cpu = "x64"
++ current_os = "freebsd"
++ is_clang = false
++ }
++}
++
++clang_toolchain("clang_arm") {
++ toolchain_args = {
++ current_cpu = "arm64"
++ current_os = "freebsd"
++ }
++}
++
++clang_toolchain("clang_arm64") {
++ toolchain_args = {
++ current_cpu = "arm64"
++ current_os = "freebsd"
++ }
++}
diff --git a/www/chromium/files/patch-build_toolchain_gcc__solink__wrapper.py b/www/chromium/files/patch-build_toolchain_gcc__solink__wrapper.py
new file mode 100644
index 000000000000..34debf134bea
--- /dev/null
+++ b/www/chromium/files/patch-build_toolchain_gcc__solink__wrapper.py
@@ -0,0 +1,11 @@
+--- build/toolchain/gcc_solink_wrapper.py.orig 2022-02-07 13:39:41 UTC
++++ build/toolchain/gcc_solink_wrapper.py
+@@ -39,7 +39,7 @@ def CollectDynSym(args):
+ """Replaces: nm --format=posix -g -D -p $sofile | cut -f1-2 -d' '"""
+ toc = ''
+ nm = subprocess.Popen(wrapper_utils.CommandToRun(
+- [args.nm, '--format=posix', '-g', '-D', '-p', args.sofile]),
++ [args.nm, '-g', '-D', '-p', args.sofile]),
+ stdout=subprocess.PIPE,
+ bufsize=-1,
+ universal_newlines=True)
diff --git a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
index 02a487657479..b440c70df873 100644
--- a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
+++ b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
@@ -1,10 +1,11 @@
---- build/toolchain/gcc_toolchain.gni.orig 2022-01-20 10:35:46 UTC
+--- build/toolchain/gcc_toolchain.gni.orig 2022-02-07 13:39:41 UTC
+++ build/toolchain/gcc_toolchain.gni
-@@ -49,6 +49,11 @@ if (enable_resource_allowlist_generation) {
+@@ -49,6 +49,12 @@ if (enable_resource_allowlist_generation) {
"enable_resource_allowlist_generation=true does not work for target_os=$target_os")
}
+declare_args() {
++ extra_cppflags = ""
+ extra_cxxflags = ""
+ extra_ldflags = ""
+}
@@ -12,34 +13,27 @@
# This template defines a toolchain for something that works like gcc
# (including clang).
#
-@@ -731,13 +736,23 @@ template("gcc_toolchain") {
+@@ -737,13 +743,17 @@ template("gcc_toolchain") {
# use_gold too.
template("clang_toolchain") {
gcc_toolchain(target_name) {
- prefix = rebase_path("$clang_base_path/bin", root_build_dir)
- cc = "${prefix}/clang"
- cxx = "${prefix}/clang++"
-- ld = cxx
-- readelf = "${prefix}/llvm-readelf"
-- ar = "${prefix}/llvm-ar"
-- nm = "${prefix}/llvm-nm"
-+ if (is_bsd) {
++ if (is_freebsd) {
+ prefix = "/usr/local/bin"
-+ cc = "cc"
-+ cxx = "c++"
-+ ld = cxx
-+ readelf = "readelf"
-+ ar = "${prefix}/ar"
-+ nm = "${prefix}/nm"
+ } else {
-+ prefix = rebase_path("$clang_base_path/bin", root_build_dir)
-+ cc = "${prefix}/clang"
-+ cxx = "${prefix}/clang++"
-+ ld = cxx
-+ readelf = "${prefix}/llvm-readelf"
-+ ar = "${prefix}/llvm-ar"
-+ nm = "${prefix}/llvm-nm"
++ prefix = "/usr/bin"
+ }
++ cc = "cc"
++ cxx = "c++"
+ ld = cxx
+- readelf = "${prefix}/llvm-readelf"
+- ar = "${prefix}/llvm-ar"
+- nm = "${prefix}/llvm-nm"
++ readelf = "${prefix}/readelf"
++ ar = "${prefix}/ar"
++ nm = "${prefix}/nm"
forward_variables_from(invoker,
[
diff --git a/www/chromium/files/patch-build_toolchain_get__concurrent__links.py b/www/chromium/files/patch-build_toolchain_get__concurrent__links.py
deleted file mode 100644
index 5cf16130a4db..000000000000
--- a/www/chromium/files/patch-build_toolchain_get__concurrent__links.py
+++ /dev/null
@@ -1,14 +0,0 @@
---- build/toolchain/get_concurrent_links.py.orig 2021-08-17 00:15:54 UTC
-+++ build/toolchain/get_concurrent_links.py
-@@ -53,6 +53,11 @@ def _GetTotalMemoryInBytes():
- return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
- except Exception:
- return 0
-+ elif sys.platform.startswith('freebsd'):
-+ try:
-+ return int(subprocess.check_output(['sysctl', '-n', 'hw.physmem']))
-+ except Exception:
-+ return 1
- # TODO(scottmg): Implement this for other platforms.
- return 0
-
diff --git a/www/chromium/files/patch-build_toolchain_openbsd_BUILD.gn b/www/chromium/files/patch-build_toolchain_openbsd_BUILD.gn
new file mode 100644
index 000000000000..04e6f6b416e2
--- /dev/null
+++ b/www/chromium/files/patch-build_toolchain_openbsd_BUILD.gn
@@ -0,0 +1,69 @@
+--- build/toolchain/openbsd/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ build/toolchain/openbsd/BUILD.gn
+@@ -0,0 +1,66 @@
++# 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.
++
++import("//build/config/sysroot.gni")
++import("//build/toolchain/gcc_toolchain.gni")
++
++clang_toolchain("clang_x86") {
++ toolchain_args = {
++ current_cpu = "x86"
++ current_os = "openbsd"
++ }
++}
++
++gcc_toolchain("x86") {
++ cc = "gcc"
++ cxx = "g++"
++
++ readelf = "readelf"
++ nm = "nm"
++ ar = "ar"
++ ld = cxx
++
++ toolchain_args = {
++ current_cpu = "x86"
++ current_os = "openbsd"
++ is_clang = false
++ }
++}
++
++clang_toolchain("clang_x64") {
++ toolchain_args = {
++ current_cpu = "x64"
++ current_os = "openbsd"
++ }
++}
++
++gcc_toolchain("x64") {
++ cc = "gcc"
++ cxx = "g++"
++
++ readelf = "readelf"
++ nm = "nm"
++ ar = "ar"
++ ld = cxx
++
++ toolchain_args = {
++ current_cpu = "x64"
++ current_os = "openbsd"
++ is_clang = false
++ }
++}
++
++clang_toolchain("clang_arm") {
++ toolchain_args = {
++ current_cpu = "arm64"
++ current_os = "openbsd"
++ }
++}
++
++clang_toolchain("clang_arm64") {
++ toolchain_args = {
++ current_cpu = "arm64"
++ current_os = "openbsd"
++ }
++}
diff --git a/www/chromium/files/patch-cc_BUILD.gn b/www/chromium/files/patch-cc_BUILD.gn
index 880917f66c4e..80e9e0adb0a0 100644
--- a/www/chromium/files/patch-cc_BUILD.gn
+++ b/www/chromium/files/patch-cc_BUILD.gn
@@ -1,6 +1,6 @@
---- cc/BUILD.gn.orig 2021-12-31 00:57:18 UTC
+--- cc/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ cc/BUILD.gn
-@@ -655,7 +655,7 @@ cc_test_static_library("test_support") {
+@@ -659,7 +659,7 @@ cc_test_static_library("test_support") {
if (enable_vulkan) {
deps += [ "//gpu/vulkan/init" ]
}
@@ -9,7 +9,7 @@
data_deps = [ "//third_party/mesa_headers" ]
}
}
-@@ -879,7 +879,6 @@ cc_test("cc_unittests") {
+@@ -884,7 +884,6 @@ cc_test("cc_unittests") {
]
data_deps = [
"//testing/buildbot/filters:cc_unittests_filters",
diff --git a/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc b/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc
deleted file mode 100644
index e77f9cd02006..000000000000
--- a/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- cc/layers/scrollbar_layer_impl_base.cc.orig 2021-12-14 11:44:55 UTC
-+++ cc/layers/scrollbar_layer_impl_base.cc
-@@ -223,8 +223,8 @@ gfx::Rect ScrollbarLayerImplBase::ComputeThumbQuadRect
- int thumb_offset = TrackStart();
- if (maximum > 0) {
- float ratio = clamped_current_pos / maximum;
-- float max_offset = track_length - thumb_length;
-- thumb_offset += static_cast<int>(ratio * max_offset);
-+ float _max_offset = track_length - thumb_length;
-+ thumb_offset += static_cast<int>(ratio * _max_offset);
- }
-
- float thumb_thickness_adjustment =
diff --git a/www/chromium/files/patch-cc_test_layer__tree__test.cc b/www/chromium/files/patch-cc_test_layer__tree__test.cc
deleted file mode 100644
index 67cf283f9328..000000000000
--- a/www/chromium/files/patch-cc_test_layer__tree__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- cc/test/layer_tree_test.cc.orig 2021-12-31 00:57:18 UTC
-+++ cc/test/layer_tree_test.cc
-@@ -681,7 +681,7 @@ LayerTreeTest::LayerTreeTest(viz::RendererType rendere
- init_vulkan = true;
- } else if (renderer_type_ == viz::RendererType::kSkiaDawn) {
- scoped_feature_list_.InitAndEnableFeature(features::kSkiaDawn);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- init_vulkan = true;
- #elif defined(OS_WIN)
- // TODO(rivr): Initialize D3D12 for Windows.
diff --git a/www/chromium/files/patch-cc_test_pixel__test.cc b/www/chromium/files/patch-cc_test_pixel__test.cc
deleted file mode 100644
index bfcb67dd94d9..000000000000
--- a/www/chromium/files/patch-cc_test_pixel__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- cc/test/pixel_test.cc.orig 2021-07-19 18:45:05 UTC
-+++ cc/test/pixel_test.cc
-@@ -71,7 +71,7 @@ PixelTest::PixelTest(GraphicsBackend backend)
- init_vulkan = true;
- } else if (backend == kSkiaDawn) {
- scoped_feature_list_.InitAndEnableFeature(features::kSkiaDawn);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- init_vulkan = true;
- #elif defined(OS_WIN)
- // TODO(rivr): Initialize D3D12 for Windows.
diff --git a/www/chromium/files/patch-cc_trees_property__tree.cc b/www/chromium/files/patch-cc_trees_property__tree.cc
deleted file mode 100644
index 78ee286a558a..000000000000
--- a/www/chromium/files/patch-cc_trees_property__tree.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- cc/trees/property_tree.cc.orig 2021-12-14 11:44:55 UTC
-+++ cc/trees/property_tree.cc
-@@ -1299,13 +1299,13 @@ gfx::Vector2dF ScrollTree::MaxScrollOffset(int scroll_
-
- gfx::Size clip_layer_bounds = container_bounds(scroll_node->id);
-
-- gfx::Vector2dF max_offset(
-+ gfx::Vector2dF _max_offset(
- scaled_scroll_bounds.width() - clip_layer_bounds.width(),
- scaled_scroll_bounds.height() - clip_layer_bounds.height());
-
-- max_offset.Scale(1 / scale_factor);
-- max_offset.SetToMax(gfx::Vector2dF());
-- return max_offset;
-+ _max_offset.Scale(1 / scale_factor);
-+ _max_offset.SetToMax(gfx::Vector2dF());
-+ return _max_offset;
- }
-
- gfx::SizeF ScrollTree::scroll_bounds(int scroll_node_id) const {
diff --git a/www/chromium/files/patch-chrome_BUILD.gn b/www/chromium/files/patch-chrome_BUILD.gn
deleted file mode 100644
index cb38a1cd1657..000000000000
--- a/www/chromium/files/patch-chrome_BUILD.gn
+++ /dev/null
@@ -1,31 +0,0 @@
---- chrome/BUILD.gn.orig 2021-12-31 00:57:18 UTC
-+++ chrome/BUILD.gn
-@@ -283,7 +283,9 @@ if (!is_android && !is_mac) {
- ":xdg_mime", # Needs to be public for installer to consume files.
- ]
-
-- data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
-+ if (!is_bsd) {
-+ data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
-+ }
- }
-
- ldflags = []
-@@ -1392,7 +1394,7 @@ group("browser_dependencies") {
- ]
- }
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- public_deps += [ "//components/crash/core/app" ]
- }
-
-@@ -1715,7 +1717,7 @@ if (is_win && enable_resource_allowlist_generation) {
- }
-
- if (is_linux || is_chromeos) {
-- if (is_official_build) {
-+ if (is_official_build && !is_bsd) {
- group("linux_symbols") {
- deps = [
- ":angle_egl_symbols",
diff --git a/www/chromium/files/patch-chrome_app_BUILD.gn b/www/chromium/files/patch-chrome_app_BUILD.gn
deleted file mode 100644
index dea4f40726e7..000000000000
--- a/www/chromium/files/patch-chrome_app_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/app/BUILD.gn.orig 2021-12-31 00:57:19 UTC
-+++ chrome/app/BUILD.gn
-@@ -184,7 +184,7 @@ static_library("test_support") {
- ]
- public_deps = []
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia.
- deps += [
- "//components/crash/core/app",
diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc
index ecce2391064c..25aa85dc6643 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main.cc
@@ -1,6 +1,6 @@
---- chrome/app/chrome_main.cc.orig 2021-09-24 04:25:56 UTC
+--- chrome/app/chrome_main.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/app/chrome_main.cc
-@@ -25,7 +25,7 @@
+@@ -26,7 +26,7 @@
#include "chrome/app/notification_metrics.h"
#endif
@@ -9,17 +9,12 @@
#include "base/base_switches.h"
#endif
-@@ -145,11 +145,11 @@ int ChromeMain(int argc, const char** argv) {
- if (headless::IsChromeNativeHeadless()) {
+@@ -147,7 +147,7 @@ int ChromeMain(int argc, const char** argv) {
headless::SetUpCommandLine(command_line);
} else {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
- if (command_line->HasSwitch(switches::kHeadless))
- return headless::HeadlessShellMain(params);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) ||
- // defined(OS_WIN)
- }
-
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_BSD)
+ if (command_line->HasSwitch(switches::kHeadless)) {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ command_line->AppendSwitch(::headless::switches::kEnableCrashReporter);
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 41fbdee1f6d1..97abda5f5a89 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
@@ -1,6 +1,15 @@
---- chrome/app/chrome_main_delegate.cc.orig 2021-12-31 00:57:19 UTC
+--- chrome/app/chrome_main_delegate.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/app/chrome_main_delegate.cc
-@@ -155,15 +155,17 @@
+@@ -112,7 +112,7 @@
+ #include "chrome/app/chrome_crash_reporter_client.h"
+ #endif
+
+-#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
++#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
+ #include "components/nacl/common/nacl_paths.h"
+ #include "components/nacl/zygote/nacl_fork_delegate_linux.h"
+ #endif
+@@ -156,12 +156,12 @@
#include "v8/include/v8.h"
#endif
@@ -13,32 +22,18 @@
- defined(OS_LINUX) || defined(OS_CHROMEOS)
+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "chrome/browser/policy/policy_path_parser.h"
-+#if !defined(OS_BSD)
#include "components/crash/core/app/crashpad.h"
#endif
-+#endif
-
- #if BUILDFLAG(ENABLE_NACL)
- #include "components/nacl/common/nacl_switches.h"
-@@ -267,7 +269,7 @@ void SetUpExtendedCrashReporting(bool is_browser_proce
-
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS))
- void AdjustLinuxOOMScore(const std::string& process_type) {
- int score = -1;
-
-@@ -302,7 +304,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
- if (score > -1)
- base::AdjustOOMScore(base::GetCurrentProcId(), score);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS))
-
- // Returns true if this subprocess type needs the ResourceBundle initialized
+@@ -309,7 +309,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
// and resources loaded.
-@@ -348,7 +350,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
+ bool SubprocessNeedsResourceBundle(const std::string& process_type) {
+ return
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The zygote process opens the resources for the renderers.
+ process_type == switches::kZygoteProcess ||
+ #endif
+@@ -349,7 +349,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -47,16 +42,7 @@
// 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) ||
-@@ -358,7 +360,7 @@ void HandleHelpSwitches(const base::CommandLine& comma
- PLOG(FATAL) << "execlp failed";
- }
- }
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
-
- #if !defined(OS_MAC) && !defined(OS_ANDROID)
- void SIGTERMProfilingShutdown(int signal) {
-@@ -412,7 +414,7 @@ void InitializeUserDataDir(base::CommandLine* command_
+@@ -413,7 +413,7 @@ void InitializeUserDataDir(base::CommandLine* command_
std::string process_type =
command_line->GetSwitchValueASCII(switches::kProcessType);
@@ -65,25 +51,16 @@
// 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.
-@@ -424,7 +426,7 @@ void InitializeUserDataDir(base::CommandLine* command_
- user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string);
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(OS_MAC)
- policy::path_parser::CheckUserDataDirPolicy(&user_data_dir);
- #endif // OS_MAC
-@@ -495,7 +497,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat
- startup_metric_utils::RecordApplicationStartTime(now);
+@@ -497,7 +497,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat
#endif
--#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
// Record the startup process creation time on supported platforms. On Android
// this is recorded in ChromeMainDelegateAndroid.
-@@ -679,6 +681,8 @@ void ChromeMainDelegate::PostFieldTrialInitialization(
+ startup_metric_utils::RecordStartupProcessCreationTime(
+@@ -685,6 +685,8 @@ void ChromeMainDelegate::PostFieldTrialInitialization(
// not always enabled on Linux/ChromeOS.
#if defined(OS_LINUX) || defined(OS_CHROMEOS)
bool enable_gwp_asan = crash_reporter::IsCrashpadEnabled();
@@ -92,16 +69,7 @@
#else
bool enable_gwp_asan = true;
#endif
-@@ -790,7 +794,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
- v8_crashpad_support::SetUp();
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS))
- if (!crash_reporter::IsCrashpadEnabled()) {
- breakpad::SetFirstChanceExceptionHandler(v8::TryHandleWebAssemblyTrapPosix);
- }
-@@ -803,7 +807,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
+@@ -809,7 +811,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
}
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -110,25 +78,16 @@
// This will directly exit if the user asked for help.
HandleHelpSwitches(command_line);
#endif
-@@ -1014,7 +1018,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
-
- crash_reporter::InitializeCrashKeys();
-
--#if defined(OS_POSIX)
-+#if defined(OS_POSIX) && !defined(OS_BSD)
- ChromeCrashReporterClient::Create();
+@@ -840,7 +842,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ chromeos::dbus_paths::RegisterPathProvider();
#endif
-
-@@ -1027,7 +1031,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- child_process_logging::Init();
+-#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
++#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ nacl::RegisterPathProvider();
#endif
- #if defined(ARCH_CPU_ARM_FAMILY) && \
-- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- // Create an instance of the CPU class to parse /proc/cpuinfo and cache
- // cpu_brand info.
- base::CPU cpu_info;
-@@ -1148,7 +1152,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+
+@@ -1154,7 +1156,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
locale;
}
@@ -137,25 +96,7 @@
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess) {
#if defined(OS_ANDROID)
-@@ -1169,7 +1173,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- }
- #endif // defined(OS_ANDROID)
- }
--#endif // defined(OS_POSIX) && !defined(OS_MAC)
-+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
-
- #if defined(OS_ANDROID)
- CHECK_EQ(base::android::GetLibraryProcessType(),
-@@ -1189,7 +1193,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- void ChromeMainDelegate::SandboxInitialized(const std::string& process_type) {
- // Note: If you are adding a new process type below, be sure to adjust the
- // AdjustLinuxOOMScore function too.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS))
- AdjustLinuxOOMScore(process_type);
- #endif
- #if defined(OS_WIN)
-@@ -1231,7 +1235,7 @@ int ChromeMainDelegate::RunProcess(
+@@ -1237,7 +1239,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.
@@ -164,21 +105,3 @@
{switches::kNaClLoaderProcess, NaClMain},
#else
{"<invalid>", nullptr}, // To avoid constant array of size 0
-@@ -1259,7 +1263,7 @@ void ChromeMainDelegate::ProcessExiting(const std::str
- #endif // !defined(OS_ANDROID)
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS))
- void ChromeMainDelegate::ZygoteStarting(
- std::vector<std::unique_ptr<content::ZygoteForkDelegate>>* delegates) {
- #if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -1296,7 +1300,7 @@ void ChromeMainDelegate::ZygoteForked() {
- crash_keys::SetCrashKeysFromCommandLine(*command_line);
- }
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS))
-
- content::ContentClient* ChromeMainDelegate::CreateContentClient() {
- return &chrome_content_client_;
diff --git a/www/chromium/files/patch-chrome_app_chromium__strings.grd b/www/chromium/files/patch-chrome_app_chromium__strings.grd
index c5e07629feed..7db2405e0ab4 100644
--- a/www/chromium/files/patch-chrome_app_chromium__strings.grd
+++ b/www/chromium/files/patch-chrome_app_chromium__strings.grd
@@ -1,20 +1,29 @@
---- chrome/app/chromium_strings.grd.orig 2021-12-31 00:57:19 UTC
+--- chrome/app/chromium_strings.grd.orig 2022-02-07 13:39:41 UTC
+++ chrome/app/chromium_strings.grd
-@@ -802,7 +802,7 @@ Chromium is unable to recover your settings.
+@@ -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>
+@@ -808,7 +808,7 @@ Chromium is unable to recover your settings.
</if>
<!-- about:browser-switch strings -->
- <if expr="is_win or is_macosx or is_fuchsia or (is_linux and not chromeos)">
-+ <if expr="is_win or is_macosx or is_fuchsia or (is_linux and not chromeos) or is_bsd">
++ <if expr="is_win or is_macosx or is_fuchsia or (is_posix and not chromeos)">
<message name="IDS_ABOUT_BROWSER_SWITCH_DESCRIPTION_UNKNOWN_BROWSER" desc="Description shown while waiting for an alternative browser to open, when the browser name is not auto-detected">
Your system administrator has configured Chromium to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>.
</message>
-@@ -926,7 +926,7 @@ Chromium is unable to recover your settings.
+@@ -934,7 +934,7 @@ Chromium is unable to recover your settings.
</message>
<!-- ProcessSingleton -->
- <if expr="is_linux or is_macosx">
-+ <if expr="is_linux or is_macosx or is_posix">
++ <if expr="is_posix or is_macosx">
<message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
The profile appears to be in use by another Chromium process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chromium has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium.
</message>
diff --git a/www/chromium/files/patch-chrome_app_generated__resources.grd b/www/chromium/files/patch-chrome_app_generated__resources.grd
index ac8ca571afb5..1603c775fd26 100644
--- a/www/chromium/files/patch-chrome_app_generated__resources.grd
+++ b/www/chromium/files/patch-chrome_app_generated__resources.grd
@@ -1,24 +1,42 @@
---- chrome/app/generated_resources.grd.orig 2021-12-31 00:57:19 UTC
+--- chrome/app/generated_resources.grd.orig 2022-02-07 13:39:41 UTC
+++ chrome/app/generated_resources.grd
-@@ -293,7 +293,7 @@ are declared in tools/grit/grit_rule.gni.
+@@ -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.
+ -->
+@@ -296,7 +296,7 @@ are declared in tools/grit/grit_rule.gni.
<part file="profiles_strings.grdp" />
<!-- Web app intent picker strings -->
- <if expr="is_win or is_macosx or is_linux">
-+ <if expr="is_win or is_macosx or is_linux or is_bsd">
++ <if expr="is_win or is_macosx or is_posix">
<part file="url_handler_intent_picker_strings.grdp" />
</if>
-@@ -5524,7 +5524,7 @@ Keep your key file in a safe place. You will need it t
+@@ -2811,7 +2811,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>
+@@ -5557,7 +5557,7 @@ Keep your key file in a safe place. You will need it t
</if>
<!-- chrome://browser-switch strings -->
- <if expr="is_win or is_macosx or is_fuchsia or (is_linux and not chromeos)">
-+ <if expr="is_win or is_macosx or is_fuchsia or (is_linux and not chromeos) or is_bsd">
++ <if expr="is_win or is_macosx or is_fuchsia or (is_posix and not chromeos)">
<message name="IDS_ABOUT_BROWSER_SWITCH_TITLE" desc="about:browser-switch page title">
Legacy Browser Support
</message>
-@@ -7921,7 +7921,7 @@ Keep your key file in a safe place. You will need it t
+@@ -8016,7 +8016,7 @@ Keep your key file in a safe place. You will need it t
Google Pay
</message>
@@ -27,7 +45,7 @@
<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>
-@@ -8995,7 +8995,7 @@ Please help our engineers fix this problem. Tell us wh
+@@ -9104,7 +9104,7 @@ Please help our engineers fix this problem. Tell us wh
Set as default
</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
index 4386e5d9abb7..f30963321403 100644
--- a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
+++ b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
@@ -1,20 +1,29 @@
---- chrome/app/google_chrome_strings.grd.orig 2021-12-31 00:57:19 UTC
+--- chrome/app/google_chrome_strings.grd.orig 2022-02-07 13:39:41 UTC
+++ chrome/app/google_chrome_strings.grd
-@@ -810,7 +810,7 @@ Google Chrome is unable to recover your settings.
+@@ -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>
+@@ -816,7 +816,7 @@ Google Chrome is unable to recover your settings.
</if>
<!-- about:browser-switch strings -->
- <if expr="is_win or is_macosx or is_fuchsia or (is_linux and not chromeos)">
-+ <if expr="is_win or is_macosx or is_fuchsia or (is_linux and not chromeos) or is_bsd">
++ <if expr="is_win or is_macosx or is_fuchsia or (is_posix and not chromeos)">
<message name="IDS_ABOUT_BROWSER_SWITCH_DESCRIPTION_UNKNOWN_BROWSER" desc="Description shown while waiting for an alternative browser to open, when the browser name is not auto-detected">
Your system administrator has configured Google Chrome to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>.
</message>
-@@ -934,7 +934,7 @@ Google Chrome is unable to recover your settings.
+@@ -942,7 +942,7 @@ Google Chrome is unable to recover your settings.
</message>
<!-- ProcessSingleton -->
- <if expr="is_linux or is_macosx">
-+ <if expr="is_linux or is_macosx or is_posix">
++ <if expr="is_posix or is_macosx">
<message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
The profile appears to be in use by another Google Chrome process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chrome has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chrome.
</message>
diff --git a/www/chromium/files/patch-chrome_app_profiles__strings.grdp b/www/chromium/files/patch-chrome_app_profiles__strings.grdp
index 55fff4ccbc26..cf95a34a489e 100644
--- a/www/chromium/files/patch-chrome_app_profiles__strings.grdp
+++ b/www/chromium/files/patch-chrome_app_profiles__strings.grdp
@@ -1,6 +1,6 @@
---- chrome/app/profiles_strings.grdp.orig 2021-09-14 01:51:48 UTC
+--- chrome/app/profiles_strings.grdp.orig 2022-02-07 13:39:41 UTC
+++ chrome/app/profiles_strings.grdp
-@@ -69,7 +69,7 @@
+@@ -66,7 +66,7 @@
Add Profile...
</message>
</if>
diff --git a/www/chromium/files/patch-chrome_browser_BUILD.gn b/www/chromium/files/patch-chrome_browser_BUILD.gn
deleted file mode 100644
index e7ff81b2f74d..000000000000
--- a/www/chromium/files/patch-chrome_browser_BUILD.gn
+++ /dev/null
@@ -1,58 +0,0 @@
---- chrome/browser/BUILD.gn.orig 2021-12-31 00:57:21 UTC
-+++ chrome/browser/BUILD.gn
-@@ -2520,9 +2520,18 @@ static_library("browser") {
- "policy/messaging_layer/util/heartbeat_event_factory.h",
- ]
- }
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [ "//chrome/browser/error_reporting" ]
- }
-+ if (is_bsd) {
-+ sources -= [
-+ "crash_upload_list/crash_upload_list.cc",
-+ "crash_upload_list/crash_upload_list.h",
-+ ]
-+ deps -= [
-+ "//components/crash/core/browser",
-+ ]
-+ }
- if (use_ozone) {
- deps += [
- "//ui/events/ozone",
-@@ -5702,7 +5711,7 @@ static_library("browser") {
- }
- }
-
-- if (is_linux && use_dbus) {
-+ if ((is_linux && !is_bsd) && use_dbus) {
- sources += [
- "dbus_memory_pressure_evaluator_linux.cc",
- "dbus_memory_pressure_evaluator_linux.h",
-@@ -5801,6 +5810,17 @@ static_library("browser") {
- ]
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "enterprise/signals/device_info_fetcher_linux.cc",
-+ "enterprise/signals/device_info_fetcher_linux.h",
-+ ]
-+ sources += [
-+ "enterprise/signals/device_info_fetcher_freebsd.cc",
-+ "enterprise/signals/device_info_fetcher_freebsd.h",
-+ ]
-+ }
-+
- if (is_posix) {
- sources += [
- "shutdown_signal_handlers_posix.cc",
-@@ -5966,7 +5986,7 @@ static_library("browser") {
- deps += [ "//chromeos/ui/base" ]
- }
-
-- if (is_posix && !is_mac) {
-+ if (is_posix && !is_mac && !is_bsd) {
- # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia.
- sources += [
- "//chrome/app/chrome_crash_reporter_client.cc",
diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc
index 9ab37bae1638..5cc17e7ac79f 100644
--- a/www/chromium/files/patch-chrome_browser_about__flags.cc
+++ b/www/chromium/files/patch-chrome_browser_about__flags.cc
@@ -1,6 +1,6 @@
---- chrome/browser/about_flags.cc.orig 2021-12-31 00:57:21 UTC
+--- chrome/browser/about_flags.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/about_flags.cc
-@@ -204,7 +204,7 @@
+@@ -203,7 +203,7 @@
#include "ui/native_theme/native_theme_features.h"
#include "ui/ui_features.h"
@@ -9,7 +9,7 @@
#include "base/allocator/buildflags.h"
#endif
-@@ -272,10 +272,10 @@
+@@ -271,7 +271,7 @@
#include "chrome/browser/supervised_user/supervised_user_features/supervised_user_features.h"
#endif // ENABLE_SUPERVISED_USERS
@@ -17,12 +17,8 @@
+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
#include "ui/ozone/buildflags.h"
#include "ui/ozone/public/ozone_switches.h"
--#endif // OS_LINUX || BUILDFLAG(IS_CHROMEOS_ASH)
-+#endif // OS_LINUX || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- #include "base/win/windows_version.h"
-@@ -385,7 +385,7 @@ const FeatureEntry::Choice kUseAngleChoicesMac[] = {
+ #endif // OS_LINUX || BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -358,7 +358,7 @@ const FeatureEntry::Choice kUseAngleChoicesMac[] = {
gl::kANGLEImplementationMetalName}};
#endif
@@ -31,25 +27,34 @@
const FeatureEntry::Choice kOzonePlatformHintRuntimeChoices[] = {
{flag_descriptions::kOzonePlatformHintChoiceDefault, "", ""},
{flag_descriptions::kOzonePlatformHintChoiceAuto,
-@@ -985,7 +985,7 @@ const FeatureEntry::FeatureVariation kPageContentAnnot
- base::size(kPageContentAnnotationsTitleParams), nullptr},
+@@ -941,7 +941,7 @@ const FeatureEntry::FeatureVariation kPageContentAnnot
};
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_FUCHSIA)
++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD)
const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = {
{"DocumentUseServerScore", "true"},
-@@ -1193,7 +1193,7 @@ const FeatureEntry::FeatureVariation kOmniboxBookmarkP
- {"Dynamic Replace URL (Title - Path|URL)",
- kOmniboxBookmarkPathsDynamicReplaceUrl,
- base::size(kOmniboxBookmarkPathsDynamicReplaceUrl), nullptr}};
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) ||
- // defined(OS_WIN)
-
- const FeatureEntry::FeatureVariation
-@@ -3296,7 +3296,7 @@ const FeatureEntry kFeatureEntries[] = {
+ {"DocumentUseClientScore", "false"},
+@@ -2344,7 +2344,7 @@ const FeatureEntry::FeatureVariation kPasswordChangeFe
+ nullptr}};
+ #endif // defined(OS_ANDROID)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const FeatureEntry::FeatureParam
+ kSendWebUIJavaScriptErrorReportsVariationSendToStaging[] = {
+ {features::kSendWebUIJavaScriptErrorReportsSendToProductionVariation,
+@@ -2699,7 +2699,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kWebKioskEnableLacrosDescription, kOsCrOS,
+ FEATURE_VALUE_TYPE(features::kWebKioskEnableLacros)},
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ {"send-webui-javascript-error-reports",
+ flag_descriptions::kSendWebUIJavaScriptErrorReportsName,
+ flag_descriptions::kSendWebUIJavaScriptErrorReportsDescription,
+@@ -3208,7 +3208,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chromeos::kLacrosTtsSupport)},
#endif // defined(OS_CHROMEOS)
@@ -58,16 +63,7 @@
{
"enable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
-@@ -3314,7 +3314,7 @@ const FeatureEntry kFeatureEntries[] = {
- kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
- SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
- },
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- {
- "disable-accelerated-video-encode",
- flag_descriptions::kAcceleratedVideoEncodeName,
-@@ -3685,7 +3685,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -3620,7 +3620,7 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-login-detection", flag_descriptions::kEnableLoginDetectionName,
flag_descriptions::kEnableLoginDetectionDescription, kOsAll,
FEATURE_VALUE_TYPE(login_detection::kLoginDetection)},
@@ -76,16 +72,7 @@
{"enable-save-data", flag_descriptions::kEnableSaveDataName,
flag_descriptions::kEnableSaveDataDescription, kOsCrOS | kOsLinux,
SINGLE_VALUE_TYPE(
-@@ -3695,7 +3695,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kEnableNavigationPredictorDescription,
- kOsCrOS | kOsLinux,
- FEATURE_VALUE_TYPE(blink::features::kNavigationPredictor)},
--#endif // BUILDFLAG(IS_CHROMEOS) || OS_LINUX
-+#endif // BUILDFLAG(IS_CHROMEOS) || OS_LINUX || OS_BSD
- {"enable-preconnect-to-search",
- flag_descriptions::kEnablePreconnectToSearchName,
- flag_descriptions::kEnablePreconnectToSearchDescription, kOsAll,
-@@ -3873,7 +3873,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -3808,7 +3808,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kWebShare)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_WIN || OS_MAC
@@ -94,116 +81,75 @@
{"ozone-platform-hint", flag_descriptions::kOzonePlatformHintName,
flag_descriptions::kOzonePlatformHintDescription, kOsLinux,
MULTI_VALUE_TYPE(kOzonePlatformHintRuntimeChoices)},
-@@ -4567,7 +4567,7 @@ const FeatureEntry kFeatureEntries[] = {
- kOsAll,
- FEATURE_VALUE_TYPE(omnibox::kOmniboxTrendingZeroPrefixSuggestionsOnNTP)},
+@@ -4493,7 +4493,7 @@ const FeatureEntry kFeatureEntries[] = {
+ "OmniboxBundledExperimentV1")},
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_FUCHSIA)
++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD)
{"omnibox-experimental-keyword-mode",
flag_descriptions::kOmniboxExperimentalKeywordModeName,
-@@ -4676,7 +4676,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kOmniboxPreserveLongerShortcutsTextName,
- flag_descriptions::kOmniboxPreserveLongerShortcutsTextDescription,
- kOsDesktop, FEATURE_VALUE_TYPE(omnibox::kPreserveLongerShortcutsText)},
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) ||
- // defined(OS_WIN)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -4952,12 +4952,12 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
+ flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop,
+@@ -4870,7 +4870,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // !defined(OS_ANDROID)
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
{"webui-feedback", flag_descriptions::kWebuiFeedbackName,
flag_descriptions::kWebuiFeedbackDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kWebUIFeedback)},
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if !defined(OS_ANDROID)
-@@ -5577,7 +5577,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kSharingSendViaSyncDescription, kOsAll,
+@@ -5492,7 +5492,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(kSharingSendViaSync)},
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
{"sharing-hub-desktop-app-menu",
flag_descriptions::kSharingHubDesktopAppMenuName,
flag_descriptions::kSharingHubDesktopAppMenuDescription, kOsDesktop,
-@@ -5586,7 +5586,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kSharingHubDesktopOmniboxName,
- flag_descriptions::kSharingHubDesktopOmniboxDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(sharing_hub::kSharingHubDesktopOmnibox)},
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- {"ash-enable-pip-rounded-corners",
-@@ -6011,14 +6011,14 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kMouseSubframeNoImplicitCaptureDescription, kOsAll,
+@@ -5917,7 +5917,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kMouseSubframeNoImplicitCapture)},
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
{"global-media-controls-modern-ui",
flag_descriptions::kGlobalMediaControlsModernUIName,
flag_descriptions::kGlobalMediaControlsModernUIDescription,
- kOsWin | kOsMac | kOsLinux | kOsCrOS,
- FEATURE_VALUE_TYPE(media::kGlobalMediaControlsModernUI)},
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- {"safety-tips", flag_descriptions::kSafetyTipName,
-@@ -6734,7 +6734,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(chrome::android::kIncognitoReauthenticationForAndroid)},
+@@ -6606,7 +6606,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif
--#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
{"incognito-brand-consistency-for-desktop",
flag_descriptions::kIncognitoBrandConsistencyForDesktopName,
-@@ -6753,7 +6753,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kInheritNativeThemeFromParentWidgetDescription,
- kOsDesktop,
- FEATURE_VALUE_TYPE(views::features::kInheritNativeThemeFromParentWidget)},
--#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) ||
-+#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-
- {"consolidated-site-storage-controls",
-@@ -6867,7 +6867,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(language::kForceAppLanguagePrompt)},
+ flag_descriptions::kIncognitoBrandConsistencyForDesktopDescription,
+@@ -6739,7 +6739,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
{"commander", flag_descriptions::kCommanderName,
flag_descriptions::kCommanderDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kCommander)},
-@@ -7121,7 +7121,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kVp9kSVCHWDecodingDescription, kOsAll,
+@@ -6982,7 +6982,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(media::kVp9kSVCHWDecoding)},
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
+- defined(OS_MAC) || defined(OS_FUCHSIA)
++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD)
{
"ui-debug-tools",
-@@ -7259,7 +7259,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(chromeos::features::kLauncherAppSort)},
+ flag_descriptions::kUIDebugToolsName,
+@@ -7124,7 +7124,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif
--#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
{"enable-desktop-pwas-app-icon-shortcuts-menu-ui",
flag_descriptions::kDesktopPWAsAppIconShortcutsMenuUIName,
flag_descriptions::kDesktopPWAsAppIconShortcutsMenuUIDescription,
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 aa6b0eb0a710..43dc49863e1b 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,6 +1,6 @@
---- chrome/browser/after_startup_task_utils.cc.orig 2021-12-31 00:57:21 UTC
+--- chrome/browser/after_startup_task_utils.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/after_startup_task_utils.cc
-@@ -22,7 +22,7 @@
+@@ -25,7 +25,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,25 +9,16 @@
#include "ui/views/linux_ui/linux_ui.h"
#endif
-@@ -107,7 +107,7 @@ void SetBrowserStartupIsComplete() {
- return;
+@@ -111,7 +111,7 @@ void SetBrowserStartupIsComplete() {
g_startup_complete_flag.Get().Set();
--#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
// Process::Current().CreationTime() is not available on all platforms.
const base::Time process_creation_time =
-@@ -116,7 +116,7 @@ void SetBrowserStartupIsComplete() {
- UMA_HISTOGRAM_LONG_TIMES("Startup.AfterStartupTaskDelayedUntilTime",
- base::Time::Now() - process_creation_time);
- }
--#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) ||
-+#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- UMA_HISTOGRAM_COUNTS_10000("Startup.AfterStartupTaskCount",
- g_after_startup_tasks.Get().size());
-@@ -127,7 +127,7 @@ void SetBrowserStartupIsComplete() {
+ base::Process::Current().CreationTime();
+@@ -130,7 +130,7 @@ void SetBrowserStartupIsComplete() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc
deleted file mode 100644
index 2d7ab149c160..000000000000
--- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc.orig 2021-12-31 00:57:21 UTC
-+++ chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc
-@@ -298,7 +298,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppPpapiT
-
- // Test is flaky, it fails on certain bots, namely WinXP Tests(1) and Linux
- // (dbg)(1)(32). See crbug.com/354425.
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #define MAYBE_MediaGalleriesNoAccess DISABLED_MediaGalleriesNoAccess
- #else
- #define MAYBE_MediaGalleriesNoAccess MediaGalleriesNoAccess
-@@ -336,7 +336,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowse
-
- // Test is flaky, it fails on certain bots, namely WinXP Tests(1) and Linux
- // (dbg)(1)(32). See crbug.com/354425.
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #define MAYBE_MediaGalleriesCopyTo DISABLED_MediaGalleriesCopyTo
- #else
- #define MAYBE_MediaGalleriesCopyTo MediaGalleriesCopyTo
diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc
deleted file mode 100644
index 75677148cd36..000000000000
--- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc.orig 2021-09-14 01:51:49 UTC
-+++ chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc
-@@ -242,7 +242,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTe
- // Test is flaky on windows and linux: crbug.com/1150017.
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- #define MAYBE_RemoveListenerAndModifyGallery \
- DISABLED_RemoveListenerAndModifyGallery
- #else
diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc
index 922f5898b3ba..dad818ce9cf0 100644
--- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc
@@ -1,37 +1,39 @@
---- chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc.orig 2021-04-14 18:40:52 UTC
+--- chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc
-@@ -4,6 +4,11 @@
+@@ -4,6 +4,15 @@
#include "chrome/browser/apps/platform_apps/api/music_manager_private/device_id.h"
-+#if defined(OS_FREEBSD)
++#include "build/build_config.h"
++
++#if defined(OS_BSD)
+#include <sys/types.h>
+#include <net/if_dl.h>
++#include <netinet/in.h>
++#include <sys/socket.h>
+#endif
+
#include <ifaddrs.h>
#include <net/if.h>
#include <stddef.h>
-@@ -105,9 +110,36 @@ class MacAddressProcessor {
+@@ -105,11 +114,33 @@ class MacAddressProcessor {
const char* const prefixes[],
size_t prefixes_count) {
const int MAC_LENGTH = 6;
-+#if defined(OS_FREEBSD)
++#if defined(OS_BSD)
+ struct ifaddrs *ifap, *ifinfo;
+#else
struct ifreq ifinfo;
+#endif
memset(&ifinfo, 0, sizeof(ifinfo));
-+
-+#if defined(OS_FREEBSD)
+- strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1);
+
++#if defined(OS_BSD)
+ int result = getifaddrs(&ifap);
-+
+ if (result != 0)
+ return true;
-+
+ result = 1; // no MAC found yet
-+
+ for (ifinfo = ifap; ifinfo != NULL; ifinfo = ifinfo->ifa_next) {
+ struct sockaddr* sa = ifinfo->ifa_addr;
+ if (sa->sa_family == AF_LINK &&
@@ -43,22 +45,21 @@
+ }
+
+ char mac_address[6];
-+
+ strncpy(mac_address, (const char*)LLADDR((struct sockaddr_dl*)ifinfo->ifa_addr), sizeof(mac_address));
+#else
- strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1);
-
++ strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1);
int sd = socket(AF_INET, SOCK_DGRAM, 0);
-@@ -119,11 +151,18 @@ class MacAddressProcessor {
+ int result = ioctl(sd, SIOCGIFHWADDR, &ifinfo);
+ close(sd);
+@@ -119,11 +150,17 @@ class MacAddressProcessor {
const char* mac_address =
static_cast<const char*>(ifinfo.ifr_hwaddr.sa_data);
+#endif
-+
if (!is_valid_mac_address_.Run(mac_address, MAC_LENGTH))
return true;
-+#if defined(OS_FREEBSD)
++#if defined(OS_BSD)
+ if (!IsValidPrefix(ifinfo->ifa_name, prefixes, prefixes_count))
+ return true;
+#else
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 3c22db0ec515..8567bb517f11 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,6 +1,6 @@
---- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2021-09-24 18:17:35 UTC
+--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/apps/platform_apps/platform_app_launch.cc
-@@ -17,13 +17,13 @@
+@@ -17,7 +17,7 @@
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
@@ -9,13 +9,6 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/browser_window.h"
- #include "chrome/browser/web_applications/extension_status_utils.h"
- #include "chrome/common/webui_url_constants.h"
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
-
- namespace apps {
-
@@ -122,7 +122,7 @@ bool OpenExtensionApplicationTab(Profile* profile, con
return app_tab != nullptr;
}
@@ -25,12 +18,3 @@
bool OpenDeprecatedApplicationPrompt(Profile* profile,
const std::string& app_id) {
if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id))
-@@ -142,7 +142,7 @@ bool OpenDeprecatedApplicationPrompt(Profile* profile,
- // TODO(crbug.com/1225779): Show the deprecated apps dialog.
- return true;
- }
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
-
- bool OpenExtensionApplicationWithReenablePrompt(
- Profile* profile,
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 5e0738a0586d..d6aa299207f8 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,6 +1,6 @@
---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2021-04-14 18:40:52 UTC
+--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
-@@ -87,7 +87,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
+@@ -89,7 +89,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
return metrics::OmniboxInputType::QUERY;
case ExternalProtocolHandler::UNKNOWN: {
@@ -9,12 +9,3 @@
// Linux impl of GetApplicationNameForProtocol doesn't distinguish
// between URL schemes with handers and those without. This will
// make the default behaviour be search on Linux.
-@@ -100,7 +100,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
- shell_integration::GetApplicationNameForProtocol(url);
- return application_name.empty() ? metrics::OmniboxInputType::EMPTY
- : metrics::OmniboxInputType::URL;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
- }
- NOTREACHED();
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
index fbb447ec1a82..28a83f9c9559 100644
--- a/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc
+++ b/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc
@@ -1,6 +1,6 @@
---- chrome/browser/background/background_mode_optimizer.cc.orig 2021-04-14 18:40:52 UTC
+--- chrome/browser/background/background_mode_optimizer.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/background/background_mode_optimizer.cc
-@@ -30,10 +30,10 @@ std::unique_ptr<BackgroundModeOptimizer> BackgroundMod
+@@ -31,7 +31,7 @@ std::unique_ptr<BackgroundModeOptimizer> BackgroundMod
switches::kKeepAliveForTest))
return nullptr;
@@ -8,8 +8,4 @@
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart))
return base::WrapUnique(new BackgroundModeOptimizer());
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- return nullptr;
- }
+ #endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
new file mode 100644
index 000000000000..512a65dad887
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/browser_process_impl.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/browser_process_impl.cc
+@@ -208,7 +208,7 @@
+ #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "chrome/browser/error_reporting/chrome_js_error_report_processor.h" // nogncheck
+ #endif
+
+@@ -1160,7 +1160,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
+ ApplyMetricsReportingPolicy();
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ ChromeJsErrorReportProcessor::Create();
+ #endif
+
+@@ -1420,7 +1420,7 @@ void BrowserProcessImpl::Unpin() {
+ // Mac is currently not supported.
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_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
new file mode 100644
index 000000000000..9ede1407b876
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.h
@@ -0,0 +1,11 @@
+--- chrome/browser/browser_process_impl.h.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/browser_process_impl.h
+@@ -373,7 +373,7 @@ class BrowserProcessImpl : public BrowserProcess,
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_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_browsing__data_chrome__browsing__data__remover__delegate.cc b/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc
deleted file mode 100644
index f6252798c469..000000000000
--- a/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc.orig 2021-12-14 11:44:57 UTC
-+++ chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
-@@ -608,7 +608,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedder
- }
- #endif
-
-+#if !defined(OS_BSD)
- CreateCrashUploadList()->Clear(delete_begin_, delete_end_);
-+#endif
-
- FindBarStateFactory::GetForBrowserContext(profile_)->SetLastSearchText(
- std::u16string());
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 16af14dc97bb..ed429a3889e5 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,56 +1,56 @@
---- chrome/browser/chrome_browser_interface_binders.cc.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/chrome_browser_interface_binders.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/chrome_browser_interface_binders.cc
-@@ -94,7 +94,7 @@
- #include "chrome/browser/ui/webui/reset_password/reset_password_ui.h"
+@@ -97,7 +97,7 @@
#endif // BUILDFLAG(FULL_SAFE_BROWSING)
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
#include "chrome/browser/ui/webui/connectors_internals/connectors_internals.mojom.h"
#include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h"
-@@ -159,7 +159,7 @@
- #include "ui/webui/resources/js/browser_command/browser_command.mojom.h"
+ #endif
+@@ -165,7 +165,7 @@
#endif // defined(OS_ANDROID)
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
#include "chrome/browser/ui/webui/discards/discards.mojom.h"
#include "chrome/browser/ui/webui/discards/discards_ui.h"
-@@ -648,7 +648,7 @@ void PopulateChromeFrameBinders(
- base::BindRepeating(&BindSpeechRecognitionRecognizerClientHandler));
+ #include "chrome/browser/ui/webui/discards/site_data.mojom.h"
+@@ -654,7 +654,7 @@ void PopulateChromeFrameBinders(
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
if (!render_frame_host->GetParent()) {
map->Add<chrome::mojom::DraggableRegions>(
-@@ -656,7 +656,7 @@ void PopulateChromeFrameBinders(
- }
+ base::BindRepeating(&DraggableRegionsHostImpl::CreateIfAllowed));
+@@ -662,7 +662,7 @@ void PopulateChromeFrameBinders(
#endif
--#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MAC) || \
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MAC) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_BSD)
if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) &&
!render_frame_host->GetParent()) {
-@@ -691,7 +691,7 @@ void PopulateChromeWebUIFrameBinders(
- RegisterWebUIControllerInterfaceBinder<federated_learning::mojom::PageHandler,
- FlocInternalsUI>(map);
+ map->Add<blink::mojom::SubAppsProvider>(
+@@ -702,7 +702,7 @@ void PopulateChromeWebUIFrameBinders(
+ SegmentationInternalsUI>(map);
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
RegisterWebUIControllerInterfaceBinder<
connectors_internals::mojom::PageHandler,
-@@ -981,7 +981,7 @@ void PopulateChromeWebUIFrameBinders(
- }
+ enterprise_connectors::ConnectorsInternalsUI>(map);
+@@ -1003,7 +1003,7 @@ void PopulateChromeWebUIFrameBinders(
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_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 1a6abd9da1e9..995770294b88 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
@@ -1,15 +1,29 @@
---- chrome/browser/chrome_browser_main.cc.orig 2021-12-14 11:44:57 UTC
+--- chrome/browser/chrome_browser_main.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/chrome_browser_main.cc
-@@ -261,7 +261,7 @@
+@@ -224,11 +224,11 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "chrome/browser/first_run/upgrade_util_linux.h"
+ #endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "components/crash/core/app/breakpad_linux.h"
+ #include "components/crash/core/app/crashpad.h"
+ #endif
+@@ -263,7 +263,7 @@
+
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
#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"
-@@ -951,7 +951,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+@@ -949,7 +949,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs);
}
@@ -18,37 +32,21 @@
// 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 .
-@@ -960,7 +960,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- &user_native_messaging_dir));
- if (!base::PathExists(user_native_messaging_dir))
- base::CreateDirectory(user_native_messaging_dir);
--#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+@@ -962,7 +962,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
}
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -985,7 +985,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+ // Set the product channel for crash reports.
+ if (!crash_reporter::IsCrashpadEnabled()) {
+ breakpad::SetChannelCrashKey(
+@@ -982,7 +982,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
metrics::DesktopSessionDurationTracker::Initialize();
ProfileActivityMetricsRecorder::Initialize();
- TouchModeStatsTracker::Initialize(
-@@ -1177,6 +1177,7 @@ void ChromeBrowserMainParts::PostBrowserStart() {
- base::Minutes(1));
-
- #if !defined(OS_ANDROID)
-+#if !defined(OS_BSD)
- if (base::FeatureList::IsEnabled(features::kWebUsb)) {
- web_usb_detector_ = std::make_unique<WebUsbDetector>();
- content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT})
-@@ -1184,6 +1185,7 @@ void ChromeBrowserMainParts::PostBrowserStart() {
- base::BindOnce(&WebUsbDetector::Initialize,
- base::Unretained(web_usb_detector_.get())));
- }
-+#endif
- if (base::FeatureList::IsEnabled(features::kTabMetricsLogging)) {
- // Initialize the TabActivityWatcher to begin logging tab activity events.
- resource_coordinator::TabActivityWatcher::GetInstance();
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 c32fc3dbf5dd..bfe5cf2b7ccc 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,4 +1,4 @@
---- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2022-01-21 13:07:37 UTC
+--- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/chrome_browser_main_extra_parts_linux.cc
@@ -120,7 +120,7 @@ ChromeBrowserMainExtraPartsLinux::ChromeBrowserMainExt
ChromeBrowserMainExtraPartsLinux::~ChromeBrowserMainExtraPartsLinux() = default;
@@ -9,12 +9,3 @@
// On the desktop, we fix the platform name if necessary.
// See https://crbug.com/1246928.
auto* const command_line = base::CommandLine::ForCurrentProcess();
-@@ -132,7 +132,7 @@ void ChromeBrowserMainExtraPartsLinux::PreEarlyInitial
- switches::kOzonePlatform, MaybeFixPlatformName(ozone_platform_hint));
- }
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- ChromeBrowserMainExtraPartsOzone::PreEarlyInitialization();
- }
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 45816bbd09d5..fa6f25a6beab 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,52 +1,20 @@
---- chrome/browser/chrome_browser_main_linux.cc.orig 2022-01-20 10:35:49 UTC
+--- chrome/browser/chrome_browser_main_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/chrome_browser_main_linux.cc
-@@ -30,7 +30,7 @@
- #include "chrome/installer/util/google_update_settings.h"
- #endif
-
--#if defined(USE_DBUS) && !defined(OS_CHROMEOS)
-+#if defined(USE_DBUS) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- #include "chrome/browser/dbus_memory_pressure_evaluator_linux.h"
- #endif
-
-@@ -54,12 +54,14 @@ ChromeBrowserMainPartsLinux::~ChromeBrowserMainPartsLi
-
- void ChromeBrowserMainPartsLinux::PreProfileInit() {
- #if !BUILDFLAG(IS_CHROMEOS_ASH)
-+#if !defined(OS_BSD)
- // Needs to be called after we have chrome::DIR_USER_DATA and
- // g_browser_process. This happens in PreCreateThreads.
- // base::GetLinuxDistro() will initialize its value if needed.
- base::ThreadPool::PostTask(
- FROM_HERE, {base::MayBlock(), base::TaskPriority::BEST_EFFORT},
- base::BindOnce(base::IgnoreResult(&base::GetLinuxDistro)));
-+#endif
-
- // Set up crypt config. This should be kept in sync with the OSCrypt parts of
- // SystemNetworkContextManager::OnNetworkServiceCreated.
-@@ -82,14 +84,14 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() {
+@@ -86,7 +86,7 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() {
}
void ChromeBrowserMainPartsLinux::PostCreateMainMessageLoop() {
--#if !BUILDFLAG(IS_CHROMEOS_ASH)
-+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
- bluez::BluezDBusManager::Initialize(nullptr /* system_bus */);
- #endif
-
- ChromeBrowserMainPartsPosix::PostCreateMainMessageLoop();
- }
-
--#if defined(USE_DBUS) && !defined(OS_CHROMEOS)
-+#if defined(USE_DBUS) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- void ChromeBrowserMainPartsLinux::PostBrowserStart() {
- // static_cast is safe because this is the only implementation of
- // MemoryPressureMonitor.
-@@ -108,7 +110,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() {
- #endif
+-#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // No-op: Ash and Lacros Bluetooth DBusManager initialization depend on
+ // FeatureList, and is done elsewhere.
+ #else
+@@ -115,7 +115,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() {
+ #endif // defined(USE_DBUS) && !defined(OS_CHROMEOS)
void ChromeBrowserMainPartsLinux::PostDestroyThreads() {
--#if !BUILDFLAG(IS_CHROMEOS_ASH)
-+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
+-#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // No-op; per PostBrowserStart() comment, this is done elsewhere.
+ #else
bluez::BluezDBusManager::Shutdown();
- bluez::BluezDBusThreadManager::Shutdown();
- #endif
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
deleted file mode 100644
index 54db44854aa0..000000000000
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/chrome_browser_main_linux.h.orig 2022-01-04 12:26:19 UTC
-+++ chrome/browser/chrome_browser_main_linux.h
-@@ -25,7 +25,7 @@ class ChromeBrowserMainPartsLinux : public ChromeBrows
- // ChromeBrowserMainParts overrides.
- void PreProfileInit() override;
- void PostCreateMainMessageLoop() override;
--#if defined(USE_DBUS) && !defined(OS_CHROMEOS)
-+#if defined(USE_DBUS) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- // Only needed for native Linux, to set up the low-memory-monitor-based memory
- // monitoring (which depends on D-Bus).
- void PostBrowserStart() 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 2120e9f3b806..f1af0f25cc94 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,6 +1,6 @@
---- chrome/browser/chrome_browser_main_posix.cc.orig 2021-12-14 11:44:57 UTC
+--- chrome/browser/chrome_browser_main_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/chrome_browser_main_posix.cc
-@@ -73,7 +73,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa
+@@ -72,7 +72,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa
} else {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
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 96b5f8e3768a..20ddbcd0d54d 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,6 +1,6 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2022-01-20 10:35:49 UTC
+--- chrome/browser/chrome_content_browser_client.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/chrome_content_browser_client.cc
-@@ -368,7 +368,7 @@
+@@ -373,7 +373,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"
@@ -9,29 +9,37 @@
#include "chrome/browser/chrome_browser_main_linux.h"
#elif defined(OS_ANDROID)
#include "base/android/application_status_listener.h"
-@@ -432,7 +432,7 @@
+@@ -437,17 +437,17 @@
+
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
#include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h"
#endif
-@@ -449,10 +449,10 @@
- #include "components/crash/content/browser/crash_handler_host_linux.h"
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "components/crash/core/app/crash_switches.h"
+ #include "components/crash/core/app/crashpad.h"
+ #endif
+
+-#if defined(OS_POSIX) && !defined(OS_MAC)
++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ #if !defined(OS_ANDROID)
+ #include "base/debug/leak_annotations.h"
+ #include "components/crash/core/app/breakpad_linux.h"
+@@ -456,7 +456,7 @@
#endif
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ #if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
#include "chrome/browser/enterprise/connectors/device_trust/navigation_throttle.h"
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) ||
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) ||
+ #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) ||
// BUILDFLAG(IS_CHROMEOS_ASH)
-
- // TODO(crbug.com/939205): Once the upcoming App Service is available, use a
-@@ -471,11 +471,11 @@
+@@ -478,11 +478,11 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -45,30 +53,25 @@
#include "chrome/browser/chrome_browser_main_extra_parts_linux.h"
#elif defined(USE_OZONE)
#include "chrome/browser/chrome_browser_main_extra_parts_ozone.h"
-@@ -875,11 +875,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos
- }
-
+@@ -866,7 +866,7 @@ blink::mojom::AutoplayPolicy GetAutoplayPolicyForWebCo
int GetCrashSignalFD(const base::CommandLine& command_line) {
-+#if !defined(OS_BSD)
- if (crash_reporter::IsCrashpadEnabled()) {
- int fd;
- pid_t pid;
- return crash_reporter::GetHandlerSocket(&fd, &pid) ? fd : -1;
- }
-+#endif
-
- // Extensions have the same process type as renderers.
- if (command_line.HasSwitch(extensions::switches::kExtensionProcess)) {
-@@ -1349,7 +1351,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
+ return crashpad::CrashHandlerHost::Get()->GetDeathSignalSocket();
+ }
+-#elif defined(OS_POSIX) && !defined(OS_MAC)
++#elif defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost(
+ const std::string& process_type) {
+ base::FilePath dumps_path;
+@@ -1361,7 +1361,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
#elif BUILDFLAG(IS_CHROMEOS_LACROS)
- main_parts = std::make_unique<ChromeBrowserMainPartsLacros>(parameters,
- &startup_data_);
+ main_parts = std::make_unique<ChromeBrowserMainPartsLacros>(
+ std::move(parameters), &startup_data_);
-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- main_parts =
- std::make_unique<ChromeBrowserMainPartsLinux>(parameters, &startup_data_);
+ main_parts = std::make_unique<ChromeBrowserMainPartsLinux>(
+ std::move(parameters), &startup_data_);
#elif defined(OS_ANDROID)
-@@ -1383,7 +1385,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
+@@ -1395,7 +1395,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
std::make_unique<ChromeBrowserMainExtraPartsViewsLacros>());
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -77,7 +80,7 @@
main_parts->AddParts(
std::make_unique<ChromeBrowserMainExtraPartsViewsLinux>());
#else
-@@ -1400,7 +1402,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
+@@ -1412,7 +1412,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsLacros>());
#endif
@@ -86,16 +89,25 @@
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsLinux>());
#elif defined(USE_OZONE)
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsOzone>());
-@@ -2176,7 +2178,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
- command_line->AppendSwitchASCII(switches::kMetricsClientID,
- client_info->client_id);
- }
--#elif defined(OS_POSIX)
-+#elif defined(OS_POSIX) && !defined(OS_BSD)
+@@ -2184,6 +2184,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+ #elif defined(OS_POSIX)
#if defined(OS_ANDROID)
bool enable_crash_reporter = true;
++#elif defined(OS_BSD)
++ bool enable_crash_reporter = false;
#else
-@@ -3834,7 +3836,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
+ bool enable_crash_reporter = false;
+ if (crash_reporter::IsCrashpadEnabled()) {
+@@ -2497,7 +2499,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+ ThreadProfilerConfiguration::Get()->AppendCommandLineSwitchForChildProcess(
+ command_line);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Processes may only query perf_event_open with the BPF sandbox disabled.
+ if (browser_command_line.HasSwitch(switches::kEnableThreadInstructionCount) &&
+ command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) {
+@@ -3858,7 +3860,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
}
}
@@ -104,36 +116,21 @@
void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
-@@ -3869,7 +3871,7 @@ void ChromeContentBrowserClient::GetAdditionalMappedFi
- mappings->Share(kCrashDumpSignal, crash_signal_fd);
+@@ -4266,7 +4268,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
}
- }
--#endif // defined(OS_POSIX) && !defined(OS_MAC)
-+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
- #if defined(OS_WIN)
- std::wstring ChromeContentBrowserClient::GetAppContainerSidForSandboxType(
-@@ -4242,12 +4244,12 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
- &throttles);
- }
-
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ #if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
MaybeAddThrottle(enterprise_connectors::DeviceTrustNavigationThrottle::
MaybeCreateThrottleFor(handle),
&throttles);
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) ||
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) ||
- // BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -4299,7 +4301,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
- #if !defined(OS_ANDROID)
-@@ -4277,7 +4279,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
MaybeCreateThrottleFor(handle),
- &throttles);
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 45dad5690887..4c3aff5fb455 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,6 +1,6 @@
---- chrome/browser/chrome_content_browser_client.h.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/chrome_content_browser_client.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/chrome_content_browser_client.h
-@@ -405,12 +405,12 @@ class ChromeContentBrowserClient : public content::Con
+@@ -412,7 +412,7 @@ class ChromeContentBrowserClient : public content::Con
void OverridePageVisibilityState(
content::RenderFrameHost* render_frame_host,
content::PageVisibilityState* visibility_state) override;
@@ -9,9 +9,3 @@
void GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
- content::PosixFileDescriptorInfo* mappings) override;
--#endif // defined(OS_POSIX) && !defined(OS_MAC)
-+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
- #if defined(OS_WIN)
- bool PreSpawnChild(sandbox::TargetPolicy* policy,
- sandbox::mojom::Sandbox sandbox_type,
diff --git a/www/chromium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc b/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
index c3057e9a82c1..89bbf2da0605 100644
--- a/www/chromium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc
+++ b/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
@@ -1,9 +1,9 @@
---- chrome/browser/custom_handlers/protocol_handler_registry.cc.orig 2021-07-19 18:45:08 UTC
-+++ chrome/browser/custom_handlers/protocol_handler_registry.cc
-@@ -45,7 +45,7 @@ const ProtocolHandler& LookupHandler(
+--- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc
+@@ -69,7 +69,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 ShouldRemoveHandlersNotInOS() {
+ bool ChromeProtocolHandlerRegistryDelegate::ShouldRemoveHandlersNotInOS() {
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
// We don't do this on Linux as the OS registration there is not reliable,
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 760429d26258..e3a763d30322 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,9 +1,9 @@
---- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/device_identity/device_oauth2_token_service_factory.cc
@@ -28,7 +28,7 @@ std::unique_ptr<DeviceOAuth2TokenStore> CreatePlatform
return std::make_unique<chromeos::DeviceOAuth2TokenStoreChromeOS>(
local_state);
- #elif defined(OS_WIN) || defined(OS_MAC) || \
+ #elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) || \
- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
return std::make_unique<DeviceOAuth2TokenStoreDesktop>(local_state);
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
index 74f4a680a644..a4fdabda91cb 100644
--- a/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
+++ b/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
@@ -1,6 +1,6 @@
---- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/devtools/devtools_eye_dropper.cc
-@@ -187,7 +187,7 @@ void DevToolsEyeDropper::UpdateCursor() {
+@@ -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.
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 0940068eb221..43c1038a8248 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 2021-04-14 18:40:53 UTC
+--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/diagnostics/diagnostics_writer.h
-@@ -15,6 +15,8 @@ namespace diagnostics {
+@@ -14,6 +14,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 6a9fdc99e09c..2fe459b66614 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,6 +1,6 @@
---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -1540,7 +1540,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
+@@ -1539,7 +1539,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
target_info->is_filetype_handled_safely)
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
@@ -10,38 +10,38 @@
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
#endif
@@ -1608,7 +1608,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
-
bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile(
const base::FilePath& path) {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) {
return !download_prefs_->ShouldOpenPdfInSystemReader();
+ }
@@ -1716,7 +1716,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow
- bool content_initiated,
content::CheckDownloadAllowedCallback check_download_allowed_cb) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
// 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.
-@@ -1758,7 +1758,7 @@ ChromeDownloadManagerDelegate::GetQuarantineConnection
- std::unique_ptr<download::DownloadItemRenameHandler>
+ if (url.SchemeIsFile() && download_prefs_->ShouldOpenPdfInSystemReader()) {
+@@ -1758,7 +1758,7 @@ std::unique_ptr<download::DownloadItemRenameHandler>
ChromeDownloadManagerDelegate::GetRenameHandlerForDownload(
download::DownloadItem* download_item) {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
return enterprise_connectors::FileSystemRenameHandler::CreateIfNeeded(
download_item);
+ #else
@@ -1774,7 +1774,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl
- DCHECK(download_item);
DCHECK(download_item->IsSavePackageDownload());
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
if (!base::FeatureList::IsEnabled(
download::features::kAllowSavePackageScanning)) {
+ std::move(callback).Run(true);
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 2302b7710b16..450356c57c46 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__commands.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__commands.cc
@@ -1,29 +1,20 @@
---- chrome/browser/download/download_commands.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/download/download_commands.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/download/download_commands.cc
@@ -27,7 +27,7 @@
- #include "net/base/url_util.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h"
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC) || defined(OS_FUCHSIA)
++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD)
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
+ #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
@@ -168,7 +168,7 @@ void DownloadCommands::ExecuteCommand(Command command)
- model_->ExecuteCommand(this, command);
}
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
Browser* DownloadCommands::GetBrowser() const {
-@@ -203,7 +203,7 @@ bool DownloadCommands::CanOpenPdfInSystemViewer() cons
- #endif
- }
-
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-
- void DownloadCommands::CopyFileAsImageToClipboard() {
+ 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 93ddcbb5d39d..de608693e66a 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 2021-12-14 11:44:58 UTC
+--- chrome/browser/download/download_commands.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/download/download_commands.h
-@@ -53,7 +53,7 @@ class DownloadCommands {
- bool IsCommandVisible(Command command) const;
+@@ -54,7 +54,7 @@ class DownloadCommands {
void ExecuteCommand(Command command);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC) || defined(OS_FUCHSIA)
++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD)
bool IsDownloadPdf() const;
bool CanOpenPdfInSystemViewer() const;
+ Browser* GetBrowser() const;
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 7bacadd02603..a3f2e3a5db43 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,20 +1,20 @@
---- chrome/browser/download/download_item_model.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/download/download_item_model.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/download/download_item_model.cc
-@@ -634,7 +634,7 @@ bool DownloadItemModel::IsCommandChecked(
- return download_->GetOpenWhenComplete() ||
+@@ -635,7 +635,7 @@ bool DownloadItemModel::IsCommandChecked(
download_crx_util::IsExtensionDownload(*download_);
case DownloadCommands::ALWAYS_OPEN_TYPE:
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
if (download_commands->CanOpenPdfInSystemViewer()) {
DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
-@@ -675,7 +675,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand
- bool is_checked = IsCommandChecked(download_commands,
+ return prefs->ShouldOpenPdfInSystemReader();
+@@ -676,7 +676,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand
DownloadCommands::ALWAYS_OPEN_TYPE);
DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
if (download_commands->CanOpenPdfInSystemViewer()) {
prefs->SetShouldOpenPdfInSystemReader(!is_checked);
+ SetShouldPreferOpeningInBrowser(is_checked);
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 2cef52697eaf..09000d57351d 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
@@ -1,6 +1,23 @@
---- chrome/browser/download/download_prefs.cc.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/download/download_prefs.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/download/download_prefs.cc
-@@ -70,7 +70,7 @@ namespace {
+@@ -13,6 +13,7 @@
+ #include "base/callback_helpers.h"
+ #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,8 @@
+ #include "chrome/browser/ui/pdf/adobe_reader_info_win.h"
+ #endif
+
++#include "sandbox/policy/switches.h"
++
+ using content::BrowserContext;
+ using content::BrowserThread;
+ using content::DownloadManager;
+@@ -70,7 +73,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) {
@@ -9,57 +26,72 @@
base::FilePath home_dir = base::GetHomeDir();
if (download_path == home_dir) {
return true;
-@@ -167,7 +167,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
- GetDefaultDownloadDirectoryForProfile()));
+@@ -168,7 +171,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
should_open_pdf_in_system_reader_ =
prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader);
-@@ -286,7 +286,7 @@ void DownloadPrefs::RegisterProfilePrefs(
- default_download_path);
+ #endif
+@@ -287,7 +290,7 @@ void DownloadPrefs::RegisterProfilePrefs(
registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory,
default_download_path);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false);
#endif
-@@ -420,7 +420,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const {
- }
+ #if defined(OS_ANDROID)
+@@ -421,7 +424,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const {
bool DownloadPrefs::IsAutoOpenByUserUsed() const {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
if (ShouldOpenPdfInSystemReader())
return true;
-@@ -435,7 +435,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url,
- return false;
+ #endif
+@@ -436,7 +439,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url,
DCHECK(extension[0] == base::FilePath::kExtensionSeparator);
extension.erase(0, 1);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
if (base::FilePath::CompareEqualIgnoreCase(extension,
FILE_PATH_LITERAL("pdf")) &&
-@@ -490,7 +490,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
- SaveAutoOpenState();
+ ShouldOpenPdfInSystemReader())
+@@ -491,7 +494,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
}
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) {
if (should_open_pdf_in_system_reader_ == should_open)
-@@ -512,7 +512,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
- #endif
+ return;
+@@ -513,7 +516,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
void DownloadPrefs::ResetAutoOpenByUser() {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
SetShouldOpenPdfInSystemReader(false);
#endif
+ auto_open_by_user_.clear();
+@@ -630,9 +633,13 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa
+ // Fall back to the default download directory for all other paths.
+ return GetDefaultDownloadDirectoryForProfile();
+ #else
++ // If unveil(2) is used, force the file dialog directory to something we
++ // know is available.
++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
++
+ // 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.
+- if (path.IsAbsolute())
++ if (command_line->HasSwitch(sandbox::policy::switches::kDisableUnveil) && path.IsAbsolute())
+ return path;
+
+ // When the default download directory is *not* an absolute path, we use the
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 faa6eac8d943..9dfc3dcb070d 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__prefs.h
+++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.h
@@ -1,20 +1,20 @@
---- chrome/browser/download/download_prefs.h.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/download/download_prefs.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/download/download_prefs.h
-@@ -121,7 +121,7 @@ class DownloadPrefs {
- // Disables auto-open based on file extension.
+@@ -122,7 +122,7 @@ class DownloadPrefs {
void DisableAutoOpenByUserBasedOnExtension(const base::FilePath& file_name);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
// 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.
-@@ -180,7 +180,7 @@ class DownloadPrefs {
-
+ void SetShouldOpenPdfInSystemReader(bool should_open);
+@@ -181,7 +181,7 @@ class DownloadPrefs {
std::unique_ptr<policy::URLBlocklist> auto_open_allowed_by_urls_;
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
bool should_open_pdf_in_system_reader_;
#endif
+
diff --git a/www/chromium/files/patch-chrome_browser_download_download__query.cc b/www/chromium/files/patch-chrome_browser_download_download__query.cc
deleted file mode 100644
index 2c676690db0d..000000000000
--- a/www/chromium/files/patch-chrome_browser_download_download__query.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/download/download_query.cc.orig 2021-05-12 22:05:43 UTC
-+++ chrome/browser/download/download_query.cc
-@@ -27,7 +27,11 @@
- #include "components/download/public/common/download_item.h"
- #include "components/url_formatter/url_formatter.h"
- #include "content/public/browser/content_browser_client.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "url/gurl.h"
-
- using download::DownloadDangerType;
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
new file mode 100644
index 000000000000..d9ebefbbd7f4
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2022-02-07 13:39:41 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"
+ #include "components/keyed_service/core/keyed_service.h"
+
+-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
+ #include "chrome/browser/browser_process.h"
+ #include "chrome/browser/enterprise/connectors/device_trust/browser/browser_device_trust_connector_service.h"
+ #include "chrome/browser/policy/chrome_browser_policy_connector.h"
+@@ -37,7 +37,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi
+
+ bool DeviceTrustConnectorServiceFactory::ServiceIsCreatedWithBrowserContext()
+ const {
+-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
+ return IsDeviceTrustConnectorFeatureEnabled();
+ #else
+ return false;
+@@ -58,7 +58,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil
+
+ DeviceTrustConnectorService* service = nullptr;
+
+-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
+ if (IsDeviceTrustConnectorFeatureEnabled()) {
+ auto* key_manager = g_browser_process->browser_policy_connector()
+ ->chrome_browser_cloud_management_controller()
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 4bf0cdd60ffa..c8de763196d0 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,14 +1,11 @@
---- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc
-@@ -19,9 +19,9 @@
+@@ -21,7 +21,7 @@
#include "components/policy/content/policy_blocklist_service.h"
#include "content/public/browser/browser_context.h"
-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
+ #include "chrome/browser/browser_process.h"
#include "chrome/browser/enterprise/connectors/device_trust/attestation/desktop/desktop_attestation_service.h"
--#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- #include "chrome/browser/enterprise/connectors/device_trust/attestation/ash/ash_attestation_service.h"
+ #include "chrome/browser/policy/chrome_browser_policy_connector.h"
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 471209b13549..8c2c05f45f9a 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,4 +1,4 @@
---- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc
@@ -14,7 +14,7 @@
#include "chrome/browser/enterprise/connectors/device_trust/signals/signals_service_impl.h"
@@ -8,17 +8,8 @@
+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
#include "base/check.h"
#include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h"
- #include "chrome/browser/enterprise/signals/device_info_fetcher.h"
-@@ -22,7 +22,7 @@
- #include "components/enterprise/browser/controller/browser_dm_token_storage.h"
- #include "components/policy/core/common/cloud/machine_level_user_cloud_policy_manager.h"
- #include "components/policy/core/common/cloud/machine_level_user_cloud_policy_store.h"
--#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- #include "chrome/browser/browser_process_platform_part.h"
-@@ -45,7 +45,7 @@ std::unique_ptr<SignalsService> CreateSignalsService(
+ #include "chrome/browser/policy/chrome_browser_policy_connector.h"
+@@ -44,7 +44,7 @@ std::unique_ptr<SignalsService> CreateSignalsService(
decorators.push_back(
std::make_unique<ContentSignalsDecorator>(policy_blocklist_service));
@@ -27,12 +18,3 @@
policy::ChromeBrowserPolicyConnector* browser_policy_connector =
g_browser_process->browser_policy_connector();
DCHECK(browser_policy_connector);
-@@ -55,7 +55,7 @@ std::unique_ptr<SignalsService> CreateSignalsService(
- browser_policy_connector->machine_level_user_cloud_policy_manager()
- ->store(),
- enterprise_signals::DeviceInfoFetcher::CreateInstance()));
--#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- decorators.push_back(std::make_unique<AshSignalsDecorator>(
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 6052197aa254..f47f4f273fd5 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,20 +1,20 @@
---- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/enterprise/signals/device_info_fetcher.cc
-@@ -12,6 +12,8 @@
+@@ -10,7 +10,7 @@
+ #include "chrome/browser/enterprise/signals/device_info_fetcher_mac.h"
+ #elif defined(OS_WIN)
#include "chrome/browser/enterprise/signals/device_info_fetcher_win.h"
- #elif defined(OS_LINUX) || defined(OS_CHROMEOS)
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h"
-+#elif defined(OS_FREEBSD)
-+#include "chrome/browser/enterprise/signals/device_info_fetcher_freebsd.h"
#endif
- namespace enterprise_signals {
-@@ -71,6 +73,8 @@ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher::
+@@ -70,7 +70,7 @@ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher::
+ return std::make_unique<DeviceInfoFetcherMac>();
+ #elif defined(OS_WIN)
return std::make_unique<DeviceInfoFetcherWin>();
- #elif defined(OS_LINUX) || defined(OS_CHROMEOS)
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
return std::make_unique<DeviceInfoFetcherLinux>();
-+#elif defined(OS_FREEBSD)
-+ return std::make_unique<DeviceInfoFetcherFreeBSD>();
#else
return std::make_unique<StubDeviceFetcher>();
- #endif
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
new file mode 100644
index 000000000000..63eec68ffcfc
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc
@@ -0,0 +1,78 @@
+--- 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_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
index bc2d5ef27b84..d76569f1c6aa 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
+++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
@@ -1,13 +1,11 @@
---- chrome/browser/extensions/BUILD.gn.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/extensions/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/extensions/BUILD.gn
-@@ -1301,6 +1301,12 @@ static_library("extensions") {
+@@ -1303,6 +1303,10 @@ static_library("extensions") {
deps += [ "//chrome/services/printing/public/mojom" ]
}
+ if (is_bsd) {
-+ sources -= [
-+ "api/image_writer_private/removable_storage_provider_linux.cc",
-+ ]
++ sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ]
+ }
+
if (enable_service_discovery) {
diff --git a/www/chromium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc b/www/chromium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc
deleted file mode 100644
index d45b06b9174e..000000000000
--- a/www/chromium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/extensions/activity_log/activity_log.cc.orig 2021-12-14 11:44:58 UTC
-+++ chrome/browser/extensions/activity_log/activity_log.cc
-@@ -51,7 +51,11 @@
- #include "extensions/common/features/feature_provider.h"
- #include "extensions/common/hashed_extension_id.h"
- #include "extensions/common/mojom/renderer.mojom.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "url/gurl.h"
-
- namespace constants = activity_log_constants;
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_erp_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 0926c13c01eb..184921c28f0b 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_erp_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-01-20 10:35:49 UTC
+--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc
@@ -23,7 +23,7 @@
#include "base/win/registry.h"
@@ -9,7 +9,7 @@
#include "base/environment.h"
#include "base/nix/xdg_util.h"
#endif
-@@ -241,7 +241,7 @@ base::FilePath GetEndpointVerificationDir() {
+@@ -228,7 +228,7 @@ base::FilePath GetEndpointVerificationDir() {
bool got_path = false;
#if defined(OS_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);
-@@ -252,7 +252,7 @@ base::FilePath GetEndpointVerificationDir() {
+@@ -239,7 +239,7 @@ base::FilePath GetEndpointVerificationDir() {
if (!got_path)
return path;
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 f7b9fd392a90..318ce33580c5 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,4 +1,4 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
@@ -155,7 +155,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction::
@@ -9,12 +9,3 @@
EnterpriseReportingPrivateGetPersistentSecretFunction::
EnterpriseReportingPrivateGetPersistentSecretFunction() = default;
-@@ -207,7 +207,7 @@ void EnterpriseReportingPrivateGetPersistentSecretFunc
- }
- }
-
--#endif // !defined(OS_LINUX)
-+#endif // !defined(OS_LINUX) && !defined(OS_BSD)
-
- // getDeviceData
-
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 c394f956615e..6428727febf6 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,4 +1,4 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h
@@ -45,7 +45,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction :
~EnterpriseReportingPrivateGetDeviceIdFunction() override;
@@ -9,12 +9,3 @@
class EnterpriseReportingPrivateGetPersistentSecretFunction
: public ExtensionFunction {
-@@ -73,7 +73,7 @@ class EnterpriseReportingPrivateGetPersistentSecretFun
- void SendResponse(const std::string& data, long int status);
- };
-
--#endif // !defined(OS_LINUX)
-+#endif // !defined(OS_LINUX) && !defined(OS_BSD)
-
- class EnterpriseReportingPrivateGetDeviceDataFunction
- : public ExtensionFunction {
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc b/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc
deleted file mode 100644
index e5177c543202..000000000000
--- a/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc.orig 2021-12-14 11:44:58 UTC
-+++ chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc
-@@ -305,7 +305,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, T
- frame_observer.Wait();
- // Non-Aura Linux uses a singleton for the popup, so it looks like all windows
- // have popups if there is any popup open.
--#if !((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(USE_AURA))
-+#if !((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !defined(USE_AURA))
- // Starting window does not have a popup.
- EXPECT_FALSE(ExtensionActionTestHelper::Create(browser())->HasPopup());
- #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
new file mode 100644
index 000000000000..e760b5589021
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc.orig 2022-02-07 13:39: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 defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_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_runtime_chrome__runtime__api__delegate.cc b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
deleted file mode 100644
index 34647711948b..000000000000
--- a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2021-09-14 01:51:50 UTC
-+++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
-@@ -285,6 +285,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor
- info->os = extensions::api::runtime::PLATFORM_OS_CROS;
- } else if (strcmp(os, "linux") == 0) {
- info->os = extensions::api::runtime::PLATFORM_OS_LINUX;
-+ } else if (strcmp(os, "freebsd") == 0) {
-+ info->os = extensions::api::runtime::PLATFORM_OS_FREEBSD;
- } else if (strcmp(os, "openbsd") == 0) {
- info->os = extensions::api::runtime::PLATFORM_OS_OPENBSD;
- } else {
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 d844066914d5..1150bf672f0d 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,4 +1,4 @@
---- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc
@@ -30,7 +30,7 @@
#include "extensions/browser/process_manager.h"
@@ -27,15 +27,3 @@
// Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object,
// this function shouldn't be called by a component extension on behalf of
// some web code. It returns a DirectoryEntry for use directly in the calling
-@@ -603,9 +603,9 @@ WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() {
- &WebrtcLoggingPrivateGetLogsDirectoryFunction::FireErrorCallback,
- this));
- return RespondLater();
--#else // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#else // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- return RespondNow(Error("Not supported on the current OS"));
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- void WebrtcLoggingPrivateGetLogsDirectoryFunction::FireCallback(
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
index b585f5523df0..132a4b35a2ba 100644
--- 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
@@ -1,20 +1,15 @@
---- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2022-01-20 10:35:49 UTC
+--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/extensions/browser_context_keyed_service_factories.cc
-@@ -53,11 +53,11 @@
+@@ -53,7 +53,7 @@
#include "extensions/browser/api/networking_private/networking_private_delegate_factory.h"
#include "ppapi/buildflags/buildflags.h"
--#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- #include "chrome/browser/extensions/api/input_ime/input_ime_api.h"
- #endif
-
-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN)
+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD)
#include "chrome/browser/extensions/api/system_indicator/system_indicator_manager_factory.h"
#endif
-@@ -129,7 +129,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
+@@ -126,7 +126,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
extensions::SettingsPrivateEventRouterFactory::GetInstance();
extensions::SettingsOverridesAPI::GetFactoryInstance();
extensions::SignedInDevicesManager::GetFactoryInstance();
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 86b053abf380..20346cba311a 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,6 +1,6 @@
---- chrome/browser/extensions/external_provider_impl.cc.orig 2021-12-31 00:57:22 UTC
+--- chrome/browser/extensions/external_provider_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/extensions/external_provider_impl.cc
-@@ -814,7 +814,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+@@ -815,7 +815,7 @@ void ExternalProviderImpl::CreateExternalProviders(
if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,12 +9,12 @@
provider_list->push_back(std::make_unique<ExternalProviderImpl>(
service,
base::MakeRefCounted<ExternalPrefLoader>(
-@@ -842,7 +842,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+@@ -843,7 +843,7 @@ void ExternalProviderImpl::CreateExternalProviders(
bundled_extension_creation_flags));
// Define a per-user source of external extensions.
-#if defined(OS_MAC) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-+#if defined(OS_MAC) || defined(OS_BSD) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
++#if defined(OS_MAC) || ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
BUILDFLAG(CHROMIUM_BRANDING))
provider_list->push_back(std::make_unique<ExternalProviderImpl>(
service,
diff --git a/www/chromium/files/patch-chrome_browser_feedback_system__logs_log__sources_crash__ids__source.cc b/www/chromium/files/patch-chrome_browser_feedback_system__logs_log__sources_crash__ids__source.cc
deleted file mode 100644
index cddf94d69da2..000000000000
--- a/www/chromium/files/patch-chrome_browser_feedback_system__logs_log__sources_crash__ids__source.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- chrome/browser/feedback/system_logs/log_sources/crash_ids_source.cc.orig 2021-04-23 20:22:19 UTC
-+++ chrome/browser/feedback/system_logs/log_sources/crash_ids_source.cc
-@@ -42,7 +42,9 @@ constexpr base::TimeDelta k120DaysTimeDelta = base::Ti
-
- CrashIdsSource::CrashIdsSource()
- : SystemLogsSource("CrashId"),
-+#if !defined(OS_BSD)
- crash_upload_list_(CreateCrashUploadList()),
-+#endif
- pending_crash_list_loading_(false) {}
-
- CrashIdsSource::~CrashIdsSource() {}
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 10d7ff849c99..b03f80a4a3b9 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,6 +1,6 @@
---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2021-12-31 00:57:23 UTC
+--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
-@@ -213,7 +213,7 @@ const struct {
+@@ -216,7 +216,7 @@ const struct {
{base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"),
kDontBlockChildren},
#endif
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 d14ceeaa5903..14310d4cb9ac 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 2021-04-14 18:40:53 UTC
+--- chrome/browser/first_run/first_run_internal.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/first_run/first_run_internal.h
-@@ -58,14 +58,13 @@ FirstRunState DetermineFirstRunState(bool has_sentinel
+@@ -58,7 +58,7 @@ FirstRunState DetermineFirstRunState(bool has_sentinel
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,11 +9,3 @@
// For testing, forces the first run dialog to either be shown or not. If not
// called, the decision to show the dialog or not will be made by Chrome based
// on a number of factors (such as install type, whether it's a Chrome-branded
- // build, etc).
- void ForceFirstRunDialogShownForTesting(bool shown);
--#endif // defined(OS_MAC) || (defined(OS_LINUX) ||
-- // BUILDFLAG(IS_CHROMEOS_LACROS))
-+#endif // defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
-
- } // namespace internal
- } // namespace first_run
diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
deleted file mode 100644
index e202ed32fae2..000000000000
--- a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/first_run/first_run_internal_posix.cc.orig 2021-12-14 11:44:58 UTC
-+++ chrome/browser/first_run/first_run_internal_posix.cc
-@@ -36,7 +36,7 @@ enum class ForcedShowDialogState {
- ForcedShowDialogState g_forced_show_dialog_state =
- ForcedShowDialogState::kNotForced;
-
--#if !BUILDFLAG(IS_CHROMEOS_ASH)
-+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
- // Returns whether the first run dialog should be shown. This is only true for
- // certain builds, and only if the user has not already set preferences. In a
- // real, official-build first run, initializes the default metrics reporting if
-@@ -81,7 +81,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) {
- }
-
- void DoPostImportPlatformSpecificTasks(Profile* profile) {
--#if !BUILDFLAG(IS_CHROMEOS_ASH)
-+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
- if (!ShouldShowFirstRunDialog())
- return;
-
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
index c1a0861a4091..161dfa92d8e6 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
@@ -1,37 +1,33 @@
---- chrome/browser/flag_descriptions.cc.orig 2022-01-20 10:35:49 UTC
+--- chrome/browser/flag_descriptions.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/flag_descriptions.cc
-@@ -5258,7 +5258,7 @@ const char kDownloadShelfWebUIDescription[] =
-
+@@ -5314,7 +5314,7 @@ const char kDownloadShelfWebUIDescription[] =
// Random platform combinations -----------------------------------------------
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
const char kWebUIBrandingUpdateName[] = "WebUI Branding Update";
-@@ -5276,10 +5276,10 @@ const char kSettingsLandingPageRedesignDescription[] =
- "Changes the layout of the chrome://settings page to only show one section "
- "at a time.";
-
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ const char kWebUIBrandingUpdateDescription[] =
+@@ -5329,7 +5329,7 @@ const char kWebuiFeedbackDescription[] =
// defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
const char kCommanderName[] = "Commander";
const char kCommanderDescription[] =
-@@ -5295,7 +5295,7 @@ const char kDesktopDetailedLanguageSettingsName[] =
- const char kDesktopDetailedLanguageSettingsDescription[] =
- "Enable the new detailed language settings page";
+@@ -5348,7 +5348,7 @@ const char kDesktopDetailedLanguageSettingsDescription
+ #endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
+ // defined(OS_FUCHSIA)
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS) || defined(OS_LINUX)
+-#if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
#if BUILDFLAG(USE_TCMALLOC)
-@@ -5320,7 +5320,7 @@ const char kWebShareDescription[] =
+ const char kDynamicTcmallocName[] = "Dynamic Tcmalloc Tuning";
+ const char kDynamicTcmallocDescription[] =
+@@ -5364,7 +5364,7 @@ const char kWebShareDescription[] =
"platforms.";
#endif // defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC)
@@ -40,30 +36,12 @@
const char kOzonePlatformHintChoiceDefault[] = "Default";
const char kOzonePlatformHintChoiceAuto[] = "Auto";
const char kOzonePlatformHintChoiceX11[] = "X11";
-@@ -5330,7 +5330,7 @@ const char kOzonePlatformHintName[] = "Preferred Ozone
- const char kOzonePlatformHintDescription[] =
- "Selects the preferred platform backend used on Linux. The default one is "
- "\"X11\". \"Auto\" selects Wayland if possible, X11 otherwise. ";
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- // Feature flags --------------------------------------------------------------
-
-@@ -5422,7 +5422,7 @@ const char kAutofillCreditCardUploadDescription[] =
-
- #endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
-
--#if !defined(OS_WIN) && !defined(OS_FUCHSIA)
-+#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
- const char kSendWebUIJavaScriptErrorReportsName[] =
- "Send WebUI JavaScript Error Reports";
- const char kSendWebUIJavaScriptErrorReportsDescription[] =
-@@ -5437,7 +5437,7 @@ const char kElasticOverscrollDescription[] =
- "Enables Elastic Overscrolling on touchscreens and precision touchpads.";
+@@ -5482,7 +5482,7 @@ const char kElasticOverscrollDescription[] =
#endif // defined(OS_WIN) || defined(OS_ANDROID)
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
+- defined(OS_MAC) || defined(OS_FUCHSIA)
++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD)
const char kUIDebugToolsName[] = "Debugging tools for UI";
const char kUIDebugToolsDescription[] =
+ "Enables additional keyboard shortcuts to help debugging.";
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h
index dcd7f258f7f1..b7b8292e6415 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h
@@ -1,49 +1,42 @@
---- chrome/browser/flag_descriptions.h.orig 2022-01-20 10:35:49 UTC
+--- chrome/browser/flag_descriptions.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/flag_descriptions.h
-@@ -22,9 +22,9 @@
+@@ -22,7 +22,7 @@
#include "printing/buildflags/buildflags.h"
#include "third_party/blink/public/common/buildflags.h"
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "base/allocator/buildflags.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // This file declares strings used in chrome://flags. These messages are not
- // translated, because instead of end-users they target Chromium developers and
-@@ -3045,7 +3045,7 @@ extern const char kDownloadShelfWebUIDescription[];
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -3081,7 +3081,7 @@ extern const char kDownloadShelfWebUIDescription[];
// Random platform combinations -----------------------------------------------
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
extern const char kWebUIBrandingUpdateName[];
-@@ -3057,10 +3057,10 @@ extern const char kWebuiFeedbackDescription[];
- extern const char kSettingsLandingPageRedesignName[];
- extern const char kSettingsLandingPageRedesignDescription[];
-
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ extern const char kWebUIBrandingUpdateDescription[];
+@@ -3093,7 +3093,7 @@ extern const char kWebuiFeedbackDescription[];
// defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
extern const char kCommanderName[];
extern const char kCommanderDescription[];
-@@ -3071,7 +3071,7 @@ extern const char kDesktopRestructuredLanguageSettings
- extern const char kDesktopDetailedLanguageSettingsName[];
- extern const char kDesktopDetailedLanguageSettingsDescription[];
-
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+@@ -3107,7 +3107,7 @@ extern const char kDesktopDetailedLanguageSettingsDesc
+ #endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined
+ // (OS_FUCHSIA)
- #if defined(OS_CHROMEOS) || defined(OS_LINUX)
+-#if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
#if BUILDFLAG(USE_TCMALLOC)
-@@ -3090,7 +3090,7 @@ extern const char kWebShareName[];
+ extern const char kDynamicTcmallocName[];
+ extern const char kDynamicTcmallocDescription[];
+@@ -3119,7 +3119,7 @@ extern const char kWebShareName[];
extern const char kWebShareDescription[];
#endif // defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC)
@@ -52,12 +45,12 @@
extern const char kOzonePlatformHintChoiceDefault[];
extern const char kOzonePlatformHintChoiceAuto[];
extern const char kOzonePlatformHintChoiceX11[];
-@@ -3171,7 +3171,7 @@ extern const char kElasticOverscrollName[];
- extern const char kElasticOverscrollDescription[];
+@@ -3201,7 +3201,7 @@ extern const char kElasticOverscrollDescription[];
#endif // defined(OS_WIN) || defined(OS_ANDROID)
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
+- defined(OS_MAC) || defined(OS_FUCHSIA)
++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD)
extern const char kUIDebugToolsName[];
extern const char kUIDebugToolsDescription[];
+ #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 a24df5e3ff18..212403f82033 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,26 +1,29 @@
---- chrome/browser/headless/headless_mode_util.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/headless/headless_mode_util.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/headless/headless_mode_util.cc
@@ -9,7 +9,7 @@
- // Native headless is currently available only on Linux platform. More
- // platforms will be added soon, so avoid function level clutter by providing
- // stub implementations at the end of the file.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
+ // Native headless is currently available only on Linux and Windows platforms.
+ // More platforms will be added later, so avoid function level clutter by
+ // providing stub implementations at the end of the file.
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
#include <cstdlib>
#include <vector>
-@@ -59,7 +59,7 @@ void SetUpCommandLine(const base::CommandLine* command
-
- } // namespace headless
-
--#else // defined(OS_LINUX)
-+#else // defined(OS_LINUX) || defined(OS_BSD)
-
- namespace headless {
+@@ -17,7 +17,7 @@
+ #include "base/base_switches.h"
+ #include "ui/gfx/switches.h"
-@@ -71,4 +71,4 @@ void SetUpCommandLine(const base::CommandLine* command
-
- } // namespace headless
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "ui/ozone/public/ozone_switches.h"
+ #endif // defined(OS_LINUX)
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
+@@ -51,7 +51,7 @@ void SetUpCommandLine(const base::CommandLine* command
+ base::CommandLine::ForCurrentProcess()->AppendSwitch(
+ ::switches::kNoErrorDialogs);
+ }
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Native headless chrome on Linux relies on ozone/headless platform.
+ base::CommandLine::ForCurrentProcess()->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 3ad163336f6c..3e6bbefc0095 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 2021-09-24 04:25:58 UTC
+--- chrome/browser/intranet_redirect_detector.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/intranet_redirect_detector.h
@@ -27,7 +27,7 @@ class SimpleURLLoader;
-
class PrefRegistrySimple;
--#if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA))
+ #if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA))
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_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 009e6ccaea2e..1359e252c0eb 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 2021-04-14 18:40:53 UTC
+--- 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
@@ -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_FREEBSD)
++#if !defined(OS_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 4f59f0a7b1f8..1ba9df1cf86a 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,12 +1,14 @@
---- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/media_galleries/media_file_system_registry.cc
-@@ -743,7 +743,10 @@ class MediaFileSystemRegistry::MediaFileSystemContextI
+@@ -743,7 +743,12 @@ class MediaFileSystemRegistry::MediaFileSystemContextI
// Constructor in 'private' section because depends on private class definition.
MediaFileSystemRegistry::MediaFileSystemRegistry()
: file_system_context_(new MediaFileSystemContextImpl) {
- StorageMonitor::GetInstance()->AddObserver(this);
-+ // This conditional is needed for shutdown. Destructors
-+ // try to get the media file system registry.
++ /*
++ * This conditional is needed for shutdown. Destructors
++ * try to get the media file system registry.
++ */
+ if (StorageMonitor::GetInstance())
+ StorageMonitor::GetInstance()->AddObserver(this);
}
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 91e6d17ca98d..3810e1791dac 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 2021-07-19 18:45:08 UTC
+--- chrome/browser/media/audio_service_util.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/media/audio_service_util.cc
-@@ -21,7 +21,7 @@
+@@ -20,7 +20,7 @@
+
namespace {
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
bool GetPolicyOrFeature(const char* policy_name, const base::Feature& feature) {
const policy::PolicyMap& policies =
- g_browser_process->browser_policy_connector()
-@@ -41,7 +41,7 @@ bool IsAudioServiceSandboxEnabled() {
+@@ -40,7 +40,7 @@ bool GetPolicyOrFeature(const char* policy_name, const
+ bool IsAudioServiceSandboxEnabled() {
// TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being
// built with OS_CHROMEOS instead of OS_LINUX.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
return GetPolicyOrFeature(policy::key::kAudioSandboxEnabled,
features::kAudioServiceSandbox);
- #else
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 9ddef768a051..de533cff8cd7 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,10 +1,17 @@
---- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2021-04-14 18:40:53 UTC
+--- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc
-@@ -10,6 +10,7 @@
- #include <netinet/in.h>
- #include <sys/socket.h>
- #include <sys/types.h>
+@@ -5,11 +5,12 @@
+ #include "chrome/browser/media/router/discovery/discovery_network_list.h"
+
+ #include <ifaddrs.h>
++#include <sys/socket.h>
++#include <sys/types.h>
+#include <sys/time.h>
+ #include <net/if.h>
+ #include <net/if_arp.h>
+ #include <netinet/in.h>
+-#include <sys/socket.h>
+-#include <sys/types.h>
#include <algorithm>
@@ -17,7 +24,7 @@
#include <netpacket/packet.h>
#else
#include <net/if_dl.h>
-@@ -27,12 +28,12 @@
+@@ -27,7 +28,7 @@
namespace media_router {
namespace {
@@ -26,9 +33,3 @@
using sll = struct sockaddr_ll;
#define SOCKET_ARP_TYPE(s) ((s)->sll_hatype)
#define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen)
- #define SOCKET_ADDRESS(s) ((s)->sll_addr)
--#else // defined(OS_MAC)
-+#else // defined(OS_MAC) || defined(OS_BSD)
- #define AF_PACKET AF_LINK
- using sll = struct sockaddr_dl;
- #define SOCKET_ARP_TYPE(s) ((s)->sdl_type)
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
index 8c2236c5f76c..23421173ffa6 100644
--- 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
@@ -1,11 +1,11 @@
---- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2021-09-24 04:25:58 UTC
+--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
-@@ -42,6 +42,8 @@ const char kProduct[] = "Chrome_Mac";
+@@ -40,7 +40,7 @@ const char kProduct[] = "Chrome";
+ const char kProduct[] = "Chrome_Mac";
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
const char kProduct[] = "Chrome_ChromeOS";
- #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
const char kProduct[] = "Chrome_Linux";
-+#elif defined(OS_FREEBSD)
-+const char kProduct[] = "Chrome_FreeBSD";
#elif defined(OS_ANDROID)
const char kProduct[] = "Chrome_Android";
- #elif defined(OS_FUCHSIA)
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 598de0b22423..3955e908aa1c 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,9 +1,11 @@
---- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2021-09-24 04:25:58 UTC
+--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/media/webrtc/webrtc_log_uploader.cc
-@@ -363,6 +363,8 @@ void WebRtcLogUploader::SetupMultipart(
+@@ -363,6 +363,10 @@ void WebRtcLogUploader::SetupMultipart(
const char product[] = "Chrome_ChromeOS";
#elif defined(OS_FUCHSIA)
const char product[] = "Chrome_Fuchsia";
++#elif defined(OS_OPENBSD)
++ const char product[] = "Chrome_OpenBSD";
+#elif defined(OS_FREEBSD)
+ const char product[] = "Chrome_FreeBSD";
#else
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 8c81500fc7d9..13788e46d8a8 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 2021-12-14 11:44:58 UTC
+--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/media/webrtc/webrtc_logging_controller.h
-@@ -132,13 +132,13 @@ class WebRtcLoggingController
+@@ -132,7 +132,7 @@ class WebRtcLoggingController
size_t web_app_id,
const StartEventLoggingCallback& callback);
@@ -9,13 +9,6 @@
// 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.
- void GetLogsDirectory(LogsDirectoryCallback callback,
- LogsDirectoryErrorCallback error_callback);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // chrome::mojom::WebRtcLoggingClient methods:
- void OnAddMessages(
@@ -191,7 +191,7 @@ class WebRtcLoggingController
bool success,
const std::string& error_message);
@@ -25,12 +18,3 @@
// Grants the render process access to the 'WebRTC Logs' directory, and
// invokes |callback| with the ids necessary to create a DirectoryEntry
// object. If the |logs_path| couldn't be created or found, |error_callback|
-@@ -199,7 +199,7 @@ class WebRtcLoggingController
- void GrantLogsDirectoryAccess(LogsDirectoryCallback callback,
- LogsDirectoryErrorCallback error_callback,
- const base::FilePath& logs_path);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- static base::FilePath GetLogDirectoryAndEnsureExists(
- const base::FilePath& browser_context_directory_path);
diff --git a/www/chromium/files/patch-chrome_browser_memory__details__linux.cc b/www/chromium/files/patch-chrome_browser_memory__details__linux.cc
index d6ac4e08b257..e174124e6c99 100644
--- a/www/chromium/files/patch-chrome_browser_memory__details__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_memory__details__linux.cc
@@ -1,13 +1,37 @@
---- chrome/browser/memory_details_linux.cc.orig 2021-04-14 18:40:53 UTC
+--- chrome/browser/memory_details_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/memory_details_linux.cc
-@@ -70,8 +70,10 @@ ProcessData GetProcessDataMemoryInformation(
+@@ -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));
-+#if !defined(OS_BSD)
++
++ 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();
-+#endif
++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 c1cac5c12b4d..74704b2e05ee 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,22 +1,18 @@
---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-12-31 00:57:23 UTC
+--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
-@@ -63,12 +63,14 @@
+@@ -61,8 +61,10 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
++#if !defined(OS_BSD)
#include <gnu/libc-version.h>
+#endif
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
#include "base/linux_util.h"
#include "base/strings/string_split.h"
- #include "base/strings/string_util.h"
- #include "base/version.h"
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
-
- #if defined(USE_OZONE)
- #include "ui/events/devices/device_data_manager.h"
-@@ -223,11 +225,13 @@ void RecordStartupMetrics() {
+@@ -223,15 +225,18 @@ void RecordStartupMetrics() {
base::UmaHistogramBoolean("Windows.ApplockerRunning", IsApplockerRunning());
#endif // defined(OS_WIN)
@@ -30,3 +26,8 @@
// Record whether Chrome is the default browser or not.
// Disabled on Linux due to hanging browser tests, see crbug.com/1216328.
+ #if !BUILDFLAG(IS_LINUX)
++#error out
+ LOG(ERROR) << "START: GetDefaultBrowser(). "
+ "If you don't see the END: message, this is crbug.com/1216328.";
+ shell_integration::DefaultWebClientState default_state =
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 77d90093041d..45aa8736a957 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,19 +1,15 @@
---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2021-12-31 00:57:23 UTC
+--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -742,10 +742,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+@@ -742,7 +742,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
metrics_service_->RegisterMetricsProvider(
std::make_unique<DesktopPlatformFeaturesMetricsProvider>());
--#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) ||
- // BUILDFLAG(IS_CHROMEOS_LACROS))
-
- #if BUILDFLAG(ENABLE_PLUGINS)
-@@ -837,10 +837,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+@@ -838,7 +838,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
std::make_unique<PowerMetricsProvider>());
#endif
@@ -21,17 +17,13 @@
+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
metrics_service_->RegisterMetricsProvider(
metrics::CreateDesktopSessionMetricsProvider());
--#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD)
- }
-
- void ChromeMetricsServiceClient::RegisterUKMProviders() {
+ #endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX)
@@ -1014,7 +1014,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
+ #endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
// This creates the DesktopProfileSessionDurationsServices if it didn't exist
// already.
- metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext(
diff --git a/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc b/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc
deleted file mode 100644
index 98a6affb51d0..000000000000
--- a/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2021-12-14 11:44:58 UTC
-+++ chrome/browser/metrics/process_memory_metrics_emitter.cc
-@@ -550,7 +550,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc
-
- builder->SetPrivateMemoryFootprint(pmd.os_dump().private_footprint_kb / kKiB);
- builder->SetSharedMemoryFootprint(pmd.os_dump().shared_footprint_kb / kKiB);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- builder->SetPrivateSwapFootprint(pmd.os_dump().private_footprint_swap_kb /
- kKiB);
- #endif
-@@ -573,7 +573,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc
- MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) +
- process_name + ".SharedMemoryFootprint",
- pmd.os_dump().shared_footprint_kb / kKiB);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) +
- process_name + ".PrivateSwapFootprint",
- pmd.os_dump().private_footprint_swap_kb / kKiB);
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 5bcb8e554eb6..5f63460fb5ac 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,6 +1,6 @@
---- chrome/browser/net/system_network_context_manager.cc.orig 2021-12-31 00:57:23 UTC
+--- chrome/browser/net/system_network_context_manager.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/net/system_network_context_manager.cc
-@@ -83,11 +83,11 @@
+@@ -84,7 +84,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,12 +9,7 @@
#include "chrome/common/chrome_paths_internal.h"
#include "chrome/grit/chromium_strings.h"
#include "ui/base/l10n/l10n_util.h"
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
-
- #if BUILDFLAG(ENABLE_EXTENSIONS)
- #include "extensions/common/constants.h"
-@@ -134,10 +134,10 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
+@@ -139,7 +139,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
auth_dynamic_params->basic_over_http_enabled =
local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled);
@@ -22,12 +17,8 @@
+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
auth_dynamic_params->delegate_by_kdc_policy =
local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy);
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- auth_dynamic_params->ntlm_v2_enabled =
-@@ -365,10 +365,10 @@ SystemNetworkContextManager::SystemNetworkContextManag
+ #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
+@@ -370,7 +370,7 @@ SystemNetworkContextManager::SystemNetworkContextManag
pref_change_registrar_.Add(prefs::kBasicAuthOverHttpEnabled,
auth_pref_callback);
@@ -35,12 +26,8 @@
+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy,
auth_pref_callback);
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- pref_change_registrar_.Add(prefs::kNtlmV2Enabled, auth_pref_callback);
-@@ -423,10 +423,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
+ #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
+@@ -428,7 +428,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
registry->RegisterStringPref(prefs::kAuthServerAllowlist, std::string());
registry->RegisterStringPref(prefs::kAuthNegotiateDelegateAllowlist,
std::string());
@@ -48,12 +35,8 @@
+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy,
false);
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- registry->RegisterBooleanPref(
-@@ -559,7 +559,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea
+ #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
+@@ -575,7 +575,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
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
index 3690b39521f7..a45f061b45f9 100644
--- 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
@@ -1,11 +1,11 @@
---- chrome/browser/new_tab_page/modules/drive/drive_service.cc.orig 2021-09-24 18:25:14 UTC
+--- 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
-@@ -36,6 +36,8 @@ constexpr char kPlatform[] = "WINDOWS";
- constexpr char kPlatform[] = "MAC_OS";
- #elif OS_CHROMEOS
- constexpr char kPlatform[] = "CHROME_OS";
-+#elif OS_FREEBSD
-+constexpr char kPlatform[] = "FREEBSD";
- #else
- constexpr char kPlatform[] = "UNSPECIFIED_PLATFORM";
- #endif
+@@ -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_notifications_notification__display__service__impl.cc b/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
index 3536b8419316..8c5b62eaca96 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 2021-09-24 04:25:58 UTC
+--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/notifications/notification_display_service_impl.cc
-@@ -29,7 +29,7 @@
- #include "chrome/browser/extensions/api/notifications/extension_notification_handler.h"
+@@ -31,7 +31,7 @@
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN) || defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_FUCHSIA)
++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD)
#include "chrome/browser/send_tab_to_self/desktop_notification_handler.h"
#include "chrome/browser/sharing/sharing_notification_handler.h"
-@@ -63,7 +63,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer
+ #endif
+@@ -64,7 +64,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer
// static
void NotificationDisplayServiceImpl::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
@@ -18,12 +18,21 @@
registry->RegisterBooleanPref(prefs::kAllowNativeNotifications, true);
registry->RegisterBooleanPref(prefs::kAllowSystemNotifications, true);
#endif
-@@ -79,7 +79,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
- AddNotificationHandler(NotificationHandler::Type::WEB_PERSISTENT,
+@@ -81,7 +81,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
std::make_unique<PersistentNotificationHandler>());
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_BSD)
AddNotificationHandler(
NotificationHandler::Type::SEND_TAB_TO_SELF,
+ std::make_unique<send_tab_to_self::DesktopNotificationHandler>(
+@@ -89,7 +89,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
+ #endif
+
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_BSD)
+ 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 e1c0996b03a2..9826c93c7a70 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,4 +1,4 @@
---- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2021-09-14 01:51:50 UTC
+--- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/notifications/notification_platform_bridge_delegator.cc
@@ -57,7 +57,7 @@ bool SystemNotificationsEnabled(Profile* profile) {
#elif defined(OS_WIN)
@@ -9,12 +9,3 @@
if (profile) {
// Prefs take precedence over flags.
PrefService* prefs = profile->GetPrefs();
-@@ -66,7 +66,7 @@ bool SystemNotificationsEnabled(Profile* profile) {
- return false;
- }
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- return base::FeatureList::IsEnabled(features::kNativeNotifications) &&
- base::FeatureList::IsEnabled(features::kSystemNotifications);
- #endif // defined(OS_CHROMEOS) || defined(OS_ANDROID)
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
deleted file mode 100644
index 3993957f3fea..000000000000
--- a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2021-12-14 11:44:58 UTC
-+++ chrome/browser/password_manager/chrome_password_manager_client.cc
-@@ -9,6 +9,10 @@
- #include <string>
- #include <utility>
-
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#endif
-+
- #include "base/bind.h"
- #include "base/callback_helpers.h"
- #include "base/command_line.h"
-@@ -104,8 +108,11 @@
- #include "net/cert/cert_status_flags.h"
- #include "services/metrics/public/cpp/ukm_recorder.h"
- #include "services/network/public/cpp/is_potentially_trustworthy.h"
--#include "third_party/re2/src/re2/re2.h"
- #include "url/url_constants.h"
-+
-+#if !defined(OS_BSD)
-+#include "third_party/re2/src/re2/re2.h"
-+#endif
-
- #if BUILDFLAG(FULL_SAFE_BROWSING)
- #include "chrome/browser/safe_browsing/advanced_protection_status_manager.h"
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 04db9b54dfa1..dcccaeaa5380 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 2021-12-14 11:44:58 UTC
+--- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/password_manager/password_reuse_manager_factory.cc
-@@ -93,7 +93,7 @@ KeyedService* PasswordReuseManagerFactory::BuildServic
-
+@@ -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 defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
std::unique_ptr<password_manager::PasswordStoreSigninNotifier> notifier =
std::make_unique<password_manager::PasswordStoreSigninNotifierImpl>(
+ IdentityManagerFactory::GetForProfile(profile));
diff --git a/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc b/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc
deleted file mode 100644
index b0bfa7676da5..000000000000
--- a/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- chrome/browser/pdf/pdf_extension_test.cc.orig 2021-12-31 00:57:23 UTC
-+++ chrome/browser/pdf/pdf_extension_test.cc
-@@ -920,11 +920,11 @@ IN_PROC_BROWSER_TEST_P(PDFPluginDisabledTest, DirectNa
- }
-
- // TODO(crbug.com/1201401): fix flakiness and reenable
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- #define MAYBE_EmbedPdfPlaceholderWithCSP DISABLED_EmbedPdfPlaceholderWithCSP
- #else
- #define MAYBE_EmbedPdfPlaceholderWithCSP EmbedPdfPlaceholderWithCSP
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- IN_PROC_BROWSER_TEST_P(PDFPluginDisabledTest,
- MAYBE_EmbedPdfPlaceholderWithCSP) {
- // Navigate to a page with CSP that uses <embed> to embed a PDF as a plugin.
-@@ -3004,7 +3004,7 @@ IN_PROC_BROWSER_TEST_P(PDFExtensionClipboardTest,
- }
-
- // Flaky on Linux (https://crbug.com/1121446)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #define MAYBE_CombinedShiftArrowPresses DISABLED_CombinedShiftArrowPresses
- #else
- #define MAYBE_CombinedShiftArrowPresses CombinedShiftArrowPresses
diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc b/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc
deleted file mode 100644
index ae857749f61e..000000000000
--- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/performance_monitor/process_metrics_history.cc.orig 2021-05-12 22:05:44 UTC
-+++ chrome/browser/performance_monitor/process_metrics_history.cc
-@@ -39,7 +39,7 @@ ProcessMonitor::Metrics ProcessMetricsHistory::SampleM
- ProcessMonitor::Metrics metrics;
-
- metrics.cpu_usage = process_metrics_->GetPlatformIndependentCPUUsage();
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
- metrics.idle_wakeups = process_metrics_->GetIdleWakeupsPerSecond();
- #endif
diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder__util.cc b/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder__util.cc
new file mode 100644
index 000000000000..1772808f5a58
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder__util.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/performance_monitor/process_metrics_recorder_util.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/performance_monitor/process_metrics_recorder_util.cc
+@@ -42,7 +42,7 @@ void RecordProcessHistograms(const char* histogram_suf
+ metrics.cpu_usage * kCPUUsageFactor, kCPUUsageHistogramMin,
+ kCPUUsageHistogramMax, kCPUUsageHistogramBucketCount);
+ #if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
+ base::UmaHistogramCounts10000(
+ base::JoinString({"PerformanceMonitor.IdleWakeups.", histogram_suffix},
+ ""),
diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc
index 66375e3e21b2..0849e8e1662f 100644
--- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc
+++ b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc
@@ -1,11 +1,11 @@
---- chrome/browser/performance_monitor/process_monitor.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/performance_monitor/process_monitor.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/performance_monitor/process_monitor.cc
-@@ -75,7 +75,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me
- const ProcessMonitor::Metrics& rhs) {
+@@ -80,7 +80,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me
lhs.cpu_usage += rhs.cpu_usage;
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
lhs.idle_wakeups += rhs.idle_wakeups;
#endif
+
diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h
index 72d43ea7de65..7420e47f1360 100644
--- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h
+++ b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h
@@ -1,11 +1,11 @@
---- chrome/browser/performance_monitor/process_monitor.h.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/performance_monitor/process_monitor.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/performance_monitor/process_monitor.h
@@ -56,7 +56,7 @@ class ProcessMonitor {
- // can exceed 100% in multi-thread processes running on multi-core systems.
double cpu_usage = 0.0;
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
+ #if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_AIX)
++ defined(OS_AIX) || defined(OS_BSD)
// Returns the number of average idle cpu wakeups per second since the last
// time the metric was sampled.
+ int idle_wakeups = 0;
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 69471e9770ac..01e01264b438 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,18 +1,24 @@
---- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2021-12-31 00:57:23 UTC
+--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc
-@@ -46,9 +46,9 @@
+@@ -46,7 +46,7 @@
#include "chrome/browser/policy/browser_dm_token_storage_mac.h"
#endif // defined(OS_MAC)
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "chrome/browser/policy/browser_dm_token_storage_linux.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
- #if defined(OS_WIN)
- #include "chrome/browser/policy/browser_dm_token_storage_win.h"
-@@ -82,7 +82,7 @@ void ChromeBrowserCloudManagementControllerDesktop::
+@@ -55,7 +55,7 @@
+ #include "chrome/install_static/install_util.h"
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
+ #include "chrome/browser/enterprise/connectors/device_trust/device_trust_features.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"
+@@ -88,7 +88,7 @@ void ChromeBrowserCloudManagementControllerDesktop::
#if defined(OS_MAC)
storage_delegate = std::make_unique<BrowserDMTokenStorageMac>();
@@ -21,3 +27,12 @@
storage_delegate = std::make_unique<BrowserDMTokenStorageLinux>();
#elif defined(OS_WIN)
storage_delegate = std::make_unique<BrowserDMTokenStorageWin>();
+@@ -243,7 +243,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC
+
+ std::unique_ptr<enterprise_connectors::DeviceTrustKeyManager>
+ ChromeBrowserCloudManagementControllerDesktop::CreateDeviceTrustKeyManager() {
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
+ if (enterprise_connectors::IsDeviceTrustConnectorFeatureEnabled()) {
+ auto key_rotation_launcher =
+ enterprise_connectors::KeyRotationLauncher::Create(
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 e406d9f92fbe..c77867ed9e8e 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,6 +1,6 @@
---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2021-12-31 00:57:23 UTC
+--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -1416,11 +1416,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -1432,7 +1432,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
base::Value::Type::BOOLEAN },
#endif // !defined(OS_MAC) && !defined(OS_CHROMEOS)
@@ -9,56 +9,34 @@
{ key::kAuthNegotiateDelegateByKdcPolicy,
prefs::kAuthNegotiateDelegateByKdcPolicy,
base::Value::Type::BOOLEAN },
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if !defined(OS_MAC)
- { key::kFullscreenAllowed,
-@@ -1531,7 +1531,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
- base::Value::Type::INTEGER },
- #endif
+@@ -1541,7 +1541,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::BOOLEAN },
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(ENABLE_EXTENSIONS) && (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX))
+#if BUILDFLAG(ENABLE_EXTENSIONS) && (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD))
{ key::kChromeAppsEnabled,
extensions::pref_names::kChromeAppsEnabled,
base::Value::Type::BOOLEAN },
-@@ -1801,7 +1801,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
- SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED));
+@@ -1828,7 +1828,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
#endif // defined(OS_ANDROID)
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
handlers->AddHandler(
std::make_unique<
-@@ -1809,7 +1809,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
- key::kContextAwareAccessSignalsAllowlist,
- enterprise_connectors::kContextAwareAccessSignalsAllowlistPref,
- chrome_schema));
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) ||
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-
- #if defined(OS_CHROMEOS)
-@@ -2166,14 +2166,14 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
- SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED,
+ enterprise_connectors::EnterpriseConnectorsPolicyHandler>(
+@@ -2193,7 +2193,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED));
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
handlers->AddHandler(std::make_unique<SimpleSchemaValidatingPolicyHandler>(
key::kWebAppSettings, prefs::kWebAppSettings, chrome_schema,
SCHEMA_ALLOW_UNKNOWN,
- SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED,
- SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED));
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_FUCHSIA)
-
- #endif // BUILDFLAG(ENABLE_EXTENSIONS)
-@@ -2198,7 +2198,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+@@ -2224,7 +2224,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
policy::key::kSpellcheckLanguageBlocklist));
#endif // BUILDFLAG(ENABLE_SPELLCHECK)
@@ -67,12 +45,3 @@
handlers->AddHandler(std::make_unique<SimpleDeprecatingPolicyHandler>(
std::make_unique<SimplePolicyHandler>(key::kAllowNativeNotifications,
prefs::kAllowNativeNotifications,
-@@ -2206,7 +2206,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
- std::make_unique<SimplePolicyHandler>(key::kAllowSystemNotifications,
- prefs::kAllowSystemNotifications,
- base::Value::Type::BOOLEAN)));
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- return handlers;
- }
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 4134e07d655d..ecc41e4e4b39 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,20 +1,20 @@
---- chrome/browser/policy/device_management_service_configuration.cc.orig 2021-09-14 01:51:50 UTC
+--- chrome/browser/policy/device_management_service_configuration.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/policy/device_management_service_configuration.cc
-@@ -20,7 +20,7 @@
+@@ -19,7 +19,7 @@
+ #include "chromeos/system/statistics_provider.h"
#endif
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID))
-+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID))
#include "chrome/browser/enterprise/connectors/common.h"
#include "chrome/browser/enterprise/connectors/connectors_service.h"
- #endif
-@@ -98,7 +98,7 @@ std::string
+@@ -97,7 +97,7 @@ DeviceManagementServiceConfiguration::GetEncryptedRepo
+ std::string
DeviceManagementServiceConfiguration::GetReportingConnectorServerUrl(
content::BrowserContext* context) const {
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID))
-+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID))
auto* service =
enterprise_connectors::ConnectorsServiceFactory::GetForBrowserContext(
- context);
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 957158812095..5090d1971a8d 100644
--- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
+++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
@@ -1,77 +1,46 @@
---- chrome/browser/prefs/browser_prefs.cc.orig 2021-12-31 00:57:23 UTC
+--- chrome/browser/prefs/browser_prefs.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/prefs/browser_prefs.cc
-@@ -412,14 +412,14 @@
+@@ -415,14 +415,14 @@
+ #include "components/os_crypt/os_crypt.h"
#endif
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
#include "chrome/browser/web_applications/url_handler_prefs.h"
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
#include "chrome/browser/browser_switcher/browser_switcher_prefs.h"
#endif
-
-@@ -493,7 +493,7 @@ const char kLocalDiscoveryNotificationsEnabled[] =
- #endif
-
- // Deprecated 11/2020
--#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
- const char kMigrationToLoginDBStep[] = "profile.migration_to_logindb_step";
- #endif
-
-@@ -755,7 +755,7 @@ void RegisterProfilePrefsForMigration(
-
- registry->RegisterBooleanPref(prefs::kWebAppsUserDisplayModeCleanedUp, false);
-
--#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
- registry->RegisterIntegerPref(kMigrationToLoginDBStep, 0);
- #endif
-
-@@ -1079,10 +1079,10 @@ void RegisterLocalState(PrefRegistrySimple* registry)
-
+@@ -1069,7 +1069,7 @@ void RegisterLocalState(PrefRegistrySimple* registry)
// TODO(crbug/1169547) Remove `BUILDFLAG(IS_CHROMEOS_LACROS)` once the
// migration is complete.
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
enterprise_connectors::RegisterLocalPrefs(registry);
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN)
- #if defined(OS_MAC)
- confirm_quit::RegisterLocalState(registry);
-@@ -1112,7 +1112,7 @@ void RegisterLocalState(PrefRegistrySimple* registry)
+@@ -1101,7 +1101,7 @@ void RegisterLocalState(PrefRegistrySimple* registry)
+ #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // defined(OS_WIN)
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
web_app::url_handler_prefs::RegisterLocalStatePrefs(registry);
#endif
+@@ -1396,7 +1396,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
-@@ -1405,7 +1405,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry);
#endif
-
-@@ -1554,7 +1554,7 @@ void MigrateObsoleteProfilePrefs(Profile* profile) {
- profile_prefs);
-
- // Added 11/2020
--#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
- profile_prefs->ClearPref(kMigrationToLoginDBStep);
- #endif
-
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
index fd8af4d6fbc3..c6418795ec69 100644
--- a/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc
+++ b/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc
@@ -1,6 +1,6 @@
---- chrome/browser/printing/print_job_worker.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/printing/print_job_worker.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/printing/print_job_worker.cc
-@@ -287,7 +287,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n
+@@ -231,7 +231,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n
crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>(
print_backend->GetPrinterDriverInfo(printer_name));
@@ -9,12 +9,3 @@
PrinterBasicInfo basic_info;
if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) ==
mojom::ResultCode::kSuccess) {
-@@ -298,7 +298,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n
- new_settings.SetKey(kSettingAdvancedSettings,
- std::move(advanced_settings));
- }
--#endif // defined(OS_LINUX) && defined(USE_CUPS)
-+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS)
- }
-
- mojom::ResultCode result;
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 5a77b6f4c787..56f01d1a7bbc 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,11 @@
---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2021-12-31 00:57:23 UTC
+--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -376,7 +376,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -384,7 +384,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+ #endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance();
#endif
- ModelTypeStoreServiceFactory::GetInstance();
diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
new file mode 100644
index 000000000000..ba2d9b1e4223
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
@@ -0,0 +1,25 @@
+--- chrome/browser/profiles/profile_impl.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/profiles/profile_impl.cc
+@@ -181,6 +181,7 @@
+ #include "services/preferences/public/mojom/preferences.mojom.h"
+ #include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
+ #include "services/service_manager/public/cpp/service.h"
++#include "sandbox/policy/switches.h"
+ #include "ui/base/l10n/l10n_util.h"
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -846,7 +847,13 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode)
+ }
+
+ base::FilePath ProfileImpl::last_selected_directory() {
+- return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
++ // If unveil(2) is used, force the file dialog directory to something we
++ // know is available.
++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
++ if (!command_line->HasSwitch(sandbox::policy::switches::kDisableUnveil))
++ return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory);
++ else
++ return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
+ }
+
+ void ProfileImpl::set_last_selected_directory(const base::FilePath& path) {
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 9f3c21b1f39e..a413ea0d2112 100644
--- a/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc
+++ b/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc
@@ -1,11 +1,11 @@
---- chrome/browser/profiles/profiles_state.cc.orig 2021-12-14 11:44:58 UTC
+--- chrome/browser/profiles/profiles_state.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/profiles/profiles_state.cc
-@@ -181,7 +181,7 @@ bool IsRegularOrGuestSession(Browser* browser) {
- bool IsGuestModeRequested(const base::CommandLine& command_line,
+@@ -176,7 +176,7 @@ bool IsGuestModeRequested(const base::CommandLine& com
PrefService* local_state,
bool show_warning) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
DCHECK(local_state);
+ // Check if guest mode enforcement commandline switch or policy are provided.
diff --git a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
deleted file mode 100644
index 589edb86073b..000000000000
--- a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2021-12-31 00:57:23 UTC
-+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
-@@ -2399,7 +2399,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id)
- case IDC_CHECK_SPELLING_WHILE_TYPING:
- return prefs->GetBoolean(spellcheck::prefs::kSpellCheckEnable);
-
--#if !defined(OS_MAC) && defined(OS_POSIX)
-+#if !defined(OS_MAC) && !defined(OS_BSD) && defined(OS_POSIX)
- // TODO(suzhe): this should not be enabled for password fields.
- case IDC_INPUT_METHODS_MENU:
- return true;
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 dc1a762d4609..d676169653ed 100644
--- a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc
+++ b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc
@@ -1,6 +1,6 @@
---- chrome/browser/renderer_preferences_util.cc.orig 2021-07-19 18:45:09 UTC
+--- chrome/browser/renderer_preferences_util.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/renderer_preferences_util.cc
-@@ -42,7 +42,7 @@
+@@ -41,7 +41,7 @@
#include "ui/base/cocoa/defaults_utils.h"
#endif
@@ -9,7 +9,7 @@
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
#include "ui/views/linux_ui/linux_ui.h"
-@@ -170,7 +170,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
+@@ -169,7 +169,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
prefs->caret_blink_interval = interval;
#endif
@@ -19,11 +19,11 @@
if (linux_ui) {
if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) {
@@ -189,7 +189,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
- }
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_BSD)
content::UpdateFontRendererPreferencesFromSystemSettings(prefs);
#endif
+
diff --git a/www/chromium/files/patch-chrome_browser_resources_new__tab__page_new__tab__page.js b/www/chromium/files/patch-chrome_browser_resources_new__tab__page_new__tab__page.js
new file mode 100644
index 000000000000..4808ad2f96b9
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_resources_new__tab__page_new__tab__page.js
@@ -0,0 +1,13 @@
+--- chrome/browser/resources/new_tab_page/new_tab_page.js.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/resources/new_tab_page/new_tab_page.js
+@@ -21,10 +21,6 @@ export {chromeCartDescriptor as chromeCartV2Descriptor
+ export {DriveProxy} from './modules/drive/drive_module_proxy.js';
+ export {driveDescriptor} from './modules/drive/module.js';
+ export {driveDescriptor as driveV2Descriptor} from './modules/drive_v2/module.js';
+-// <if expr="not is_official_build">
+-export {FooProxy} from './modules/dummy/foo_proxy.js';
+-export {dummyDescriptor} from './modules/dummy/module.js';
+-// </if>
+ export {InfoDialogElement} from './modules/info_dialog.js';
+ export {InitializeModuleCallback, Module, ModuleDescriptor} from './modules/module_descriptor.js';
+ export {ModuleHeaderElement} from './modules/module_header.js';
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
new file mode 100644
index 000000000000..205bf0a491ba
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json
@@ -0,0 +1,31 @@
+--- 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_settings_appearance__page_appearance__browser__proxy.ts b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts
index 891fb8b8e59c..6a9f629650d7 100644
--- 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
@@ -1,11 +1,11 @@
---- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts.orig 2021-09-24 17:29:52 UTC
+--- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts
@@ -16,7 +16,7 @@ export interface AppearanceBrowserProxy {
useDefaultTheme(): void;
- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_posix and not chromeos">
++ // <if expr="is_bsd and not chromeos">
useSystemTheme(): void;
// </if>
@@ -14,7 +14,7 @@
}
- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_posix and not chromeos">
++ // <if expr="is_bsd and not chromeos">
useSystemTheme() {
chrome.send('useSystemTheme');
}
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
index 24bc27fff067..f3d9de0b7d11 100644
--- 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
@@ -1,51 +1,51 @@
---- chrome/browser/resources/settings/appearance_page/appearance_page.ts.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/resources/settings/appearance_page/appearance_page.ts.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/resources/settings/appearance_page/appearance_page.ts
-@@ -144,7 +144,7 @@ class SettingsAppearancePageElement extends SettingsAp
+@@ -145,7 +145,7 @@ export class SettingsAppearancePageElement extends
'prefs.autogenerated.theme.policy.color.controlledBy)',
},
- // <if expr="is_linux and not chromeos and not lacros">
-+ // <if expr="is_posix and not chromeos and not lacros">
++ // <if expr="is_bsd and not chromeos and not lacros">
/**
* Whether to show the "Custom Chrome Frame" setting.
*/
-@@ -166,7 +166,7 @@ class SettingsAppearancePageElement extends SettingsAp
+@@ -167,7 +167,7 @@ export class SettingsAppearancePageElement extends
'themeChanged_(' +
'prefs.extensions.theme.id.value, useSystemTheme_, isForcedTheme_)',
- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_posix and not chromeos">
++ // <if expr="is_bsd and not chromeos">
// NOTE: this pref only exists on Linux.
'useSystemThemePrefChanged_(prefs.extensions.theme.use_system.value)',
// </if>
-@@ -185,7 +185,7 @@ class SettingsAppearancePageElement extends SettingsAp
+@@ -186,7 +186,7 @@ export class SettingsAppearancePageElement extends
private showReaderModeOption_: boolean;
private isForcedTheme_: boolean;
- // <if expr="is_linux and not chromeos and not lacros">
-+ // <if expr="is_posix and not chromeos and not lacros">
++ // <if expr="is_bsd and not chromeos and not lacros">
private showCustomChromeFrame_: boolean;
// </if>
-@@ -263,7 +263,7 @@ class SettingsAppearancePageElement extends SettingsAp
+@@ -264,7 +264,7 @@ export class SettingsAppearancePageElement extends
this.appearanceBrowserProxy_.useDefaultTheme();
}
- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_posix and not chromeos">
++ // <if expr="is_bsd and not chromeos">
private useSystemThemePrefChanged_(useSystemTheme: boolean) {
this.useSystemTheme_ = useSystemTheme;
}
-@@ -324,10 +324,10 @@ class SettingsAppearancePageElement extends SettingsAp
+@@ -325,10 +325,10 @@ export class SettingsAppearancePageElement extends
}
let i18nId;
- // <if expr="is_linux and not chromeos and not lacros">
-+ // <if expr="is_posix and not chromeos and not lacros">
++ // <if expr="is_bsd and not chromeos and not lacros">
i18nId = useSystemTheme ? 'systemTheme' : 'classicTheme';
// </if>
- // <if expr="not is_linux or chromeos or lacros">
-+ // <if expr="not is_posix or chromeos or lacros">
++ // <if expr="not is_bsd or chromeos or lacros">
i18nId = 'chooseFromWebStore';
// </if>
this.themeSublabel_ = this.i18n(i18nId);
diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html b/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html
index 63b198564393..93eb51ca53d2 100644
--- a/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html
+++ b/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html
@@ -1,11 +1,11 @@
---- chrome/browser/resources/settings/autofill_page/passwords_shared_css.html.orig 2021-12-31 00:57:24 UTC
+--- chrome/browser/resources/settings/autofill_page/passwords_shared_css.html.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/resources/settings/autofill_page/passwords_shared_css.html
@@ -64,7 +64,7 @@
* 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="chromeos or lacros or is_linux">
-+<if expr="chromeos or lacros or is_linux or is_bsd">
++<if expr="chromeos or lacros or is_posix">
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
new file mode 100644
index 000000000000..9b5c0cbb5dac
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_resources_settings_route.ts
@@ -0,0 +1,11 @@
+--- chrome/browser/resources/settings/route.ts.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/resources/settings/route.ts
+@@ -177,7 +177,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_safe__browsing_BUILD.gn b/www/chromium/files/patch-chrome_browser_safe__browsing_BUILD.gn
deleted file mode 100644
index c6e4a9f79b11..000000000000
--- a/www/chromium/files/patch-chrome_browser_safe__browsing_BUILD.gn
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/safe_browsing/BUILD.gn.orig 2021-12-31 00:57:24 UTC
-+++ chrome/browser/safe_browsing/BUILD.gn
-@@ -299,7 +299,7 @@ static_library("safe_browsing") {
- ]
- }
-
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- sources += [
- "download_protection/document_analysis_service.cc",
- "download_protection/document_analysis_service.h",
-@@ -345,7 +345,7 @@ static_library("safe_browsing") {
- "//chrome/common:version_header",
- ]
- }
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- deps += [
- "//chrome/common/safe_browsing:document_analyzer_results",
- "//chrome/services/file_util/public/mojom",
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
new file mode 100644
index 000000000000..f0ae727beba1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/safe_browsing/download_protection/file_analyzer.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+@@ -19,7 +19,7 @@
+ #include "components/safe_browsing/core/common/features.h"
+ #include "content/public/browser/browser_thread.h"
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) | defined(OS_BSD)
+ #include "chrome/browser/safe_browsing/download_protection/document_analysis_service.h"
+ #endif
+
+@@ -100,7 +100,7 @@ void FileAnalyzer::Start(const base::FilePath& target_
+ } else if (inspection_type == DownloadFileType::DMG) {
+ StartExtractDmgFeatures();
+ #endif
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ } else if (base::FeatureList::IsEnabled(
+ safe_browsing::kClientSideDetectionDocumentScanning) &&
+ inspection_type == DownloadFileType::OFFICE_DOCUMENT) {
+@@ -284,7 +284,7 @@ void FileAnalyzer::OnDmgAnalysisFinished(
+ }
+ #endif // defined(OS_MAC)
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_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
new file mode 100644
index 000000000000..493f4618ae0e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h
@@ -0,0 +1,29 @@
+--- chrome/browser/safe_browsing/download_protection/file_analyzer.h.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/safe_browsing/download_protection/file_analyzer.h
+@@ -16,7 +16,7 @@
+ #include "components/safe_browsing/core/common/proto/csd.pb.h"
+ #include "third_party/protobuf/src/google/protobuf/repeated_field.h"
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ #include "chrome/services/file_util/public/cpp/sandboxed_document_analyzer.h"
+ #endif
+
+@@ -111,7 +111,7 @@ class FileAnalyzer {
+ const safe_browsing::ArchiveAnalyzerResults& archive_results);
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ void StartExtractDocumentFeatures();
+ void OnDocumentAnalysisFinished(
+ const DocumentAnalyzerResults& document_results);
+@@ -131,7 +131,7 @@ class FileAnalyzer {
+ scoped_refptr<SandboxedDMGAnalyzer> dmg_analyzer_;
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_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__handler__util.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
deleted file mode 100644
index 6427d82b8732..000000000000
--- a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc.orig 2021-04-14 18:40:54 UTC
-+++ chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc
-@@ -8,7 +8,11 @@
-
- #include "base/hash/hash.h"
- #include "base/notreached.h"
-+#if defined(USE_SYSTEM_PROTOBUF)
-+#include <google/protobuf/message_lite.h>
-+#else
- #include "third_party/protobuf/src/google/protobuf/message_lite.h"
-+#endif
-
- namespace safe_browsing {
-
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 952901aa7e70..758731442ab7 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,11 +1,11 @@
---- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2021-12-31 00:57:24 UTC
+--- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
-@@ -708,7 +708,7 @@ void IncidentReportingService::OnEnvironmentDataCollec
- environment_collection_pending_ = false;
+@@ -709,7 +709,7 @@ void IncidentReportingService::OnEnvironmentDataCollec
// Process::Current().CreationTime() is missing on some platforms.
--#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
base::TimeDelta uptime =
first_incident_time_ - base::Process::Current().CreationTime();
+ environment_data->mutable_process()->set_uptime_msec(uptime.InMilliseconds());
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
index 3fd5b3ec55c5..2c5912c7d673 100644
--- 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
@@ -1,29 +1,29 @@
---- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc
-@@ -15,7 +15,7 @@
- #include "chrome/browser/share/share_features.h"
+@@ -16,7 +16,7 @@
#include "components/send_tab_to_self/features.h"
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_FUCHSIA)
++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_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"
-@@ -38,7 +38,7 @@ ReceivingUiHandlerRegistry* ReceivingUiHandlerRegistry
- // Instantiates all the handlers relevant to this platform.
+ #endif
+@@ -39,7 +39,7 @@ ReceivingUiHandlerRegistry* ReceivingUiHandlerRegistry
void ReceivingUiHandlerRegistry::InstantiatePlatformSpecificHandlers(
Profile* profile) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_FUCHSIA)
++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD)
// If STTS 2.0 is enabled the handler will be created when the toolbar
-@@ -58,7 +58,7 @@ void ReceivingUiHandlerRegistry::InstantiatePlatformSp
- SendTabToSelfToolbarIconController*
+ // button registers itself as the delegate.
+@@ -59,7 +59,7 @@ SendTabToSelfToolbarIconController*
ReceivingUiHandlerRegistry::GetToolbarButtonControllerForProfile(
Profile* profile) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_FUCHSIA)
++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_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
index 78c1b30fc474..c0db6c411453 100644
--- 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
@@ -1,20 +1,20 @@
---- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc
-@@ -16,7 +16,7 @@
- #include "components/send_tab_to_self/features.h"
+@@ -17,7 +17,7 @@
#include "components/send_tab_to_self/send_tab_to_self_model.h"
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_BSD)
#include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h"
#endif
-@@ -50,7 +50,7 @@ void SendTabToSelfClientService::SendTabToSelfModelLoa
- void SendTabToSelfClientService::EntriesAddedRemotely(
+
+@@ -51,7 +51,7 @@ void SendTabToSelfClientService::EntriesAddedRemotely(
const std::vector<const SendTabToSelfEntry*>& new_entries) {
for (const std::unique_ptr<ReceivingUiHandler>& handler : GetHandlers()) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_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_sharing_sharing__device__registration.cc b/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc
index 2379988c552f..bbe47111dd05 100644
--- a/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc
+++ b/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc
@@ -1,11 +1,11 @@
---- chrome/browser/sharing/sharing_device_registration.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/sharing/sharing_device_registration.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/sharing/sharing_device_registration.cc
-@@ -326,7 +326,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported(
- }
+@@ -327,7 +327,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported(
bool SharingDeviceRegistration::IsRemoteCopySupported() const {
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_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 9792faddf570..c0258fd9f5a5 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,32 +1,20 @@
---- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/sharing/sharing_handler_registry_impl.cc
-@@ -23,10 +23,10 @@
- #include "chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop.h"
+@@ -24,7 +24,7 @@
#endif // defined(OS_ANDROID)
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
#include "chrome/browser/sharing/shared_clipboard/remote_copy_message_handler.h"
--#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ #endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS_LACROS)) defined(OS_CHROMEOS)
-
- SharingHandlerRegistryImpl::SharingHandlerRegistryImpl(
-@@ -76,14 +76,14 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl
- {chrome_browser_sharing::SharingMessage::kSharedClipboardMessage});
+@@ -77,7 +77,7 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl
}
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
if (sharing_device_registration->IsRemoteCopySupported()) {
AddSharingHandler(
std::make_unique<RemoteCopyMessageHandler>(profile),
- {chrome_browser_sharing::SharingMessage::kRemoteCopyMessage});
- }
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- }
-
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
index 093cc0ca8661..b0450e07a72e 100644
--- a/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc
+++ b/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc
@@ -1,15 +1,21 @@
---- chrome/browser/shutdown_signal_handlers_posix.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/shutdown_signal_handlers_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/shutdown_signal_handlers_posix.cc
-@@ -188,7 +188,11 @@ void InstallShutdownSignalHandlers(
+@@ -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(ADDRESS_SANITIZER)
+#if defined(OS_BSD)
-+ // PTHREAD_STACK_MIN causes Chromium to crash under FreeBSD,
++ // 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;
-+#elif !defined(ADDRESS_SANITIZER)
++#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_signin__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc
index f2c634f2b024..1248d5d3f5e9 100644
--- a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc
+++ b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc
@@ -1,11 +1,11 @@
---- chrome/browser/signin/signin_util.cc.orig 2021-12-31 00:57:24 UTC
+--- chrome/browser/signin/signin_util.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/signin/signin_util.cc
-@@ -38,7 +38,7 @@
- #include "google_apis/gaia/gaia_auth_util.h"
+@@ -40,7 +40,7 @@
#include "ui/base/l10n/l10n_util.h"
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_list.h"
+ #include "chrome/browser/ui/browser_list_observer.h"
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
index aa5834d1c526..b71d1abb2a1d 100644
--- a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc
+++ b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc
@@ -1,6 +1,6 @@
---- chrome/browser/sync/chrome_sync_client.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/sync/chrome_sync_client.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/sync/chrome_sync_client.cc
-@@ -461,7 +461,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
+@@ -462,7 +462,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.
@@ -9,12 +9,3 @@
// Dictionary sync is enabled by default.
if (!disabled_types.Has(syncer::DICTIONARY) &&
GetPrefService()->GetBoolean(spellcheck::prefs::kSpellCheckEnable)) {
-@@ -470,7 +470,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
- syncer::DICTIONARY, model_type_store_factory,
- GetSyncableServiceForType(syncer::DICTIONARY), dump_stack));
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- if (arc::IsArcAllowedForProfile(profile_) &&
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 e7129c08dc6b..cecf948ecc81 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 2021-06-11 09:31:26 UTC
+--- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2022-02-07 13:39:41 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 defined(OS_WIN) || defined(OS_MAC) || \
- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_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
deleted file mode 100644
index 3d7cf945d9a5..000000000000
--- a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/sync/sync_service_factory.cc.orig 2021-12-14 11:44:59 UTC
-+++ chrome/browser/sync/sync_service_factory.cc
-@@ -106,7 +106,7 @@ std::unique_ptr<KeyedService> BuildSyncService(
- // in lacros-chrome once build flag switch of lacros-chrome is
- // complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
- syncer::SyncPrefs prefs(profile->GetPrefs());
- local_sync_backend_enabled = prefs.IsLocalSyncEnabled();
- UMA_HISTOGRAM_BOOLEAN("Sync.Local.Enabled", local_sync_backend_enabled);
-@@ -124,7 +124,7 @@ std::unique_ptr<KeyedService> BuildSyncService(
-
- init_params.start_behavior = syncer::SyncServiceImpl::AUTO_START;
- }
--#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) ||
- // BUILDFLAG(IS_CHROMEOS_LACROS))
-
- if (!local_sync_backend_enabled) {
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 59c335039718..154ce10da646 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,30 +1,24 @@
---- chrome/browser/task_manager/sampling/task_group.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/task_manager/sampling/task_group.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/task_manager/sampling/task_group.cc
-@@ -37,9 +37,9 @@ const int kBackgroundRefreshTypesMask =
+@@ -37,7 +37,7 @@ const int kBackgroundRefreshTypesMask =
#if defined(OS_WIN)
REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME |
#endif // defined(OS_WIN)
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
REFRESH_TYPE_FD_COUNT |
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
#if BUILDFLAG(ENABLE_NACL)
- REFRESH_TYPE_NACL |
- #endif // BUILDFLAG(ENABLE_NACL)
-@@ -122,9 +122,9 @@ TaskGroup::TaskGroup(
+@@ -122,7 +122,7 @@ TaskGroup::TaskGroup(
#if BUILDFLAG(ENABLE_NACL)
nacl_debug_stub_port_(nacl::kGdbDebugStubPortUnknown),
#endif // BUILDFLAG(ENABLE_NACL)
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
open_fd_count_(-1),
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
idle_wakeups_per_second_(-1),
- gpu_memory_has_duplicates_(false),
- is_backgrounded_(false) {
-@@ -141,10 +141,10 @@ TaskGroup::TaskGroup(
+@@ -141,7 +141,7 @@ TaskGroup::TaskGroup(
weak_ptr_factory_.GetWeakPtr()),
base::BindRepeating(&TaskGroup::OnIdleWakeupsRefreshDone,
weak_ptr_factory_.GetWeakPtr()),
@@ -32,12 +26,8 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
base::BindRepeating(&TaskGroup::OnOpenFdCountRefreshDone,
weak_ptr_factory_.GetWeakPtr()),
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- base::BindRepeating(&TaskGroup::OnProcessPriorityDone,
- weak_ptr_factory_.GetWeakPtr()));
-
-@@ -321,14 +321,14 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+@@ -321,7 +321,7 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac
}
#endif // BUILDFLAG(ENABLE_NACL)
@@ -46,11 +36,3 @@
void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- open_fd_count_ = open_fd_count;
- OnBackgroundRefreshTypeFinished(REFRESH_TYPE_FD_COUNT);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- void TaskGroup::OnCpuRefreshDone(double cpu_usage) {
- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
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 250cbbc09938..0a9b5ee942cf 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,4 +1,4 @@
---- chrome/browser/task_manager/sampling/task_group.h.orig 2021-09-14 01:51:51 UTC
+--- chrome/browser/task_manager/sampling/task_group.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/task_manager/sampling/task_group.h
@@ -42,7 +42,7 @@ constexpr int kUnsupportedVMRefreshFlags =
REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE |
@@ -9,7 +9,7 @@
REFRESH_TYPE_FD_COUNT |
#endif
REFRESH_TYPE_HARD_FAULTS;
-@@ -148,10 +148,10 @@ class TaskGroup {
+@@ -148,7 +148,7 @@ class TaskGroup {
}
#endif // BUILDFLAG(ENABLE_NACL)
@@ -17,24 +17,17 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
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 // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- int idle_wakeups_per_second() const { return idle_wakeups_per_second_; }
- void set_idle_wakeups_per_second(int idle_wakeups) {
-@@ -168,9 +168,9 @@ class TaskGroup {
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+@@ -168,7 +168,7 @@ class TaskGroup {
void RefreshNaClDebugStubPort(int child_process_unique_id);
void OnRefreshNaClDebugStubPortDone(int port);
#endif
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
void OnOpenFdCountRefreshDone(int open_fd_count);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
- void OnCpuRefreshDone(double cpu_usage);
- void OnSwappedMemRefreshDone(int64_t swapped_mem_bytes);
-@@ -240,10 +240,10 @@ class TaskGroup {
+@@ -240,7 +240,7 @@ class TaskGroup {
#if BUILDFLAG(ENABLE_NACL)
int nacl_debug_stub_port_;
#endif // BUILDFLAG(ENABLE_NACL)
@@ -42,8 +35,4 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
// The number of file descriptors currently open by the process.
int open_fd_count_;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- int idle_wakeups_per_second_;
- bool gpu_memory_has_duplicates_;
- bool is_backgrounded_;
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
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 ddbf0fa20bc4..9b8b00b548d9 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,29 +1,23 @@
---- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2021-04-20 18:58:27 UTC
+--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/task_manager/sampling/task_group_sampler.cc
-@@ -44,9 +44,9 @@ TaskGroupSampler::TaskGroupSampler(
+@@ -44,7 +44,7 @@ TaskGroupSampler::TaskGroupSampler(
const OnCpuRefreshCallback& on_cpu_refresh,
const OnSwappedMemRefreshCallback& on_swapped_mem_refresh,
const OnIdleWakeupsCallback& on_idle_wakeups,
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
const OnOpenFdCountCallback& on_open_fd_count,
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
const OnProcessPriorityCallback& on_process_priority)
- : process_(std::move(process)),
- process_metrics_(CreateProcessMetrics(process_.Handle())),
-@@ -54,9 +54,9 @@ TaskGroupSampler::TaskGroupSampler(
+@@ -54,7 +54,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),
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
on_open_fd_count_callback_(on_open_fd_count),
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
on_process_priority_callback_(on_process_priority) {
- DCHECK(blocking_pool_runner.get());
-
@@ -86,7 +86,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
base::BindOnce(on_swapped_mem_refresh_callback_));
}
@@ -33,28 +27,16 @@
if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS,
refresh_flags)) {
base::PostTaskAndReplyWithResult(
-@@ -94,9 +94,9 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
- base::BindOnce(&TaskGroupSampler::RefreshIdleWakeupsPerSecond, this),
- base::BindOnce(on_idle_wakeups_callback_));
+@@ -96,7 +96,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
}
--#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT,
refresh_flags)) {
base::PostTaskAndReplyWithResult(
-@@ -104,7 +104,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
- base::BindOnce(&TaskGroupSampler::RefreshOpenFdCount, this),
- base::BindOnce(on_open_fd_count_callback_));
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_PRIORITY,
- refresh_flags)) {
-@@ -146,19 +146,21 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() {
+@@ -146,7 +146,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() {
return process_metrics_->GetIdleWakeupsPerSecond();
}
@@ -63,18 +45,3 @@
int TaskGroupSampler::RefreshOpenFdCount() {
DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
- return process_metrics_->GetOpenFdCount();
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- bool TaskGroupSampler::RefreshProcessPriority() {
- DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
- #if defined(OS_MAC)
- return process_.IsProcessBackgrounded(
- content::BrowserChildProcessHost::GetPortProvider());
-+#elif defined(OS_BSD)
-+ return false;
- #else
- return process_.IsProcessBackgrounded();
- #endif // defined(OS_MAC)
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 69ed2530f60f..52c1318c6878 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,50 +1,38 @@
---- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2021-07-19 18:45:09 UTC
+--- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/task_manager/sampling/task_group_sampler.h
-@@ -31,9 +31,9 @@ class TaskGroupSampler : public base::RefCountedThread
+@@ -31,7 +31,7 @@ class TaskGroupSampler : public base::RefCountedThread
using OnCpuRefreshCallback = base::RepeatingCallback<void(double)>;
using OnSwappedMemRefreshCallback = base::RepeatingCallback<void(int64_t)>;
using OnIdleWakeupsCallback = base::RepeatingCallback<void(int)>;
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
using OnOpenFdCountCallback = base::RepeatingCallback<void(int)>;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
using OnProcessPriorityCallback = base::RepeatingCallback<void(bool)>;
-
- TaskGroupSampler(
-@@ -42,9 +42,9 @@ class TaskGroupSampler : public base::RefCountedThread
+@@ -42,7 +42,7 @@ class TaskGroupSampler : public base::RefCountedThread
const OnCpuRefreshCallback& on_cpu_refresh,
const OnSwappedMemRefreshCallback& on_memory_refresh,
const OnIdleWakeupsCallback& on_idle_wakeups,
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
const OnOpenFdCountCallback& on_open_fd_count,
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
const OnProcessPriorityCallback& on_process_priority);
-
- TaskGroupSampler(const TaskGroupSampler&) = delete;
-@@ -62,9 +62,9 @@ class TaskGroupSampler : public base::RefCountedThread
+@@ -62,7 +62,7 @@ class TaskGroupSampler : public base::RefCountedThread
double RefreshCpuUsage();
int64_t RefreshSwappedMem();
int RefreshIdleWakeupsPerSecond();
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
int RefreshOpenFdCount();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
bool RefreshProcessPriority();
-
- // The process that holds the handle that we own so that we can use it for
-@@ -86,9 +86,9 @@ class TaskGroupSampler : public base::RefCountedThread
+@@ -86,7 +86,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_;
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
const OnOpenFdCountCallback on_open_fd_count_callback_;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
const OnProcessPriorityCallback on_process_priority_callback_;
-
- // To assert we're running on the correct thread.
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 3eca0ac2d0ad..f3ff05f393d8 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 2021-07-19 18:45:09 UTC
+--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/task_manager/sampling/task_manager_impl.cc
-@@ -217,11 +217,11 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id,
+@@ -217,7 +217,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id,
}
int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const {
@@ -9,8 +9,3 @@
return GetTaskGroupByTaskId(task_id)->open_fd_count();
#else
return -1;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- }
-
- bool TaskManagerImpl::IsTaskOnBackgroundedProcess(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 3489fa191a1c..78d46e3bc6e2 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 2021-07-19 18:45:09 UTC
+--- chrome/browser/task_manager/task_manager_observer.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/task_manager/task_manager_observer.h
-@@ -46,11 +46,11 @@ enum RefreshType {
+@@ -47,7 +47,7 @@ enum RefreshType {
// or backgrounded.
REFRESH_TYPE_PRIORITY = 1 << 13,
@@ -9,8 +9,3 @@
// For observers interested in getting the number of open file descriptors of
// processes.
REFRESH_TYPE_FD_COUNT = 1 << 14,
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- REFRESH_TYPE_KEEPALIVE_COUNT = 1 << 15,
- REFRESH_TYPE_MEMORY_FOOTPRINT = 1 << 16,
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 94747ad7907d..dd9309404c97 100644
--- a/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc
+++ b/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc
@@ -1,6 +1,6 @@
---- chrome/browser/themes/theme_helper.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/themes/theme_helper.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/themes/theme_helper.cc
-@@ -341,7 +341,7 @@ bool ThemeHelper::ShouldUseIncreasedContrastThemeSuppl
+@@ -334,7 +334,7 @@ bool ThemeHelper::ShouldUseIncreasedContrastThemeSuppl
ui::NativeTheme* native_theme) const {
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
diff --git a/www/chromium/files/patch-chrome_browser_ui_BUILD.gn b/www/chromium/files/patch-chrome_browser_ui_BUILD.gn
deleted file mode 100644
index 4462868751dd..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_BUILD.gn
+++ /dev/null
@@ -1,55 +0,0 @@
---- chrome/browser/ui/BUILD.gn.orig 2021-12-31 00:57:24 UTC
-+++ chrome/browser/ui/BUILD.gn
-@@ -682,10 +682,20 @@ static_library("ui") {
- ]
- }
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [ "//components/crash/core/app" ]
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "webui/crashes_ui.cc",
-+ "webui/crashes_ui.h",
-+ ]
-+ deps -= [
-+ "//components/crash/core/browser",
-+ ]
-+ }
-+
- if (is_android) {
- sources += [
- "android/android_about_app_info.cc",
-@@ -3617,7 +3627,7 @@ static_library("ui") {
- }
- }
-
-- if (is_linux || is_chromeos_lacros || is_mac) {
-+ if ((is_linux || is_chromeos_lacros || is_mac) && !is_bsd) {
- # The first run dialog shows only on Linux and macOS.
- sources += [
- "views/first_run_dialog.cc",
-@@ -3723,6 +3733,12 @@ static_library("ui") {
- deps += [ "//third_party/fontconfig" ]
- }
- }
-+ if (is_bsd) {
-+ sources -= [
-+ "webui/webui_js_error/webui_js_error_ui.cc",
-+ "webui/webui_js_error/webui_js_error_ui.h",
-+ ]
-+ }
-
- if (toolkit_views) {
- sources += [
-@@ -4739,7 +4755,7 @@ static_library("ui") {
- ]
- }
-
-- if (is_win || is_linux) {
-+ if ((is_win || is_linux) && !is_bsd) {
- sources += [
- "views/bluetooth_device_credentials_view.cc",
- "views/bluetooth_device_credentials_view.h",
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 fe54480a0185..e9a74790cccf 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,6 +1,6 @@
---- chrome/browser/ui/browser_command_controller.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/browser_command_controller.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/browser_command_controller.cc
-@@ -89,7 +89,7 @@
+@@ -88,7 +88,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,7 +9,7 @@
#include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
#endif
-@@ -275,7 +275,7 @@ bool BrowserCommandController::IsReservedCommandOrKey(
+@@ -274,7 +274,7 @@ bool BrowserCommandController::IsReservedCommandOrKey(
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -18,7 +18,7 @@
// If this key was registered by the user as a content editing hotkey, then
// it is not reserved.
ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
-@@ -511,7 +511,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
+@@ -510,7 +510,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -27,7 +27,7 @@
case IDC_MINIMIZE_WINDOW:
browser_->window()->Minimize();
break;
-@@ -1027,7 +1027,7 @@ void BrowserCommandController::InitCommandState() {
+@@ -1026,7 +1026,7 @@ void BrowserCommandController::InitCommandState() {
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h b/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h
index 1125dee4ec76..06c2732ddbd7 100644
--- a/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h
+++ b/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h
@@ -1,29 +1,29 @@
---- chrome/browser/ui/browser_dialogs.h.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/browser_dialogs.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/browser_dialogs.h
-@@ -27,7 +27,7 @@
+@@ -26,7 +26,7 @@
+ #include "ui/base/models/dialog_model.h"
#include "ui/gfx/native_widget_types.h"
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
#include "chrome/browser/web_applications/web_app_id.h"
#endif
-
-@@ -81,7 +81,7 @@ struct SelectedFileInfo;
+@@ -80,7 +80,7 @@ class WebDialogDelegate;
+ struct SelectedFileInfo;
} // namespace ui
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
namespace web_app {
struct UrlHandlerLaunchParams;
- }
-@@ -208,7 +208,7 @@ void ShowWebAppFileLaunchDialog(const std::vector<base
+@@ -207,7 +207,7 @@ void ShowWebAppFileLaunchDialog(const std::vector<base
+ WebAppLaunchAcceptanceCallback close_callback);
#endif // !defined(OS_ANDROID)
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
// Callback that runs when the Web App URL Handler Intent Picker dialog is
// closed. `accepted` is true when the dialog is accepted, false otherwise.
- // `launch_params` contains information of the app that is selected to open by
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 172a367a5f45..d841ee810a45 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,4 +1,4 @@
---- chrome/browser/ui/browser_view_prefs.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/browser_view_prefs.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/browser_view_prefs.cc
@@ -17,7 +17,7 @@ namespace {
@@ -9,7 +9,7 @@
bool GetCustomFramePrefDefault() {
#if defined(USE_OZONE)
return ui::OzonePlatform::GetInstance()
-@@ -35,9 +35,9 @@ void RegisterBrowserViewProfilePrefs(
+@@ -35,7 +35,7 @@ void RegisterBrowserViewProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -17,7 +17,4 @@
+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame,
GetCustomFramePrefDefault());
--#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) &&
-+#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) &&
- // defined(!OS_CHROMEOS)
- }
+ #endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) &&
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 f0f4db286b19..ad34cd323688 100644
--- a/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc
@@ -1,6 +1,6 @@
---- chrome/browser/ui/sad_tab.cc.orig 2021-04-14 18:40:55 UTC
+--- chrome/browser/ui/sad_tab.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/sad_tab.cc
-@@ -189,7 +189,7 @@ std::vector<int> SadTab::GetSubMessages() {
+@@ -188,7 +188,7 @@ std::vector<int> SadTab::GetSubMessages() {
// Only show Incognito suggestion if not already in Incognito mode.
if (!web_contents_->GetBrowserContext()->IsOffTheRecord())
message_ids.insert(message_ids.begin(), IDS_SAD_TAB_RELOAD_INCOGNITO);
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
index b18a0d311dfa..ab2b61434e96 100644
--- a/www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/signin_view_controller.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/signin_view_controller.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/signin_view_controller.cc
-@@ -241,7 +241,7 @@ void SigninViewController::ShowModalEnterpriseConfirma
- const AccountInfo& account_info,
+@@ -242,7 +242,7 @@ void SigninViewController::ShowModalEnterpriseConfirma
SkColor profile_color,
base::OnceCallback<void(bool)> callback) {
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
CloseModalSignin();
// The delegate will delete itself on request of the UI code when the widget
+ // is closed.
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
index 533c5be1ea9f..0a9d2af20c45 100644
--- 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
@@ -1,11 +1,11 @@
---- chrome/browser/ui/signin_view_controller_delegate.h.orig 2021-09-24 18:29:25 UTC
+--- chrome/browser/ui/signin_view_controller_delegate.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/signin_view_controller_delegate.h
-@@ -63,7 +63,7 @@ class SigninViewControllerDelegate {
- const CoreAccountId& account_id,
+@@ -64,7 +64,7 @@ class SigninViewControllerDelegate {
signin_metrics::ReauthAccessPoint access_point);
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_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_dice__web__signin__interceptor__delegate.cc b/www/chromium/files/patch-chrome_browser_ui_signin_dice__web__signin__interceptor__delegate.cc
index b532595cbe05..c893c28b27e7 100644
--- a/www/chromium/files/patch-chrome_browser_ui_signin_dice__web__signin__interceptor__delegate.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_signin_dice__web__signin__interceptor__delegate.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc
-@@ -57,7 +57,7 @@ class ForcedEnterpriseSigninInterceptionHandle
- private:
+@@ -59,7 +59,7 @@ class ForcedEnterpriseSigninInterceptionHandle
void ShowEnterpriseProfileInterceptionDialog(const AccountInfo& account_info,
SkColor profile_color) {
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
if (base::FeatureList::IsEnabled(kAccountPoliciesLoadedWithoutSync)) {
browser_->signin_view_controller()->ShowModalEnterpriseConfirmationDialog(
+ account_info, profile_color,
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 9eff51aaf55b..7e5f7f79e3ad 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,15 @@
---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/startup/startup_browser_creator.cc
-@@ -125,7 +125,7 @@
+@@ -124,7 +124,7 @@
+ #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW)
#endif // defined(OS_WIN)
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
#include "chrome/browser/ui/startup/web_app_url_handling_startup_utils.h"
#endif
-
-@@ -402,7 +402,7 @@ bool MaybeLaunchAppShortcutWindow(const base::CommandL
+@@ -403,7 +403,7 @@ bool MaybeLaunchAppShortcutWindow(const base::CommandL
return false;
}
@@ -18,7 +18,7 @@
bool MaybeLaunchUrlHandlerWebAppFromCmd(
const base::CommandLine& command_line,
const base::FilePath& cur_dir,
-@@ -1025,7 +1025,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
+@@ -1038,7 +1038,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
if (command_line.HasSwitch(switches::kAppId)) {
std::string app_id = command_line.GetSwitchValueASCII(switches::kAppId);
@@ -27,9 +27,9 @@
// 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))
-@@ -1061,7 +1061,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
- web_app::startup::MaybeHandleWebAppLaunch(command_line, cur_dir,
- privacy_safe_profile);
+@@ -1074,7 +1074,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
+ web_app::startup::MaybeHandleWebAppLaunch(
+ command_line, cur_dir, privacy_safe_profile, is_first_run);
-#if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
+#if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
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 af92edc33ac9..349c592b4498 100644
--- a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
@@ -1,34 +1,36 @@
---- chrome/browser/ui/tab_helpers.cc.orig 2022-01-20 10:35:51 UTC
+--- chrome/browser/ui/tab_helpers.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/tab_helpers.cc
-@@ -170,7 +170,7 @@
- #include "chrome/browser/chromeos/policy/dlp/dlp_content_tab_helper.h"
+@@ -175,7 +175,7 @@
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
#include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h"
#include "chrome/browser/ui/browser_finder.h"
-@@ -459,11 +459,11 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
+ #include "chrome/browser/ui/hats/hats_helper.h"
+@@ -479,13 +479,13 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
+
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents);
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
if (base::FeatureList::IsEnabled(
features::kHappinessTrackingSurveysForDesktopDemo) ||
-@@ -474,7 +474,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
- }
+ base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) ||
+@@ -496,7 +496,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
if (Browser* browser = chrome::FindBrowserWithProfile(profile)) {
SharedHighlightingPromo::CreateForWebContents(web_contents, browser);
+ }
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
index d9377d43b01c..7156c0165491 100644
--- 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
@@ -1,6 +1,6 @@
---- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2021-04-14 18:40:55 UTC
+--- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/task_manager/task_manager_columns.cc
-@@ -94,10 +94,10 @@ const TableColumnData kColumns[] = {
+@@ -94,7 +94,7 @@ const TableColumnData kColumns[] = {
base::size("100000") * kCharWidth, -1, true, false, false},
#endif
@@ -8,8 +8,4 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
{IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
base::size("999") * kCharWidth, -1, true, false, false},
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- {IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN, ui::TableColumn::LEFT, -1, 0,
- base::size("background") * kCharWidth, -1, true, true, false},
- {IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
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 9e658522e6b8..ddcb60da4e16 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,6 +1,6 @@
---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2021-09-14 01:51:51 UTC
+--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/task_manager/task_manager_table_model.cc
-@@ -451,13 +451,13 @@ std::u16string TaskManagerTableModel::GetText(int row,
+@@ -451,7 +451,7 @@ std::u16string TaskManagerTableModel::GetText(int row,
? stringifier_->backgrounded_string()
: stringifier_->foregrounded_string();
@@ -9,13 +9,6 @@
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)
- : stringifier_->n_a_string();
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- case IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN: {
- return stringifier_->GetKeepaliveCountText(
@@ -618,7 +618,7 @@ int TaskManagerTableModel::CompareValues(int row1,
return BooleanCompare(is_proc1_bg, is_proc2_bg);
}
@@ -25,16 +18,7 @@
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
const int proc1_fd_count =
observed_task_manager()->GetOpenFdCount(tasks_[row1]);
-@@ -626,7 +626,7 @@ int TaskManagerTableModel::CompareValues(int row1,
- observed_task_manager()->GetOpenFdCount(tasks_[row2]);
- return ValueCompare(proc1_fd_count, proc2_fd_count);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- default:
- NOTREACHED();
-@@ -792,11 +792,11 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col
+@@ -792,7 +792,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col
type = REFRESH_TYPE_KEEPALIVE_COUNT;
break;
@@ -43,8 +27,3 @@
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN:
type = REFRESH_TYPE_FD_COUNT;
break;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- default:
- NOTREACHED();
diff --git a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__dialog.cc b/www/chromium/files/patch-chrome_browser_ui_test_test__browser__dialog.cc
deleted file mode 100644
index 9567eb019bc4..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__dialog.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/test/test_browser_dialog.cc.orig 2021-12-14 11:44:59 UTC
-+++ chrome/browser/ui/test/test_browser_dialog.cc
-@@ -117,7 +117,7 @@ bool TestBrowserDialog::VerifyUi() {
- // TODO(https://crbug.com/958242) support Mac for pixel tests.
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- dialog_widget->SetBlockCloseForTesting(true);
- // Deactivate before taking screenshot. Deactivated dialog pixel outputs
- // is more predictable than activated dialog.
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
deleted file mode 100644
index d65f35288c8c..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/ui/test/test_browser_ui.cc.orig 2021-12-14 11:44:59 UTC
-+++ chrome/browser/ui/test/test_browser_ui.cc
-@@ -16,7 +16,7 @@
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- #include "chrome/test/pixel/browser_skia_gold_pixel_diff.h"
- #include "ui/base/test/skia_gold_matching_algorithm.h"
- #include "ui/compositor/test/draw_waiter_for_test.h"
-@@ -37,7 +37,7 @@ std::string NameFromTestCase() {
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- void InstallUIControlsAura() {
- #if defined(OS_WIN)
- ui_controls::InstallUIControlsAura(aura::test::CreateUIControlsAura(nullptr));
-@@ -55,7 +55,7 @@ void InstallUIControlsAura() {
- TestBrowserUi::TestBrowserUi() {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- // Default to fuzzy diff. The magic number is chosen based on
- // past experiments.
- SetPixelMatchAlgorithm(
-@@ -68,7 +68,7 @@ TestBrowserUi::~TestBrowserUi() = default;
- // TODO(https://crbug.com/958242) support Mac for pixel tests.
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- bool TestBrowserUi::VerifyPixelUi(views::Widget* widget,
- const std::string& screenshot_prefix,
- const std::string& screenshot_name) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.h b/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.h
deleted file mode 100644
index 887bd0b79f63..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/test/test_browser_ui.h.orig 2021-12-14 11:44:59 UTC
-+++ chrome/browser/ui/test/test_browser_ui.h
-@@ -100,7 +100,7 @@ class TestBrowserUi {
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- // Can be called by VerifyUi() to ensure pixel correctness.
- bool VerifyPixelUi(views::Widget* widget,
- const std::string& screenshot_prefix,
-@@ -137,7 +137,7 @@ class TestBrowserUi {
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- std::unique_ptr<ui::test::SkiaGoldMatchingAlgorithm> algorithm_;
- #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 26e48fed58ea..3f196e28de4d 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,4 +1,4 @@
---- chrome/browser/ui/views/accelerator_table.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/accelerator_table.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/accelerator_table.cc
@@ -62,7 +62,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
{ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB},
@@ -18,16 +18,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},
-@@ -112,7 +112,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
- {ui::VKEY_8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7},
- {ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7},
- {ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_BAR},
--#endif // OS_LINUX && !OS_CHROMEOS
-+#endif // (OS_LINUX || OS_BSD) && !OS_CHROMEOS
- {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_PLATFORM_ACCELERATOR,
- IDC_SHOW_BOOKMARK_BAR},
- {ui::VKEY_OEM_MINUS, ui::EF_PLATFORM_ACCELERATOR, IDC_ZOOM_MINUS},
-@@ -139,14 +139,14 @@ const AcceleratorMapping kAcceleratorMap[] = {
+@@ -139,7 +139,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
IDC_SHOW_AVATAR_MENU},
// Platform-specific key maps.
@@ -36,11 +27,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},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE, IDC_RELOAD},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN, IDC_RELOAD_BYPASSING_CACHE},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_SHIFT_DOWN, IDC_RELOAD_BYPASSING_CACHE},
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
- // Chrome OS keyboard does not have delete key, so assign it to backspace.
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 d9690ef370b2..63b43df7d09c 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,6 +1,6 @@
---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2021-09-14 01:51:51 UTC
+--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc
-@@ -20,7 +20,7 @@
+@@ -19,7 +19,7 @@
#include "ui/gfx/image/image_skia.h"
#include "ui/views/widget/widget.h"
@@ -9,7 +9,7 @@
#include "chrome/browser/shell_integration_linux.h"
#endif
-@@ -57,7 +57,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni
+@@ -56,7 +56,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni
const AppWindow::CreateParams& create_params,
views::Widget::InitParams* init_params,
views::Widget* widget) {
@@ -18,12 +18,3 @@
std::string app_name =
web_app::GenerateApplicationNameFromAppId(app_window()->extension_id());
// Set up a custom WM_CLASS for app windows. This allows task switchers in
-@@ -67,7 +67,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni
- init_params->wm_class_class = shell_integration_linux::GetProgramClassClass();
- const char kX11WindowRoleApp[] = "app";
- init_params->wm_role_name = std::string(kX11WindowRoleApp);
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- ChromeNativeAppWindowViews::OnBeforeWidgetInit(create_params, init_params,
- widget);
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc b/www/chromium/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc
deleted file mode 100644
index 3eb09181abcf..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc.orig 2021-12-14 11:44:59 UTC
-+++ chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc
-@@ -1865,7 +1865,7 @@ class BookmarkBarViewTest20 : public BookmarkBarViewEv
- }
-
- void Step3() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- EXPECT_EQ(1, test_view_->press_count());
- #else
- EXPECT_EQ(2, test_view_->press_count());
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 f6120a88efe2..b76ad95e95bd 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,4 +1,4 @@
---- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
@@ -41,7 +41,7 @@
@@ -9,15 +9,6 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
-@@ -51,7 +51,7 @@
- #include "chrome/grit/generated_resources.h"
- #include "content/public/common/content_switches.h"
- #include "ui/base/l10n/l10n_util.h"
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
-
- namespace {
-
@@ -136,7 +136,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
@@ -27,12 +18,3 @@
// 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.
-@@ -167,7 +167,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
- base::RunLoop().RunUntilIdle();
-
- exit(EXIT_FAILURE);
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- }
-
- void ChromeBrowserMainExtraPartsViews::PostBrowserStart() {
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 de13c062b051..7d5a3e2e2a9d 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,6 +1,6 @@
---- chrome/browser/ui/views/chrome_views_delegate.h.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/chrome_views_delegate.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/chrome_views_delegate.h
-@@ -54,7 +54,7 @@ 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.
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
index 1cfff9372258..325476f1c690 100644
--- 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
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/download/download_item_view.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/download/download_item_view.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/download/download_item_view.cc
-@@ -194,7 +194,7 @@ bool UseNewWarnings() {
+@@ -195,7 +195,7 @@ bool UseNewWarnings() {
}
int GetFilenameStyle(const views::Label& label) {
@@ -9,7 +9,7 @@
if (UseNewWarnings())
return STYLE_EMPHASIZED;
#endif
-@@ -202,7 +202,7 @@ int GetFilenameStyle(const views::Label& label) {
+@@ -203,7 +203,7 @@ int GetFilenameStyle(const views::Label& label) {
}
int GetFilenameStyle(const views::StyledLabel& label) {
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
index 191bd562054b..a61fc484d48b 100644
--- 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
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc
-@@ -154,7 +154,7 @@ EyeDropperView::EyeDropperView(content::RenderFrameHos
+@@ -155,7 +155,7 @@ EyeDropperView::EyeDropperView(content::RenderFrameHos
// EyeDropper/WidgetDelegate.
set_owned_by_client();
SetPreferredSize(GetSize());
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
index 2c7c99a09176..e6c9534e5088 100644
--- 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
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc
-@@ -80,7 +80,7 @@ void EyeDropperView::MoveViewToFront() {
+@@ -81,7 +81,7 @@ void EyeDropperView::MoveViewToFront() {
}
void EyeDropperView::CaptureInputIfNeeded() {
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
new file mode 100644
index 000000000000..89a6cb88de14
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/first_run_dialog.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/ui/views/first_run_dialog.cc
+@@ -38,7 +38,7 @@
+
+ namespace {
+
+-#if !defined(OS_MAC)
++#if !defined(OS_MAC) && !defined(OS_BSD)
+ void InitCrashReporterIfEnabled(bool enabled) {
+ if (!crash_reporter::IsCrashpadEnabled() && enabled)
+ breakpad::InitCrashReporter(std::string());
+@@ -122,7 +122,7 @@ bool FirstRunDialog::Accept() {
+
+ #if defined(OS_MAC)
+ ChangeMetricsReportingState(report_crashes_->GetChecked());
+-#else
++#elif !defined(OS_BSD)
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ metrics::structured::NeutrinoDevicesLog(
+ metrics::structured::NeutrinoDevicesLocation::kFirstRunDialog);
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.cc
index bcaa7dd2ebca..c5972b933a71 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.cc
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.cc
-@@ -147,7 +147,7 @@ bool BrowserDesktopWindowTreeHostLinux::SupportsClient
+@@ -146,7 +146,7 @@ bool BrowserDesktopWindowTreeHostLinux::SupportsClient
}
void BrowserDesktopWindowTreeHostLinux::UpdateFrameHints() {
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h
index 209261bd53db..574e1d37632a 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.h.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.h
-@@ -96,7 +96,7 @@ class BrowserDesktopWindowTreeHostLinux
+@@ -95,7 +95,7 @@ class BrowserDesktopWindowTreeHostLinux
// browser_desktop_window_tree_host_lacros.cc.
#if BUILDFLAG(IS_CHROMEOS_LACROS)
using DesktopBrowserFrameAuraPlatform = DesktopBrowserFrameLacros;
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 110d65307d6c..c436b4c06217 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,6 +1,6 @@
---- chrome/browser/ui/views/frame/browser_view.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/views/frame/browser_view.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/frame/browser_view.cc
-@@ -1766,7 +1766,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra
+@@ -1748,7 +1748,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.
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 4482d5e06b63..d0c788912539 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,4 +1,4 @@
---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
@@ -53,7 +53,7 @@
#include "ui/views/window/vector_icons/vector_icons.h"
@@ -22,8 +22,8 @@
}
void OpaqueBrowserFrameView::WindowIconPressed() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // TODO(pbos): Figure out / document why this is Linux only. This needs a
- // comment.
- views::MenuRunner menu_runner(frame()->GetSystemMenuModel(),
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Chrome OS doesn't show the window icon, and Windows handles this on its own
+ // due to the hit test being HTSYSMENU.
+ menu_runner_ = std::make_unique<views::MenuRunner>(
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
new file mode 100644
index 000000000000..a01fa72f0fbe
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.h
+@@ -224,7 +224,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient
+ // Background painter for the window frame.
+ std::unique_ptr<views::FrameBackground> frame_background_;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ std::unique_ptr<views::MenuRunner> menu_runner_;
+ #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 3aed313ec4c6..37f8582b4110 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,11 +1,11 @@
---- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2021-12-14 11:44:59 UTC
+--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/frame/system_menu_model_builder.cc
@@ -77,7 +77,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser
ui::SimpleMenuModel* model) {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
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);
@@ -14,7 +14,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
model->AddSeparator(ui::NORMAL_SEPARATOR);
bool supports_server_side_decorations = true;
#if defined(USE_OZONE) && \
@@ -23,7 +23,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_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_hung__renderer__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
index 145e9541b4c5..d3446ac08e38 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 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/views/hung_renderer_view.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/hung_renderer_view.cc
-@@ -402,7 +402,7 @@ void HungRendererDialogView::ForceCrashHungRenderer()
+@@ -403,7 +403,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_profiles_profile__menu__view__base.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc
index 343748fefb82..00eb29867dc0 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,6 +1,6 @@
---- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2021-12-14 11:45:00 UTC
+--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
-@@ -611,7 +611,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo(
+@@ -612,7 +612,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo(
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
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 deda118e9ac2..b31ba90d8738 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,20 @@
---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2021-09-24 18:32:11 UTC
+--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc
-@@ -83,7 +83,7 @@ SigninViewControllerDelegateViews::CreateReauthConfirm
- kReauthDialogHeight, kReauthDialogWidth);
+@@ -82,7 +82,7 @@ SigninViewControllerDelegateViews::CreateReauthConfirm
}
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
// static
std::unique_ptr<views::WebView>
-@@ -345,7 +345,7 @@ SigninViewControllerDelegate::CreateReauthConfirmation
- browser, ui::MODAL_TYPE_CHILD, false, true);
+ SigninViewControllerDelegateViews::CreateEnterpriseConfirmationWebView(
+@@ -341,7 +341,7 @@ SigninViewControllerDelegate::CreateReauthConfirmation
}
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
// static
SigninViewControllerDelegate*
+ SigninViewControllerDelegate::CreateEnterpriseConfirmationDelegate(
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 c929fd5ff64d..38cbde268fa8 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,11 @@
---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2021-12-14 11:45:00 UTC
+--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h
-@@ -63,7 +63,7 @@ class SigninViewControllerDelegateViews
- Browser* browser,
+@@ -64,7 +64,7 @@ class SigninViewControllerDelegateViews
signin_metrics::ReauthAccessPoint);
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
static std::unique_ptr<views::WebView> CreateEnterpriseConfirmationWebView(
Browser* browser,
+ const AccountInfo& account_info,
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 d61757d7b3e3..663831637fbc 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,6 +1,6 @@
---- chrome/browser/ui/views/tabs/tab.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/views/tabs/tab.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/tabs/tab.cc
-@@ -575,7 +575,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent&
+@@ -576,7 +576,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent&
if (mouse_hovered_ || !GetWidget()->IsMouseEventsEnabled())
return;
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
index b9f346668851..80b3c86875fa 100644
--- 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
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/tabs/tab_drag_controller.cc
-@@ -440,7 +440,7 @@ void TabDragController::Init(TabDragContext* source_co
+@@ -447,7 +447,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.
@@ -9,7 +9,7 @@
can_release_capture_ = false;
#endif
start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y());
-@@ -888,7 +888,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon
+@@ -895,7 +895,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -18,7 +18,7 @@
// 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.
-@@ -2097,7 +2097,7 @@ TabDragController::Liveness TabDragController::GetLoca
+@@ -2105,7 +2105,7 @@ TabDragController::Liveness TabDragController::GetLoca
}
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
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
index 927244e7d97b..7cb22c534e19 100644
--- 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
@@ -1,9 +1,9 @@
---- chrome/browser/ui/views/tabs/tab_hover_card_controller.cc.orig 2021-12-14 11:45:00 UTC
+--- chrome/browser/ui/views/tabs/tab_hover_card_controller.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/views/tabs/tab_hover_card_controller.cc
-@@ -302,7 +302,7 @@ void TabHoverCardController::ShowHoverCard(bool is_ini
- slide_animator_->UpdateTargetBounds();
- MaybeStartThumbnailObservation(target_tab_, is_initial);
-
+@@ -36,7 +36,7 @@ namespace {
+ // 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 defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
// Ensure the hover card Widget assumes the highest z-order to avoid occlusion
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
index dc5334dfd2b0..13076bd76d43 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc
@@ -1,6 +1,6 @@
---- chrome/browser/ui/webui/about_ui.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/webui/about_ui.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/webui/about_ui.cc
-@@ -553,7 +553,7 @@ std::string ChromeURLs() {
+@@ -656,7 +656,7 @@ std::string ChromeURLs() {
return html;
}
@@ -9,7 +9,7 @@
std::string AboutLinuxProxyConfig() {
std::string data;
AppendHeader(&data,
-@@ -609,7 +609,7 @@ void AboutUIHTMLSource::StartDataRequest(
+@@ -712,7 +712,7 @@ void AboutUIHTMLSource::StartDataRequest(
response =
ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr);
}
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 417941c15c95..22e2467e1821 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,37 +1,36 @@
---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -30,7 +30,9 @@
- #include "chrome/browser/ui/webui/bluetooth_internals/bluetooth_internals_ui.h"
- #include "chrome/browser/ui/webui/components/components_ui.h"
- #include "chrome/browser/ui/webui/constrained_web_dialog_ui.h"
-+#if !defined(OS_BSD)
- #include "chrome/browser/ui/webui/crashes_ui.h"
-+#endif
- #include "chrome/browser/ui/webui/device_log_ui.h"
- #include "chrome/browser/ui/webui/domain_reliability_internals_ui.h"
- #include "chrome/browser/ui/webui/download_internals/download_internals_ui.h"
-@@ -294,17 +296,17 @@
- #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h"
+@@ -280,7 +280,7 @@
+ #include "chrome/browser/ui/webui/app_launcher_page_ui.h"
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.h"
+ #endif
+
+@@ -304,17 +304,17 @@
+ #endif
+
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
#include "chrome/browser/ui/webui/discards/discards_ui.h"
#endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_BSD)
#include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h"
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
#include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h"
#endif
-@@ -568,7 +570,7 @@ bool IsAboutUI(const GURL& url) {
+
+@@ -592,7 +592,7 @@ bool IsAboutUI(const GURL& url) {
#if !defined(OS_ANDROID)
|| url.host_piece() == chrome::kChromeUITermsHost
#endif
@@ -40,46 +39,43 @@
|| url.host_piece() == chrome::kChromeUILinuxProxyConfigHost
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -617,8 +619,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
- return &NewWebUI<ComponentsUI>;
- if (url.spec() == chrome::kChromeUIConstrainedHTMLTestURL)
- return &NewWebUI<ConstrainedWebDialogUI>;
-+#if !defined(OS_BSD)
- if (url.host_piece() == chrome::kChromeUICrashesHost)
- return &NewWebUI<CrashesUI>;
-+#endif
- if (url.host_piece() == chrome::kChromeUIDeviceLogHost)
- return &NewWebUI<chromeos::DeviceLogUI>;
- if (url.host_piece() == chrome::kChromeUIDomainReliabilityInternalsHost)
-@@ -1027,7 +1031,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+@@ -985,7 +985,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+ }
+ #endif // !defined(OFFICIAL_BUILD)
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (url.host_piece() == chrome::kChromeUIWebUIJsErrorHost)
+ return &NewWebUI<WebUIJsErrorUI>;
+ #endif
+@@ -1043,7 +1043,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
if (url.host_piece() == chrome::kChromeUINaClHost)
return &NewWebUI<NaClUI>;
#endif
-#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \
++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || \
defined(USE_AURA)
if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost)
return &NewWebUI<ConstrainedWebDialogUI>;
-@@ -1081,23 +1085,23 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
- return &NewWebUI<media_router::MediaRouterInternalsUI>;
+@@ -1098,22 +1098,22 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
}
#endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_BSD)
if (url.host_piece() == chrome::kChromeUISandboxHost) {
return &NewWebUI<SandboxInternalsUI>;
}
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
if (url.host_piece() == chrome::kChromeUIConnectorsInternalsHost)
return &NewWebUI<enterprise_connectors::ConnectorsInternalsUI>;
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
if (url.host_piece() == chrome::kChromeUIDiscardsHost)
return &NewWebUI<DiscardsUI>;
#endif
@@ -88,14 +84,3 @@
if (url.host_piece() == chrome::kChromeUIBrowserSwitchHost)
return &NewWebUI<BrowserSwitchUI>;
#endif
-@@ -1290,8 +1294,10 @@ base::RefCountedMemory* ChromeWebUIControllerFactory::
- return ConflictsUI::GetFaviconResourceBytes(scale_factor);
- #endif
-
-+#if !defined(OS_BSD)
- if (page_url.host_piece() == chrome::kChromeUICrashesHost)
- return CrashesUI::GetFaviconResourceBytes(scale_factor);
-+#endif
-
- if (page_url.host_piece() == chrome::kChromeUIFlagsHost)
- return FlagsUI::GetFaviconResourceBytes(scale_factor);
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
new file mode 100644
index 000000000000..792f8ca0dacb
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/webui/connectors_internals/zero_trust_utils.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/ui/webui/connectors_internals/zero_trust_utils.cc
+@@ -9,7 +9,7 @@
+ #include "base/strings/string_util.h"
+ #include "build/build_config.h"
+
+-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_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"
+@@ -66,7 +66,7 @@ void TrySetSignal(base::flat_map<std::string, std::str
+ std::vector<base::StringPiece>(values.begin(), values.end()), ", ");
+ }
+
+-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD)
+
+ connectors_internals::mojom::KeyTrustLevel ParseTrustLevel(
+ BPKUR::KeyTrustLevel trust_level) {
+@@ -171,7 +171,7 @@ base::flat_map<std::string, std::string> SignalsToMap(
+ }
+
+ connectors_internals::mojom::KeyInfoPtr GetKeyInfo() {
+-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_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_ntp_app__launcher__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc
index 49486d92850f..0431a2e82a0b 100644
--- 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
@@ -1,6 +1,6 @@
---- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/webui/ntp/app_launcher_handler.cc
-@@ -314,7 +314,7 @@ void AppLauncherHandler::CreateExtensionInfo(const Ext
+@@ -315,7 +315,7 @@ void AppLauncherHandler::CreateExtensionInfo(const Ext
base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode));
bool is_deprecated_app = false;
@@ -9,7 +9,7 @@
is_deprecated_app = extensions::IsExtensionUnsupportedDeprecatedApp(
extension_service_->GetBrowserContext(), extension->id());
#endif
-@@ -764,7 +764,7 @@ void AppLauncherHandler::HandleLaunchApp(const base::L
+@@ -765,7 +765,7 @@ void AppLauncherHandler::HandleLaunchApp(const base::L
Profile* profile = extension_service_->profile();
@@ -18,12 +18,12 @@
if (extensions::IsExtensionUnsupportedDeprecatedApp(profile, extension_id)) {
// TODO(crbug.com/1225779): Show the deprecated apps dialog.
return;
-@@ -1363,7 +1363,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app:
- options.os_hooks[web_app::OsHookType::kRunOnOsLogin] = false;
- options.os_hooks[web_app::OsHookType::kUninstallationViaOsSettings] = true;
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+@@ -1361,7 +1361,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app:
+ options.os_hooks[web_app::OsHookType::kUninstallationViaOsSettings] =
+ web_app->CanUserUninstallWebApp();
+
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
options.os_hooks[web_app::OsHookType::kUrlHandlers] = true;
#else
- options.os_hooks[web_app::OsHookType::kUrlHandlers] = false;
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 47b9927f456c..c6d1b37c93ff 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,11 +1,11 @@
---- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2021-12-14 11:45:00 UTC
+--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/webui/settings/appearance_handler.cc
@@ -31,7 +31,7 @@ void AppearanceHandler::RegisterMessages() {
base::Unretained(this)));
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
web_ui()->RegisterDeprecatedMessageCallback(
"useSystemTheme",
base::BindRepeating(&AppearanceHandler::HandleUseSystemTheme,
@@ -14,7 +14,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
void AppearanceHandler::HandleUseSystemTheme(const base::ListValue* args) {
- if (profile_->IsSupervised())
+ if (profile_->IsChild())
NOTREACHED();
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 ce657d252339..19564cdfff3e 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,15 +1,15 @@
---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -117,7 +117,7 @@
+@@ -116,7 +116,7 @@
#include "chrome/browser/ui/webui/settings/chromeos/constants/routes.mojom.h"
#endif
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
#include "ui/display/screen.h"
#endif
-@@ -137,7 +137,7 @@
+@@ -136,7 +136,7 @@
#include "chrome/browser/ui/webui/certificate_manager_localized_strings_provider.h"
#endif
@@ -23,7 +23,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
{"systemTheme", IDS_SETTINGS_SYSTEM_THEME},
{"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME},
{"classicTheme", IDS_SETTINGS_CLASSIC_THEME},
@@ -32,7 +32,7 @@
{"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME},
#endif
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
{"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS},
#endif
#if defined(OS_MAC)
@@ -41,7 +41,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance()
->GetPlatformRuntimeProperties()
.supports_server_side_window_decorations;
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc
index 3037b5d13f0f..ac0c0ffb1ca1 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc
@@ -1,20 +1,20 @@
---- chrome/browser/ui/webui/settings/settings_ui.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/ui/webui/settings/settings_ui.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/ui/webui/settings/settings_ui.cc
-@@ -138,7 +138,7 @@
+@@ -140,7 +140,7 @@
+ #include "chrome/browser/ui/webui/settings/native_certificates_handler.h"
#endif // defined(USE_NSS_CERTS)
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
#include "chrome/browser/ui/webui/settings/url_handlers_handler.h"
- #endif
-
-@@ -239,7 +239,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
+ #include "chrome/browser/web_applications/web_app_provider.h"
+@@ -243,7 +243,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
+ AddSettingsPageUIHandler(std::make_unique<ChromeCleanupHandler>(profile));
#endif // defined(OS_WIN)
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
- AddSettingsPageUIHandler(std::make_unique<UrlHandlersHandler>(
- g_browser_process->local_state(), profile));
- #endif
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
+ if (web_app::WebAppProvider::GetForWebApps(profile) != nullptr) {
+ AddSettingsPageUIHandler(std::make_unique<UrlHandlersHandler>(
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc
deleted file mode 100644
index e7b74c5c91a3..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.cc.orig 2021-04-14 18:40:56 UTC
-+++ chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.cc
-@@ -20,7 +20,7 @@
-
- WebUIJsErrorUI::WebUIJsErrorUI(content::WebUI* web_ui)
- : content::WebUIController(web_ui) {
--#if !defined(OS_WIN) && !defined(OS_FUCHSIA)
-+#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
- VLOG(3) << std::boolalpha << "chrome://webuijserror loading. "
- << "Experiment state: send javascript errors is "
- << base::FeatureList::IsEnabled(
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
new file mode 100644
index 000000000000..dd5e2703c132
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/browser/ui/window_sizer/window_sizer.cc
+@@ -166,7 +166,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState(
+ browser, window_bounds, show_state);
+ }
+
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) || defined(OS_BSD)
+ // Linux has its own implementation, see WindowSizerLinux.
+ // static
+ void WindowSizer::GetBrowserWindowBoundsAndShowState(
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 37ec602bbd17..ee999aca20a0 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,6 +1,6 @@
---- chrome/browser/web_applications/extension_status_utils.h.orig 2021-09-24 18:36:53 UTC
+--- chrome/browser/web_applications/extension_status_utils.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/web_applications/extension_status_utils.h
-@@ -37,7 +37,7 @@ bool IsExtensionForceInstalled(content::BrowserContext
+@@ -42,7 +42,7 @@ bool IsExtensionDefaultInstalled(content::BrowserConte
bool IsExternalExtensionUninstalled(content::BrowserContext* context,
const std::string& extension_id);
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 104dc578455a..fa03be004187 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,6 +1,6 @@
---- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/web_applications/extensions/extension_status_utils.cc
-@@ -75,7 +75,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo
+@@ -87,7 +87,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo
return prefs && prefs->IsExternalExtensionUninstalled(extension_id);
}
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc b/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc
index e75b92c9f2c4..2d9cdef7ca96 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc
@@ -1,11 +1,11 @@
---- chrome/browser/web_applications/externally_managed_app_install_task.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/web_applications/externally_managed_app_install_task.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/web_applications/externally_managed_app_install_task.cc
-@@ -307,7 +307,7 @@ void ExternallyManagedAppInstallTask::OnWebAppInstalle
- options.os_hooks[OsHookType::kProtocolHandlers] = true;
- options.os_hooks[OsHookType::kUninstallationViaOsSettings] = true;
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+@@ -310,7 +310,7 @@ void ExternallyManagedAppInstallTask::OnWebAppInstalle
+ const WebApp* web_app = registrar_->GetAppById(app_id);
+ options.os_hooks[OsHookType::kUninstallationViaOsSettings] =
+ web_app->CanUserUninstallWebApp();
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
options.os_hooks[OsHookType::kUrlHandlers] = true;
#else
- options.os_hooks[OsHookType::kUrlHandlers] = false;
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc
index f6cac1cba002..31a59e6db424 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc
@@ -1,11 +1,11 @@
---- chrome/browser/web_applications/web_app_install_task.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/web_applications/web_app_install_task.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/web_applications/web_app_install_task.cc
-@@ -863,7 +863,7 @@ void WebAppInstallTask::OnInstallFinalizedCreateShortc
- options.os_hooks[OsHookType::kProtocolHandlers] = true;
- options.os_hooks[OsHookType::kUninstallationViaOsSettings] = true;
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+@@ -919,7 +919,7 @@ void WebAppInstallTask::OnInstallFinalizedCreateShortc
+ web_app->CanUserUninstallWebApp();
+ }
+
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
options.os_hooks[OsHookType::kUrlHandlers] = true;
#else
- options.os_hooks[OsHookType::kUrlHandlers] = false;
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
index f985e829fcc1..295a1316db32 100644
--- 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
@@ -1,11 +1,11 @@
---- chrome/browser/web_applications/web_app_provider.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/web_applications/web_app_provider.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/web_applications/web_app_provider.cc
-@@ -267,7 +267,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile
+@@ -276,7 +276,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile
+ protocol_handler_manager.get());
std::unique_ptr<UrlHandlerManager> url_handler_manager;
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
url_handler_manager = std::make_unique<UrlHandlerManagerImpl>(profile);
#endif
-
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc
index f424227c6be2..89a8fc84c75d 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc
@@ -1,6 +1,6 @@
---- chrome/browser/web_applications/web_app_shortcut.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/web_applications/web_app_shortcut.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/web_applications/web_app_shortcut.cc
-@@ -39,7 +39,7 @@ namespace {
+@@ -44,7 +44,7 @@ namespace {
#if defined(OS_MAC)
const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512};
@@ -9,7 +9,7 @@
// 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};
-@@ -119,7 +119,7 @@ ScopedShortcutOverrideForTesting::~ScopedShortcutOverr
+@@ -134,7 +134,7 @@ ScopedShortcutOverrideForTesting::~ScopedShortcutOverr
}
}
}
@@ -18,7 +18,7 @@
directories = {&desktop};
#endif
for (base::ScopedTempDir* dir : directories) {
-@@ -160,7 +160,7 @@ std::unique_ptr<ScopedShortcutOverrideForTesting> Over
+@@ -178,7 +178,7 @@ std::unique_ptr<ScopedShortcutOverrideForTesting> Over
scoped_override->chrome_apps_folder.CreateUniqueTempDirUnderPath(
base_path);
DCHECK(success);
@@ -27,7 +27,7 @@
bool success =
scoped_override->desktop.CreateUniqueTempDirUnderPath(base_path);
DCHECK(success);
-@@ -178,7 +178,7 @@ std::unique_ptr<ScopedShortcutOverrideForTesting> Over
+@@ -196,7 +196,7 @@ std::unique_ptr<ScopedShortcutOverrideForTesting> Over
#elif defined(OS_MAC)
bool success = scoped_override->chrome_apps_folder.CreateUniqueTempDir();
DCHECK(success);
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h
index 743f17a7d0e5..9804468e2ef0 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h
+++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h
@@ -1,17 +1,14 @@
---- chrome/browser/web_applications/web_app_shortcut.h.orig 2021-12-31 00:57:25 UTC
+--- chrome/browser/web_applications/web_app_shortcut.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/web_applications/web_app_shortcut.h
-@@ -19,9 +19,9 @@
+@@ -19,7 +19,7 @@
#include "ui/gfx/image/image_family.h"
#include "url/gurl.h"
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
#include "chrome/browser/web_applications/web_app_shortcut_linux.h"
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
+ #endif // defined(OS_LINUX)
- namespace base {
- class TaskRunner;
@@ -47,7 +47,7 @@ struct ScopedShortcutOverrideForTesting {
base::ScopedTempDir startup;
#elif defined(OS_MAC)
@@ -21,15 +18,12 @@
base::ScopedTempDir desktop;
#endif
};
-@@ -89,9 +89,9 @@ struct ShortcutInfo {
+@@ -89,7 +89,7 @@ struct ShortcutInfo {
std::set<std::string> file_handler_extensions;
std::set<std::string> file_handler_mime_types;
std::set<std::string> protocol_handlers;
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
std::set<DesktopActionInfo> actions;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
+ #endif // defined(OS_LINUX)
- // An app is multi-profile if there is a single shortcut and single app shim
- // for all profiles. The app itself has a profile switcher that may be used
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc
index 32160d81eb74..9e82f3bf3771 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc
@@ -1,6 +1,6 @@
---- chrome/browser/web_applications/web_app_shortcut_manager.cc.orig 2021-12-16 14:52:50 UTC
+--- chrome/browser/web_applications/web_app_shortcut_manager.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/browser/web_applications/web_app_shortcut_manager.cc
-@@ -35,10 +35,10 @@ namespace web_app {
+@@ -35,7 +35,7 @@ namespace web_app {
namespace {
@@ -8,26 +8,13 @@
+#if defined(OS_LINUX) || defined(OS_BSD)
// Aligns with other platform implementations that only support 10 items.
constexpr int kMaxApplicationDockMenuItems = 10;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // UMA metric name for shortcuts creation result.
- constexpr const char* kCreationResultMetric =
-@@ -383,7 +383,7 @@ std::unique_ptr<ShortcutInfo> WebAppShortcutManager::B
+ #endif // defined(OS_LINUX)
+@@ -382,7 +382,7 @@ std::unique_ptr<ShortcutInfo> WebAppShortcutManager::B
}
}
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- const std::vector<WebApplicationShortcutsMenuItemInfo>&
- shortcuts_menu_item_infos = app->shortcuts_menu_item_infos();
+ const std::vector<WebAppShortcutsMenuItemInfo>& shortcuts_menu_item_infos =
+ app->shortcuts_menu_item_infos();
int num_entries = std::min(static_cast<int>(shortcuts_menu_item_infos.size()),
-@@ -401,7 +401,7 @@ std::unique_ptr<ShortcutInfo> WebAppShortcutManager::B
- shortcuts_menu_item_info.url);
- }
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- return shortcut_info;
- }
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__utils.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__utils.cc
deleted file mode 100644
index cee86048a25c..000000000000
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__utils.cc
+++ /dev/null
@@ -1,54 +0,0 @@
---- chrome/browser/web_applications/web_app_utils.cc.orig 2022-01-20 10:35:51 UTC
-+++ chrome/browser/web_applications/web_app_utils.cc
-@@ -236,13 +236,13 @@ std::u16string GetFileTypeAssociationsHandledByWebApps
- const apps::FileHandlers file_handlers =
- GetFileHandlersForAllWebAppsWithOrigin(profile, url);
- std::vector<std::string> associations;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- std::set<std::string> mime_types_set =
- apps::GetMimeTypesFromFileHandlers(file_handlers);
- associations.reserve(mime_types_set.size());
- associations.insert(associations.end(), mime_types_set.begin(),
- mime_types_set.end());
--#else // !defined(OS_LINUX)
-+#else // !defined(OS_LINUX) || defined(OS_BSD)
- std::set<std::string> extensions_set =
- apps::GetFileExtensionsFromFileHandlers(file_handlers);
- associations.reserve(extensions_set.size());
-@@ -253,7 +253,7 @@ std::u16string GetFileTypeAssociationsHandledByWebApps
- [](const std::string& extension) {
- return base::ToUpperASCII(extension.substr(1));
- });
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- if (found_multiple)
- *found_multiple = associations.size() > 1;
-@@ -275,7 +275,7 @@ std::u16string GetFileTypeAssociationsHandledByWebAppF
- provider->registrar().GetAppFileHandlers(app_id);
-
- std::vector<std::string> associations;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // TODO(estade): on Linux both the MIME type and extension must match. Should
- // we just show the extensions like on other platforms?
- std::set<std::string> mime_types_set =
-@@ -283,7 +283,7 @@ std::u16string GetFileTypeAssociationsHandledByWebAppF
- associations.reserve(mime_types_set.size());
- associations.insert(associations.end(), mime_types_set.begin(),
- mime_types_set.end());
--#else // !defined(OS_LINUX)
-+#else // !defined(OS_LINUX) || defined(OS_BSD)
- std::set<std::string> extensions_set =
- apps::GetFileExtensionsFromFileHandlers(*file_handlers);
- associations.reserve(extensions_set.size());
-@@ -294,7 +294,7 @@ std::u16string GetFileTypeAssociationsHandledByWebAppF
- [](const std::string& extension) {
- return base::ToUpperASCII(extension.substr(1));
- });
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- if (found_multiple)
- *found_multiple = associations.size() > 1;
diff --git a/www/chromium/files/patch-chrome_common_BUILD.gn b/www/chromium/files/patch-chrome_common_BUILD.gn
deleted file mode 100644
index d7b2a29120f5..000000000000
--- a/www/chromium/files/patch-chrome_common_BUILD.gn
+++ /dev/null
@@ -1,34 +0,0 @@
---- chrome/common/BUILD.gn.orig 2021-12-31 00:57:25 UTC
-+++ chrome/common/BUILD.gn
-@@ -329,7 +329,7 @@ static_library("common") {
- ]
- }
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [ "//components/crash/core/app" ]
- }
-
-@@ -490,13 +490,21 @@ static_library("common") {
- public_deps += [ "//chrome/common/safe_browsing" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "auto_start_linux.cc",
- "auto_start_linux.h",
- "multi_process_lock_linux.cc",
- ]
- deps += [ "//sandbox/linux:sandbox_services" ]
-+ }
-+
-+ if (is_bsd) {
-+ sources += [
-+ "auto_start_linux.cc",
-+ "auto_start_linux.h",
-+ "multi_process_lock_linux.cc",
-+ ]
- }
-
- if (enable_cdm_host_verification) {
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 f96130441ac9..6c60ade0a03d 100644
--- a/www/chromium/files/patch-chrome_common_channel__info__posix.cc
+++ b/www/chromium/files/patch-chrome_common_channel__info__posix.cc
@@ -1,4 +1,4 @@
---- chrome/common/channel_info_posix.cc.orig 2021-07-19 18:45:10 UTC
+--- chrome/common/channel_info_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/channel_info_posix.cc
@@ -93,7 +93,7 @@ std::string GetChannelSuffixForDataDir() {
@@ -9,12 +9,3 @@
std::string GetDesktopName(base::Environment* env) {
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
// Google Chrome packaged as a snap is a special case: the application name
-@@ -123,7 +123,7 @@ std::string GetDesktopName(base::Environment* env) {
- return "chromium-browser.desktop";
- #endif
- }
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
-
- version_info::Channel GetChannel() {
- return GetChannelImpl().channel;
diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc
index 631d7dce7d05..e364888836f0 100644
--- a/www/chromium/files/patch-chrome_common_chrome__features.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__features.cc
@@ -1,15 +1,15 @@
---- chrome/common/chrome_features.cc.orig 2022-01-20 10:35:51 UTC
+--- chrome/common/chrome_features.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/chrome_features.cc
-@@ -101,7 +101,7 @@ const base::Feature kAsyncDns {
- #endif
+@@ -110,7 +110,7 @@ const base::Feature kAsyncDns {
};
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
// Enables or disables the Autofill survey triggered by opening a prompt to
// save address info.
-@@ -117,13 +117,13 @@ const base::Feature kAutofillPasswordSurvey{"AutofillP
+ const base::Feature kAutofillAddressSurvey{"AutofillAddressSurvey",
+@@ -125,7 +125,7 @@ const base::Feature kAutofillPasswordSurvey{"AutofillP
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
@@ -18,14 +18,7 @@
// 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.
- const base::Feature kBackgroundModeAllowRestart{
- "BackgroundModeAllowRestart", base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- // Enable Borealis on Chrome OS.
-@@ -134,13 +134,13 @@ const base::Feature kBorealis{"Borealis", base::FEATUR
+@@ -142,7 +142,7 @@ const base::Feature kBorealis{"Borealis", base::FEATUR
const base::Feature kChangePictureVideoMode{"ChangePictureVideoMode",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -34,32 +27,16 @@
// 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.
- const base::Feature kChromeAppsDeprecation{"ChromeAppsDeprecation",
- base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
-
- const base::Feature kClientStorageAccessContextAuditing{
- "ClientStorageAccessContextAuditing", base::FEATURE_DISABLED_BY_DEFAULT};
-@@ -245,7 +245,7 @@ const base::Feature kDefaultPinnedAppsUpdate2021Q2{
- "DefaultPinnedAppsUpdate2021Q2", base::FEATURE_ENABLED_BY_DEFAULT};
+@@ -255,7 +255,7 @@ const base::Feature kPreinstalledWebAppInstallation{
#endif
--#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
// Enables Desktop PWAs shortcuts menu to be visible and executable in ChromeOS,
// MacOS and Linux.
const base::Feature kDesktopPWAsAppIconShortcutsMenuUI{
-@@ -277,7 +277,7 @@ const base::Feature kDesktopPWAsElidedExtensionsMenu{
- // Handling API.
- const base::Feature kDesktopPWAsFileHandlingSettingsGated{
- "DesktopPWAsFileHandlingSettingsGated",
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -304,7 +304,7 @@ const base::Feature kDesktopPWAsNotificationIconAndTit
+@@ -303,7 +303,7 @@ const base::Feature kDesktopPWAsNotificationIconAndTit
// Enables or disables Desktop PWAs to be auto-started on OS login.
const base::Feature kDesktopPWAsRunOnOsLogin {
"DesktopPWAsRunOnOsLogin",
@@ -68,7 +45,7 @@
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -334,7 +334,7 @@ const base::Feature kDesktopPWAsWebBundles{"DesktopPWA
+@@ -337,7 +337,7 @@ const base::FeatureParam<int> kDisableHttpDiskCacheMem
const base::Feature kDnsOverHttps {
"DnsOverHttps",
#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
@@ -77,7 +54,7 @@
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -356,7 +356,7 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackPa
+@@ -359,7 +359,7 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackPa
const base::FeatureParam<bool> kDnsOverHttpsShowUiParam {
&kDnsOverHttps, "ShowUi",
#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
@@ -86,12 +63,21 @@
true
#else
false
-@@ -628,7 +628,7 @@ const base::Feature kIncognitoBrandConsistencyForAndro
- const base::Feature kIncognitoNtpRevamp{"IncognitoNtpRevamp",
+@@ -633,7 +633,7 @@ const base::Feature kIncognitoNtpRevamp{"IncognitoNtpR
base::FEATURE_DISABLED_BY_DEFAULT};
--#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
// When enabled, removes any theme or background customization done by the user
// on the Incognito UI.
+ const base::Feature kIncognitoBrandConsistencyForDesktop{
+@@ -675,7 +675,7 @@ const base::Feature kKernelnextVMs{"KernelnextVMs",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+ #endif
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ const base::Feature kLinuxLowMemoryMonitor{"LinuxLowMemoryMonitor",
+ 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 7246dedfb8ae..86290c7e4766 100644
--- a/www/chromium/files/patch-chrome_common_chrome__features.h
+++ b/www/chromium/files/patch-chrome_common_chrome__features.h
@@ -1,15 +1,15 @@
---- chrome/common/chrome_features.h.orig 2021-12-31 00:57:25 UTC
+--- chrome/common/chrome_features.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/chrome_features.h
-@@ -84,7 +84,7 @@ extern const base::Feature kAppShimNewCloseBehavior;
-
+@@ -92,7 +92,7 @@ extern const base::Feature kArcPiGhostWindow;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns;
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAutofillAddressSurvey;
-@@ -94,10 +94,10 @@ COMPONENT_EXPORT(CHROME_FEATURES)
+ COMPONENT_EXPORT(CHROME_FEATURES)
+@@ -101,7 +101,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kAutofillPasswordSurvey;
#endif
@@ -17,12 +17,8 @@
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kBackgroundModeAllowRestart;
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBorealis;
-@@ -111,7 +111,7 @@ extern const base::Feature kBrowserAppInstanceTracking
+ #endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -118,7 +118,7 @@ extern const base::Feature kBrowserAppInstanceTracking
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kChangePictureVideoMode;
@@ -31,21 +27,30 @@
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kChromeAppsDeprecation;
#endif
-@@ -175,7 +175,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kDefaultPinnedAppsUpdate2021Q2;
+@@ -183,7 +183,7 @@ extern const base::Feature kPreinstalledWebAppInstalla
#endif
--#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsAppIconShortcutsMenuUI;
#endif
-@@ -410,7 +410,7 @@ extern const base::Feature kIncognitoBrandConsistencyF
- COMPONENT_EXPORT(CHROME_FEATURES)
+@@ -418,7 +418,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kIncognitoNtpRevamp;
--#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kIncognitoBrandConsistencyForDesktop;
+
+@@ -445,7 +445,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
+ extern const base::Feature kKernelnextVMs;
+ #endif
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ extern const base::Feature kLinuxLowMemoryMonitor;
+ COMPONENT_EXPORT(CHROME_FEATURES)
diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.cc b/www/chromium/files/patch-chrome_common_chrome__paths.cc
index 7069cec0caff..10be66446f93 100644
--- a/www/chromium/files/patch-chrome_common_chrome__paths.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__paths.cc
@@ -1,6 +1,6 @@
---- chrome/common/chrome_paths.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/common/chrome_paths.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/chrome_paths.cc
-@@ -44,17 +44,25 @@
+@@ -44,14 +44,14 @@
namespace {
@@ -9,26 +9,16 @@
// The path to the external extension <id>.json files.
// /usr/share seems like a good choice, see: http://www.pathname.com/fhs/
const base::FilePath::CharType kFilepathSinglePrefExtensions[] =
-+#if defined(OS_BSD)
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
-+ FILE_PATH_LITERAL("/usr/local/share/google-chrome/extensions");
-+#else
+- FILE_PATH_LITERAL("/usr/share/google-chrome/extensions");
+ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions");
-+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
-+#else
-+#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
- FILE_PATH_LITERAL("/usr/share/google-chrome/extensions");
#else
- FILE_PATH_LITERAL("/usr/share/chromium/extensions");
+- FILE_PATH_LITERAL("/usr/share/chromium/extensions");
++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions");
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
-+#endif
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if BUILDFLAG(ENABLE_WIDEVINE)
- // The name of the hint file that tells the latest component updated Widevine
-@@ -179,7 +187,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -178,7 +178,7 @@ bool PathProvider(int key, base::FilePath* result) {
return false;
break;
case chrome::DIR_DEFAULT_DOWNLOADS_SAFE:
@@ -37,26 +27,30 @@
if (!GetUserDownloadsDirectorySafe(&cur))
return false;
break;
-@@ -416,6 +424,9 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -411,10 +411,12 @@ bool PathProvider(int key, base::FilePath* result) {
+ if (!base::PathExists(cur)) // We don't want to create this
+ return false;
+ break;
+-#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_OPENBSD)
++#if defined(OS_POSIX) && !defined(OS_MAC)
case chrome::DIR_POLICY_FILES: {
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies"));
-+#elif defined(OS_BSD)
-+ cur = base::FilePath(FILE_PATH_LITERAL(
-+ "/usr/local/etc/chrome/policies"));
++#elif defined(OS_FREEBSD)
++ cur = base::FilePath(FILE_PATH_LITERAL("/usr/local/etc/chromium/policies"));
#else
cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies"));
#endif
-@@ -427,7 +438,7 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -424,7 +426,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
#if BUILDFLAG(IS_CHROMEOS_ASH) || \
- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
+- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
++ ((defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
BUILDFLAG(CHROMIUM_BRANDING)) || \
-- defined(OS_MAC)
-+ defined(OS_MAC) || defined(OS_BSD)
+ defined(OS_MAC)
case chrome::DIR_USER_EXTERNAL_EXTENSIONS: {
- if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
- return false;
-@@ -435,7 +446,7 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -434,7 +436,7 @@ bool PathProvider(int key, base::FilePath* result) {
break;
}
#endif
@@ -65,7 +59,7 @@
case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
cur = base::FilePath(kFilepathSinglePrefExtensions);
break;
-@@ -480,7 +491,7 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -479,7 +481,7 @@ bool PathProvider(int key, base::FilePath* result) {
break;
#endif
@@ -74,22 +68,13 @@
case chrome::DIR_NATIVE_MESSAGING:
#if defined(OS_MAC)
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
-@@ -494,6 +505,9 @@ bool PathProvider(int key, base::FilePath* result) {
+@@ -493,6 +495,9 @@ bool PathProvider(int key, base::FilePath* result) {
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
cur = base::FilePath(FILE_PATH_LITERAL(
"/etc/opt/chrome/native-messaging-hosts"));
-+#elif defined(OS_BSD)
++#elif defined(OS_FREEBSD)
+ cur = base::FilePath(FILE_PATH_LITERAL(
-+ "/usr/local/etc/chrome/native-messaging-hosts"));
++ "/usr/local/etc/chromium/native-messaging-hosts"));
#else
cur = base::FilePath(FILE_PATH_LITERAL(
"/etc/chromium/native-messaging-hosts"));
-@@ -506,7 +520,7 @@ bool PathProvider(int key, base::FilePath* result) {
- return false;
- cur = cur.Append(FILE_PATH_LITERAL("NativeMessagingHosts"));
- break;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- #if !defined(OS_ANDROID)
- case chrome::DIR_GLOBAL_GCM_STORE:
- if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.h b/www/chromium/files/patch-chrome_common_chrome__paths.h
index 51ee7f8f0395..35700831e2fd 100644
--- a/www/chromium/files/patch-chrome_common_chrome__paths.h
+++ b/www/chromium/files/patch-chrome_common_chrome__paths.h
@@ -1,14 +1,14 @@
---- chrome/common/chrome_paths.h.orig 2021-12-31 00:57:25 UTC
+--- chrome/common/chrome_paths.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/chrome_paths.h
-@@ -56,7 +56,7 @@ enum {
+@@ -54,7 +54,7 @@ enum {
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
#if BUILDFLAG(IS_CHROMEOS_ASH) || \
- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
+- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
++ ((defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
BUILDFLAG(CHROMIUM_BRANDING)) || \
-- defined(OS_MAC)
-+ defined(OS_MAC) || defined(OS_BSD)
+ defined(OS_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 {
// create it.
#endif
diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.cc b/www/chromium/files/patch-chrome_common_chrome__switches.cc
index 1d0a4aa1728f..c24c55f0a33d 100644
--- a/www/chromium/files/patch-chrome_common_chrome__switches.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__switches.cc
@@ -1,11 +1,11 @@
---- chrome/common/chrome_switches.cc.orig 2021-12-31 00:57:25 UTC
+--- chrome/common/chrome_switches.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/chrome_switches.cc
-@@ -793,7 +793,7 @@ const char kAllowNaClFileHandleAPI[] = "allow-n
- const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api";
+@@ -801,7 +801,7 @@ const char kAllowNaClSocketAPI[] = "allow-n
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN) || defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_FUCHSIA)
++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD)
const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon";
+ // Causes the browser to launch directly in guest mode.
diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.h b/www/chromium/files/patch-chrome_common_chrome__switches.h
index 3aaeabc9d5c4..951ad445ceb1 100644
--- a/www/chromium/files/patch-chrome_common_chrome__switches.h
+++ b/www/chromium/files/patch-chrome_common_chrome__switches.h
@@ -1,11 +1,11 @@
---- chrome/common/chrome_switches.h.orig 2021-12-31 00:57:25 UTC
+--- chrome/common/chrome_switches.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/chrome_switches.h
-@@ -247,7 +247,7 @@ extern const char kAllowNaClFileHandleAPI[];
- extern const char kAllowNaClSocketAPI[];
+@@ -249,7 +249,7 @@ extern const char kAllowNaClSocketAPI[];
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN) || defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_FUCHSIA)
++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD)
extern const char kEnableNewAppMenuIcon[];
extern const char kGuest[];
+ #endif
diff --git a/www/chromium/files/patch-chrome_common_features.gni b/www/chromium/files/patch-chrome_common_features.gni
deleted file mode 100644
index 361728e162cd..000000000000
--- a/www/chromium/files/patch-chrome_common_features.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/features.gni.orig 2021-09-24 04:26:00 UTC
-+++ chrome/common/features.gni
-@@ -52,7 +52,7 @@ declare_args() {
- enable_one_click_signin = is_win || is_mac || is_fuchsia ||
- ((is_linux || is_chromeos_lacros) && !is_chromecast)
-
-- enable_service_discovery = (enable_mdns && !is_android) || is_mac
-+ enable_service_discovery = (enable_mdns && !is_android) || is_mac || is_bsd
-
- # Enables use of the session service, which is enabled by default.
- # Android stores them separately on the Java side.
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
new file mode 100644
index 000000000000..fc95a0ba855f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc
@@ -0,0 +1,11 @@
+--- chrome/common/media/cdm_host_file_path.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/common/media/cdm_host_file_path.cc
+@@ -95,7 +95,7 @@ void AddCdmHostFilePaths(
+ cdm_host_file_paths->emplace_back(chrome_framework_path,
+ chrome_framework_sig_path);
+
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ base::FilePath chrome_exe_dir;
+ if (!base::PathService::Get(base::DIR_EXE, &chrome_exe_dir))
diff --git a/www/chromium/files/patch-chrome_common_pref__names.cc b/www/chromium/files/patch-chrome_common_pref__names.cc
index b98f2812d054..3bf6b7313996 100644
--- a/www/chromium/files/patch-chrome_common_pref__names.cc
+++ b/www/chromium/files/patch-chrome_common_pref__names.cc
@@ -1,6 +1,6 @@
---- chrome/common/pref_names.cc.orig 2021-12-31 00:57:26 UTC
+--- chrome/common/pref_names.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/pref_names.cc
-@@ -1170,7 +1170,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox
+@@ -1176,7 +1176,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.
@@ -9,7 +9,7 @@
// Linux specific preference on whether we should match the system theme.
const char kUsesSystemTheme[] = "extensions.theme.use_system";
#endif
-@@ -1273,7 +1273,7 @@ const char kShowUpdatePromotionInfoBar[] =
+@@ -1279,7 +1279,7 @@ const char kShowUpdatePromotionInfoBar[] =
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -18,25 +18,25 @@
// 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";
-@@ -1742,7 +1742,7 @@ const char kDownloadDefaultDirectory[] = "download.def
- // upgrade a unsafe location to a safe location.
+@@ -1753,7 +1753,7 @@ const char kDownloadDefaultDirectory[] = "download.def
const char kDownloadDirUpgraded[] = "download.directory_upgrade";
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
const char kOpenPdfDownloadInSystemReader[] =
"download.open_pdf_in_system_reader";
-@@ -2035,7 +2035,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i
+ #endif
+@@ -2040,7 +2040,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i
+ // its isolation requirements.
const char kWebAppsIsolationState[] = "web_apps.isolation_state";
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_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";
- #endif
-@@ -2162,12 +2162,12 @@ const char kAmbientAuthenticationInPrivateModesEnabled
+@@ -2168,7 +2168,7 @@ const char kAmbientAuthenticationInPrivateModesEnabled
// requests.
const char kBasicAuthOverHttpEnabled[] = "auth.basic_over_http_enabled";
@@ -45,13 +45,7 @@
// Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected
// along with kAuthNegotiateDelegateAllowlist.
const char kAuthNegotiateDelegateByKdcPolicy[] =
- "auth.negotiate_delegate_by_kdc_policy";
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX) || defined(OS_FUCHSIA)
- // Boolean that specifies whether NTLMv2 is enabled.
-@@ -3135,7 +3135,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto
+@@ -3124,7 +3124,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto
const char kSandboxExternalProtocolBlocked[] =
"profile.sandbox_external_protocol_blocked";
@@ -60,12 +54,3 @@
// Boolean that indicates if native notifications are allowed to be used in
// place of Chrome notifications. Will be replaced by kAllowSystemNotifications.
const char kAllowNativeNotifications[] = "native_notifications.allowed";
-@@ -3143,7 +3143,7 @@ const char kAllowNativeNotifications[] = "native_notif
- // Boolean that indicates if system notifications are allowed to be used in
- // place of Chrome notifications.
- const char kAllowSystemNotifications[] = "system_notifications.allowed";
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // Integer that holds the value of the next persistent notification ID to be
- // used.
diff --git a/www/chromium/files/patch-chrome_common_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h
index 27695b902b43..06441b388200 100644
--- a/www/chromium/files/patch-chrome_common_pref__names.h
+++ b/www/chromium/files/patch-chrome_common_pref__names.h
@@ -1,4 +1,4 @@
---- chrome/common/pref_names.h.orig 2021-12-31 00:57:26 UTC
+--- chrome/common/pref_names.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/pref_names.h
@@ -371,7 +371,7 @@ extern const char kUseAshProxy[];
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -18,37 +18,34 @@
extern const char kUseCustomChromeFrame[];
#endif
#if BUILDFLAG(ENABLE_PLUGINS)
-@@ -582,7 +582,7 @@ extern const char kDownloadExtensionsToOpen[];
- extern const char kDownloadExtensionsToOpenByPolicy[];
+@@ -583,7 +583,7 @@ extern const char kDownloadExtensionsToOpenByPolicy[];
extern const char kDownloadAllowedURLsForOpenByPolicy[];
extern const char kDownloadDirUpgraded[];
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
extern const char kOpenPdfDownloadInSystemReader[];
#endif
-@@ -691,7 +691,7 @@ extern const char kWebAppsPreferences[];
+ #if defined(OS_ANDROID)
+@@ -689,7 +689,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps
+ extern const char kWebAppsPreferences[];
extern const char kWebAppsIsolationState[];
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
extern const char kWebAppsUrlHandlerInfo[];
#endif
-
-@@ -831,9 +831,9 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[]
+@@ -830,7 +830,7 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[]
extern const char kAmbientAuthenticationInPrivateModesEnabled[];
extern const char kBasicAuthOverHttpEnabled[];
-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
extern const char kAuthNegotiateDelegateByKdcPolicy[];
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
- #if defined(OS_POSIX) || defined(OS_FUCHSIA)
- extern const char kNtlmV2Enabled[];
-@@ -1079,7 +1079,7 @@ extern const char kBlockAutoplayEnabled[];
+@@ -1074,7 +1074,7 @@ extern const char kBlockAutoplayEnabled[];
#endif
extern const char kSandboxExternalProtocolBlocked[];
diff --git a/www/chromium/files/patch-chrome_common_profiler_thread__profiler.cc b/www/chromium/files/patch-chrome_common_profiler_thread__profiler.cc
deleted file mode 100644
index 47725ace7955..000000000000
--- a/www/chromium/files/patch-chrome_common_profiler_thread__profiler.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/common/profiler/thread_profiler.cc.orig 2021-04-23 13:14:22 UTC
-+++ chrome/common/profiler/thread_profiler.cc
-@@ -58,6 +58,9 @@ ThreadProfiler* g_main_thread_instance = nullptr;
- constexpr double kFractionOfExecutionTimeToSample = 0.02;
-
- bool IsCurrentProcessBackgrounded() {
-+#if defined(OS_BSD)
-+ return false;
-+#else
- #if defined(OS_MAC)
- // Port provider that returns the calling process's task port, ignoring its
- // argument.
-@@ -71,6 +74,7 @@ bool IsCurrentProcessBackgrounded() {
- #else // defined(OS_MAC)
- return base::Process::Current().IsProcessBackgrounded();
- #endif // defined(OS_MAC)
-+#endif
- }
-
- #if defined(OS_ANDROID) && BUILDFLAG(ENABLE_ARM_CFI_TABLE)
diff --git a/www/chromium/files/patch-chrome_common_safe__browsing_BUILD.gn b/www/chromium/files/patch-chrome_common_safe__browsing_BUILD.gn
deleted file mode 100644
index 3c4a874364f8..000000000000
--- a/www/chromium/files/patch-chrome_common_safe__browsing_BUILD.gn
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/common/safe_browsing/BUILD.gn.orig 2021-12-17 11:44:29 UTC
-+++ chrome/common/safe_browsing/BUILD.gn
-@@ -30,7 +30,7 @@ if (safe_browsing_mode == 1) {
- public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
- }
-
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- source_set("document_analyzer_results") {
- sources = [
- "document_analyzer_results.cc",
-@@ -91,7 +91,7 @@ if (safe_browsing_mode == 1) {
- public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ]
- }
-
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- source_set("document_analyzer") {
- sources = [
- "document_analyzer.cc",
-@@ -193,7 +193,7 @@ source_set("safe_browsing") {
- "//components/safe_browsing/core/common",
- ]
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- deps += [ ":document_analyzer" ]
- }
-
-@@ -207,7 +207,7 @@ source_set("safe_browsing") {
- "//third_party/zlib/google:zip",
- ]
-
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- public_deps += [
- ":document_analyzer_results",
- ]
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 27a3cbcb2b20..97ad0864ac25 100644
--- a/www/chromium/files/patch-chrome_common_webui__url__constants.cc
+++ b/www/chromium/files/patch-chrome_common_webui__url__constants.cc
@@ -1,30 +1,36 @@
---- chrome/common/webui_url_constants.cc.orig 2021-12-31 00:57:26 UTC
+--- chrome/common/webui_url_constants.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/webui_url_constants.cc
-@@ -385,12 +385,12 @@ const char kChromeUIWebUIJsErrorHost[] = "webuijserror
+@@ -424,18 +424,18 @@ const char kOsUIFlagsURL[] = "os://flags";
+ const char kOsUIVersionURL[] = "os://version";
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const char kChromeUIWebUIJsErrorHost[] = "webuijserror";
const char kChromeUIWebUIJsErrorURL[] = "chrome://webuijserror/";
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
const char kChromeUIConnectorsInternalsHost[] = "connectors-internals";
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
const char kChromeUIDiscardsHost[] = "discards";
const char kChromeUIDiscardsURL[] = "chrome://discards/";
-@@ -405,7 +405,7 @@ const char kChromeUINearbyShareURL[] = "chrome://nearb
- const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config";
+ #endif
+@@ -450,14 +450,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr
#endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_BSD)
const char kChromeUISandboxHost[] = "sandbox";
#endif
-@@ -413,7 +413,7 @@ const char kChromeUISandboxHost[] = "sandbox";
+
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) || \
@@ -33,34 +39,43 @@
const char kChromeUIBrowserSwitchHost[] = "browser-switch";
const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/";
const char kChromeUIEnterpriseProfileWelcomeHost[] =
-@@ -428,7 +428,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro
+@@ -472,7 +472,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro
const char kChromeUIProfilePickerStartupQuery[] = "startup";
#endif
-#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \
++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || \
defined(USE_AURA)
const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
#endif
-@@ -615,18 +615,18 @@ const char* const kChromeHostURLs[] = {
- kChromeUIInternetDetailDialogHost,
+@@ -661,18 +661,18 @@ const char* const kChromeHostURLs[] = {
kChromeUIAssistantOptInHost,
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
kChromeUIConnectorsInternalsHost,
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
kChromeUIDiscardsHost,
#endif
#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_ANDROID)
kChromeUILinuxProxyConfigHost,
#endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_BSD)
kChromeUISandboxHost,
#endif
+ #if defined(OS_WIN)
+@@ -729,7 +729,7 @@ const char* const kChromeDebugURLs[] = {
+ blink::kChromeUIGpuJavaCrashURL,
+ kChromeUIJavaCrashURL,
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ kChromeUIWebUIJsErrorURL,
+ #endif
+ kChromeUIQuitURL,
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 9933f0bea340..4193da7b7956 100644
--- a/www/chromium/files/patch-chrome_common_webui__url__constants.h
+++ b/www/chromium/files/patch-chrome_common_webui__url__constants.h
@@ -1,30 +1,36 @@
---- chrome/common/webui_url_constants.h.orig 2021-12-14 11:45:00 UTC
+--- chrome/common/webui_url_constants.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/common/webui_url_constants.h
-@@ -329,12 +329,12 @@ extern const char kChromeUIWebUIJsErrorHost[];
+@@ -368,18 +368,18 @@ extern const char kOsUIFlagsURL[];
+ extern const char kOsUIVersionURL[];
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ extern const char kChromeUIWebUIJsErrorHost[];
extern const char kChromeUIWebUIJsErrorURL[];
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
extern const char kChromeUIConnectorsInternalsHost[];
#endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
extern const char kChromeUIDiscardsHost[];
extern const char kChromeUIDiscardsURL[];
-@@ -349,7 +349,7 @@ extern const char kChromeUINearbyShareURL[];
- extern const char kChromeUILinuxProxyConfigHost[];
+ #endif
+@@ -394,14 +394,14 @@ extern const char kChromeUILinuxProxyConfigHost[];
#endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_BSD)
extern const char kChromeUISandboxHost[];
#endif
-@@ -357,7 +357,7 @@ extern const char kChromeUISandboxHost[];
+
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) || \
@@ -33,12 +39,12 @@
extern const char kChromeUIBrowserSwitchHost[];
extern const char kChromeUIBrowserSwitchURL[];
extern const char kChromeUIEnterpriseProfileWelcomeHost[];
-@@ -369,7 +369,7 @@ extern const char kChromeUIProfilePickerUrl[];
+@@ -413,7 +413,7 @@ extern const char kChromeUIProfilePickerUrl[];
extern const char kChromeUIProfilePickerStartupQuery[];
#endif
-#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \
++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || \
defined(USE_AURA)
extern const char kChromeUITabModalConfirmDialogHost[];
#endif
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
index f8f72f960a37..1a96c74f899d 100644
--- a/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc
+++ b/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc
@@ -1,11 +1,11 @@
---- chrome/renderer/chrome_render_frame_observer.cc.orig 2021-12-31 00:57:26 UTC
+--- chrome/renderer/chrome_render_frame_observer.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/renderer/chrome_render_frame_observer.cc
-@@ -280,7 +280,7 @@ void ChromeRenderFrameObserver::OnDestruct() {
- }
+@@ -281,7 +281,7 @@ void ChromeRenderFrameObserver::OnDestruct() {
void ChromeRenderFrameObserver::DraggableRegionsChanged() {
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_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_renderer_pepper_pepper__flash__font__file__host.h b/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
index 89e705c66a7a..bd033f536abb 100644
--- a/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
+++ b/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
@@ -1,6 +1,6 @@
---- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig 2021-12-14 11:45:00 UTC
+--- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/renderer/pepper/pepper_flash_font_file_host.h
-@@ -14,7 +14,7 @@
+@@ -12,7 +12,7 @@
#include "ppapi/c/private/pp_private_font_charset.h"
#include "ppapi/host/resource_host.h"
@@ -9,7 +9,7 @@
#include "base/files/file.h"
#elif defined(OS_WIN)
#include "third_party/skia/include/core/SkRefCnt.h"
-@@ -54,7 +54,7 @@ class PepperFlashFontFileHost : public ppapi::host::Re
+@@ -52,7 +52,7 @@ class PepperFlashFontFileHost : public ppapi::host::Re
uint32_t table);
bool GetFontData(uint32_t table, void* buffer, size_t* length);
diff --git a/www/chromium/files/patch-chrome_services_file__util_BUILD.gn b/www/chromium/files/patch-chrome_services_file__util_BUILD.gn
deleted file mode 100644
index aec14c29f0d1..000000000000
--- a/www/chromium/files/patch-chrome_services_file__util_BUILD.gn
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/services/file_util/BUILD.gn.orig 2021-12-17 12:04:10 UTC
-+++ chrome/services/file_util/BUILD.gn
-@@ -48,7 +48,7 @@ source_set("file_util") {
- "safe_archive_analyzer.h",
- ]
-
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- sources += [
- "document_analysis_service.cc",
- "document_analysis_service.h",
-@@ -63,7 +63,7 @@ source_set("file_util") {
- "//chrome/common/safe_browsing:rar_analyzer",
- ]
-
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- deps += [
- "//chrome/common/safe_browsing:document_analyzer",
- "//chrome/common/safe_browsing:document_analyzer_results",
diff --git a/www/chromium/files/patch-chrome_services_file__util_public_cpp_BUILD.gn b/www/chromium/files/patch-chrome_services_file__util_public_cpp_BUILD.gn
deleted file mode 100644
index 6c82ac03aa34..000000000000
--- a/www/chromium/files/patch-chrome_services_file__util_public_cpp_BUILD.gn
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/services/file_util/public/cpp/BUILD.gn.orig 2021-12-17 12:05:27 UTC
-+++ chrome/services/file_util/public/cpp/BUILD.gn
-@@ -31,7 +31,7 @@ source_set("cpp") {
- ]
- }
-
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- sources += [
- "sandboxed_document_analyzer.cc",
- "sandboxed_document_analyzer.h",
-@@ -78,7 +78,7 @@ if (safe_browsing_mode == 1) {
- "//testing/gtest",
- ]
-
-- if (is_linux || is_win) {
-+ if ((is_linux || is_win) && !is_bsd) {
- deps += [ "//chrome/common/safe_browsing:document_analyzer_results" ]
- }
- }
diff --git a/www/chromium/files/patch-chrome_services_file__util_public_features.gni b/www/chromium/files/patch-chrome_services_file__util_public_features.gni
deleted file mode 100644
index 6982594069b6..000000000000
--- a/www/chromium/files/patch-chrome_services_file__util_public_features.gni
+++ /dev/null
@@ -1,9 +0,0 @@
---- chrome/services/file_util/public/features.gni.orig 2022-01-03 16:49:41 UTC
-+++ chrome/services/file_util/public/features.gni
-@@ -11,5 +11,5 @@ declare_args() {
- enable_xz_extractor = enable_extensions
-
- # Enables analysis of Office documents for malicious macros
-- enable_maldoca = is_linux || is_win
-+ enable_maldoca = (is_linux || is_win) && !is_bsd
- }
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
index 69344368a2fa..901ed553c835 100644
--- 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
@@ -1,13 +1,11 @@
---- chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h.orig 2021-12-16 14:56:45 UTC
+--- chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h.orig 2022-02-07 13:39:41 UTC
+++ chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h
-@@ -14,8 +14,8 @@
+@@ -14,7 +14,7 @@
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
-#if !BUILDFLAG(FULL_SAFE_BROWSING) || (!defined(OS_LINUX) && !defined(OS_WIN))
--#error BUILDFLAG(FULL_SAFE_BROWSING) should be set and either OS_LINUX or OS_WIN defined.
+#if !BUILDFLAG(FULL_SAFE_BROWSING) || (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_BSD))
-+#error BUILDFLAG(FULL_SAFE_BROWSING) should be set and either OS_LINUX, OS_BSD or OS_WIN defined.
+ #error BUILDFLAG(FULL_SAFE_BROWSING) should be set and either OS_LINUX or OS_WIN defined.
#endif
- namespace mojo {
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 becdc4372d7c..83fac7acf3c6 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,6 +1,6 @@
---- chrome/services/printing/print_backend_service_impl.cc.orig 2021-12-16 14:57:02 UTC
+--- chrome/services/printing/print_backend_service_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/services/printing/print_backend_service_impl.cc
-@@ -327,7 +327,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings(
+@@ -404,7 +404,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings(
crash_keys_ = std::make_unique<crash_keys::ScopedPrinterInfo>(
print_backend_->GetPrinterDriverInfo(printer_name));
@@ -9,12 +9,3 @@
// Try to fill in advanced settings based upon basic info options.
PrinterBasicInfo basic_info;
if (print_backend_->GetPrinterBasicInfo(printer_name, &basic_info) ==
-@@ -338,7 +338,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings(
-
- job_settings[kSettingAdvancedSettings] = std::move(advanced_settings);
- }
--#endif // defined(OS_LINUX) && defined(USE_CUPS)
-+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS)
-
- // Use a one-time `PrintingContext` to do the update to print settings.
- // Intentionally do not cache this context here since the process model does
diff --git a/www/chromium/files/patch-chrome_services_speech_soda_soda__test__paths.h b/www/chromium/files/patch-chrome_services_speech_soda_soda__test__paths.h
deleted file mode 100644
index 9775a8f1fcec..000000000000
--- a/www/chromium/files/patch-chrome_services_speech_soda_soda__test__paths.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/services/speech/soda/soda_test_paths.h.orig 2021-09-14 01:51:52 UTC
-+++ chrome/services/speech/soda/soda_test_paths.h
-@@ -34,7 +34,7 @@ constexpr base::FilePath::CharType kSodaResourcePath[]
- constexpr base::FilePath::CharType kSodaTestBinaryRelativePath[] =
- FILE_PATH_LITERAL("SODA_for_testing.dll");
-
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
-
- constexpr base::FilePath::CharType kSodaResourcePath[] =
- FILE_PATH_LITERAL("third_party/soda/resources");
diff --git a/www/chromium/files/patch-chrome_test_BUILD.gn b/www/chromium/files/patch-chrome_test_BUILD.gn
index 87ccf30cbaf9..b13419bcfc7c 100644
--- a/www/chromium/files/patch-chrome_test_BUILD.gn
+++ b/www/chromium/files/patch-chrome_test_BUILD.gn
@@ -1,33 +1,6 @@
---- chrome/test/BUILD.gn.orig 2021-12-31 00:57:26 UTC
+--- chrome/test/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ chrome/test/BUILD.gn
-@@ -538,7 +538,7 @@ static_library("test_support") {
- ]
- }
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- public_deps += [ "//components/crash/core/app" ]
- }
-
-@@ -2191,7 +2191,7 @@ if (!is_android && !is_fuchsia) {
- sources += [ "../browser/ui/views/frame/desktop_browser_frame_aura_linux_browsertest.cc" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "../browser/error_reporting/webui_js_error_reporting_browsertest.cc",
- ]
-@@ -6604,7 +6604,7 @@ test("unit_tests") {
- ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [ "//chrome/browser/error_reporting:unit_test" ]
- }
-
-@@ -8765,7 +8765,7 @@ test("chrome_app_unittests") {
+@@ -8820,7 +8820,7 @@ test("chrome_app_unittests") {
"//components/safe_browsing:buildflags",
"//pdf:pdf_ppapi",
]
diff --git a/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc b/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc
deleted file mode 100644
index 9c9f5f8c5efb..000000000000
--- a/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- chrome/test/base/in_process_browser_test.cc.orig 2021-12-14 11:45:00 UTC
-+++ chrome/test/base/in_process_browser_test.cc
-@@ -82,6 +82,10 @@
- #include "services/device/public/cpp/test/fake_geolocation_manager.h"
- #endif
-
-+#if defined(OS_FREEBSD)
-+#include <signal.h>
-+#endif
-+
- #if defined(OS_WIN)
- #include "base/win/scoped_com_initializer.h"
- #include "base/win/windows_version.h"
-@@ -345,7 +349,7 @@ void InProcessBrowserTest::SetUp() {
- // Cookies). Without this on Mac and Linux, many tests will hang waiting for a
- // user to approve KeyChain/kwallet access. On Windows this is not needed as
- // OS APIs never block.
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- OSCryptMocker::SetUp();
- #endif
-
-@@ -418,7 +422,7 @@ void InProcessBrowserTest::TearDown() {
- com_initializer_.reset();
- #endif
- BrowserTestBase::TearDown();
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- OSCryptMocker::TearDown();
- #endif
-
diff --git a/www/chromium/files/patch-chrome_test_base_test__browser__window.h b/www/chromium/files/patch-chrome_test_base_test__browser__window.h
deleted file mode 100644
index 6f8d78eb6396..000000000000
--- a/www/chromium/files/patch-chrome_test_base_test__browser__window.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/base/test_browser_window.h.orig 2021-12-31 00:57:26 UTC
-+++ chrome/test/base/test_browser_window.h
-@@ -199,7 +199,7 @@ class TestBrowserWindow : public BrowserWindow {
- void MaybeShowProfileSwitchIPH() override {}
-
- #if defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_WIN) || \
-- defined(OS_LINUX) || defined(OS_FUCHSIA)
-+ defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- void ShowHatsDialog(
- const std::string& site_id,
- base::OnceClosure success_callback,
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 e12743541ce6..a920f49fe691 100644
--- a/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc
+++ b/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc
@@ -1,13 +1,10 @@
---- chrome/test/chromedriver/chrome_launcher.cc.orig 2021-12-14 11:45:00 UTC
+--- chrome/test/chromedriver/chrome_launcher.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/test/chromedriver/chrome_launcher.cc
-@@ -73,6 +73,10 @@
- #include <windows.h>
- #endif
-
-+#if defined(OS_BSD)
+@@ -65,6 +65,7 @@
+ #include <fcntl.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+#include <sys/wait.h>
-+#endif
-+
- namespace {
-
- const char* const kCommonSwitches[] = {
+ #include <unistd.h>
+ #elif defined(OS_WIN)
+ #include "chrome/test/chromedriver/keycode_text_conversion.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 9439c39a8e97..d41492804116 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 2021-04-14 18:40:56 UTC
+--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/test/chromedriver/chrome/chrome_finder.cc
-@@ -53,7 +53,7 @@ void GetApplicationDirs(std::vector<base::FilePath>* l
+@@ -54,7 +54,7 @@ void GetApplicationDirs(std::vector<base::FilePath>* l
installation_locations[i].Append(L"Chromium\\Application"));
}
}
@@ -9,7 +9,7 @@
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) {
+@@ -139,7 +139,7 @@ bool FindChrome(base::FilePath* browser_exe) {
base::FilePath browser_exes_array[] = {
#if defined(OS_WIN) || defined(OS_MAC)
base::FilePath(chrome::kBrowserProcessExecutablePath),
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
deleted file mode 100644
index 5d763323a36c..000000000000
--- a/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/test/chromedriver/key_converter_unittest.cc.orig 2021-05-12 22:05:46 UTC
-+++ chrome/test/chromedriver/key_converter_unittest.cc
-@@ -264,7 +264,7 @@ TEST(KeyConverter, AllShorthandKeys) {
- ->Generate(&key_events);
- builder.Generate(&key_events);
- builder.SetKeyCode(ui::VKEY_TAB);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- builder.SetText("\t", "\t")->Generate(&key_events);
- #else
- builder.SetText(std::string(), std::string());
-@@ -272,7 +272,7 @@ TEST(KeyConverter, AllShorthandKeys) {
- key_events.push_back(builder.SetType(kKeyUpEventType)->Build());
- #endif
- builder.SetKeyCode(ui::VKEY_BACK);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- builder.SetText("\b", "\b")->Generate(&key_events);
- #else
- builder.SetText(std::string(), std::string());
-@@ -283,7 +283,7 @@ TEST(KeyConverter, AllShorthandKeys) {
- CheckEventsReleaseModifiers("\n\r\n\t\b ", key_events);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Fails on bots: crbug.com/174962
- #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols
- #else
-@@ -340,7 +340,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) {
- TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKeyboard) {
- ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US);
- const char kTextForKeys[] = {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- 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,
diff --git a/www/chromium/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc b/www/chromium/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc
deleted file mode 100644
index 67bee8264321..000000000000
--- a/www/chromium/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/chromedriver/server/chromedriver_server.cc.orig 2021-12-14 11:45:00 UTC
-+++ chrome/test/chromedriver/server/chromedriver_server.cc
-@@ -291,7 +291,7 @@ int main(int argc, char *argv[]) {
- base::AtExitManager at_exit;
- base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Select the locale from the environment by passing an empty string instead
- // of the default "C" locale. This is particularly needed for the keycode
- // conversion code to work.
diff --git a/www/chromium/files/patch-chrome_updater_app_app__install.cc b/www/chromium/files/patch-chrome_updater_app_app__install.cc
new file mode 100644
index 000000000000..79395854a082
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_app_app__install.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/app/app_install.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/app/app_install.cc
+@@ -155,7 +155,7 @@ void AppInstall::WakeCandidate() {
+ update_service_internal, base::WrapRefCounted(this)));
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_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
new file mode 100644
index 000000000000..400d63f06daf
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/app/app_uninstall.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/app/app_uninstall.cc
+@@ -31,7 +31,7 @@
+ #include "chrome/updater/win/setup/uninstall.h"
+ #elif defined(OS_MAC)
+ #include "chrome/updater/mac/setup/setup.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "chrome/updater/linux/setup/setup.h"
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_updater_configurator.cc b/www/chromium/files/patch-chrome_updater_configurator.cc
new file mode 100644
index 000000000000..e54d57641c1f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_configurator.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/configurator.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/configurator.cc
+@@ -30,7 +30,7 @@
+ #include "chrome/updater/win/net/network.h"
+ #elif defined(OS_MAC)
+ #include "chrome/updater/mac/net/network.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "chrome/updater/linux/net/network.h"
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc b/www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc
index 735a1c6e504f..f3b66083b6c1 100644
--- a/www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc
+++ b/www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc
@@ -1,4 +1,4 @@
---- chrome/updater/device_management/cloud_policy_util.cc.orig 2021-12-14 11:45:01 UTC
+--- chrome/updater/device_management/cloud_policy_util.cc.orig 2022-02-07 13:39:41 UTC
+++ chrome/updater/device_management/cloud_policy_util.cc
@@ -22,7 +22,7 @@
#include <wincred.h>
@@ -27,19 +27,16 @@
#include "base/system/sys_info.h"
#endif
-@@ -116,6 +116,11 @@ std::string GetMachineName() {
+@@ -111,7 +111,7 @@ std::string GetPolicyVerificationKey() {
+ std::string GetMachineName() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ char hostname[HOST_NAME_MAX];
if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
return hostname;
- return std::string();
-+#elif defined(OS_BSD)
-+ char hostname[MAXHOSTNAMELEN];
-+ if (gethostname(hostname, MAXHOSTNAMELEN) == 0) // Success.
-+ return hostname;
-+ return std::string();
- #elif defined(OS_MAC)
- // Do not use NSHost currentHost, as it's very slow. http://crbug.com/138570
- SCDynamicStoreContext context = {0, NULL, NULL, NULL};
-@@ -161,7 +166,7 @@ std::string GetMachineName() {
+@@ -161,7 +161,7 @@ std::string GetMachineName() {
}
std::string GetOSVersion() {
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
new file mode 100644
index 000000000000..3a02b2047746
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_device__management_dm__client.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/device_management/dm_client.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/device_management/dm_client.cc
+@@ -36,7 +36,7 @@
+ #include "chrome/updater/win/net/network.h"
+ #elif defined(OS_MAC)
+ #include "chrome/updater/mac/net/network.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_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
new file mode 100644
index 000000000000..1335dc38d23e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_device__management_dm__storage.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/device_management/dm_storage.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/device_management/dm_storage.cc
+@@ -69,7 +69,7 @@ bool DeleteObsoletePolicies(const base::FilePath& cach
+
+ } // namespace
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_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
new file mode 100644
index 000000000000..d4901982d112
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_installer.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/installer.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/installer.cc
+@@ -267,7 +267,7 @@ absl::optional<base::FilePath> Installer::GetCurrentIn
+ return path->AppendASCII(pv_.GetString());
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ Installer::Result Installer::RunApplicationInstaller(
+ const base::FilePath& /*app_installer*/,
+ const std::string& /*arguments*/,
diff --git a/www/chromium/files/patch-chrome_updater_lib__util.cc b/www/chromium/files/patch-chrome_updater_lib__util.cc
new file mode 100644
index 000000000000..f6df3ab172bc
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_lib__util.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/lib_util.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/lib_util.cc
+@@ -11,7 +11,7 @@
+
+ namespace updater {
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+
+ std::string UnescapeURLComponent(base::StringPiece escaped_text) {
+ return base::UnescapeURLComponent(
diff --git a/www/chromium/files/patch-chrome_updater_updater.cc b/www/chromium/files/patch-chrome_updater_updater.cc
new file mode 100644
index 000000000000..d00e7c795110
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_updater.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/updater.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/updater.cc
+@@ -38,7 +38,7 @@
+ #include "chrome/updater/win/win_util.h"
+ #elif defined(OS_MAC)
+ #include "chrome/updater/app/server/mac/server.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_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
new file mode 100644
index 000000000000..5273fcc2701f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_updater_util.cc
@@ -0,0 +1,11 @@
+--- chrome/updater/util.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/updater/util.cc
+@@ -213,7 +213,7 @@ GURL AppendQueryParameter(const GURL& url,
+ return url.ReplaceComponents(replacements);
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+
+ // TODO(crbug.com/1276188) - implement the functions below.
+ absl::optional<base::FilePath> GetUpdaterFolderPath(UpdaterScope scope) {
diff --git a/www/chromium/files/patch-chrome_utility_services.cc b/www/chromium/files/patch-chrome_utility_services.cc
new file mode 100644
index 000000000000..1971b33322ad
--- /dev/null
+++ b/www/chromium/files/patch-chrome_utility_services.cc
@@ -0,0 +1,29 @@
+--- chrome/utility/services.cc.orig 2022-02-07 13:39:41 UTC
++++ chrome/utility/services.cc
+@@ -65,7 +65,7 @@
+ #include "chrome/services/file_util/file_util_service.h" // nogncheck
+ #endif
+
+-#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN))
++#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD))
+ #include "chrome/services/file_util/document_analysis_service.h" // nogncheck
+ #endif
+
+@@ -219,7 +219,7 @@ auto RunCupsIppParser(
+ }
+ #endif
+
+-#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN))
++#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD))
+ auto RunDocumentAnalysis(
+ mojo::PendingReceiver<chrome::mojom::DocumentAnalysisService> receiver) {
+ return std::make_unique<DocumentAnalysisService>(std::move(receiver));
+@@ -383,7 +383,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
+ services.Add(RunFileUtil);
+ #endif
+
+-#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN))
++#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD))
+ services.Add(RunDocumentAnalysis);
+ #endif
+
diff --git a/www/chromium/files/patch-chromecast_app_cast__main__delegate.cc b/www/chromium/files/patch-chromecast_app_cast__main__delegate.cc
deleted file mode 100644
index 91f0c15a906f..000000000000
--- a/www/chromium/files/patch-chromecast_app_cast__main__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chromecast/app/cast_main_delegate.cc.orig 2021-12-31 00:57:27 UTC
-+++ chromecast/app/cast_main_delegate.cc
-@@ -162,7 +162,7 @@ bool CastMainDelegate::BasicStartupComplete(int* exit_
-
- void CastMainDelegate::PreSandboxStartup() {
- #if defined(ARCH_CPU_ARM_FAMILY) && \
-- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- // Create an instance of the CPU class to parse /proc/cpuinfo and cache the
- // results. This data needs to be cached when file-reading is still allowed,
- // since base::CPU expects to be callable later, when file-reading is no
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 8436ca7265fb..a768a0005442 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,6 +1,6 @@
---- chromecast/browser/cast_browser_main_parts.cc.orig 2021-12-14 11:45:02 UTC
+--- chromecast/browser/cast_browser_main_parts.cc.orig 2022-02-07 13:39:41 UTC
+++ chromecast/browser/cast_browser_main_parts.cc
-@@ -78,7 +78,7 @@
+@@ -90,7 +90,7 @@
#include "ui/base/ui_base_switches.h"
#include "ui/gl/gl_switches.h"
@@ -9,7 +9,7 @@
#include <fontconfig/fontconfig.h>
#include <signal.h>
#include <sys/prctl.h>
-@@ -133,7 +133,7 @@
+@@ -145,7 +145,7 @@
#include "extensions/browser/extension_prefs.h" // nogncheck
#endif
@@ -18,7 +18,7 @@
#include "chromecast/browser/exo/wayland_server_controller.h"
#endif
-@@ -276,7 +276,7 @@ class CastViewsDelegate : public views::ViewsDelegate
+@@ -281,7 +281,7 @@ class CastViewsDelegate : public views::ViewsDelegate
#endif // defined(USE_AURA)
@@ -27,16 +27,7 @@
base::FilePath GetApplicationFontsDir() {
std::unique_ptr<base::Environment> env(base::Environment::Create());
-@@ -293,7 +293,7 @@ base::FilePath GetApplicationFontsDir() {
- }
- }
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- } // namespace
-
-@@ -322,7 +322,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
+@@ -327,7 +327,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
{cc::switches::kDisableThreadedAnimation, ""},
#endif // defined(OS_ANDROID)
#endif // BUILDFLAG(IS_CAST_AUDIO_ONLY)
@@ -45,16 +36,7 @@
#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.
-@@ -332,7 +332,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
- {switches::kEnableHardwareOverlays, "cast"},
- #endif
- #endif
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // It's better to start GPU process on demand. For example, for TV platforms
- // cast starts in background and can't render until TV switches to cast
- // input.
-@@ -491,7 +491,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
+@@ -520,7 +520,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
views_delegate_ = std::make_unique<CastViewsDelegate>();
#endif // defined(USE_AURA)
@@ -63,7 +45,7 @@
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)) {
-@@ -677,7 +677,7 @@ int CastBrowserMainParts::PreMainMessageLoopRun() {
+@@ -748,7 +748,7 @@ int CastBrowserMainParts::PreMainMessageLoopRun() {
cast_browser_process_->browser_context());
#endif
@@ -72,7 +54,7 @@
wayland_server_controller_ =
std::make_unique<WaylandServerController>(window_manager_.get());
#endif
-@@ -758,7 +758,7 @@ void CastBrowserMainParts::PostMainMessageLoopRun() {
+@@ -817,7 +817,7 @@ void CastBrowserMainParts::PostMainMessageLoopRun() {
cast_browser_process_->cast_service()->Stop();
diff --git a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h
deleted file mode 100644
index 95e4e2e79c97..000000000000
--- a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chromecast/browser/cast_browser_main_parts.h.orig 2021-12-14 11:45:02 UTC
-+++ chromecast/browser/cast_browser_main_parts.h
-@@ -146,7 +146,7 @@ class CastBrowserMainParts : public content::BrowserMa
- std::unique_ptr<PrefService> user_pref_service_;
- #endif
-
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
- std::unique_ptr<WaylandServerController> wayland_server_controller_;
- #endif
-
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 4d88b05fdf7a..f9a75f6d219e 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,18 +1,15 @@
---- chromecast/browser/cast_content_browser_client.cc.orig 2021-12-31 00:57:27 UTC
+--- chromecast/browser/cast_content_browser_client.cc.orig 2022-02-07 13:39:41 UTC
+++ chromecast/browser/cast_content_browser_client.cc
-@@ -130,9 +130,9 @@
+@@ -132,7 +132,7 @@
#include "extensions/common/constants.h" // nogncheck
#endif
-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
#include "chromecast/browser/webview/webview_controller.h"
--#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ #endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
- #if BUILDFLAG(ENABLE_CAST_RENDERER)
- #include "base/task/sequenced_task_runner.h"
-@@ -478,7 +478,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
+@@ -475,7 +475,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
switches::kAudioOutputChannels));
}
} else if (process_type == switches::kGpuProcess) {
@@ -21,7 +18,7 @@
// 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,12 +870,12 @@ CastContentBrowserClient::CreateThrottlesForNavigation
+@@ -867,7 +867,7 @@ CastContentBrowserClient::CreateThrottlesForNavigation
handle, general_audience_browsing_service_.get()));
}
@@ -30,9 +27,3 @@
auto webview_throttle = WebviewController::MaybeGetNavigationThrottle(handle);
if (webview_throttle) {
throttles.push_back(std::move(webview_throttle));
- }
--#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
-
- return throttles;
- }
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
index 7c42be3ea9b1..ab074448aa78 100644
--- 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
@@ -1,4 +1,4 @@
---- chromecast/browser/cast_content_browser_client_receiver_bindings.cc.orig 2021-09-24 04:26:02 UTC
+--- chromecast/browser/cast_content_browser_client_receiver_bindings.cc.orig 2022-02-07 13:39:41 UTC
+++ chromecast/browser/cast_content_browser_client_receiver_bindings.cc
@@ -35,7 +35,7 @@
#include "media/mojo/services/media_service.h" // nogncheck
@@ -9,7 +9,7 @@
#include "chromecast/browser/webview/js_channel_service.h"
#include "chromecast/common/mojom/js_channel.mojom.h"
#endif
-@@ -221,7 +221,7 @@ void CastContentBrowserClient::RunServiceInstance(
+@@ -222,7 +222,7 @@ void CastContentBrowserClient::RunServiceInstance(
void CastContentBrowserClient::BindHostReceiverForRenderer(
content::RenderProcessHost* render_process_host,
mojo::GenericPendingReceiver receiver) {
diff --git a/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc b/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc
deleted file mode 100644
index 45a4797ba07d..000000000000
--- a/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc
+++ /dev/null
@@ -1,103 +0,0 @@
---- chromecast/browser/metrics/cast_browser_metrics.cc.orig 2021-06-09 22:13:58 UTC
-+++ chromecast/browser/metrics/cast_browser_metrics.cc
-@@ -19,9 +19,9 @@
- #include "content/public/browser/network_service_instance.h"
- #include "content/public/common/content_switches.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "chromecast/browser/metrics/external_metrics.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_ANDROID)
- #include "chromecast/base/android/dumpstate_writer.h"
-@@ -32,10 +32,10 @@ namespace metrics {
-
- const int kMetricsFetchTimeoutSeconds = 60;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const char kExternalUmaEventsRelativePath[] = "metrics/uma-events";
- const char kPlatformUmaEventsPath[] = "/data/share/chrome/metrics/uma-events";
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- CastBrowserMetrics::CastBrowserMetrics(
- std::unique_ptr<CastMetricsServiceClient> metrics_service_client) {
-@@ -48,10 +48,10 @@ CastBrowserMetrics::CastBrowserMetrics(
- }
-
- CastBrowserMetrics::~CastBrowserMetrics() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- DCHECK(!external_metrics_);
- DCHECK(!platform_metrics_);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- void CastBrowserMetrics::Initialize() {
-@@ -61,9 +61,9 @@ void CastBrowserMetrics::Initialize() {
- auto stability_provider_unique_ptr =
- std::make_unique<CastStabilityMetricsProvider>(
- metrics_service, metrics_service_client_->pref_service());
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- auto* stability_provider = stability_provider_unique_ptr.get();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- metrics_service->RegisterMetricsProvider(
- std::move(stability_provider_unique_ptr));
-
-@@ -84,7 +84,7 @@ void CastBrowserMetrics::Initialize() {
-
- metrics_service_client_->StartMetricsService();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS)A || defined(OS_BSD)
- // Start external metrics collection, which feeds data from external
- // processes into the main external metrics.
- external_metrics_ = new ExternalMetrics(
-@@ -94,7 +94,7 @@ void CastBrowserMetrics::Initialize() {
- platform_metrics_ =
- new ExternalMetrics(stability_provider, kPlatformUmaEventsPath);
- platform_metrics_->Start();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- void CastBrowserMetrics::Finalize() {
-@@ -103,14 +103,14 @@ void CastBrowserMetrics::Finalize() {
- metrics_service_client_->GetMetricsService()->RecordCompletedSessionEnd();
- #endif // !defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Stop metrics service cleanly before destructing CastMetricsServiceClient.
- // The pointer will be deleted in StopAndDestroy().
- external_metrics_->StopAndDestroy();
- external_metrics_ = nullptr;
- platform_metrics_->StopAndDestroy();
- platform_metrics_ = nullptr;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- metrics_service_client_->Finalize();
- }
-@@ -126,13 +126,13 @@ void CastBrowserMetrics::CollectFinalMetricsForLog(
- }
-
- void CastBrowserMetrics::ProcessExternalEvents(base::OnceClosure cb) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- external_metrics_->ProcessExternalEvents(
- base::BindOnce(&ExternalMetrics::ProcessExternalEvents,
- base::Unretained(platform_metrics_), std::move(cb)));
- #else
- std::move(cb).Run();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- } // namespace metrics
diff --git a/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.h b/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.h
deleted file mode 100644
index 3e8ac7f414aa..000000000000
--- a/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- chromecast/browser/metrics/cast_browser_metrics.h.orig 2021-12-14 11:45:02 UTC
-+++ chromecast/browser/metrics/cast_browser_metrics.h
-@@ -42,10 +42,10 @@ class CastBrowserMetrics {
- private:
- std::unique_ptr<CastMetricsServiceClient> metrics_service_client_;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- ExternalMetrics* external_metrics_ = nullptr;
- ExternalMetrics* platform_metrics_ = nullptr;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- };
-
- } // namespace metrics
diff --git a/www/chromium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc b/www/chromium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc
deleted file mode 100644
index 9381d99fc64f..000000000000
--- a/www/chromium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chromecast/external_mojo/public/cpp/external_mojo_broker.cc.orig 2021-12-14 11:45:02 UTC
-+++ chromecast/external_mojo/public/cpp/external_mojo_broker.cc
-@@ -8,7 +8,7 @@
- #include <set>
- #include <utility>
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <sys/stat.h>
- #endif
-
-@@ -427,7 +427,7 @@ ExternalMojoBroker::ExternalMojoBroker(const std::stri
- named_channel.TakeServerEndpoint();
- DCHECK(server_endpoint.is_valid());
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- chmod(broker_path.c_str(), 0770);
- #endif
-
diff --git a/www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc b/www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc
index 21e3e6e00706..081862248bb9 100644
--- a/www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc
+++ b/www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc
@@ -1,17 +1,14 @@
---- chromecast/media/base/default_monotonic_clock.cc.orig 2021-04-14 18:40:58 UTC
+--- chromecast/media/base/default_monotonic_clock.cc.orig 2022-02-07 13:39:41 UTC
+++ chromecast/media/base/default_monotonic_clock.cc
-@@ -11,9 +11,9 @@
+@@ -11,7 +11,7 @@
#include "base/time/time.h"
#include "build/build_config.h"
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "chromecast/media/base/buildflags.h"
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
- #if defined(OS_FUCHSIA)
- #include <zircon/syscalls.h>
@@ -27,7 +27,7 @@ std::unique_ptr<MonotonicClock> MonotonicClock::Create
return std::make_unique<DefaultMonotonicClock>();
}
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
index 1005e093c47b..a12a991f74ea 100644
--- a/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc
+++ b/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc
@@ -1,6 +1,6 @@
---- chromecast/renderer/cast_content_renderer_client.cc.orig 2021-12-31 00:57:27 UTC
+--- chromecast/renderer/cast_content_renderer_client.cc.orig 2022-02-07 13:39:41 UTC
+++ chromecast/renderer/cast_content_renderer_client.cc
-@@ -206,7 +206,7 @@ void CastContentRendererClient::RenderFrameCreated(
+@@ -192,7 +192,7 @@ void CastContentRendererClient::RenderFrameCreated(
dispatcher->OnRenderFrameCreated(render_frame);
#endif
diff --git a/www/chromium/files/patch-components_BUILD.gn b/www/chromium/files/patch-components_BUILD.gn
deleted file mode 100644
index 3c5524ac143a..000000000000
--- a/www/chromium/files/patch-components_BUILD.gn
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/BUILD.gn.orig 2021-12-31 00:57:28 UTC
-+++ components/BUILD.gn
-@@ -369,6 +369,13 @@ test("components_unittests") {
- ]
- }
-
-+ if (is_bsd) {
-+ deps -= [
-+ "//components/crash/content/browser:unit_tests",
-+ "//components/crash/core/app:unit_tests",
-+ ]
-+ }
-+
- data_deps += [
- ":components_tests_pak",
- "//third_party/mesa_headers",
diff --git a/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc b/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
deleted file mode 100644
index f0f4c87cd9ec..000000000000
--- a/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/autofill/content/renderer/password_form_conversion_utils.cc.orig 2021-07-19 18:45:12 UTC
-+++ components/autofill/content/renderer/password_form_conversion_utils.cc
-@@ -19,7 +19,11 @@
- #include "third_party/blink/public/web/web_form_control_element.h"
- #include "third_party/blink/public/web/web_input_element.h"
- #include "third_party/blink/public/web/web_local_frame.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "url/gurl.h"
-
- using blink::WebElement;
diff --git a/www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc b/www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc
index 9249850f1464..a3b49c36594c 100644
--- a/www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc
+++ b/www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc
@@ -1,11 +1,11 @@
---- components/autofill/core/browser/autofill_external_delegate.cc.orig 2021-07-19 18:45:12 UTC
+--- components/autofill/core/browser/autofill_external_delegate.cc.orig 2022-02-07 13:39:41 UTC
+++ components/autofill/core/browser/autofill_external_delegate.cc
-@@ -129,7 +129,7 @@ void AutofillExternalDelegate::OnSuggestionsReturned(
-
+@@ -130,7 +130,7 @@ void AutofillExternalDelegate::OnSuggestionsReturned(
// Append the "Hide Suggestions" menu item for only Autofill Address and
// Autocomplete popups.
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
if (base::FeatureList::IsEnabled(
features::kAutofillEnableHideSuggestionsUI)) {
+ // If the user has selected a suggestion, it indicates the suggestions are
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
index 1bd6fadb64fd..739b9b239db4 100644
--- 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
@@ -1,20 +1,11 @@
---- components/autofill/core/browser/personal_data_manager.cc.orig 2021-12-31 00:57:28 UTC
+--- components/autofill/core/browser/personal_data_manager.cc.orig 2022-02-07 13:39:41 UTC
+++ components/autofill/core/browser/personal_data_manager.cc
-@@ -2107,7 +2107,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
- // The feature is only for Linux, Windows and Mac.
+@@ -2097,7 +2097,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
--#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || \
-+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_APPLE)
+ #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_WIN) || \
+- defined(OS_APPLE) || defined(OS_FUCHSIA)
++ defined(OS_APPLE) || defined(OS_FUCHSIA) || defined(OS_BSD)
// This option should only be shown for users that have not enabled the Sync
// Feature and that have server credit cards available.
-@@ -2129,7 +2129,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
- return !is_opted_in;
- #else
- return false;
--#endif // #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ||
-+#endif // #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ||
- // defined(OS_WIN) || defined(OS_APPLE)
- }
-
+ if (!sync_service_ || sync_service_->IsSyncFeatureEnabled() ||
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 cec0ab69a6f4..0de49806c9a5 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 2021-12-31 00:57:28 UTC
+--- components/autofill/core/common/autofill_payments_features.cc.orig 2022-02-07 13:39:41 UTC
+++ components/autofill/core/common/autofill_payments_features.cc
-@@ -184,7 +184,7 @@ bool ShouldShowImprovedUserConsentForCreditCardSave()
+@@ -172,7 +172,7 @@ const base::Feature kAutofillUpstreamAllowAllEmailDoma
+ bool ShouldShowImprovedUserConsentForCreditCardSave() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_WIN) || defined(OS_APPLE) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_APPLE) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
// 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__util.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc
index 1db5a620da49..d7e7f2e7f1a9 100644
--- a/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc
+++ b/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc
@@ -1,11 +1,11 @@
---- components/autofill/core/common/autofill_util.cc.orig 2021-09-14 01:51:54 UTC
+--- components/autofill/core/common/autofill_util.cc.orig 2022-02-07 13:39:41 UTC
+++ components/autofill/core/common/autofill_util.cc
-@@ -153,7 +153,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value
- }
+@@ -154,7 +154,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value
bool ShouldAutoselectFirstSuggestionOnArrowDown() {
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
return true;
#else
+ return false;
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 d0e51fe2a643..3705d1512f14 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,26 +1,11 @@
---- components/cookie_config/cookie_store_util.cc.orig 2021-04-14 18:40:59 UTC
+--- components/cookie_config/cookie_store_util.cc.orig 2022-02-07 13:39:41 UTC
+++ components/cookie_config/cookie_store_util.cc
-@@ -11,7 +11,7 @@
-
+@@ -12,7 +12,7 @@
namespace cookie_config {
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
namespace {
-@@ -64,12 +64,12 @@ base::LazyInstance<CookieOSCryptoDelegate>::Destructor
- net::CookieCryptoDelegate* GetCookieCryptoDelegate() {
- return g_cookie_crypto_delegate.Pointer();
- }
--#else // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#else // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- net::CookieCryptoDelegate* GetCookieCryptoDelegate() {
- return NULL;
- }
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- } // namespace cookie_config
+ // Use the operating system's mechanisms to encrypt cookies before writing
diff --git a/www/chromium/files/patch-components_crash_content_browser_BUILD.gn b/www/chromium/files/patch-components_crash_content_browser_BUILD.gn
index 40c6cc00fc51..221f981f9392 100644
--- a/www/chromium/files/patch-components_crash_content_browser_BUILD.gn
+++ b/www/chromium/files/patch-components_crash_content_browser_BUILD.gn
@@ -1,5 +1,14 @@
---- components/crash/content/browser/BUILD.gn.orig 2021-05-12 22:05:49 UTC
+--- 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
diff --git a/www/chromium/files/patch-components_crash_content_browser_error__reporting_BUILD.gn b/www/chromium/files/patch-components_crash_content_browser_error__reporting_BUILD.gn
deleted file mode 100644
index cf4bfbc91add..000000000000
--- a/www/chromium/files/patch-components_crash_content_browser_error__reporting_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- components/crash/content/browser/error_reporting/BUILD.gn.orig 2021-04-14 18:40:59 UTC
-+++ components/crash/content/browser/error_reporting/BUILD.gn
-@@ -30,4 +30,10 @@ source_set("mock_crash_endpoint") {
- "//testing/gtest",
- "//url",
- ]
-+
-+ if (is_bsd) {
-+ deps -= [
-+ "//components/crash/core/app",
-+ ]
-+ }
- }
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 768d797d884c..776991495a54 100644
--- a/www/chromium/files/patch-components_crash_core_app_BUILD.gn
+++ b/www/chromium/files/patch-components_crash_core_app_BUILD.gn
@@ -1,11 +1,52 @@
---- components/crash/core/app/BUILD.gn.orig 2021-09-14 01:51:54 UTC
+--- components/crash/core/app/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ components/crash/core/app/BUILD.gn
-@@ -3,7 +3,7 @@
- # found in the LICENSE file.
+@@ -52,7 +52,7 @@ static_library("app") {
+ "crashpad.h",
+ ]
- # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia.
--assert(!is_fuchsia)
-+assert(!is_fuchsia && !is_bsd)
+- 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") {
+ ]
+ }
- import("//components/gwp_asan/buildflags/buildflags.gni")
++ if (is_bsd) {
++ sources -= [ "crashpad.cc" ]
++ }
++
+ defines = [ "CRASH_IMPLEMENTATION" ]
+ public_deps = [ ":lib" ]
+@@ -88,7 +92,7 @@ static_library("app") {
+ libs = [ "log" ]
+ }
+
+- if (is_android || is_linux || is_chromeos) {
++ if ((is_android || is_linux || is_chromeos) && !is_bsd) {
+ deps += [
+ "//base:base_static",
+ "//components/crash/core/common",
+@@ -96,7 +100,7 @@ static_library("app") {
+ ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ deps += [ "//third_party/breakpad:client" ]
+ }
+
+@@ -215,11 +219,6 @@ if (is_mac || is_android || is_linux || is_chromeos) {
+ # define custom UserStreamDataSources.
+ executable("chrome_crashpad_handler") {
+ sources = [ "chrome_crashpad_handler.cc" ]
+-
+- deps = [
+- ":crashpad_handler_main",
+- "//third_party/crashpad/crashpad/handler",
+- ]
+
+ if (is_mac && (is_component_build || is_asan)) {
+ ldflags = [
diff --git a/www/chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc b/www/chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc
new file mode 100644
index 000000000000..a9adae723bc6
--- /dev/null
+++ b/www/chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc
@@ -0,0 +1,12 @@
+--- components/crash/core/app/chrome_crashpad_handler.cc.orig 2022-02-07 13:39:41 UTC
++++ components/crash/core/app/chrome_crashpad_handler.cc
+@@ -6,5 +6,9 @@
+ extern "C" int CrashpadHandlerMain(int argc, char* argv[]);
+
+ int main(int argc, char* argv[]) {
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
++ return -1;
++#else
+ return CrashpadHandlerMain(argc, argv);
++#endif
+ }
diff --git a/www/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
new file mode 100644
index 000000000000..da10773c0ebf
--- /dev/null
+++ b/www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc
@@ -0,0 +1,16 @@
+--- 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
+@@ -51,9 +51,13 @@ std::vector<UploadList::UploadInfo> CrashUploadListCra
+
+ void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin,
+ const base::Time& end) {
++#if !defined(OS_BSD)
+ crash_reporter::ClearReportsBetween(begin, end);
++#endif
+ }
+
+ void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) {
++#if !defined(OS_BSD)
+ crash_reporter::RequestSingleCrashUpload(local_id);
++#endif
+ }
diff --git a/www/chromium/files/patch-components_crash_core_common_BUILD.gn b/www/chromium/files/patch-components_crash_core_common_BUILD.gn
index 265a9e646ba3..61ecc8950ec9 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 2021-04-14 18:40:59 UTC
+--- components/crash/core/common/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ components/crash/core/common/BUILD.gn
-@@ -8,7 +8,7 @@ import("//ios/features.gni")
+@@ -8,7 +8,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,27 +9,7 @@
}
group("common") {
-@@ -34,7 +34,7 @@ use_crashpad_annotation =
- # used for keys. This is intended to be used temporarily to test Crashpad
- # integrations without disabling Breakpad.
- use_combined_annotations =
-- (is_ios && !is_cronet_build) || is_linux || is_chromeos
-+ ((is_ios && !is_cronet_build) || is_linux || is_chromeos) && !is_bsd
-
- buildflag_header("crash_buildflags") {
- header = "crash_buildflags.h"
-@@ -95,7 +95,9 @@ target(crash_key_target_type, "crash_key_lib") {
- sources += [ "crash_key_stubs.cc" ]
- } else if (use_crashpad_annotation) {
- sources += [ "crash_key_crashpad.cc" ]
-- deps += [ "//third_party/crashpad/crashpad/client" ]
-+ if (!is_bsd) {
-+ deps += [ "//third_party/crashpad/crashpad/client" ]
-+ }
- } else {
- include_dirs = [ "//third_party/breakpad/breakpad/src" ]
-
-@@ -190,7 +192,7 @@ source_set("unit_tests") {
+@@ -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/" ]
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 f04a157de106..6dc52dff9502 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 2021-04-14 18:40:59 UTC
+--- 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
-@@ -33,7 +33,7 @@
- #include "components/discardable_memory/common/discardable_shared_memory_heap.h"
- #include "mojo/public/cpp/bindings/self_owned_receiver.h"
+@@ -171,7 +171,7 @@ int64_t GetDefaultMemoryLimit() {
+ // Limits the number of FDs used to 32, assuming a 4MB allocation size.
+ int64_t max_default_memory_limit = 128 * kMegabyte;
+ #else
+- int64_t max_default_memory_limit = 512 * kMegabyte;
++ int64_t max_default_memory_limit = 128 * kMegabyte;
+ #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/files/file_path.h"
- #include "base/files/file_util.h"
- #include "base/metrics/histogram_macros.h"
+ // Use 1/8th of discardable memory on low-end devices.
diff --git a/www/chromium/files/patch-components_download_internal_common_download__utils.cc b/www/chromium/files/patch-components_download_internal_common_download__utils.cc
deleted file mode 100644
index ebcc7d0c85af..000000000000
--- a/www/chromium/files/patch-components_download_internal_common_download__utils.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/download/internal/common/download_utils.cc.orig 2021-12-16 14:59:11 UTC
-+++ components/download/internal/common/download_utils.cc
-@@ -55,7 +55,7 @@ const int kDefaultDownloadExpiredTimeInDays = 90;
- const int kDefaultOverwrittenDownloadExpiredTimeInDays = 90;
-
- // Default buffer size in bytes to write to the download file.
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
- const int kDefaultDownloadFileBufferSize = 524288; // Desktop uses 512 KB.
- #else
- const int kDefaultDownloadFileBufferSize = 4096;
diff --git a/www/chromium/files/patch-components_download_public_common_download__features.cc b/www/chromium/files/patch-components_download_public_common_download__features.cc
deleted file mode 100644
index 5e7774a3dca3..000000000000
--- a/www/chromium/files/patch-components_download_public_common_download__features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/download/public/common/download_features.cc.orig 2021-12-31 00:57:29 UTC
-+++ components/download/public/common/download_features.cc
-@@ -68,7 +68,7 @@ const base::Feature kDeleteOverwrittenDownloads{
-
- const base::Feature kAllowFileBufferSizeControl{
- "AllowFileBufferSizeControl",
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
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 92f5f84d5c6c..9a31196f60ff 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,20 +1,11 @@
---- components/feature_engagement/public/event_constants.cc.orig 2021-12-31 00:57:29 UTC
+--- components/feature_engagement/public/event_constants.cc.orig 2022-02-07 13:39:41 UTC
+++ components/feature_engagement/public/event_constants.cc
-@@ -10,7 +10,7 @@ namespace feature_engagement {
-
+@@ -11,7 +11,7 @@ namespace feature_engagement {
namespace events {
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
const char kNewTabOpened[] = "new_tab_opened";
const char kSixthTabOpened[] = "sixth_tab_opened";
-@@ -47,7 +47,7 @@ const char kFocusHelpBubbleAcceleratorPressed[] =
- const char kFocusHelpBubbleAcceleratorPromoRead[] =
- "focus_help_bubble_accelerator_promo_read";
-
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-
- #if defined(OS_IOS)
+ const char kTabGroupCreated[] = "tab_group_created";
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 99f20f667ff6..947885aa24dc 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,20 +1,11 @@
---- components/feature_engagement/public/event_constants.h.orig 2021-12-31 00:57:29 UTC
+--- components/feature_engagement/public/event_constants.h.orig 2022-02-07 13:39:41 UTC
+++ components/feature_engagement/public/event_constants.h
-@@ -12,7 +12,7 @@ namespace feature_engagement {
- namespace events {
+@@ -13,7 +13,7 @@ namespace events {
// Desktop
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
// The user has explicitly opened a new tab via an entry point from inside of
// Chrome.
-@@ -75,7 +75,7 @@ extern const char kFocusHelpBubbleAcceleratorPressed[]
- // the user.
- extern const char kFocusHelpBubbleAcceleratorPromoRead[];
-
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-
- #if defined(OS_IOS)
+ extern const char kNewTabOpened[];
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 4595f8f47898..6c899feda6b7 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,20 +1,11 @@
---- components/feature_engagement/public/feature_configurations.cc.orig 2021-12-31 00:57:29 UTC
+--- components/feature_engagement/public/feature_configurations.cc.orig 2022-02-07 13:39:41 UTC
+++ components/feature_engagement/public/feature_configurations.cc
-@@ -12,7 +12,7 @@ namespace feature_engagement {
-
+@@ -13,7 +13,7 @@ namespace feature_engagement {
absl::optional<FeatureConfig> GetClientSideFeatureConfig(
const base::Feature* feature) {
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
if (kIPHPasswordsAccountStorageFeature.name == feature->name) {
absl::optional<FeatureConfig> config = FeatureConfig();
-@@ -87,7 +87,7 @@ absl::optional<FeatureConfig> GetClientSideFeatureConf
- Comparator(EQUAL, 0), 7, 360));
- return config;
- }
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_ANDROID)
+ config->valid = true;
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 e7a5f9d92524..c0efb5eda38f 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,24 +1,15 @@
---- components/feature_engagement/public/feature_constants.cc.orig 2021-12-31 00:57:29 UTC
+--- components/feature_engagement/public/feature_constants.cc.orig 2022-02-07 13:39:41 UTC
+++ components/feature_engagement/public/feature_constants.cc
-@@ -19,7 +19,7 @@ const base::Feature kUseClientConfigIPH{"UseClientConf
- const base::Feature kIPHDummyFeature{"IPH_Dummy",
+@@ -20,7 +20,7 @@ const base::Feature kIPHDummyFeature{"IPH_Dummy",
base::FEATURE_DISABLED_BY_DEFAULT};
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
const base::Feature kIPHDesktopSharedHighlightingFeature{
"IPH_DesktopSharedHighlighting", base::FEATURE_DISABLED_BY_DEFAULT};
-@@ -53,7 +53,7 @@ const base::Feature kIPHDesktopPwaInstallFeature{
- "IPH_DesktopPwaInstall", base::FEATURE_ENABLED_BY_DEFAULT};
- const base::Feature kIPHProfileSwitchFeature{"IPH_ProfileSwitch",
- base::FEATURE_ENABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-
- #if defined(OS_ANDROID)
-@@ -232,12 +232,12 @@ const base::Feature kIPHDiscoverFeedHeaderFeature{
+ const base::Feature kIPHDesktopTabGroupsNewGroupFeature{
+@@ -257,7 +257,7 @@ const base::Feature kIPHDiscoverFeedHeaderFeature{
"IPH_DiscoverFeedHeaderMenu", base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_IOS)
@@ -27,9 +18,3 @@
defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_FUCHSIA)
const base::Feature kIPHUpdatedConnectionSecurityIndicatorsFeature{
"IPH_UpdatedConnectionSecurityIndicators",
- base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_FUCHSIA)
-
- } // namespace feature_engagement
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 52e9e13a5765..23dfbab1568e 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,24 +1,15 @@
---- components/feature_engagement/public/feature_constants.h.orig 2021-12-31 00:57:29 UTC
+--- components/feature_engagement/public/feature_constants.h.orig 2022-02-07 13:39:41 UTC
+++ components/feature_engagement/public/feature_constants.h
-@@ -29,7 +29,7 @@ extern const base::Feature kUseClientConfigIPH;
- // A feature to ensure all arrays can contain at least one feature.
+@@ -30,7 +30,7 @@ extern const base::Feature kUseClientConfigIPH;
extern const base::Feature kIPHDummyFeature;
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
extern const base::Feature kIPHDesktopSharedHighlightingFeature;
extern const base::Feature kIPHDesktopTabGroupsNewGroupFeature;
-@@ -48,7 +48,7 @@ extern const base::Feature kIPHDesktopSnoozeFeature;
- extern const base::Feature kIPHDesktopPwaInstallFeature;
- extern const base::Feature kIPHProfileSwitchFeature;
- extern const base::Feature kIPHUpdatedConnectionSecurityIndicatorsFeature;
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-
- // All the features declared for Android below that are also used in Java,
-@@ -147,7 +147,7 @@ extern const base::Feature kIPHBadgedTranslateManualTr
+ extern const base::Feature kIPHFocusHelpBubbleScreenReaderPromoFeature;
+@@ -160,7 +160,7 @@ extern const base::Feature kIPHBadgedTranslateManualTr
extern const base::Feature kIPHDiscoverFeedHeaderFeature;
#endif // defined(OS_IOS)
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 7d99f329f48d..f5ac07fda73e 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,20 +1,11 @@
---- components/feature_engagement/public/feature_list.cc.orig 2021-12-31 00:57:29 UTC
+--- components/feature_engagement/public/feature_list.cc.orig 2022-02-07 13:39:41 UTC
+++ components/feature_engagement/public/feature_list.cc
-@@ -102,7 +102,7 @@ const base::Feature* const kAllFeatures[] = {
- &kIPHBadgedTranslateManualTriggerFeature,
+@@ -111,7 +111,7 @@ const base::Feature* const kAllFeatures[] = {
&kIPHDiscoverFeedHeaderFeature,
#endif // defined(OS_IOS)
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
&kIPHDesktopTabGroupsNewGroupFeature,
&kIPHFocusHelpBubbleScreenReaderPromoFeature,
-@@ -120,7 +120,7 @@ const base::Feature* const kAllFeatures[] = {
- &kIPHProfileSwitchFeature,
- &kIPHUpdatedConnectionSecurityIndicatorsFeature,
- &kIPHDesktopSharedHighlightingFeature,
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
- };
- } // namespace
+ &kIPHGMCCastStartStopFeature,
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 624f57ff14cf..e419c34ff30b 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,38 +1,20 @@
---- components/feature_engagement/public/feature_list.h.orig 2021-12-31 00:57:29 UTC
+--- components/feature_engagement/public/feature_list.h.orig 2022-02-07 13:39:41 UTC
+++ components/feature_engagement/public/feature_list.h
-@@ -189,7 +189,7 @@ DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature,
- "IPH_DiscoverFeedHeaderMenu");
+@@ -211,7 +211,7 @@ DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature,
#endif // defined(OS_IOS)
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature,
"IPH_DesktopTabGroupsNewGroup");
-@@ -215,7 +215,7 @@ DEFINE_VARIATION_PARAM(kIPHUpdatedConnectionSecurityIn
- "IPH_UpdatedConnectionSecurityIndicators");
- DEFINE_VARIATION_PARAM(kIPHDesktopSharedHighlightingFeature,
- "IPH_DesktopSharedHighlighting");
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-
- } // namespace
-@@ -311,7 +311,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
- VARIATION_ENTRY(kIPHReadingListMessagesFeature),
+ DEFINE_VARIATION_PARAM(kIPHFocusModeFeature, "IPH_FocusMode");
+@@ -336,7 +336,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature),
VARIATION_ENTRY(kIPHDiscoverFeedHeaderFeature),
--#elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ #elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature),
VARIATION_ENTRY(kIPHFocusModeFeature),
-@@ -330,7 +330,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
- VARIATION_ENTRY(kIPHProfileSwitchFeature),
- VARIATION_ENTRY(kIPHUpdatedConnectionSecurityIndicatorsFeature),
- VARIATION_ENTRY(kIPHDesktopSharedHighlightingFeature),
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
- };
-
+ VARIATION_ENTRY(kIPHGlobalMediaControls),
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 cd037b923b9e..4ad27dcfe4e3 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 2021-12-14 11:45:03 UTC
+--- components/feed/core/v2/proto_util.cc.orig 2022-02-07 13:39:41 UTC
+++ components/feed/core/v2/proto_util.cc
-@@ -86,8 +86,8 @@ feedwire::Version GetPlatformVersionMessage() {
+@@ -88,8 +88,8 @@ feedwire::Version GetPlatformVersionMessage() {
int32_t major, minor, revision;
base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision);
@@ -11,7 +11,7 @@
result.set_revision(revision);
#if defined(OS_ANDROID)
result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int());
-@@ -102,8 +102,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf
+@@ -104,8 +104,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_flags__ui_flags__state.cc b/www/chromium/files/patch-components_flags__ui_flags__state.cc
index c78293356fad..06b191b71cc1 100644
--- a/www/chromium/files/patch-components_flags__ui_flags__state.cc
+++ b/www/chromium/files/patch-components_flags__ui_flags__state.cc
@@ -1,11 +1,11 @@
---- components/flags_ui/flags_state.cc.orig 2021-12-31 00:57:29 UTC
+--- components/flags_ui/flags_state.cc.orig 2022-02-07 13:39:41 UTC
+++ components/flags_ui/flags_state.cc
-@@ -653,7 +653,7 @@ unsigned short FlagsState::GetCurrentPlatform() {
- return kOsWin;
+@@ -654,7 +654,7 @@ unsigned short FlagsState::GetCurrentPlatform() {
#elif BUILDFLAG(IS_CHROMEOS_ASH)
return kOsCrOS;
--#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-+#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_FREEBSD) || \
- defined(OS_OPENBSD)
+ #elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
+- defined(OS_OPENBSD)
++ defined(OS_BSD)
return kOsLinux;
#elif defined(OS_ANDROID)
+ return kOsAndroid;
diff --git a/www/chromium/files/patch-components_gcm__driver_gcm__client.h b/www/chromium/files/patch-components_gcm__driver_gcm__client.h
deleted file mode 100644
index e287169c3226..000000000000
--- a/www/chromium/files/patch-components_gcm__driver_gcm__client.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- components/gcm_driver/gcm_client.h.orig 2021-04-14 18:40:59 UTC
-+++ components/gcm_driver/gcm_client.h
-@@ -87,6 +87,7 @@ class GCMClient {
- PLATFORM_CROS,
- PLATFORM_IOS,
- PLATFORM_ANDROID,
-+ PLATFORM_BSD,
- PLATFORM_UNSPECIFIED
- };
-
diff --git a/www/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc b/www/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc
deleted file mode 100644
index 57e2d63a96cc..000000000000
--- a/www/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- components/gcm_driver/gcm_client_impl.cc.orig 2021-09-14 01:51:54 UTC
-+++ components/gcm_driver/gcm_client_impl.cc
-@@ -133,6 +133,9 @@ void ToCheckinProtoVersion(
- case GCMClient::PLATFORM_CROS:
- platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_CROS;
- break;
-+ case GCMClient::PLATFORM_BSD:
-+ platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_LINUX;
-+ break;
- case GCMClient::PLATFORM_UNSPECIFIED:
- // For unknown platform, return as LINUX.
- platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_LINUX;
diff --git a/www/chromium/files/patch-components_gwp__asan_BUILD.gn b/www/chromium/files/patch-components_gwp__asan_BUILD.gn
index e7478bf72385..ebe0c373318b 100644
--- a/www/chromium/files/patch-components_gwp__asan_BUILD.gn
+++ b/www/chromium/files/patch-components_gwp__asan_BUILD.gn
@@ -1,10 +1,11 @@
---- components/gwp_asan/BUILD.gn.orig 2021-04-14 18:40:59 UTC
+--- components/gwp_asan/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ components/gwp_asan/BUILD.gn
-@@ -20,4 +20,7 @@ test("gwp_asan_unittests") {
+@@ -14,7 +14,7 @@ test("gwp_asan_unittests") {
+ "//components/gwp_asan/common:unit_tests",
+ "//testing/gtest",
+ ]
+- if (is_win || is_mac || is_linux || is_chromeos || is_android) {
++ if ((is_win || is_mac || is_linux || is_chromeos || is_android) && !is_bsd) {
+ deps += [
+ "//components/gwp_asan/client:unit_tests",
"//components/gwp_asan/crash_handler:unit_tests",
- ]
- }
-+ if (is_bsd) {
-+ deps -= [ "//components/gwp_asan/crash_handler:unit_tests" ]
-+ }
- }
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
new file mode 100644
index 000000000000..bd90464fb692
--- /dev/null
+++ b/www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc
@@ -0,0 +1,20 @@
+--- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2022-02-07 13:39:41 UTC
++++ components/gwp_asan/crash_handler/crash_analyzer.cc
+@@ -26,7 +26,7 @@
+ #include "third_party/crashpad/crashpad/snapshot/process_snapshot.h"
+ #include "third_party/crashpad/crashpad/util/process/process_memory.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ #include <signal.h>
+ #elif defined(OS_APPLE)
+ #include <mach/exception_types.h>
+@@ -81,7 +81,7 @@ bool CrashAnalyzer::GetExceptionInfo(
+
+ crashpad::VMAddress CrashAnalyzer::GetAccessAddress(
+ const crashpad::ExceptionSnapshot& exception) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ if (exception.Exception() == SIGSEGV || exception.Exception() == SIGBUS)
+ return exception.ExceptionAddress();
+ #elif defined(OS_APPLE)
diff --git a/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc b/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc
index 3e15ce7b318f..895324b3352a 100644
--- a/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc
+++ b/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc
@@ -1,11 +1,11 @@
---- components/invalidation/impl/invalidation_switches.cc.orig 2021-07-19 18:45:13 UTC
+--- components/invalidation/impl/invalidation_switches.cc.orig 2022-02-07 13:39:41 UTC
+++ components/invalidation/impl/invalidation_switches.cc
-@@ -20,7 +20,7 @@ const int kDefaultInstanceIDTokenTTLSeconds = 14 * 24
-
+@@ -21,7 +21,7 @@ const int kDefaultInstanceIDTokenTTLSeconds = 14 * 24
const base::Feature kSyncInstanceIDTokenTTL {
"SyncInstanceIDTokenTTL",
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_IOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || defined(OS_IOS)
++ defined(OS_CHROMEOS) || defined(OS_IOS) || defined(OS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc b/www/chromium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc
deleted file mode 100644
index 66e7d6ee64b8..000000000000
--- a/www/chromium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/keyed_service/core/dependency_graph_unittest.cc.orig 2021-04-14 18:40:59 UTC
-+++ components/keyed_service/core/dependency_graph_unittest.cc
-@@ -9,7 +9,11 @@
- #include "components/keyed_service/core/dependency_graph.h"
- #include "components/keyed_service/core/dependency_node.h"
- #include "testing/gtest/include/gtest/gtest.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace {
-
diff --git a/www/chromium/files/patch-components_metrics_BUILD.gn b/www/chromium/files/patch-components_metrics_BUILD.gn
deleted file mode 100644
index 1b10b303cd69..000000000000
--- a/www/chromium/files/patch-components_metrics_BUILD.gn
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/metrics/BUILD.gn.orig 2021-12-31 00:57:29 UTC
-+++ components/metrics/BUILD.gn
-@@ -187,6 +187,11 @@ static_library("metrics") {
- if (is_fuchsia) {
- sources += [ "drive_metrics_provider_fuchsia.cc" ]
- }
-+
-+ if (is_bsd) {
-+ sources -= [ "system_memory_stats_recorder_linux.cc" ]
-+ }
-+
- }
-
- if (is_android) {
diff --git a/www/chromium/files/patch-components_metrics_metrics__log.cc b/www/chromium/files/patch-components_metrics_metrics__log.cc
deleted file mode 100644
index f22e7b0964a3..000000000000
--- a/www/chromium/files/patch-components_metrics_metrics__log.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/metrics/metrics_log.cc.orig 2021-12-31 00:57:29 UTC
-+++ components/metrics/metrics_log.cc
-@@ -342,7 +342,7 @@ void MetricsLog::RecordCoreSystemProfile(
- // OperatingSystemVersion refers to the ChromeOS release version.
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- os->set_kernel_version(base::SysInfo::KernelVersion());
--#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- // Linux operating system version is copied over into kernel version to be
- // consistent.
- os->set_kernel_version(base::SysInfo::OperatingSystemVersion());
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
index cea7edadf5b3..059f13e07742 100644
--- a/www/chromium/files/patch-components_new__or__sad__tab__strings.grdp
+++ b/www/chromium/files/patch-components_new__or__sad__tab__strings.grdp
@@ -1,11 +1,11 @@
---- components/new_or_sad_tab_strings.grdp.orig 2021-12-14 11:45:03 UTC
+--- components/new_or_sad_tab_strings.grdp.orig 2022-02-07 13:39:41 UTC
+++ components/new_or_sad_tab_strings.grdp
@@ -51,7 +51,7 @@
Open page in a new Incognito window (⇧⌘N)
</message>
</if>
- <if expr="is_win or is_linux or is_fuchsia or chromeos">
-+ <if expr="is_win or is_linux or is_fuchsia or chromeos or is_bsd">
++ <if expr="is_win or is_posix or is_fuchsia or chromeos">
<message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode.">
Open page in a new Incognito window (Ctrl-Shift-N)
</message>
@@ -32,7 +32,7 @@
</message>
</if>
- <if expr="is_win or is_linux or is_macosx or is_fuchsia or chromeos">
-+ <if expr="is_win or is_linux or is_macosx or is_fuchsia or chromeos or is_bsd">
++ <if expr="is_win or is_posix or is_macosx or is_fuchsia or chromeos">
<message name="IDS_SAD_TAB_RELOAD_RESTART_DEVICE" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart their computer.">
Restart your computer
</message>
@@ -41,7 +41,7 @@
</message>
</if>
- <if expr="is_win or is_linux or is_macosx or is_fuchsia or chromeos">
-+ <if expr="is_win or is_linux or is_macosx or is_fuchsia or chromeos or is_bsd">
++ <if expr="is_win or is_posix or is_macosx or is_fuchsia or chromeos">
<message name="IDS_SAD_TAB_ERROR_CODE" desc="The message displayed on the crashed web page indicating the type of the crash.">
Error code: <ph name="ERROR_CODE">$1<ex>STATUS_ACCESS_VIOLATION</ex></ph>
</message>
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
new file mode 100644
index 000000000000..d81e53fa3c1f
--- /dev/null
+++ b/www/chromium/files/patch-components_os__crypt_keyring__util__linux.cc
@@ -0,0 +1,17 @@
+--- components/os_crypt/keyring_util_linux.cc.orig 2022-02-07 13:39:41 UTC
++++ components/os_crypt/keyring_util_linux.cc
+@@ -69,12 +69,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
new file mode 100644
index 000000000000..8c33525f1c23
--- /dev/null
+++ b/www/chromium/files/patch-components_os__crypt_libsecret__util__linux.cc
@@ -0,0 +1,18 @@
+--- components/os_crypt/libsecret_util_linux.cc.orig 2022-02-07 13:39:41 UTC
++++ components/os_crypt/libsecret_util_linux.cc
+@@ -101,13 +101,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
index d50931d7c7c3..375548c8db43 100644
--- a/www/chromium/files/patch-components_os__crypt_os__crypt.h
+++ b/www/chromium/files/patch-components_os__crypt_os__crypt.h
@@ -1,18 +1,15 @@
---- components/os_crypt/os_crypt.h.orig 2021-12-14 11:45:03 UTC
+--- components/os_crypt/os_crypt.h.orig 2022-02-07 13:39:41 UTC
+++ components/os_crypt/os_crypt.h
-@@ -17,9 +17,9 @@
+@@ -16,7 +16,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
class KeyStorageLinux;
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
- #if defined(OS_WIN) || defined(OS_MAC)
- class PrefRegistrySimple;
-@@ -42,16 +42,16 @@ class OSCrypt {
+@@ -41,7 +41,7 @@ class OSCrypt {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -21,18 +18,16 @@
// Set the configuration of OSCrypt.
static COMPONENT_EXPORT(OS_CRYPT) void SetConfig(
std::unique_ptr<os_crypt::Config> config);
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+@@ -49,7 +49,7 @@ class OSCrypt {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
- #if defined(OS_APPLE) || defined(OS_WIN) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_APPLE) || defined(OS_WIN) || \
++#if defined(OS_APPLE) || defined(OS_WIN) || defined(OS_BSD) || \
+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
// On Linux returns true iff the real secret key (not hardcoded one) is
// available. On MacOS returns true if Keychain is available (for mock
- // Keychain it returns true if not using locked Keychain, false if using
-@@ -142,7 +142,7 @@ class OSCrypt {
+@@ -141,7 +141,7 @@ class OSCrypt {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -41,11 +36,3 @@
// For unit testing purposes, inject methods to be used.
// |get_key_storage_mock| provides the desired |KeyStorage| implementation.
// If the provider returns |nullptr|, a hardcoded password will be used.
-@@ -157,6 +157,6 @@ void UseMockKeyStorageForTesting(
- // Clears any caching and most lazy initialisations performed by the production
- // code. Should be used after any test which required a password.
- COMPONENT_EXPORT(OS_CRYPT) void ClearCacheForTesting();
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
-
- #endif // COMPONENTS_OS_CRYPT_OS_CRYPT_H_
diff --git a/www/chromium/files/patch-components_os__crypt_os__crypt__unittest.cc b/www/chromium/files/patch-components_os__crypt_os__crypt__unittest.cc
deleted file mode 100644
index c8463d5980eb..000000000000
--- a/www/chromium/files/patch-components_os__crypt_os__crypt__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/os_crypt/os_crypt_unittest.cc.orig 2021-04-14 18:40:59 UTC
-+++ components/os_crypt/os_crypt_unittest.cc
-@@ -21,7 +21,7 @@
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- #include "components/os_crypt/os_crypt_mocker_linux.h"
- #endif
-
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 d81f0a3b2eb7..3b7dc8695422 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,6 +1,6 @@
---- components/paint_preview/browser/paint_preview_client.cc.orig 2021-12-14 11:45:03 UTC
+--- components/paint_preview/browser/paint_preview_client.cc.orig 2022-02-07 13:39:41 UTC
+++ components/paint_preview/browser/paint_preview_client.cc
-@@ -312,8 +312,8 @@ void PaintPreviewClient::CapturePaintPreview(
+@@ -313,8 +313,8 @@ void PaintPreviewClient::CapturePaintPreview(
metadata->set_url(url.spec());
metadata->set_version(kPaintPreviewVersion);
auto* chromeVersion = metadata->mutable_chrome_version();
diff --git a/www/chromium/files/patch-components_performance__manager_graph_process__node__impl__describer.cc b/www/chromium/files/patch-components_performance__manager_graph_process__node__impl__describer.cc
deleted file mode 100644
index b39a35983621..000000000000
--- a/www/chromium/files/patch-components_performance__manager_graph_process__node__impl__describer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/performance_manager/graph/process_node_impl_describer.cc.orig 2021-12-14 11:45:03 UTC
-+++ components/performance_manager/graph/process_node_impl_describer.cc
-@@ -84,7 +84,7 @@ base::Value GetProcessValueDict(const base::Process& p
- if (process.IsValid()) {
- // These properties can only be accessed for valid processes.
- ret.SetIntKey("os_priority", process.GetPriority());
--#if !defined(OS_APPLE)
-+#if !defined(OS_APPLE) && !defined(OS_BSD)
- ret.SetBoolKey("is_backgrounded", process.IsProcessBackgrounded());
- #endif
- #if !defined(OS_ANDROID) && !defined(OS_WIN)
diff --git a/www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc b/www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc
index 5fb50202c92f..9b4a6f8dffc4 100644
--- a/www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc
+++ b/www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc
@@ -1,11 +1,11 @@
---- components/permissions/prediction_service/prediction_service_common.cc.orig 2021-04-14 18:41:00 UTC
+--- components/permissions/prediction_service/prediction_service_common.cc.orig 2022-02-07 13:39:41 UTC
+++ components/permissions/prediction_service/prediction_service_common.cc
-@@ -12,7 +12,7 @@
-
+@@ -13,7 +13,7 @@
namespace permissions {
ClientFeatures_Platform GetCurrentPlatformProto() {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
return permissions::ClientFeatures_Platform_PLATFORM_DESKTOP;
#elif defined(OS_ANDROID) || defined(OS_FUCHSIA)
+ return permissions::ClientFeatures_Platform_PLATFORM_MOBILE;
diff --git a/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc b/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc
deleted file mode 100644
index bd66bf6a0ca8..000000000000
--- a/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/plugins/renderer/plugin_placeholder.cc.orig 2021-04-14 18:41:00 UTC
-+++ components/plugins/renderer/plugin_placeholder.cc
-@@ -17,7 +17,11 @@
- #include "third_party/blink/public/web/web_plugin_container.h"
- #include "third_party/blink/public/web/web_script_source.h"
- #include "third_party/blink/public/web/web_serialized_script_value.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif // defined(OS_BSD)
-
- namespace plugins {
-
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
deleted file mode 100644
index 92fe624459ae..000000000000
--- a/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2021-09-24 04:26:04 UTC
-+++ components/policy/core/browser/policy_pref_mapping_test.cc
-@@ -339,6 +339,8 @@ class PolicyTestCase {
- const std::string os("mac");
- #elif defined(OS_WIN)
- const std::string os("win");
-+#elif defined(OS_FREEBSD)
-+ const std::string os("freebsd");
- #else
- #error "Unknown platform"
- #endif
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 d9499071cf50..6d61521bd135 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 2021-12-14 11:45:03 UTC
+--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2022-02-07 13:39:41 UTC
+++ components/policy/core/common/cloud/cloud_policy_client.cc
-@@ -393,7 +393,7 @@ void CloudPolicyClient::FetchPolicy() {
+@@ -418,7 +418,7 @@ void CloudPolicyClient::FetchPolicy() {
fetch_request->set_invalidation_payload(invalidation_payload_);
}
}
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 975f84791e06..79d961d9684c 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,4 +1,4 @@
---- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2021-12-31 00:57:30 UTC
+--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2022-02-07 13:39:41 UTC
+++ components/policy/core/common/cloud/cloud_policy_util.cc
@@ -18,7 +18,7 @@
#include <wincred.h>
@@ -9,7 +9,7 @@
#include <pwd.h>
#include <sys/types.h>
#include <unistd.h>
-@@ -33,7 +33,7 @@
+@@ -33,10 +33,14 @@
#import <SystemConfiguration/SCDynamicStoreCopySpecific.h>
#endif
@@ -18,7 +18,14 @@
#include <limits.h> // For HOST_NAME_MAX
#endif
-@@ -67,7 +67,7 @@
++#if defined(OS_FREEBSD)
++#define HOST_NAME_MAX MAXHOSTNAMELEN
++#endif
++
+ #include <utility>
+
+ #include "base/check.h"
+@@ -67,7 +71,7 @@
#include "base/system/sys_info.h"
#endif
@@ -27,26 +34,24 @@
#include "base/system/sys_info.h"
#endif
-@@ -85,6 +85,10 @@ std::string GetMachineName() {
+@@ -80,7 +84,7 @@ namespace policy {
+ namespace em = enterprise_management;
+
+ std::string GetMachineName() {
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ char hostname[HOST_NAME_MAX];
if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
return hostname;
- return std::string();
-+#elif defined(OS_BSD)
-+ char hostname[MAXHOSTNAMELEN];
-+ if (gethostname(hostname, MAXHOSTNAMELEN) == 0)
-+ return hostname;
- #elif defined(OS_IOS)
- // Use the Vendor ID as the machine name.
- return ios::device_util::GetVendorId();
-@@ -137,7 +141,7 @@ std::string GetMachineName() {
- }
+@@ -138,7 +142,7 @@ std::string GetMachineName() {
std::string GetOSVersion() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || defined(OS_BSD) || \
- defined(OS_ANDROID) || defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || \
+- defined(OS_ANDROID) || defined(OS_FUCHSIA)
++ defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
return base::SysInfo::OperatingSystemVersion();
#elif defined(OS_WIN)
+ base::win::OSInfo::VersionNumber version_number =
@@ -161,7 +165,7 @@ std::string GetOSArchitecture() {
}
diff --git a/www/chromium/files/patch-components_policy_core_common_schema.cc b/www/chromium/files/patch-components_policy_core_common_schema.cc
deleted file mode 100644
index 0b9c94c62291..000000000000
--- a/www/chromium/files/patch-components_policy_core_common_schema.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/policy/core/common/schema.cc.orig 2021-09-14 01:51:55 UTC
-+++ components/policy/core/common/schema.cc
-@@ -25,7 +25,11 @@
- #include "base/strings/stringprintf.h"
- #include "components/policy/core/common/json_schema_constants.h"
- #include "components/policy/core/common/schema_internal.h"
-+#if defined(OS_FREEBSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace schema = json_schema_constants;
-
diff --git a/www/chromium/files/patch-components_policy_resources_policy__templates.json b/www/chromium/files/patch-components_policy_resources_policy__templates.json
index 35f589ffdff6..065a03eed3d4 100644
--- a/www/chromium/files/patch-components_policy_resources_policy__templates.json
+++ b/www/chromium/files/patch-components_policy_resources_policy__templates.json
@@ -1,74 +1,191 @@
---- components/policy/resources/policy_templates.json.orig 2021-12-31 00:57:30 UTC
+--- components/policy/resources/policy_templates.json.orig 2022-02-07 13:39:41 UTC
+++ components/policy/resources/policy_templates.json
-@@ -1312,7 +1312,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'],
- 'type': 'string',
- 'schema': { 'type': 'string' },
-- 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:81-'],
-+ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:81-', 'chrome.freebsd:9-'],
+@@ -1398,7 +1398,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': {
- 'can_be_recommended': True,
'dynamic_refresh': True,
-@@ -1338,7 +1338,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'],
+ 'per_profile': False,
+@@ -2500,7 +2500,7 @@
+ 'owners': ['file://remoting/OWNERS', 'jamiewalch@chromium.org'],
'type': 'main',
'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
-+ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.freebsd:9-'],
+- 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-'],
++ 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome.openbsd:25-', 'chrome.freebsd:25-'],
'features': {
- 'can_be_recommended': True,
'dynamic_refresh': True,
-@@ -1369,7 +1369,7 @@
- 'owners': ['file://components/policy/resources/OWNERS', 'okalitova@chromium.org'],
+ 'per_profile': False,
+@@ -4231,7 +4231,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,
+@@ -4260,7 +4260,7 @@
+ 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@chromium.org'],
'type': 'string',
'schema': { 'type': 'string' },
-- 'supported_on': ['chrome.*:58-', 'chrome_os:58-'],
-+ 'supported_on': ['chrome.*:58-', 'chrome_os:58-', 'chrome.freebsd:9-'],
+- '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,
+@@ -5174,7 +5174,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': True,
-@@ -5233,7 +5233,7 @@
+ 'per_profile': False,
+@@ -5235,7 +5235,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.freebsd:9-'],
++ 'supported_on': ['chrome.linux:9-','chrome.openbsd:9-','chrome.freebsd:9-'],
'features': {
'dynamic_refresh': False,
'per_profile': False,
-@@ -5299,7 +5299,7 @@
+@@ -5301,7 +5301,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.freebsd: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,
-@@ -10052,7 +10052,7 @@
+@@ -10084,7 +10084,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.freebsd: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,
-@@ -12058,7 +12058,7 @@
+@@ -10178,7 +10178,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,
+@@ -12116,7 +12116,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.freebsd:19-'],
++ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.openbsd:19-', 'chrome.freebsd:19-'],
'features': {
'can_be_recommended': True,
'dynamic_refresh': True,
-@@ -12905,7 +12905,7 @@
+@@ -12963,7 +12963,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.freebsd: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,
+@@ -19753,7 +19753,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,
+@@ -19784,7 +19784,7 @@
+ 'items': { 'type': 'string' }
+ },
+ # Spell checking is provided by macOS, so can't be controlled on Mac.
+- 'supported_on': ['chrome.win:75-', 'chrome.linux:75-', 'chrome_os:75-'],
++ 'supported_on': ['chrome.win:75-', 'chrome.linux:75-', 'chrome_os:75-', 'chrome.openbsd:75-', 'chrome.freebsd:75-'],
+ 'deprecated': True,
+ 'features': {
+ 'can_be_recommended': False,
+@@ -19818,7 +19818,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,
+@@ -20556,7 +20556,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,
+@@ -24742,7 +24742,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,
+@@ -26084,7 +26084,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-'],
++ 'supported_on': ['chrome.linux:83-','chrome.openbsd:83-','chrome.freebsd:83-'],
+ 'features': {
+ 'dynamic_refresh': True,
+ 'per_profile': True,
+@@ -26108,7 +26108,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,
+@@ -27175,7 +27175,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,
+@@ -28410,7 +28410,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,
+@@ -28543,7 +28543,7 @@ When this policy is set, <ph name="PRODUCT_OS_NAME">$2
+ 'owners': ['mattm@chromium.org'],
+ 'type': 'main',
+ 'schema': { 'type': 'boolean' },
+- 'future_on': ['chrome.win', 'chrome.mac', 'chrome.linux'],
++ 'future_on': ['chrome.win', 'chrome.mac', 'chrome.linux', 'chrome.openbsd', 'chrome.freebsd'],
'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 e58ac1b2527f..5775551931ab 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,13 +1,14 @@
---- components/policy/tools/generate_policy_source.py.orig 2021-09-24 04:26:04 UTC
+--- components/policy/tools/generate_policy_source.py.orig 2022-02-07 13:39:41 UTC
+++ components/policy/tools/generate_policy_source.py
-@@ -47,8 +47,9 @@ PLATFORM_STRINGS = {
+@@ -47,8 +47,10 @@ PLATFORM_STRINGS = {
'ios': ['ios'],
'chrome.win': ['win'],
'chrome.linux': ['linux'],
++ 'chrome.openbsd': ['openbsd'],
+ 'chrome.freebsd': ['freebsd'],
'chrome.mac': ['mac'],
- 'chrome.*': ['win', 'mac', 'linux', 'fuchsia'],
-+ 'chrome.*': ['win', 'mac', 'linux', 'fuchsia', 'freebsd'],
++ 'chrome.*': ['win', 'mac', 'linux', 'fuchsia', 'openbsd', 'freebsd'],
'chrome.win7': ['win'],
}
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
new file mode 100644
index 000000000000..dbe88e0227f0
--- /dev/null
+++ b/www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py
@@ -0,0 +1,19 @@
+--- 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
+@@ -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
+ '-t',
+ '--type',
+ help='The platform type. One of android, chromeos, ' +
+- 'linux, mac, win')
++ 'linux, mac, win, openbsd')
+
+ def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command):
+ if opts.type is not None:
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
new file mode 100644
index 000000000000..c6b5aabae0a5
--- /dev/null
+++ b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc
@@ -0,0 +1,11 @@
+--- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2022-02-07 13:39:41 UTC
++++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc
+@@ -107,7 +107,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() {
+ return RTLookupRequest::OS_TYPE_FUCHSIA;
+ #elif defined(OS_IOS)
+ return RTLookupRequest::OS_TYPE_IOS;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return RTLookupRequest::OS_TYPE_LINUX;
+ #elif defined(OS_MAC)
+ return RTLookupRequest::OS_TYPE_MAC;
diff --git a/www/chromium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc b/www/chromium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc
deleted file mode 100644
index e654271973a2..000000000000
--- a/www/chromium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/security_interstitials/content/captive_portal_blocking_page.cc.orig 2021-05-12 22:05:51 UTC
-+++ components/security_interstitials/content/captive_portal_blocking_page.cc
-@@ -108,7 +108,7 @@ std::string CaptivePortalBlockingPage::GetWiFiSSID() c
- wifi_service->GetConnectedNetworkSSID(&ssid, &error);
- if (!error.empty())
- return std::string();
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- ssid = net::GetWifiSSID();
- #elif defined(OS_ANDROID)
- ssid = net::android::GetWifiSSID();
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 1328c8669cb3..4ecd8ea50a30 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 2021-12-14 11:45:04 UTC
+--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc
-@@ -17,7 +17,7 @@
+@@ -19,7 +19,7 @@
#if defined(OS_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
-@@ -51,7 +51,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+@@ -64,7 +64,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
// Initialize font access for Skia.
#if defined(OS_WIN)
content::InitializeDWriteFontProxy();
@@ -18,8 +18,8 @@
mojo::PendingRemote<font_service::mojom::FontService> font_service;
content::UtilityThread::Get()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -70,7 +70,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
- // encoding to PNG or we could provide our own codec implementations.
+@@ -87,7 +87,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+ base::BindOnce([] { SkFontMgr::RefDefault(); }));
// Sanity check that fonts are working.
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
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
index 12417fffad99..678b36a4e364 100644
--- 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
@@ -1,6 +1,6 @@
---- components/startup_metric_utils/browser/startup_metric_utils.cc.orig 2021-09-24 04:26:04 UTC
+--- components/startup_metric_utils/browser/startup_metric_utils.cc.orig 2022-02-07 13:39:41 UTC
+++ components/startup_metric_utils/browser/startup_metric_utils.cc
-@@ -344,7 +344,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time
+@@ -347,7 +347,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time
// Enabling this logic on OS X causes a significant performance regression.
// https://crbug.com/601270
@@ -9,7 +9,7 @@
static bool statics_initialized = false;
base::ThreadPriority previous_priority = base::ThreadPriority::NORMAL;
-@@ -358,7 +358,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time
+@@ -361,7 +361,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();
diff --git a/www/chromium/files/patch-components_storage__monitor_BUILD.gn b/www/chromium/files/patch-components_storage__monitor_BUILD.gn
deleted file mode 100644
index 3533c6ef2cc0..000000000000
--- a/www/chromium/files/patch-components_storage__monitor_BUILD.gn
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/storage_monitor/BUILD.gn.orig 2021-04-14 18:41:00 UTC
-+++ components/storage_monitor/BUILD.gn
-@@ -83,6 +83,13 @@ static_library("storage_monitor") {
- }
- }
-
-+ if (is_bsd) {
-+ sources += [
-+ "storage_monitor_freebsd.cc",
-+ "storage_monitor_freebsd.h",
-+ ]
-+ }
-+
- if (use_udev) {
- if (is_linux || is_chromeos) {
- sources += [
diff --git a/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc b/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc
deleted file mode 100644
index ae47d4729af7..000000000000
--- a/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc
+++ /dev/null
@@ -1,57 +0,0 @@
---- components/storage_monitor/storage_monitor_freebsd.cc.orig 2021-04-15 08:13:26 UTC
-+++ components/storage_monitor/storage_monitor_freebsd.cc
-@@ -0,0 +1,54 @@
-+// 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.
-+
-+// StorageMonitorFreeBSD implementation.
-+
-+#include "components/storage_monitor/storage_monitor_freebsd.h"
-+
-+#include <stdio.h>
-+
-+#include <list>
-+
-+#include "base/bind.h"
-+#include "base/metrics/histogram.h"
-+#include "base/process/kill.h"
-+#include "base/process/launch.h"
-+#include "base/stl_util.h"
-+#include "base/strings/string_number_conversions.h"
-+#include "base/strings/string_util.h"
-+#include "base/strings/utf_string_conversions.h"
-+#include "components/storage_monitor/media_storage_util.h"
-+#include "components/storage_monitor/removable_device_constants.h"
-+#include "components/storage_monitor/storage_info.h"
-+
-+using content::BrowserThread;
-+
-+namespace storage_monitor {
-+
-+namespace {
-+
-+} // namespace
-+
-+StorageMonitorFreeBSD::StorageMonitorFreeBSD() {
-+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-+}
-+
-+StorageMonitorFreeBSD::~StorageMonitorFreeBSD() {
-+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-+}
-+
-+void StorageMonitorFreeBSD::Init() {
-+}
-+
-+bool StorageMonitorFreeBSD::GetStorageInfoForPath(
-+ const base::FilePath& path,
-+ StorageInfo* device_info) const {
-+ return false; // TODO
-+}
-+
-+StorageMonitor* StorageMonitor::CreateInternal() {
-+ return new StorageMonitorFreeBSD();
-+}
-+
-+} // namespace storage_monitor
diff --git a/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.h b/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.h
deleted file mode 100644
index 4077bce30a4e..000000000000
--- a/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.h
+++ /dev/null
@@ -1,48 +0,0 @@
---- components/storage_monitor/storage_monitor_freebsd.h.orig 2021-04-15 08:13:26 UTC
-+++ components/storage_monitor/storage_monitor_freebsd.h
-@@ -0,0 +1,45 @@
-+// 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.
-+
-+// StorageMonitorFreeBSD processes mount point change events, notifies listeners
-+// about the addition and deletion of media devices, and answers queries about
-+// mounted devices.
-+// StorageMonitorFreeBSD lives on the UI thread, and uses ???
-+// the FILE thread to get mount point change events.
-+
-+#ifndef COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_
-+#define COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_
-+
-+#include <map>
-+#include <string>
-+
-+#include "base/compiler_specific.h"
-+#include "base/files/file_path.h"
-+#include "base/files/file_path_watcher.h"
-+#include "base/memory/weak_ptr.h"
-+#include "components/storage_monitor/storage_monitor.h"
-+#include "content/public/browser/browser_thread.h"
-+
-+namespace storage_monitor {
-+
-+class StorageMonitorFreeBSD : public StorageMonitor {
-+ public:
-+ // Should only be called by browser start up code.
-+ // Use StorageMonitor::GetInstance() instead.
-+ explicit StorageMonitorFreeBSD();
-+ virtual ~StorageMonitorFreeBSD();
-+
-+ // Must be called for StorageMonitorFreeBSD to work.
-+ virtual void Init() override;
-+ private:
-+ // StorageMonitor implementation.
-+ virtual bool GetStorageInfoForPath(const base::FilePath& path,
-+ StorageInfo* device_info) const override;
-+
-+ DISALLOW_COPY_AND_ASSIGN(StorageMonitorFreeBSD);
-+};
-+
-+} // namespace storage_monitor
-+
-+#endif // COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_
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 5b28209a44f6..dc28df719946 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,13 +1,14 @@
---- components/sync_device_info/local_device_info_util_linux.cc.orig 2021-04-27 04:07:31 UTC
+--- components/sync_device_info/local_device_info_util_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ components/sync_device_info/local_device_info_util_linux.cc
-@@ -38,8 +38,8 @@ std::string GetPersonalizableDeviceNameInternal() {
- #if BUILDFLAG(IS_CHROMEOS_ASH)
- return GetChromeOSDeviceNameFromType();
- #else
-- char hostname[HOST_NAME_MAX];
-- if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
-+ char hostname[_POSIX_HOST_NAME_MAX];
-+ if (gethostname(hostname, _POSIX_HOST_NAME_MAX) == 0) // Success.
- return hostname;
- return base::GetLinuxDistro();
+@@ -14,6 +14,11 @@
+ #include "ash/constants/devicetype.h"
#endif
+
++#if defined(__FreeBSD__)
++#include <sys/param.h>
++#define HOST_NAME_MAX MAXHOSTNAMELEN
++#endif
++
+ namespace syncer {
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc b/www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc
index aba923668165..a9786e43faac 100644
--- a/www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc
+++ b/www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc
@@ -1,6 +1,6 @@
---- components/translate/core/browser/translate_prefs.cc.orig 2021-12-31 00:57:31 UTC
+--- components/translate/core/browser/translate_prefs.cc.orig 2022-02-07 13:39:41 UTC
+++ components/translate/core/browser/translate_prefs.cc
-@@ -842,7 +842,7 @@ bool TranslatePrefs::CanTranslateLanguage(
+@@ -841,7 +841,7 @@ bool TranslatePrefs::CanTranslateLanguage(
bool TranslatePrefs::IsDetailedLanguageSettingsEnabled() {
#if defined(OS_ANDROID)
return base::FeatureList::IsEnabled(language::kDetailedLanguageSettings);
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 c0d738cd357b..44b87c390f03 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,15 +1,11 @@
---- components/translate/core/common/translate_util.cc.orig 2022-01-21 13:24:45 UTC
+--- components/translate/core/common/translate_util.cc.orig 2022-02-07 13:39:41 UTC
+++ components/translate/core/common/translate_util.cc
-@@ -28,10 +28,10 @@ const base::Feature kTranslateSubFrames{"TranslateSubF
-
+@@ -29,7 +29,7 @@ const base::Feature kTranslateSubFrames{"TranslateSubF
const base::Feature kTFLiteLanguageDetectionEnabled{
"TFLiteLanguageDetectionEnabled",
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
--#else // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_WIN) &&
-+#else // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_WIN) && !defined(OS_BSD) &&
+ #else // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_WIN) &&
// !defined(OS_MAC)
- base::FEATURE_DISABLED_BY_DEFAULT
- #endif
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 c9be6fe741b5..98c42cb55989 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 2021-09-14 01:51:56 UTC
+--- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2022-02-07 13:39:41 UTC
+++ components/url_formatter/spoof_checks/idn_spoof_checker.cc
-@@ -292,7 +292,7 @@ IDNSpoofChecker::IDNSpoofChecker() {
+@@ -285,7 +285,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_url__matcher_regex__set__matcher.cc b/www/chromium/files/patch-components_url__matcher_regex__set__matcher.cc
deleted file mode 100644
index 340ea6fabd6e..000000000000
--- a/www/chromium/files/patch-components_url__matcher_regex__set__matcher.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/url_matcher/regex_set_matcher.cc.orig 2021-04-14 18:41:02 UTC
-+++ components/url_matcher/regex_set_matcher.cc
-@@ -12,8 +12,13 @@
- #include "base/logging.h"
- #include "base/strings/string_util.h"
- #include "components/url_matcher/substring_set_matcher.h"
-+#if defined(OS_BSD)
-+#include <re2/filtered_re2.h>
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/filtered_re2.h"
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace url_matcher {
-
diff --git a/www/chromium/files/patch-components_url__matcher_url__matcher__factory.cc b/www/chromium/files/patch-components_url__matcher_url__matcher__factory.cc
deleted file mode 100644
index 2c376192ea40..000000000000
--- a/www/chromium/files/patch-components_url__matcher_url__matcher__factory.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/url_matcher/url_matcher_factory.cc.orig 2021-04-14 18:41:02 UTC
-+++ components/url_matcher/url_matcher_factory.cc
-@@ -16,7 +16,11 @@
- #include "base/values.h"
- #include "components/url_matcher/url_matcher_constants.h"
- #include "components/url_matcher/url_matcher_helpers.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace url_matcher {
-
diff --git a/www/chromium/files/patch-components_viz_common_features.cc b/www/chromium/files/patch-components_viz_common_features.cc
index b0b010279bfe..684e8ab3872c 100644
--- a/www/chromium/files/patch-components_viz_common_features.cc
+++ b/www/chromium/files/patch-components_viz_common_features.cc
@@ -1,6 +1,6 @@
---- components/viz/common/features.cc.orig 2021-12-14 11:45:04 UTC
+--- components/viz/common/features.cc.orig 2022-02-07 13:39:41 UTC
+++ components/viz/common/features.cc
-@@ -54,7 +54,7 @@ const base::Feature kSimpleFrameRateThrottling{
+@@ -58,7 +58,7 @@ const base::Feature kSimpleFrameRateThrottling{
const base::Feature kUseSkiaRenderer {
"UseSkiaRenderer",
#if defined(OS_WIN) || defined(OS_ANDROID) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
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 4aae1fbeb95c..598a02a6ba55 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,6 +1,6 @@
---- components/viz/host/host_display_client.h.orig 2021-12-14 11:45:04 UTC
+--- components/viz/host/host_display_client.h.orig 2022-02-07 13:39:41 UTC
+++ components/viz/host/host_display_client.h
-@@ -49,7 +49,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom
+@@ -48,7 +48,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
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
new file mode 100644
index 000000000000..4e278ad3a591
--- /dev/null
+++ b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
@@ -0,0 +1,11 @@
+--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2022-02-07 13:39:41 UTC
++++ components/viz/service/display_embedder/skia_output_surface_impl.cc
+@@ -1160,7 +1160,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor
+ ->GetDeviceQueue()
+ ->GetVulkanPhysicalDevice(),
+ VK_IMAGE_TILING_OPTIMAL, ycbcr_info);
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_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,
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 91a306e9752f..6c3d7cc42786 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,6 +1,6 @@
---- components/viz/service/display_embedder/software_output_surface.cc.orig 2021-07-19 18:45:15 UTC
+--- components/viz/service/display_embedder/software_output_surface.cc.orig 2022-02-07 13:39:41 UTC
+++ components/viz/service/display_embedder/software_output_surface.cc
-@@ -115,7 +115,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base::
+@@ -118,7 +118,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base::
now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now;
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,7 +9,7 @@
if (needs_swap_size_notifications_)
client_->DidSwapWithSize(pixel_size);
#endif
-@@ -146,7 +146,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla
+@@ -149,7 +149,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
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 bf63fe2c3cc1..536e4badad98 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,6 +1,6 @@
---- components/viz/service/display_embedder/software_output_surface.h.orig 2021-12-14 11:45:05 UTC
+--- components/viz/service/display_embedder/software_output_surface.h.orig 2022-02-07 13:39:41 UTC
+++ components/viz/service/display_embedder/software_output_surface.h
-@@ -55,7 +55,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
+@@ -56,7 +56,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
gfx::OverlayTransform GetDisplayTransform() override;
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,7 +9,7 @@
void SetNeedsSwapSizeNotifications(
bool needs_swap_size_notifications) override;
#endif
-@@ -77,7 +77,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
+@@ -78,7 +78,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
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 83a0f4f10036..acb82b547461 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,6 +1,6 @@
---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2021-12-31 00:57:31 UTC
+--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
-@@ -60,7 +60,7 @@ RootCompositorFrameSinkImpl::Create(
+@@ -62,7 +62,7 @@ RootCompositorFrameSinkImpl::Create(
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,7 +9,7 @@
// For X11, we need notify client about swap completion after resizing, so the
// client can use it for synchronize with X11 WM.
output_surface->SetNeedsSwapSizeNotifications(true);
-@@ -521,7 +521,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
+@@ -531,7 +531,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
display_client_->DidCompleteSwapWithSize(pixel_size);
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/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 de79acc14ebe..a650a6df96d2 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,6 +1,6 @@
---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2021-12-31 00:57:31 UTC
+--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2022-02-07 13:39:41 UTC
+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
-@@ -188,7 +188,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl
+@@ -189,7 +189,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/chromium/files/patch-components_viz_test_fake__display__client.cc b/www/chromium/files/patch-components_viz_test_fake__display__client.cc
new file mode 100644
index 000000000000..486bdb57d937
--- /dev/null
+++ b/www/chromium/files/patch-components_viz_test_fake__display__client.cc
@@ -0,0 +1,11 @@
+--- components/viz/test/fake_display_client.cc.orig 2022-02-07 13:39:41 UTC
++++ components/viz/test/fake_display_client.cc
+@@ -23,7 +23,7 @@ void FakeDisplayClient::CreateLayeredWindowUpdater(
+ mojo::PendingReceiver<mojom::LayeredWindowUpdater> receiver) {}
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void FakeDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {}
+ #endif
+
diff --git a/www/chromium/files/patch-components_viz_test_fake__output__surface.cc b/www/chromium/files/patch-components_viz_test_fake__output__surface.cc
deleted file mode 100644
index f61fee3e3a98..000000000000
--- a/www/chromium/files/patch-components_viz_test_fake__output__surface.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/test/fake_output_surface.cc.orig 2021-07-19 18:45:15 UTC
-+++ components/viz/test/fake_output_surface.cc
-@@ -119,7 +119,7 @@ gfx::OverlayTransform FakeOutputSurface::GetDisplayTra
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- void FakeOutputSurface::SetNeedsSwapSizeNotifications(
- bool needs_swap_size_notifications) {}
- #endif
diff --git a/www/chromium/files/patch-components_viz_test_fake__output__surface.h b/www/chromium/files/patch-components_viz_test_fake__output__surface.h
deleted file mode 100644
index ce8cc503bbcc..000000000000
--- a/www/chromium/files/patch-components_viz_test_fake__output__surface.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/test/fake_output_surface.h.orig 2021-07-19 18:45:15 UTC
-+++ components/viz/test/fake_output_surface.h
-@@ -88,7 +88,7 @@ class FakeOutputSurface : public OutputSurface {
- gfx::OverlayTransform GetDisplayTransform() override;
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- void SetNeedsSwapSizeNotifications(
- bool needs_swap_size_notifications) override;
- #endif
diff --git a/www/chromium/files/patch-components_webcrypto_algorithms_test__helpers.cc b/www/chromium/files/patch-components_webcrypto_algorithms_test__helpers.cc
deleted file mode 100644
index 0453326ef1f6..000000000000
--- a/www/chromium/files/patch-components_webcrypto_algorithms_test__helpers.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/webcrypto/algorithms/test_helpers.cc.orig 2021-04-14 18:41:02 UTC
-+++ components/webcrypto/algorithms/test_helpers.cc
-@@ -25,7 +25,11 @@
- #include "components/webcrypto/status.h"
- #include "third_party/blink/public/platform/web_crypto_algorithm_params.h"
- #include "third_party/blink/public/platform/web_crypto_key_algorithm.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace webcrypto {
-
diff --git a/www/chromium/files/patch-components_zucchini_main__utils.cc b/www/chromium/files/patch-components_zucchini_main__utils.cc
deleted file mode 100644
index e9f205acc7aa..000000000000
--- a/www/chromium/files/patch-components_zucchini_main__utils.cc
+++ /dev/null
@@ -1,63 +0,0 @@
---- components/zucchini/main_utils.cc.orig 2021-12-31 00:57:31 UTC
-+++ components/zucchini/main_utils.cc
-@@ -80,7 +80,7 @@ constexpr Command kCommands[] = {
-
- /******** GetPeakMemoryMetrics ********/
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Linux does not have an exact mapping to the values used on Windows so use a
- // close approximation:
- // peak_virtual_memory ~= peak_page_file_usage
-@@ -122,7 +122,7 @@ void GetPeakMemoryMetrics(size_t* peak_virtual_memory,
- }
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- // On failure the input values will be set to 0.
-@@ -147,17 +147,17 @@ class ScopedResourceUsageTracker {
- ScopedResourceUsageTracker() {
- start_time_ = base::TimeTicks::Now();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- GetPeakMemoryMetrics(&start_peak_page_file_usage_,
- &start_peak_working_set_size_);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- }
-
- // Computes and prints usage.
- ~ScopedResourceUsageTracker() {
- base::TimeTicks end_time = base::TimeTicks::Now();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- size_t cur_peak_page_file_usage = 0;
- size_t cur_peak_working_set_size = 0;
- GetPeakMemoryMetrics(&cur_peak_page_file_usage, &cur_peak_working_set_size);
-@@ -173,7 +173,7 @@ class ScopedResourceUsageTracker {
- << (cur_peak_working_set_size - start_peak_working_set_size_) /
- 1024
- << " KiB";
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
-
- LOG(INFO) << "Zucchini.TotalTime " << (end_time - start_time_).InSecondsF()
- << " s";
-@@ -181,10 +181,10 @@ class ScopedResourceUsageTracker {
-
- private:
- base::TimeTicks start_time_;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- size_t start_peak_page_file_usage_ = 0;
- size_t start_peak_working_set_size_ = 0;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- };
-
- /******** Helper functions ********/
diff --git a/www/chromium/files/patch-content_app_content__main.cc b/www/chromium/files/patch-content_app_content__main.cc
index e32b81b2dc72..9e63e5f4844b 100644
--- a/www/chromium/files/patch-content_app_content__main.cc
+++ b/www/chromium/files/patch-content_app_content__main.cc
@@ -1,15 +1,6 @@
---- content/app/content_main.cc.orig 2021-09-24 04:26:05 UTC
+--- content/app/content_main.cc.orig 2022-02-07 13:39:41 UTC
+++ content/app/content_main.cc
-@@ -63,7 +63,7 @@
- #include "base/posix/global_descriptors.h"
- #endif
-
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- #include "base/files/scoped_file.h"
- #endif
-
-@@ -243,7 +243,7 @@ RunContentProcess(const ContentMainParams& params,
+@@ -251,7 +251,7 @@ RunContentProcess(ContentMainParams params,
#endif
base::EnableTerminationOnOutOfMemory();
@@ -18,12 +9,3 @@
// 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
-@@ -318,7 +318,7 @@ RunContentProcess(const ContentMainParams& params,
- InitializeMac();
- #endif
-
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- 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 557207448e40..18aeb62ee0a6 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,6 +1,13 @@
---- content/app/content_main_runner_impl.cc.orig 2021-12-31 00:57:31 UTC
+--- content/app/content_main_runner_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ content/app/content_main_runner_impl.cc
-@@ -137,7 +137,7 @@
+@@ -131,13 +131,13 @@
+ #include "base/posix/global_descriptors.h"
+ #include "content/public/common/content_descriptors.h"
+
+-#if !defined(OS_MAC)
++#if !defined(OS_MAC) && !defined(OS_BSD)
+ #include "content/public/common/zygote/zygote_fork_delegate_linux.h"
+ #endif
#endif // OS_POSIX || OS_FUCHSIA
@@ -9,16 +16,20 @@
#include "base/native_library.h"
#include "base/rand_util.h"
#include "content/public/common/zygote/sandbox_support_linux.h"
-@@ -157,7 +157,7 @@
- #include "content/public/common/content_client.h"
+@@ -171,6 +171,12 @@
+ #include "media/base/media_switches.h"
#endif
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if BUILDFLAG(USE_ZYGOTE_HANDLE)
- #include "base/stack_canary_linux.h"
-@@ -344,7 +344,7 @@ void InitializeZygoteSandboxForBrowserProcess(
++#if defined(OS_BSD)
++#include "base/system/sys_info.h"
++#include "content/public/common/sandbox_init.h"
++#include "sandbox/policy/linux/sandbox_linux.h"
++#endif
++
+ #if defined(OS_ANDROID)
+ #include "base/system/sys_info.h"
+ #include "components/power_scheduler/power_scheduler.h"
+@@ -344,7 +350,7 @@ void InitializeZygoteSandboxForBrowserProcess(
}
#endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
@@ -27,16 +38,35 @@
#if BUILDFLAG(ENABLE_PLUGINS)
// Loads the (native) libraries but does not initialize them (i.e., does not
-@@ -432,7 +432,7 @@ void PreSandboxInit() {
+@@ -380,11 +386,14 @@ void PreloadLibraryCdms() {
}
- #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+ #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS)
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+-#if BUILDFLAG(USE_ZYGOTE_HANDLE)
++#if BUILDFLAG(USE_ZYGOTE_HANDLE) || defined(OS_BSD)
+ void PreSandboxInit() {
++ // arc4random
++#if !defined(OS_BSD)
+ // Pre-acquire resources needed by BoringSSL. See
+ // https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md
+ CRYPTO_pre_sandbox_init();
++#endif
- mojo::ScopedMessagePipeHandle MaybeAcceptMojoInvitation() {
- const auto& command_line = *base::CommandLine::ForCurrentProcess();
-@@ -565,7 +565,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate*
+ #if BUILDFLAG(ENABLE_PLUGINS)
+ // Ensure access to the Pepper plugins before the sandbox is turned on.
+@@ -396,6 +405,11 @@ void PreSandboxInit() {
+ #endif
+ InitializeWebRtcModule();
+
++#if defined(OS_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.
+@@ -565,7 +579,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate*
delegate->ZygoteStarting(&zygote_fork_delegates);
media::InitializeMediaLibrary();
@@ -45,7 +75,37 @@
PreSandboxInit();
#endif
-@@ -976,7 +976,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run(bool
+@@ -741,10 +755,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+ kFieldTrialDescriptor + base::GlobalDescriptors::kBaseDescriptor);
+ #endif // !OS_ANDROID
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+ g_fds->Set(kCrashDumpSignal,
+ kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+
+ #endif // !OS_WIN
+
+@@ -933,6 +947,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+ }
+ #endif
+
++#if defined(OS_BSD)
++ if (process_type.empty()) {
++ sandbox::policy::SandboxLinux::Options sandbox_options;
++ sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox(
++ sandbox::policy::SandboxTypeFromCommandLine(
++ *base::CommandLine::ForCurrentProcess()),
++ sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options);
++ }
++#endif
++
+ delegate_->SandboxInitialized(process_type);
+
+ #if BUILDFLAG(USE_ZYGOTE_HANDLE)
+@@ -988,7 +1012,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
mojo::core::InitFeatures();
}
@@ -54,12 +114,15 @@
// 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
-@@ -986,7 +986,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run(bool
- CHECK_EQ(mojo::LoadCoreLibrary(GetMojoCoreSharedLibraryPath()),
- MOJO_RESULT_OK);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
+@@ -1021,6 +1045,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
+ content_main_params_.reset();
+
+ RegisterMainThreadFactories();
++
++#if defined(OS_BSD)
++ if (!process_type.empty())
++ PreSandboxInit();
++#endif
- MainFunctionParams main_params(command_line);
+ if (process_type.empty())
+ return RunBrowser(std::move(main_params), start_minimal_browser);
diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn
index 6bbe8159cddc..e46f0adca63f 100644
--- a/www/chromium/files/patch-content_browser_BUILD.gn
+++ b/www/chromium/files/patch-content_browser_BUILD.gn
@@ -1,20 +1,16 @@
---- content/browser/BUILD.gn.orig 2021-12-31 00:57:31 UTC
+--- content/browser/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ content/browser/BUILD.gn
-@@ -2318,6 +2318,17 @@ source_set("browser") {
- deps += [ "//third_party/speech-dispatcher" ]
+@@ -2317,6 +2317,13 @@ source_set("browser") {
+ ]
}
+ if (is_bsd) {
+ sources -= [
-+ "compute_pressure/cpu_probe_linux.cc",
-+ "compute_pressure/cpu_probe_linux.h",
-+ "sandbox_host_linux.cc",
-+ "sandbox_host_linux.h",
+ "sandbox_ipc_linux.cc",
+ "sandbox_ipc_linux.h",
+ ]
+ }
+
- # ChromeOS also defines linux but their memory-monitors conflict.
- if (is_chromeos_ash) {
+ if (is_chromeos) {
sources += [
+ "handwriting/handwriting_recognition_service_impl_cros.cc",
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
new file mode 100644
index 000000000000..da0ed0e31edc
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc
@@ -0,0 +1,10 @@
+--- content/browser/browser_child_process_host_impl.cc.orig 2022-02-07 13:39:41 UTC
++++ content/browser/browser_child_process_host_impl.cc
+@@ -305,6 +305,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo
+ switches::kDisableBestEffortTasks,
+ switches::kDisableLogging,
+ switches::kEnableLogging,
++ switches::kDisableUnveil,
+ switches::kIPCConnectionTimeout,
+ switches::kLogBestEffortTasks,
+ switches::kLogFile,
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 9991ccbf7bae..f5894fcc95f3 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,32 @@
---- content/browser/browser_main_loop.cc.orig 2021-12-31 00:57:32 UTC
+--- content/browser/browser_main_loop.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/browser_main_loop.cc
-@@ -552,7 +552,7 @@ int BrowserMainLoop::EarlyInitialization() {
+@@ -238,6 +238,12 @@
+ #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h"
+ #endif
+
++#if defined(OS_BSD)
++#include "content/browser/sandbox_host_linux.h"
++#include "content/public/common/zygote/sandbox_support_linux.h"
++#include "sandbox/policy/sandbox.h"
++#endif
++
+ // One of the linux specific headers defines this as a macro.
+ #ifdef DestroyAll
+ #undef DestroyAll
+@@ -545,6 +551,12 @@ int BrowserMainLoop::EarlyInitialization() {
+ // by now since a thread to start the ServiceManager has been created
+ // before the browser main loop starts.
+ DCHECK(SandboxHostLinux::GetInstance()->IsInitialized());
++#elif defined(OS_BSD)
++ base::FileHandleMappingVector additional_remapped_fds;
++ base::LaunchOptions options;
++ SandboxHostLinux::GetInstance()->Init();
++ const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket();
++ options.fds_to_remap.push_back(std::make_pair(sfd, GetSandboxFD()));
+ #endif
+
+ // GLib's spawning of new processes is buggy, so it's important that at this
+@@ -572,7 +584,7 @@ int BrowserMainLoop::EarlyInitialization() {
// Up the priority of the UI thread unless it was already high (since Mac
// and recent versions of Android (O+) do this automatically).
@@ -9,21 +35,12 @@
if (base::FeatureList::IsEnabled(
features::kBrowserUseDisplayThreadPriority) &&
base::PlatformThread::GetCurrentThreadPriority() <
-@@ -562,7 +562,7 @@ int BrowserMainLoop::EarlyInitialization() {
- }
+@@ -583,7 +595,7 @@ int BrowserMainLoop::EarlyInitialization() {
#endif // !defined(OS_MAC)
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
+ #if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID)
++ defined(OS_ANDROID) || defined(OS_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.
-@@ -572,7 +572,7 @@ int BrowserMainLoop::EarlyInitialization() {
- // users can easily hit this limit with many open tabs. Bump up the limit to
- // an arbitrarily high number. See https://crbug.com/539567
- base::IncreaseFdLimitTo(8192);
--#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
-+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
- // defined(OS_ANDROID)
- #if defined(OS_WIN)
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 d4a54a83bf25..1fff9574f603 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,32 +1,16 @@
---- content/browser/child_process_launcher_helper_linux.cc.orig 2021-04-20 18:58:32 UTC
+--- content/browser/child_process_launcher_helper_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/child_process_launcher_helper_linux.cc
-@@ -18,9 +18,12 @@
- #include "content/public/common/content_switches.h"
+@@ -19,7 +19,9 @@
#include "content/public/common/result_codes.h"
#include "content/public/common/sandboxed_process_launcher_delegate.h"
-+
-+#if !defined(OS_BSD)
#include "content/public/common/zygote/sandbox_support_linux.h"
++#if !defined(OS_BSD)
#include "content/public/common/zygote/zygote_handle.h"
- #include "sandbox/policy/linux/sandbox_linux.h"
+#endif
+ #include "sandbox/policy/linux/sandbox_linux.h"
namespace content {
- namespace internal {
-@@ -50,10 +53,12 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche
- options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment(
- base::GlobalDescriptors::kBaseDescriptor);
-
-+#if !defined(OS_BSD)
- if (GetProcessType() == switches::kRendererProcess) {
- const int sandbox_fd = SandboxHostLinux::GetInstance()->GetChildSocket();
- options->fds_to_remap.push_back(std::make_pair(sandbox_fd, GetSandboxFD()));
- }
-+#endif
-
- options->environment = delegate_->GetEnvironment();
-
-@@ -68,6 +73,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -68,6 +70,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
int* launch_result) {
*is_synchronous_launch = true;
@@ -34,7 +18,22 @@
ZygoteHandle zygote_handle =
base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)
? nullptr
-@@ -97,6 +103,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -81,7 +84,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+ GetProcessType());
+ *launch_result = LAUNCH_RESULT_SUCCESS;
+
+-#if !defined(OS_OPENBSD)
+ if (handle) {
+ // It could be a renderer process or an utility process.
+ int oom_score = content::kMiscOomScore;
+@@ -90,13 +92,13 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+ oom_score = content::kLowestRendererOomScore;
+ ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score);
+ }
+-#endif
+
+ Process process;
+ process.process = base::Process(handle);
process.zygote = zygote_handle;
return process;
}
@@ -42,7 +41,7 @@
Process process;
process.process = base::LaunchProcess(*command_line(), options);
-@@ -114,10 +121,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
+@@ -114,10 +116,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
const ChildProcessLauncherHelper::Process& process,
bool known_dead) {
ChildProcessTerminationInfo info;
@@ -57,7 +56,7 @@
info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(),
&info.exit_code);
} else {
-@@ -141,21 +152,27 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
+@@ -141,13 +147,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
DCHECK(CurrentlyOnProcessLauncherTaskRunner());
process.process.Terminate(RESULT_CODE_NORMAL_EXIT, false);
// On POSIX, we must additionally reap the child.
@@ -75,13 +74,3 @@
}
void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(
- base::Process process,
- const ChildProcessLauncherPriority& priority) {
- DCHECK(CurrentlyOnProcessLauncherTaskRunner());
-+#if !defined(OS_BSD)
- if (process.CanBackgroundProcesses())
- process.SetProcessBackgrounded(priority.is_background());
-+#endif
- }
-
- // static
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 7d1b61ffda88..fa5704d5b5d4 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,6 +1,6 @@
---- content/browser/compositor/viz_process_transport_factory.cc.orig 2021-05-12 22:05:52 UTC
+--- content/browser/compositor/viz_process_transport_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/compositor/viz_process_transport_factory.cc
-@@ -112,7 +112,7 @@ class HostDisplayClient : public viz::HostDisplayClien
+@@ -113,7 +113,7 @@ class HostDisplayClient : public viz::HostDisplayClien
// viz::HostDisplayClient:
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc b/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc
new file mode 100644
index 000000000000..a2d52d6eb0bb
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc
@@ -0,0 +1,10 @@
+--- content/browser/compute_pressure/cpu_probe.cc.orig 2022-02-07 13:39:41 UTC
++++ content/browser/compute_pressure/cpu_probe.cc
+@@ -52,6 +52,7 @@ std::unique_ptr<CpuProbe> CpuProbe::Create() {
+ #elif defined(OS_LINUX) || defined(OS_CHROMEOS)
+ return CpuProbeLinux::Create();
+ #else
++ NOTIMPLEMENTED();
+ return std::make_unique<NullCpuProbe>();
+ #endif // defined(OS_ANDROID)
+ }
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 f854b560474c..ddd0b5c20a2c 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 2021-12-14 11:45:05 UTC
+--- content/browser/devtools/protocol/system_info_handler.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/devtools/protocol/system_info_handler.cc
-@@ -53,7 +53,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS
- // 1046598, and 1153667.
+@@ -50,7 +50,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS
// Windows builds need more time -- see Issue 873112 and 1004472.
// Mac builds need more time - see Issue angleproject:6182.
--#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(NDEBUG)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(NDEBUG)) || defined(OS_BSD) || \
- defined(OS_WIN) || defined(OS_MAC) || defined(USE_OZONE)
+ #if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(NDEBUG)) || \
+- defined(OS_WIN) || defined(OS_MAC) || defined(USE_OZONE)
++ defined(OS_WIN) || defined(OS_MAC) || defined(USE_OZONE) || defined(OS_BSD)
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
index fff5dd258fc5..888798e6d46c 100644
--- a/www/chromium/files/patch-content_browser_download_download__manager__impl.cc
+++ b/www/chromium/files/patch-content_browser_download_download__manager__impl.cc
@@ -1,15 +1,15 @@
---- content/browser/download/download_manager_impl.cc.orig 2021-12-31 00:57:32 UTC
+--- content/browser/download/download_manager_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/download/download_manager_impl.cc
-@@ -85,7 +85,7 @@
- #include "third_party/blink/public/common/loader/referrer_utils.h"
- #include "third_party/blink/public/common/loader/throttling_url_loader.h"
+@@ -89,7 +89,7 @@
+ #include "third_party/blink/public/common/storage_key/storage_key.h"
+ #include "url/origin.h"
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "base/nix/xdg_util.h"
#endif
-@@ -231,7 +231,7 @@ class DownloadItemFactoryImpl : public download::Downl
+@@ -236,7 +236,7 @@ class DownloadItemFactoryImpl : public download::Downl
}
};
@@ -18,7 +18,7 @@
base::FilePath GetTemporaryDownloadDirectory() {
std::unique_ptr<base::Environment> env(base::Environment::Create());
return base::nix::GetXDGDirectory(env.get(), "XDG_DATA_HOME", ".local/share");
-@@ -585,7 +585,7 @@ bool DownloadManagerImpl::InterceptDownload(
+@@ -592,7 +592,7 @@ bool DownloadManagerImpl::InterceptDownload(
base::FilePath DownloadManagerImpl::GetDefaultDownloadDirectory() {
base::FilePath default_download_directory;
diff --git a/www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h b/www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h
index 20abaf953ed7..de2ca573f898 100644
--- a/www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h
+++ b/www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h
@@ -1,11 +1,11 @@
---- content/browser/font_access/font_enumeration_cache.h.orig 2021-12-14 11:45:05 UTC
+--- content/browser/font_access/font_enumeration_cache.h.orig 2022-02-07 13:39:41 UTC
+++ content/browser/font_access/font_enumeration_cache.h
-@@ -23,7 +23,7 @@
- #include "third_party/blink/public/common/font_access/font_enumeration_table.pb.h"
+@@ -24,7 +24,7 @@
#include "third_party/blink/public/mojom/font_access/font_access.mojom.h"
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC) || defined(OS_FUCHSIA)
++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD)
#define PLATFORM_HAS_LOCAL_FONT_ENUMERATION_IMPL 1
#endif
+
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 130ce4606253..5db3284b8fb3 100644
--- a/www/chromium/files/patch-content_browser_gpu_compositor__util.cc
+++ b/www/chromium/files/patch-content_browser_gpu_compositor__util.cc
@@ -1,6 +1,6 @@
---- content/browser/gpu/compositor_util.cc.orig 2021-12-14 11:45:05 UTC
+--- content/browser/gpu/compositor_util.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/gpu/compositor_util.cc
-@@ -145,11 +145,11 @@ const GpuFeatureData GetGpuFeatureData(
+@@ -145,7 +145,7 @@ const GpuFeatureData GetGpuFeatureData(
{"video_decode",
SafeGetFeatureStatus(gpu_feature_info,
gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE),
@@ -9,8 +9,12 @@
!base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux),
#else
command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode),
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- DisableInfo::Problem(
- "Accelerated video decode has been disabled, either via blocklist, "
- "about:flags or the command line."),
+@@ -157,7 +157,7 @@ const GpuFeatureData GetGpuFeatureData(
+ {"video_encode",
+ SafeGetFeatureStatus(gpu_feature_info,
+ gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE),
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ !base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux),
+ #else
+ command_line.HasSwitch(switches::kDisableAcceleratedVideoEncode),
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
index 7f9c49f8d0cc..47791f133ec7 100644
--- 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
@@ -1,6 +1,6 @@
---- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2021-12-31 00:57:32 UTC
+--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/gpu/gpu_data_manager_impl_private.cc
-@@ -1298,7 +1298,7 @@ void GpuDataManagerImplPrivate::AppendGpuCommandLine(
+@@ -1341,7 +1341,7 @@ void GpuDataManagerImplPrivate::AppendGpuCommandLine(
break;
case gpu::GpuMode::SWIFTSHADER: {
bool legacy_software_gl = true;
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 5abdf81bcf34..45e81541e64d 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,6 +1,6 @@
---- content/browser/gpu/gpu_process_host.cc.orig 2022-01-20 10:35:56 UTC
+--- content/browser/gpu/gpu_process_host.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/gpu/gpu_process_host.cc
-@@ -98,7 +98,7 @@
+@@ -101,7 +101,7 @@
#include "ui/ozone/public/ozone_switches.h"
#endif
@@ -9,18 +9,15 @@
#include "ui/gfx/switches.h"
#endif
-@@ -233,8 +233,8 @@ static const char* const kSwitchNames[] = {
- sandbox::policy::switches::kNoSandbox,
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-- !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-+ !BUILDFLAG(IS_CHROMEOS_LACROS))
- switches::kDisableDevShmUsage,
- #endif
- #if defined(OS_WIN)
-@@ -295,7 +295,7 @@ static const char* const kSwitchNames[] = {
+@@ -254,6 +254,7 @@ static const char* const kSwitchNames[] = {
+ switches::kEnableBackgroundThreadPool,
+ switches::kEnableGpuRasterization,
+ switches::kEnableLogging,
++ switches::kDisableUnveil,
+ switches::kEnableDeJelly,
+ switches::kDeJellyScreenWidth,
+ switches::kDocumentTransitionSlowdownFactor,
+@@ -295,7 +296,7 @@ static const char* const kSwitchNames[] = {
switches::kOzoneDumpFile,
switches::kDisableBufferBWCompression,
#endif
@@ -29,12 +26,3 @@
switches::kX11Display,
switches::kNoXshm,
#endif
-@@ -1135,7 +1135,7 @@ bool GpuProcessHost::LaunchGpuProcess() {
- std::unique_ptr<base::CommandLine> cmd_line =
- std::make_unique<base::CommandLine>(base::CommandLine::NO_PROGRAM);
- #else
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- int child_flags = gpu_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
- : ChildProcessHost::CHILD_NORMAL;
- #elif defined(OS_MAC)
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 342e42856190..e350d938e941 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 2021-04-22 08:10:30 UTC
+--- content/browser/media/media_keys_listener_manager_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/media/media_keys_listener_manager_impl.cc
-@@ -225,7 +225,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe
-
+@@ -226,7 +226,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
--#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || \
-+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
system_media_controls_ = system_media_controls::SystemMediaControls::Create(
media::AudioManager::GetGlobalAppName());
+ #endif
diff --git a/www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc b/www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc
index 21211938b13b..0ff52eb54e68 100644
--- a/www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc
+++ b/www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc
@@ -1,27 +1,16 @@
---- content/browser/memory/swap_metrics_driver_impl_linux.cc.orig 2021-04-14 18:41:02 UTC
+--- content/browser/memory/swap_metrics_driver_impl_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/memory/swap_metrics_driver_impl_linux.cc
-@@ -43,6 +43,7 @@ SwapMetricsDriverImplLinux::~SwapMetricsDriverImplLinu
-
+@@ -44,9 +44,13 @@ SwapMetricsDriverImplLinux::~SwapMetricsDriverImplLinu
SwapMetricsDriver::SwapMetricsUpdateResult
SwapMetricsDriverImplLinux::UpdateMetricsInternal(base::TimeDelta interval) {
-+#if !defined(OS_BSD)
base::VmStatInfo vmstat;
++#if !defined(OS_BSD)
if (!base::GetVmStatInfo(&vmstat)) {
return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateFailed;
-@@ -55,12 +56,15 @@ SwapMetricsDriverImplLinux::UpdateMetricsInternal(base
-
- if (interval.is_zero())
- return SwapMetricsDriver::SwapMetricsUpdateResult::
-- kSwapMetricsUpdateSuccess;
-+ kSwapMetricsUpdateSuccess;
-
- delegate_->OnSwapInCount(in_counts, interval);
- delegate_->OnSwapOutCount(out_counts, interval);
-
- return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateSuccess;
+ }
+#else
-+ return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateFailed;
++ return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateFailed;
+#endif
- }
- } // namespace content
+ uint64_t in_counts = vmstat.pswpin - last_pswpin_;
+ uint64_t out_counts = vmstat.pswpout - last_pswpout_;
diff --git a/www/chromium/files/patch-content_browser_ppapi__plugin__process__host.cc b/www/chromium/files/patch-content_browser_ppapi__plugin__process__host.cc
deleted file mode 100644
index 0445d8d84e9f..000000000000
--- a/www/chromium/files/patch-content_browser_ppapi__plugin__process__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/ppapi_plugin_process_host.cc.orig 2021-12-14 11:45:05 UTC
-+++ content/browser/ppapi_plugin_process_host.cc
-@@ -305,7 +305,7 @@ bool PpapiPluginProcessHost::Init(const PepperPluginIn
- base::CommandLine::StringType plugin_launcher =
- browser_command_line.GetSwitchValueNative(switches::kPpapiPluginLauncher);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- int flags = plugin_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF :
- ChildProcessHost::CHILD_NORMAL;
- #else
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 c04a8e6a50e1..67c7d3773e7a 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,6 +1,6 @@
---- content/browser/renderer_host/delegated_frame_host.cc.orig 2021-09-24 04:26:05 UTC
+--- content/browser/renderer_host/delegated_frame_host.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/renderer_host/delegated_frame_host.cc
-@@ -271,7 +271,7 @@ void DelegatedFrameHost::EmbedSurface(
+@@ -288,7 +288,7 @@ void DelegatedFrameHost::EmbedSurface(
if (!primary_surface_id ||
primary_surface_id->local_surface_id() != local_surface_id_) {
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
index 080e12ac43ac..706eedb080ef 100644
--- 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
@@ -1,6 +1,6 @@
---- content/browser/renderer_host/render_message_filter.h.orig 2021-12-31 00:57:32 UTC
+--- content/browser/renderer_host/render_message_filter.h.orig 2022-02-07 13:39:41 UTC
+++ content/browser/renderer_host/render_message_filter.h
-@@ -78,14 +78,14 @@ class CONTENT_EXPORT RenderMessageFilter
+@@ -78,14 +78,14 @@ class RenderMessageFilter
void GenerateRoutingID(GenerateRoutingIDCallback routing_id) override;
void GenerateFrameRoutingID(GenerateFrameRoutingIDCallback callback) override;
void HasGpuProcess(HasGpuProcessCallback callback) override;
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 f50e5de8dc3f..7ff643489df9 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 2021-12-31 00:57:32 UTC
+--- content/browser/renderer_host/render_process_host_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/renderer_host/render_process_host_impl.cc
-@@ -196,7 +196,7 @@
+@@ -197,7 +197,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
-@@ -1327,7 +1327,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
+@@ -1217,7 +1217,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
// to indicate failure and std::numeric_limits<size_t>::max() to indicate
// unlimited.
size_t GetPlatformProcessLimit() {
@@ -18,16 +18,7 @@
struct rlimit limit;
if (getrlimit(RLIMIT_NPROC, &limit) != 0)
return kUnknownPlatformProcessLimit;
-@@ -1338,7 +1338,7 @@ size_t GetPlatformProcessLimit() {
- #else
- // TODO(https://crbug.com/104689): Implement on other platforms.
- return kUnknownPlatformProcessLimit;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
- #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
-
-@@ -1414,7 +1414,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
+@@ -1304,7 +1304,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
return;
}
@@ -36,32 +27,11 @@
if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
ConnectToFontService(std::move(font_receiver));
return;
-@@ -1843,7 +1843,7 @@ bool RenderProcessHostImpl::Init() {
- renderer_prefix =
- browser_command_line.GetSwitchValueNative(switches::kRendererCmdPrefix);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- int flags = renderer_prefix.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
- : ChildProcessHost::CHILD_NORMAL;
- #elif defined(OS_MAC)
-@@ -3353,8 +3353,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
- switches::kDisableInProcessStackTraces,
- sandbox::policy::switches::kDisableSeccompFilterSandbox,
- sandbox::policy::switches::kNoSandbox,
--#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-- !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-+ !BUILDFLAG(IS_CHROMEOS_LACROS))
- switches::kDisableDevShmUsage,
- #endif
- #if defined(OS_MAC)
-@@ -5019,6 +5019,8 @@ void RenderProcessHostImpl::OnProcessLaunched() {
- // TODO(https://crbug.com/875933): Fix initial priority on Android to
- // reflect |priority_.is_background()|.
- DCHECK_EQ(blink::kLaunchingProcessIsBackgrounded, !priority_.visible);
-+#elif defined(OS_BSD)
-+ priority_.visible = true;
- #else
- priority_.visible =
- !child_process_launcher_->GetProcess().IsProcessBackgrounded();
+@@ -3306,6 +3306,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
+ switches::kDisableSpeechAPI,
+ switches::kDisableThreadedCompositing,
+ switches::kDisableTouchDragDrop,
++ switches::kDisableUnveil,
+ switches::kDisableV8IdleTasks,
+ switches::kDisableVideoCaptureUseGpuMemoryBuffer,
+ switches::kDisableWebGLImageChromium,
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
new file mode 100644
index 000000000000..19c66094a27b
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/render_process_host_impl.h.orig 2022-02-07 13:39:41 UTC
++++ content/browser/renderer_host/render_process_host_impl.h
+@@ -461,7 +461,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
+ // Sets this RenderProcessHost to be guest only. For Testing only.
+ void SetForGuestsOnlyForTesting();
+
+-#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MAC)
++#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MAC) && !defined(OS_BSD)
+ // Launch the zygote early in the browser startup.
+ static void EarlyZygoteLaunch();
+ #endif // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MAC)
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 51c20c1adb79..af0c6d752162 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,6 +1,6 @@
---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2021-12-31 00:57:32 UTC
+--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
-@@ -112,7 +112,7 @@
+@@ -114,7 +114,7 @@
#include "ui/gfx/gdi_util.h"
#endif
@@ -18,7 +18,7 @@
BrowserAccessibilityManager* manager =
host()->GetOrCreateRootBrowserAccessibilityManager();
if (manager && manager->GetRoot())
-@@ -1530,7 +1530,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() {
+@@ -1579,7 +1579,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() {
return GetTextInputManager() && GetTextInputManager()->should_do_learning();
}
@@ -27,7 +27,7 @@
bool RenderWidgetHostViewAura::SetCompositionFromExistingText(
const gfx::Range& range,
const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) {
-@@ -2343,7 +2343,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
+@@ -2396,7 +2396,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
}
bool RenderWidgetHostViewAura::NeedsMouseCapture() {
@@ -36,7 +36,7 @@
return NeedsInputGrab();
#else
return false;
-@@ -2520,7 +2520,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
+@@ -2573,7 +2573,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
if (!target_host)
return;
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 a6cc240e02f8..9ac4ded78fec 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 2021-12-16 15:02:50 UTC
+--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2022-02-07 13:39:41 UTC
+++ content/browser/renderer_host/render_widget_host_view_aura.h
-@@ -236,7 +236,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
+@@ -235,7 +235,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
ukm::SourceId GetClientSourceForMetrics() const override;
bool ShouldDoLearning() override;
diff --git a/www/chromium/files/patch-content_browser_sandbox__host__linux.cc b/www/chromium/files/patch-content_browser_sandbox__host__linux.cc
new file mode 100644
index 000000000000..e8b60e9099f4
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_sandbox__host__linux.cc
@@ -0,0 +1,18 @@
+--- content/browser/sandbox_host_linux.cc.orig 2022-02-07 13:39:41 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)
+ int pipefds[2];
+ CHECK(0 == pipe(pipefds));
+ const int child_lifeline_fd = pipefds[0];
+@@ -55,6 +56,7 @@ void SandboxHostLinux::Init() {
+ ipc_thread_ = std::make_unique<base::DelegateSimpleThread>(
+ ipc_handler_.get(), "sandbox_ipc_thread");
+ ipc_thread_->Start();
++#endif
+ }
+
+ } // namespace content
diff --git a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
index 4a5a561d4718..e5049e7d975e 100644
--- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
+++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
@@ -1,4 +1,4 @@
---- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2021-04-14 18:41:02 UTC
+--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/scheduler/responsiveness/native_event_observer.cc
@@ -15,7 +15,7 @@
@@ -18,12 +18,3 @@
void NativeEventObserver::RegisterObserver() {
aura::Env::GetInstance()->AddWindowEventDispatcherObserver(this);
}
-@@ -61,7 +61,7 @@ void NativeEventObserver::OnWindowEventDispatcherFinis
- did_run_event_callback_.Run(info.unique_id);
- events_being_processed_.pop_back();
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- void NativeEventObserver::RegisterObserver() {
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 3bd36f5e9e80..c03dd587921c 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 2021-12-14 11:45:05 UTC
+--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2022-02-07 13:39:41 UTC
+++ content/browser/scheduler/responsiveness/native_event_observer.h
-@@ -16,7 +16,7 @@
+@@ -15,7 +15,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
-@@ -41,7 +41,7 @@ namespace responsiveness {
+@@ -40,7 +40,7 @@ namespace responsiveness {
class CONTENT_EXPORT NativeEventObserver
#if defined(OS_MAC)
: public NativeEventProcessorObserver
@@ -18,7 +18,7 @@
: public aura::WindowEventDispatcherObserver
#elif defined(OS_WIN)
: public base::MessagePumpForUI::Observer
-@@ -58,7 +58,7 @@ class CONTENT_EXPORT NativeEventObserver
+@@ -57,7 +57,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;
-@@ -74,7 +74,7 @@ class CONTENT_EXPORT NativeEventObserver
+@@ -73,7 +73,7 @@ class CONTENT_EXPORT NativeEventObserver
// Exposed for tests.
void WillRunNativeEvent(const void* opaque_identifier) override;
void DidRunNativeEvent(const void* opaque_identifier) override;
@@ -36,7 +36,7 @@
// aura::WindowEventDispatcherObserver overrides:
void OnWindowEventDispatcherStartedProcessing(
aura::WindowEventDispatcher* dispatcher,
-@@ -91,7 +91,7 @@ class CONTENT_EXPORT NativeEventObserver
+@@ -90,7 +90,7 @@ class CONTENT_EXPORT NativeEventObserver
void RegisterObserver();
void DeregisterObserver();
diff --git a/www/chromium/files/patch-content_browser_utility__process__host.cc b/www/chromium/files/patch-content_browser_utility__process__host.cc
deleted file mode 100644
index 4c500a668f4d..000000000000
--- a/www/chromium/files/patch-content_browser_utility__process__host.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- content/browser/utility_process_host.cc.orig 2021-12-31 00:57:32 UTC
-+++ content/browser/utility_process_host.cc
-@@ -69,7 +69,7 @@ UtilityProcessHost::UtilityProcessHost()
-
- UtilityProcessHost::UtilityProcessHost(std::unique_ptr<Client> client)
- : sandbox_type_(sandbox::mojom::Sandbox::kUtility),
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- child_flags_(ChildProcessHost::CHILD_ALLOW_SELF),
- #else
- child_flags_(ChildProcessHost::CHILD_NORMAL),
-@@ -229,8 +229,8 @@ bool UtilityProcessHost::StartProcess() {
- sandbox::policy::switches::kNoSandbox,
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-- !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-+ !BUILDFLAG(IS_CHROMEOS_LACROS))
- switches::kDisableDevShmUsage,
- #endif
- #if defined(OS_MAC)
diff --git a/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc b/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc
new file mode 100644
index 000000000000..97e9de6ca546
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc
@@ -0,0 +1,11 @@
+--- content/browser/utility_sandbox_delegate.cc.orig 2022-02-07 13:39:41 UTC
++++ content/browser/utility_sandbox_delegate.cc
+@@ -61,7 +61,7 @@ UtilitySandboxedProcessLauncherDelegate::
+ #if BUILDFLAG(ENABLE_PLUGINS)
+ sandbox_type_ == sandbox::mojom::Sandbox::kPpapi ||
+ #endif
+-#if defined(OS_FUCHSIA)
++#if defined(OS_FUCHSIA) || defined(OS_BSD)
+ sandbox_type_ == sandbox::mojom::Sandbox::kVideoCapture ||
+ #endif
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
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 a53eb82cdfa0..a7b50122b941 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,7 +1,7 @@
---- content/browser/web_contents/web_contents_view_aura.cc.orig 2021-12-31 00:57:32 UTC
+--- content/browser/web_contents/web_contents_view_aura.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/web_contents/web_contents_view_aura.cc
@@ -159,7 +159,7 @@ class WebDragSourceAura : public content::WebContentsO
- aura::Window* window_;
+ raw_ptr<aura::Window> window_;
};
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
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
new file mode 100644
index 000000000000..73fcc7dd72ae
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc
@@ -0,0 +1,38 @@
+--- content/browser/webui/web_ui_main_frame_observer.cc.orig 2022-02-07 13:39:41 UTC
++++ content/browser/webui/web_ui_main_frame_observer.cc
+@@ -11,7 +11,7 @@
+ #include "content/browser/webui/web_ui_impl.h"
+ #include "content/public/browser/navigation_handle.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/callback_helpers.h"
+ #include "base/feature_list.h"
+ #include "base/logging.h"
+@@ -30,7 +30,7 @@ namespace content {
+
+ namespace {
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_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.
+@@ -66,7 +66,7 @@ void WebUIMainFrameObserver::DidFinishNavigation(
+ web_ui_->DisallowJavascriptOnAllHandlers();
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void WebUIMainFrameObserver::OnDidAddMessageToConsole(
+ RenderFrameHost* source_frame,
+ blink::mojom::ConsoleMessageLevel log_level,
+@@ -183,7 +183,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation(
+
+ // TODO(crbug.com/1129544) This is currently disabled due to Windows DLL
+ // thunking issues. Fix & re-enable.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ MaybeEnableWebUIJavaScriptErrorReporting(navigation_handle);
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+ }
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
new file mode 100644
index 000000000000..a470b9d4ad8a
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h
@@ -0,0 +1,20 @@
+--- content/browser/webui/web_ui_main_frame_observer.h.orig 2022-02-07 13:39:41 UTC
++++ content/browser/webui/web_ui_main_frame_observer.h
+@@ -45,7 +45,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 defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // On official Google builds, capture and report JavaScript error messages on
+ // WebUI surfaces back to Google. This allows us to fix JavaScript errors and
+ // exceptions.
+@@ -61,7 +61,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W
+ void ReadyToCommitNavigation(NavigationHandle* navigation_handle) override;
+
+ private:
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_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 f716a45bf74b..b0ef8401edc6 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,22 +1,22 @@
---- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2021-10-01 01:36:48 UTC
+--- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ content/browser/zygote_host/zygote_host_impl_linux.cc
-@@ -26,6 +26,7 @@
+@@ -28,6 +28,7 @@ namespace content {
- namespace content {
-
-+#if !defined(OS_BSD)
namespace {
++#if !defined(OS_BSD)
// Receive a fixed message on fd and return the sender's PID.
-@@ -51,6 +52,7 @@ bool ReceiveFixedMessage(int fd,
+ // Returns true if the message received matches the expected message.
+ bool ReceiveFixedMessage(int fd,
+@@ -49,6 +50,7 @@ bool ReceiveFixedMessage(int fd,
+ return false;
+ return true;
}
++#endif
} // namespace
-+#endif
- // static
- ZygoteHost* ZygoteHost::GetInstance() {
-@@ -58,10 +60,14 @@ ZygoteHost* ZygoteHost::GetInstance() {
+@@ -58,9 +60,13 @@ ZygoteHost* ZygoteHost::GetInstance() {
}
ZygoteHostImpl::ZygoteHostImpl()
@@ -24,13 +24,12 @@
: use_namespace_sandbox_(false),
use_suid_sandbox_(false),
use_suid_sandbox_for_adj_oom_score_(false),
- sandbox_binary_(),
+#else
-+ : sandbox_binary_(),
++ :
+#endif
+ sandbox_binary_(),
zygote_pids_lock_(),
zygote_pids_() {}
-
@@ -73,6 +79,7 @@ ZygoteHostImpl* ZygoteHostImpl::GetInstance() {
}
@@ -47,21 +46,20 @@
}
void ZygoteHostImpl::AddZygotePid(pid_t pid) {
-@@ -147,6 +155,10 @@ pid_t ZygoteHostImpl::LaunchZygote(
+@@ -147,6 +155,7 @@ pid_t ZygoteHostImpl::LaunchZygote(
base::CommandLine* cmd_line,
base::ScopedFD* control_fd,
base::FileHandleMappingVector additional_remapped_fds) {
-+#if defined(OS_BSD)
-+ NOTIMPLEMENTED();
-+ return -1;
-+#else
++#if !defined(OS_BSD)
int fds[2];
CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds));
CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0]));
-@@ -214,9 +226,10 @@ pid_t ZygoteHostImpl::LaunchZygote(
+@@ -214,9 +223,12 @@ pid_t ZygoteHostImpl::LaunchZygote(
AddZygotePid(pid);
return pid;
++#else
++ return 0;
+#endif
}
diff --git a/www/chromium/files/patch-content_common_BUILD.gn b/www/chromium/files/patch-content_common_BUILD.gn
index 243a258164a8..f15d3ea1da02 100644
--- a/www/chromium/files/patch-content_common_BUILD.gn
+++ b/www/chromium/files/patch-content_common_BUILD.gn
@@ -1,33 +1,12 @@
---- content/common/BUILD.gn.orig 2021-12-31 00:57:32 UTC
+--- content/common/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ content/common/BUILD.gn
-@@ -342,7 +342,7 @@ source_set("common") {
- sources -= [ "cursors/webcursor_aura.cc" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "sandbox_init_linux.cc",
- "zygote/sandbox_support_linux.cc",
-@@ -357,6 +357,12 @@ source_set("common") {
- ]
- }
-
-+ if (is_bsd) {
-+ deps += [
-+ "//third_party/fontconfig",
-+ ]
-+ }
-+
- if (use_zygote_handle) {
- sources += [
- "zygote/zygote_handle_impl_linux.h",
-@@ -406,7 +412,7 @@ source_set("common") {
+@@ -407,6 +407,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" ]
++ }
}
}
--if (is_linux || is_chromeos) {
-+if ((is_linux || is_chromeos) && !is_bsd) {
- source_set("set_process_title_linux") {
- public = [ "set_process_title_linux.h" ]
- sources = [ "set_process_title_linux.cc" ]
diff --git a/www/chromium/files/patch-content_common_sandbox__init__linux.cc b/www/chromium/files/patch-content_common_sandbox__init__linux.cc
new file mode 100644
index 000000000000..c0b7b47a210f
--- /dev/null
+++ b/www/chromium/files/patch-content_common_sandbox__init__linux.cc
@@ -0,0 +1,19 @@
+--- content/common/sandbox_init_linux.cc.orig 2022-02-07 13:39:41 UTC
++++ content/common/sandbox_init_linux.cc
+@@ -16,11 +16,15 @@ namespace content {
+
+ bool InitializeSandbox(std::unique_ptr<sandbox::bpf_dsl::Policy> policy,
+ base::ScopedFD proc_fd) {
++#if !defined(OS_BSD)
+ return sandbox::policy::SandboxSeccompBPF::StartSandboxWithExternalPolicy(
+ std::move(policy), std::move(proc_fd));
++#else
++ return false;
++#endif
+ }
+
+-#if !defined(OS_NACL_NONSFI)
++#if !defined(OS_NACL_NONSFI) && !defined(OS_BSD)
+ std::unique_ptr<sandbox::bpf_dsl::Policy> GetBPFSandboxBaselinePolicy() {
+ return sandbox::policy::SandboxSeccompBPF::GetBaselinePolicy();
+ }
diff --git a/www/chromium/files/patch-content_common_user__agent.cc b/www/chromium/files/patch-content_common_user__agent.cc
index 6d100d165503..8aa7aa116e87 100644
--- a/www/chromium/files/patch-content_common_user__agent.cc
+++ b/www/chromium/files/patch-content_common_user__agent.cc
@@ -1,12 +1,14 @@
---- content/common/user_agent.cc.orig 2021-09-14 01:51:56 UTC
+--- content/common/user_agent.cc.orig 2022-02-07 13:39:41 UTC
+++ content/common/user_agent.cc
-@@ -249,6 +249,14 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons
+@@ -252,6 +252,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons
);
#endif
+#if defined(OS_BSD)
+#if defined(__x86_64__)
+ base::StringAppendF(&os_cpu, "; Linux x86_64");
++#elif defined(__aarch64__)
++ base::StringAppendF(&os_cpu, "; Linux aarch64");
+#else
+ base::StringAppendF(&os_cpu, "; Linux i686");
+#endif
diff --git a/www/chromium/files/patch-content_gpu_BUILD.gn b/www/chromium/files/patch-content_gpu_BUILD.gn
deleted file mode 100644
index 0d5a7a8fa912..000000000000
--- a/www/chromium/files/patch-content_gpu_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/gpu/BUILD.gn.orig 2021-12-31 00:57:32 UTC
-+++ content/gpu/BUILD.gn
-@@ -128,7 +128,7 @@ target(link_target_type, "gpu_sources") {
-
- # Use DRI on desktop Linux builds.
- if (current_cpu != "s390x" && current_cpu != "ppc64" && is_linux &&
-- (!is_chromecast || is_cast_desktop_build)) {
-+ (!is_chromecast || is_cast_desktop_build) && !is_bsd) {
- configs += [ "//build/config/linux/dri" ]
- }
- }
diff --git a/www/chromium/files/patch-content_gpu_gpu__main.cc b/www/chromium/files/patch-content_gpu_gpu__main.cc
index 26a2ecf40168..9e7739c92e9c 100644
--- a/www/chromium/files/patch-content_gpu_gpu__main.cc
+++ b/www/chromium/files/patch-content_gpu_gpu__main.cc
@@ -1,36 +1,33 @@
---- content/gpu/gpu_main.cc.orig 2021-12-31 00:57:32 UTC
+--- content/gpu/gpu_main.cc.orig 2022-02-07 13:39:41 UTC
+++ content/gpu/gpu_main.cc
-@@ -89,6 +89,11 @@
- #include "sandbox/policy/sandbox_type.h"
+@@ -83,7 +83,7 @@
+ #include "sandbox/win/src/sandbox.h"
#endif
-+#if defined(OS_FREEBSD)
-+#include "content/public/common/sandbox_init.h"
-+#include "sandbox/policy/freebsd/sandbox_freebsd.h"
-+#endif
-+
- #if defined(OS_MAC)
- #include "base/message_loop/message_pump_mac.h"
- #include "components/metal_util/device_removal.h"
-@@ -109,6 +114,8 @@ namespace {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "content/gpu/gpu_sandbox_hook_linux.h"
+ #include "content/public/common/sandbox_init.h"
+ #include "sandbox/policy/linux/sandbox_linux.h"
+@@ -106,7 +106,7 @@ namespace content {
+
+ namespace {
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
bool StartSandboxLinux(gpu::GpuWatchdogThread*,
const gpu::GPUInfo*,
const gpu::GpuPreferences&);
-+#elif defined(OS_FREEBSD)
-+bool StartSandboxFreeBSD();
- #elif defined(OS_WIN)
- bool StartSandboxWindows(const sandbox::SandboxInterfaceInfo*);
- #endif
-@@ -169,6 +176,8 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel
+@@ -168,7 +168,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel
+ bool EnsureSandboxInitialized(gpu::GpuWatchdogThread* watchdog_thread,
+ const gpu::GPUInfo* gpu_info,
const gpu::GpuPreferences& gpu_prefs) override {
- #if defined(OS_LINUX) || defined(OS_CHROMEOS)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs);
-+#elif defined(OS_BSD)
-+ return StartSandboxFreeBSD();
#elif defined(OS_WIN)
return StartSandboxWindows(sandbox_info_);
- #elif defined(OS_MAC)
-@@ -263,7 +272,7 @@ int GpuMain(const MainFunctionParams& parameters) {
+@@ -264,7 +264,7 @@ int GpuMain(MainFunctionParams parameters) {
std::make_unique<base::SingleThreadTaskExecutor>(
gpu_preferences.message_pump_type);
}
@@ -39,18 +36,38 @@
#error "Unsupported Linux platform."
#elif defined(OS_MAC)
// Cross-process CoreAnimation requires a CFRunLoop to function at all, and
-@@ -446,6 +455,14 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo
+@@ -407,17 +407,19 @@ int GpuMain(MainFunctionParams parameters) {
+
+ namespace {
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread,
+ const gpu::GPUInfo* gpu_info,
+ const gpu::GpuPreferences& gpu_prefs) {
+ TRACE_EVENT0("gpu,startup", "Initialize sandbox");
+
++#if !defined(OS_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.
+@@ -438,11 +440,13 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo
+ *base::CommandLine::ForCurrentProcess()),
+ base::BindOnce(GpuProcessPreSandboxHook), sandbox_options);
+
++#if !defined(OS_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
+
return res;
}
- #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+
-+#if defined(OS_FREEBSD)
-+bool StartSandboxFreeBSD() {
-+ return sandbox::policy::SandboxFreeBSD::GetInstance()->InitializeSandbox(
-+ sandbox::policy::SandboxTypeFromCommandLine(
-+ *base::CommandLine::ForCurrentProcess()));
-+}
-+#endif // defined(OS_FREEBSD)
-
- #if defined(OS_WIN)
- bool StartSandboxWindows(const sandbox::SandboxInterfaceInfo* sandbox_info) {
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
index 25321df57de9..b6184245fe81 100644
--- a/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
+++ b/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
@@ -1,27 +1,25 @@
---- content/gpu/gpu_sandbox_hook_linux.cc.orig 2021-12-31 00:57:32 UTC
+--- content/gpu/gpu_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ content/gpu/gpu_sandbox_hook_linux.cc
-@@ -89,6 +89,12 @@ static const char kLibTegraPath[] = "/usr/lib64/libteg
- static const char kLibV4l2Path[] = "/usr/lib64/libv4l2.so";
- static const char kLibV4lEncPluginPath[] =
- "/usr/lib64/libv4l/plugins/libv4l-encplugin.so";
-+#elif defined(OS_BSD)
-+static const char kLibGlesPath[] = "/usr/local/lib/libGLESv2.so.2";
-+static const char kLibEglPath[] = "/usr/local/lib/libEGL.so.1";
-+static const char kLibV4l2Path[] = "/usr/local/lib/libv4l2.so";
-+static const char kLibV4lEncPluginPath[] =
-+ "/usr/local/lib/libv4l/plugins/libv4l-encplugin.so";
- #else
- static const char kLibGlesPath[] = "/usr/lib/libGLESv2.so.2";
- static const char kLibEglPath[] = "/usr/lib/libEGL.so.1";
-@@ -401,6 +407,7 @@ std::vector<BrokerFilePermission> FilePermissionsForGp
+@@ -101,6 +101,7 @@ static const char kLibV4lEncPluginPath[] =
+
+ constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE;
+
++#if !defined(OS_BSD)
+ void AddV4L2GpuPermissions(
+ std::vector<BrokerFilePermission>* permissions,
+ const sandbox::policy::SandboxSeccompBPF::Options& options) {
+@@ -395,8 +396,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) {
-@@ -433,6 +440,7 @@ void LoadArmGpuLibraries() {
+@@ -438,6 +441,7 @@ void LoadArmGpuLibraries() {
dlopen(driver_paths[i], dlopen_flag);
}
}
@@ -29,3 +27,44 @@
}
bool LoadAmdGpuLibraries() {
+@@ -501,12 +505,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(
+@@ -533,6 +539,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;
+@@ -555,13 +562,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.h b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
index 9f08c443149f..a42d82a79a8e 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,6 +1,6 @@
---- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2021-12-14 11:45:05 UTC
+--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2022-02-07 13:39:41 UTC
+++ content/ppapi_plugin/ppapi_blink_platform_impl.h
-@@ -13,7 +13,7 @@
+@@ -12,7 +12,7 @@
#include "build/build_config.h"
#include "content/child/blink_platform_impl.h"
@@ -9,7 +9,7 @@
#include "components/services/font/public/cpp/font_loader.h"
#include "third_party/skia/include/core/SkRefCnt.h"
#endif
-@@ -40,11 +40,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp
+@@ -39,11 +39,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp
blink::WebThemeEngine* ThemeEngine() override;
private:
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 1d3352e38e0d..beed530dae9a 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,23 +1,24 @@
---- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2021-12-31 00:57:32 UTC
+--- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2022-02-07 13:39:41 UTC
+++ content/ppapi_plugin/ppapi_plugin_main.cc
-@@ -50,6 +50,10 @@
- #include "sandbox/policy/linux/sandbox_linux.h"
- #include "sandbox/policy/sandbox_type.h"
+@@ -54,6 +54,12 @@
+ #include "gin/v8_initializer.h"
#endif
-+#if defined(OS_FREEBSD)
+
++#if defined(OS_OPENBSD)
+#include "content/public/common/sandbox_init.h"
-+#include "sandbox/policy/freebsd/sandbox_freebsd.h"
++#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox_type.h"
+#endif
++
+ #if defined(OS_POSIX) && !defined(OS_ANDROID)
+ #include <stdlib.h>
+ #endif
+@@ -135,7 +141,7 @@ int PpapiPluginMain(MainFunctionParams parameters) {
+ gin::V8Initializer::LoadV8Snapshot();
+ #endif
- #ifdef V8_USE_EXTERNAL_STARTUP_DATA
- #include "gin/v8_initializer.h"
-@@ -141,6 +145,9 @@ int PpapiPluginMain(const MainFunctionParams& paramete
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
+ sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox(
sandbox::policy::SandboxTypeFromCommandLine(command_line),
sandbox::policy::SandboxLinux::PreSandboxHook(),
- sandbox::policy::SandboxLinux::Options());
-+#elif defined(OS_FREEBSD)
-+ sandbox::policy::SandboxFreeBSD::GetInstance()->InitializeSandbox(
-+ sandbox::policy::SandboxTypeFromCommandLine(command_line));
- #endif
-
- ChildProcess ppapi_process;
diff --git a/www/chromium/files/patch-content_public_app_content__main__delegate.cc b/www/chromium/files/patch-content_public_app_content__main__delegate.cc
deleted file mode 100644
index 71bb4fc762c8..000000000000
--- a/www/chromium/files/patch-content_public_app_content__main__delegate.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- content/public/app/content_main_delegate.cc.orig 2021-04-14 18:41:03 UTC
-+++ content/public/app/content_main_delegate.cc
-@@ -24,12 +24,12 @@ int ContentMainDelegate::RunProcess(
- return -1;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- void ContentMainDelegate::ZygoteStarting(
- std::vector<std::unique_ptr<ZygoteForkDelegate>>* delegates) {}
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- int ContentMainDelegate::TerminateForFatalInitializationError() {
- CHECK(false);
diff --git a/www/chromium/files/patch-content_public_app_content__main__delegate.h b/www/chromium/files/patch-content_public_app_content__main__delegate.h
deleted file mode 100644
index 04c4aef49366..000000000000
--- a/www/chromium/files/patch-content_public_app_content__main__delegate.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/public/app/content_main_delegate.h.orig 2021-09-14 01:51:56 UTC
-+++ content/public/app/content_main_delegate.h
-@@ -53,7 +53,7 @@ class CONTENT_EXPORT ContentMainDelegate {
- // Called right before the process exits.
- virtual void ProcessExiting(const std::string& process_type) {}
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Tells the embedder that the zygote process is starting, and allows it to
- // specify one or more zygote delegates if it wishes by storing them in
- // |*delegates|.
-@@ -62,7 +62,7 @@ class CONTENT_EXPORT ContentMainDelegate {
-
- // Called every time the zygote process forks.
- virtual void ZygoteForked() {}
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Fatal errors during initialization are reported by this function, so that
- // the embedder can implement graceful exit by displaying some message and
diff --git a/www/chromium/files/patch-content_public_browser_font__access__context.h b/www/chromium/files/patch-content_public_browser_font__access__context.h
index e79ddde041ef..994a0092a2d0 100644
--- a/www/chromium/files/patch-content_public_browser_font__access__context.h
+++ b/www/chromium/files/patch-content_public_browser_font__access__context.h
@@ -1,11 +1,11 @@
---- content/public/browser/font_access_context.h.orig 2021-04-14 18:41:03 UTC
+--- content/public/browser/font_access_context.h.orig 2022-02-07 13:39:41 UTC
+++ content/public/browser/font_access_context.h
-@@ -10,7 +10,7 @@
- #include "content/common/content_export.h"
+@@ -11,7 +11,7 @@
#include "third_party/blink/public/mojom/font_access/font_access.mojom.h"
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_MAC) || defined(OS_FUCHSIA)
++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD)
#define PLATFORM_HAS_LOCAL_FONT_ENUMERATION_IMPL 1
#endif
+
diff --git a/www/chromium/files/patch-content_public_common_child__process__host.h b/www/chromium/files/patch-content_public_common_child__process__host.h
deleted file mode 100644
index 558a38e812d7..000000000000
--- a/www/chromium/files/patch-content_public_common_child__process__host.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/child_process_host.h.orig 2021-04-14 18:41:03 UTC
-+++ content/public/common/child_process_host.h
-@@ -81,7 +81,7 @@ class CONTENT_EXPORT ChildProcessHost : public IPC::Se
- // No special behavior requested.
- CHILD_NORMAL = 0,
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Indicates that the child execed after forking may be execced from
- // /proc/self/exe rather than using the "real" app path. This prevents
- // autoupdate from confusing us if it changes the file out from under us.
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
index 6f9be9826016..4a3b12361bdc 100644
--- 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
@@ -1,6 +1,6 @@
---- content/public/common/common_param_traits_macros.h.orig 2021-09-14 01:51:57 UTC
+--- content/public/common/common_param_traits_macros.h.orig 2022-02-07 13:39:41 UTC
+++ content/public/common/common_param_traits_macros.h
-@@ -122,7 +122,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::RendererPreferences)
+@@ -127,7 +127,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)
diff --git a/www/chromium/files/patch-content_public_common_content__constants.cc b/www/chromium/files/patch-content_public_common_content__constants.cc
deleted file mode 100644
index c5c4202b74b8..000000000000
--- a/www/chromium/files/patch-content_public_common_content__constants.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/content_constants.cc.orig 2021-12-31 00:57:32 UTC
-+++ content/public/common/content_constants.cc
-@@ -48,7 +48,7 @@ std::string GetCorsExemptRequestedWithHeaderName() {
- return base::JoinString(pieces, "-");
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const int kLowestRendererOomScore = 300;
- const int kHighestRendererOomScore = 1000;
-
diff --git a/www/chromium/files/patch-content_public_common_content__constants.h b/www/chromium/files/patch-content_public_common_content__constants.h
deleted file mode 100644
index 103f553816f6..000000000000
--- a/www/chromium/files/patch-content_public_common_content__constants.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/content_constants.h.orig 2021-12-31 00:57:32 UTC
-+++ content/public/common/content_constants.h
-@@ -59,7 +59,7 @@ CONTENT_EXPORT extern const char kCorsExemptPurposeHea
- // it at run time.
- CONTENT_EXPORT std::string GetCorsExemptRequestedWithHeaderName();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The OOM score adj constants
- // The highest and lowest assigned OOM score adjustment (oom_score_adj) for
- // renderers and extensions used by the OomPriority Manager.
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 45abe10ce3a8..b79ae14e5a3a 100644
--- a/www/chromium/files/patch-content_public_common_content__features.cc
+++ b/www/chromium/files/patch-content_public_common_content__features.cc
@@ -1,15 +1,24 @@
---- content/public/common/content_features.cc.orig 2022-01-20 10:35:57 UTC
+--- content/public/common/content_features.cc.orig 2022-02-07 13:39:41 UTC
+++ content/public/common/content_features.cc
-@@ -51,7 +51,7 @@ const base::Feature kAudioServiceOutOfProcess {
+@@ -50,7 +50,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 defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MAC) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+@@ -62,7 +62,7 @@ const base::Feature kAudioServiceOutOfProcess {
+ // kAudioServiceOutOfProcess feature is enabled.
+ const base::Feature kAudioServiceSandbox {
+ "AudioServiceSandbox",
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA)
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -934,13 +934,13 @@ const base::Feature kWebAssemblyBaseline{"WebAssemblyB
+@@ -973,7 +973,7 @@ const base::Feature kWebAssemblyBaseline{"WebAssemblyB
const base::Feature kWebAssemblyCodeProtection{
"WebAssemblyCodeProtection", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -18,27 +27,16 @@
// 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.
- const base::Feature kWebAssemblyCodeProtectionPku{
- "WebAssemblyCodeProtectionPku", base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) &&
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) &&
- // defined(ARCH_CPU_X86_64)
-
- // Enable WebAssembly lazy compilation (JIT on first call).
-@@ -959,9 +959,9 @@ const base::Feature kWebAssemblyTiering{"WebAssemblyTi
- // Enable WebAssembly trap handler.
+@@ -1003,7 +1003,7 @@ const base::Feature kWebAssemblyTiering{"WebAssemblyTi
const base::Feature kWebAssemblyTrapHandler {
"WebAssemblyTrapHandler",
--#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
+ #if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
- defined(OS_MAC)) && \
-- defined(ARCH_CPU_X86_64)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
-+ defined(OS_MAC)) && \
-+ defined(ARCH_CPU_X86_64)) || \
++ defined(OS_MAC) || defined(OS_BSD)) && \
+ defined(ARCH_CPU_X86_64)) || \
(defined(OS_MAC) && defined(ARCH_CPU_ARM64))
base::FEATURE_ENABLED_BY_DEFAULT
- #else
-@@ -987,7 +987,7 @@ const base::Feature kWebAuthCable {
+@@ -1025,7 +1025,7 @@ const base::Feature kWebAuthCable {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
// If updating this, also update kWebAuthCableServerLink.
@@ -47,3 +45,24 @@
base::FEATURE_DISABLED_BY_DEFAULT
#else
base::FEATURE_ENABLED_BY_DEFAULT
+@@ -1093,7 +1093,11 @@ const base::Feature kWebUIReportOnlyTrustedTypes{
+
+ // Controls whether the WebUSB API is enabled:
+ // https://wicg.github.io/webusb
++#if defined(OS_BSD)
++const base::Feature kWebUsb{"WebUSB", base::FEATURE_DISABLED_BY_DEFAULT};
++#else
+ const 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};
+@@ -1193,7 +1197,7 @@ const base::Feature kRetryGetVideoCaptureDeviceInfos{
+
+ #endif // defined(OS_MAC)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // If the JavaScript on a WebUI page has an error (such as an unhandled
+ // exception), report that error back the crash reporting infrastructure, same
+ // as we do for program crashes.
diff --git a/www/chromium/files/patch-content_public_common_content__features.h b/www/chromium/files/patch-content_public_common_content__features.h
index 739bbe0a37cf..cd1ccfb881c4 100644
--- a/www/chromium/files/patch-content_public_common_content__features.h
+++ b/www/chromium/files/patch-content_public_common_content__features.h
@@ -1,14 +1,20 @@
---- content/public/common/content_features.h.orig 2022-01-20 10:35:57 UTC
+--- content/public/common/content_features.h.orig 2022-02-07 13:39:41 UTC
+++ content/public/common/content_features.h
-@@ -240,9 +240,9 @@ CONTENT_EXPORT extern const base::Feature
+@@ -248,7 +248,7 @@ CONTENT_EXPORT extern const base::Feature
CONTENT_EXPORT extern const base::Feature kWebAppWindowControlsOverlay;
CONTENT_EXPORT extern const base::Feature kWebAssemblyBaseline;
CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtection;
-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtectionPku;
--#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) &&
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) &&
+ #endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) &&
// defined(ARCH_CPU_X86_64)
- CONTENT_EXPORT extern const base::Feature kWebAssemblyLazyCompilation;
- CONTENT_EXPORT extern const base::Feature kWebAssemblySimd;
+@@ -306,7 +306,7 @@ CONTENT_EXPORT extern const base::Feature kMacSyscallS
+ CONTENT_EXPORT extern const base::Feature kRetryGetVideoCaptureDeviceInfos;
+ #endif // defined(OS_MAC)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ CONTENT_EXPORT extern const base::Feature kSendWebUIJavaScriptErrorReports;
+ CONTENT_EXPORT extern const char
+ kSendWebUIJavaScriptErrorReportsSendToProductionVariation[];
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 b5336e7b85a1..16b231ce8840 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,15 @@
---- content/public/common/content_switches.cc.orig 2021-12-31 00:57:32 UTC
+--- content/public/common/content_switches.cc.orig 2022-02-07 13:39:41 UTC
+++ content/public/common/content_switches.cc
-@@ -1000,7 +1000,7 @@ const char kEnableAutomation[] = "enable-automation";
+@@ -386,6 +386,8 @@ const char kEnableGpuMemoryBufferVideoFrames[] =
+ // builds.
+ const char kEnableLogging[] = "enable-logging";
+
++const char kDisableUnveil[] = "disable-unveil";
++
+ // Enables the type, downlinkMax attributes of the NetInfo API. Also, enables
+ // triggering of change attribute of the NetInfo API when there is a change in
+ // the connection type.
+@@ -1006,7 +1008,7 @@ const char kEnableAutomation[] = "enable-automation";
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/chromium/files/patch-content_public_common_content__switches.h b/www/chromium/files/patch-content_public_common_content__switches.h
index f85227cb3263..cd68ba47f34b 100644
--- a/www/chromium/files/patch-content_public_common_content__switches.h
+++ b/www/chromium/files/patch-content_public_common_content__switches.h
@@ -1,6 +1,14 @@
---- content/public/common/content_switches.h.orig 2021-12-31 00:57:32 UTC
+--- content/public/common/content_switches.h.orig 2022-02-07 13:39:41 UTC
+++ content/public/common/content_switches.h
-@@ -274,7 +274,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD
+@@ -114,6 +114,7 @@ CONTENT_EXPORT extern const char kEnableBlinkTestFeatu
+ CONTENT_EXPORT extern const char kEnableGpuMemoryBufferVideoFrames[];
+ CONTENT_EXPORT extern const char kEnableLCDText[];
+ CONTENT_EXPORT extern const char kEnableLogging[];
++CONTENT_EXPORT extern const char kDisableUnveil[];
+ CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[];
+ CONTENT_EXPORT extern const char kEnableCanvas2DLayers[];
+ CONTENT_EXPORT extern const char kEnableCanvasContextLostInBackground[];
+@@ -276,7 +277,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc b/www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc
index e0d2156d885f..c034ab5b60c9 100644
--- a/www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc
+++ b/www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc
@@ -1,11 +1,11 @@
---- content/public/common/use_zoom_for_dsf_policy.cc.orig 2021-04-14 18:41:03 UTC
+--- content/public/common/use_zoom_for_dsf_policy.cc.orig 2022-02-07 13:39:41 UTC
+++ content/public/common/use_zoom_for_dsf_policy.cc
-@@ -25,7 +25,7 @@ const base::Feature kUseZoomForDsfEnabledByDefault{
- #endif
+@@ -26,7 +26,7 @@ const base::Feature kUseZoomForDsfEnabledByDefault{
bool IsUseZoomForDSFEnabledByDefault() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_BSD)
return true;
#elif defined(OS_WIN) || defined(OS_ANDROID)
return base::FeatureList::IsEnabled(kUseZoomForDsfEnabledByDefault);
diff --git a/www/chromium/files/patch-content_public_test_browser__test__base.cc b/www/chromium/files/patch-content_public_test_browser__test__base.cc
deleted file mode 100644
index 2a4a6e16d5f9..000000000000
--- a/www/chromium/files/patch-content_public_test_browser__test__base.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- content/public/test/browser_test_base.cc.orig 2021-12-14 11:45:05 UTC
-+++ content/public/test/browser_test_base.cc
-@@ -110,6 +110,10 @@
- #include "ui/views/test/event_generator_delegate_mac.h"
- #endif
-
-+#if defined(OS_FREEBSD)
-+#include <sys/signal.h>
-+#endif
-+
- #if defined(OS_POSIX)
- #include "base/process/process_handle.h"
- #endif
diff --git a/www/chromium/files/patch-content_public_test_content__browser__test.cc b/www/chromium/files/patch-content_public_test_content__browser__test.cc
deleted file mode 100644
index 9d4d81709a75..000000000000
--- a/www/chromium/files/patch-content_public_test_content__browser__test.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/public/test/content_browser_test.cc.orig 2021-09-14 01:51:57 UTC
-+++ content/public/test/content_browser_test.cc
-@@ -30,7 +30,7 @@
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/base/ime/init/input_method_initializer.h"
- #endif
-
-@@ -93,7 +93,7 @@ void ContentBrowserTest::SetUp() {
- // LinuxInputMethodContextFactory has to be initialized.
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD)
- ui::InitializeInputMethodForTesting();
- #endif
-
-@@ -108,7 +108,7 @@ void ContentBrowserTest::TearDown() {
- // LinuxInputMethodContextFactory has to be shutdown.
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX)
-+#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD)
- ui::ShutdownInputMethodForTesting();
- #endif
- }
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 a65ed7e9bc8f..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 2021-12-14 11:45:05 UTC
-+++ content/public/test/mock_render_thread.cc
-@@ -63,7 +63,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend
- std::move(callback).Run(false);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void SetThreadPriority(int32_t platform_thread_id,
- base::ThreadPriority thread_priority) override {}
- #endif
diff --git a/www/chromium/files/patch-content_renderer_render__process__impl.cc b/www/chromium/files/patch-content_renderer_render__process__impl.cc
index af43ed70249d..37cc726442ff 100644
--- a/www/chromium/files/patch-content_renderer_render__process__impl.cc
+++ b/www/chromium/files/patch-content_renderer_render__process__impl.cc
@@ -1,4 +1,4 @@
---- content/renderer/render_process_impl.cc.orig 2021-12-31 00:57:32 UTC
+--- content/renderer/render_process_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ content/renderer/render_process_impl.cc
@@ -47,7 +47,7 @@
#if defined(OS_WIN)
@@ -9,7 +9,7 @@
#include "v8/include/v8-wasm-trap-handler-posix.h"
#endif
-@@ -146,12 +146,12 @@ RenderProcessImpl::RenderProcessImpl()
+@@ -146,7 +146,7 @@ RenderProcessImpl::RenderProcessImpl()
SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtection,
"--no-wasm-write-protect-code-memory");
@@ -18,15 +18,9 @@
SetV8FlagIfFeature(features::kWebAssemblyCodeProtectionPku,
"--wasm-memory-protection-keys");
SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtectionPku,
- "--no-wasm-memory-protection-keys");
--#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) &&
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) &&
- // defined(ARCH_CPU_X86_64)
-
- SetV8FlagIfFeature(features::kWebAssemblyLazyCompilation,
@@ -240,7 +240,7 @@ RenderProcessImpl::RenderProcessImpl()
- SetV8FlagIfFeature(features::kWebAssemblyTiering, "--wasm-tier-up");
- SetV8FlagIfNotFeature(features::kWebAssemblyTiering, "--no-wasm-tier-up");
+ SetV8FlagIfFeature(features::kWebAssemblyDynamicTiering,
+ "--wasm-dynamic-tiering");
-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
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 2a910a4c5866..6f28be87f7a0 100644
--- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc
+++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc
@@ -1,24 +1,24 @@
---- content/renderer/render_thread_impl.cc.orig 2022-01-20 10:35:57 UTC
+--- content/renderer/render_thread_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ content/renderer/render_thread_impl.cc
-@@ -190,7 +190,7 @@
+@@ -188,7 +188,7 @@
#if defined(OS_MAC)
#include <malloc/malloc.h>
-#else
-+#elif !defined(OS_BSD)
++#elif !defined(OS_OPENBSD)
#include <malloc.h>
#endif
-@@ -723,7 +723,7 @@ void RenderThreadImpl::Init() {
- compositor_thread_pipeline_.get()));
- }
+@@ -701,7 +701,7 @@ void RenderThreadImpl::Init() {
+ DCHECK(parsed_num_raster_threads) << string_value;
+ DCHECK_GT(num_raster_threads, 0);
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
categorized_worker_pool_->SetBackgroundingCallback(
main_thread_scheduler_->DefaultTaskRunner(),
base::BindOnce(
-@@ -746,7 +746,7 @@ void RenderThreadImpl::Init() {
+@@ -724,7 +724,7 @@ void RenderThreadImpl::Init() {
base::DiscardableMemoryAllocator::SetInstance(
discardable_memory_allocator_.get());
@@ -27,7 +27,7 @@
if (base::FeatureList::IsEnabled(
blink::features::kBlinkCompositorUseDisplayThreadPriority)) {
render_message_filter()->SetThreadPriority(
-@@ -1077,22 +1077,22 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+@@ -1057,7 +1057,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
const bool enable_video_decode_accelerator =
@@ -36,11 +36,7 @@
base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) &&
#else
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) &&
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- (gpu_channel_host->gpu_feature_info()
- .status_values[gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE] ==
- gpu::kGpuFeatureStatusEnabled);
+@@ -1068,7 +1068,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
const bool enable_video_encode_accelerator =
@@ -49,17 +45,3 @@
base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux) &&
#else
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) &&
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- (gpu_channel_host->gpu_feature_info()
- .status_values[gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE] ==
- gpu::kGpuFeatureStatusEnabled);
-@@ -1105,7 +1105,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
- !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames);
- #else
- cmd_line->HasSwitch(switches::kEnableGpuMemoryBufferVideoFrames);
--#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
-+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // defined(OS_WIN)
- const bool enable_media_stream_gpu_memory_buffers =
- enable_gpu_memory_buffers &&
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 0dd013d335f5..33c8fc748011 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,4 +1,4 @@
---- content/renderer/renderer_blink_platform_impl.cc.orig 2021-12-31 00:57:32 UTC
+--- content/renderer/renderer_blink_platform_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -108,7 +108,7 @@
@@ -27,16 +27,17 @@
if (sandboxEnabled()) {
#if defined(OS_MAC)
sandbox_support_ = std::make_unique<WebSandboxSupportMac>();
-@@ -261,7 +261,7 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory(
+@@ -261,7 +261,8 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory(
/*terminate_sync_load_event=*/nullptr);
}
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
++// pledge
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
void RendererBlinkPlatformImpl::SetDisplayThreadPriority(
base::PlatformThreadId thread_id) {
if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) {
-@@ -276,7 +276,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop
+@@ -276,7 +277,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop
}
blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
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 f370847f0dd0..ad10482ead1d 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,6 +1,6 @@
---- content/renderer/renderer_blink_platform_impl.h.orig 2021-12-31 00:57:32 UTC
+--- content/renderer/renderer_blink_platform_impl.h.orig 2022-02-07 13:39:41 UTC
+++ content/renderer/renderer_blink_platform_impl.h
-@@ -31,7 +31,7 @@
+@@ -29,7 +29,7 @@
#include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h"
#include "third_party/blink/public/mojom/loader/code_cache.mojom.h"
@@ -9,16 +9,7 @@
#include "components/services/font/public/cpp/font_loader.h" // nogncheck
#include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
#endif
-@@ -200,7 +200,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
- const blink::WebURL& top_document_web_url) override;
- gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override;
- blink::WebString ConvertIDNToUnicode(const blink::WebString& host) override;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void SetDisplayThreadPriority(base::PlatformThreadId thread_id) override;
- #endif
- blink::BlameContext* GetTopLevelBlameContext() override;
-@@ -277,7 +277,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
+@@ -274,7 +274,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
void Collect3DContextInformation(blink::Platform::GraphicsInfo* gl_info,
const gpu::GPUInfo& gpu_info) const;
@@ -27,7 +18,7 @@
std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
#endif
-@@ -301,7 +301,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
+@@ -298,7 +298,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
mojo::SharedRemote<blink::mojom::CodeCacheHost> code_cache_host_
GUARDED_BY(code_cache_host_lock_);
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 4ae89c96030a..67135dd09692 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,23 +1,18 @@
---- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2021-12-31 00:57:32 UTC
+--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ content/renderer/renderer_main_platform_delegate_linux.cc
-@@ -31,6 +31,11 @@ void RendererMainPlatformDelegate::PlatformUninitializ
- }
-
- bool RendererMainPlatformDelegate::EnableSandbox() {
-+#if defined(OS_FREEBSD)
-+ sandbox::policy::Sandbox::Initialize(
-+ sandbox::policy::SandboxTypeFromCommandLine(
-+ *base::CommandLine::ForCurrentProcess()));
-+#else
- // The setuid sandbox is started in the zygote process: zygote_main_linux.cc
- // https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox.md
- //
-@@ -66,7 +71,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() {
+@@ -45,6 +45,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)
+ auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance();
+ if (linux_sandbox->GetStatus() & sandbox::policy::SandboxLinux::kSeccompBPF) {
+ CHECK(linux_sandbox->seccomp_bpf_started());
+@@ -66,6 +67,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() {
CHECK_EQ(errno, EPERM);
}
#endif // __x86_64__
--
-+#endif // OS_FREEBSD
++#endif
+
return true;
}
-
diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn
index e227b01975b5..fc8ffc6a2b73 100644
--- a/www/chromium/files/patch-content_shell_BUILD.gn
+++ b/www/chromium/files/patch-content_shell_BUILD.gn
@@ -1,42 +1,6 @@
---- content/shell/BUILD.gn.orig 2021-12-31 00:57:33 UTC
+--- content/shell/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ content/shell/BUILD.gn
-@@ -90,7 +90,7 @@ static_library("content_shell_app") {
- "//content/web_test:web_test_renderer",
- ]
- }
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [
- "//components/crash/core/app",
- "//components/crash/core/app:test_support",
-@@ -277,7 +277,7 @@ static_library("content_shell_lib") {
-
- if (is_fuchsia) {
- deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.ui.policy" ]
-- } else {
-+ } else if (!is_bsd) {
- deps += [
- "//components/crash/content/browser",
- "//components/crash/core/app",
-@@ -540,7 +540,7 @@ if (is_android) {
- if (is_win) {
- data_deps +=
- [ "//third_party/crashpad/crashpad/handler:crashpad_handler" ]
-- } else if (is_linux || is_chromeos) {
-+ } else if ((is_linux || is_chromeos) && !is_bsd) {
- data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
- }
-
-@@ -848,7 +848,7 @@ group("content_shell_crash_test") {
- mac_bin_path + "otool-classic",
- ]
- }
-- if (is_posix) {
-+ if (is_posix && !is_bsd) {
- data += [
- "//components/crash/content/tools/generate_breakpad_symbols.py",
- "//components/crash/content/tools/dmp2minidump.py",
-@@ -857,7 +857,7 @@ group("content_shell_crash_test") {
+@@ -869,7 +869,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 a5bc977f9f4c..3081382eea42 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,29 +1,11 @@
---- content/shell/app/shell_main_delegate.cc.orig 2021-09-14 01:51:57 UTC
+--- content/shell/app/shell_main_delegate.cc.orig 2022-02-07 13:39:41 UTC
+++ content/shell/app/shell_main_delegate.cc
-@@ -193,7 +193,7 @@ bool ShellMainDelegate::ShouldCreateFeatureList() {
-
- void ShellMainDelegate::PreSandboxStartup() {
- #if defined(ARCH_CPU_ARM_FAMILY) && \
-- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- // Create an instance of the CPU class to parse /proc/cpuinfo and cache
- // cpu_brand info.
- base::CPU cpu_info;
-@@ -202,7 +202,7 @@ void ShellMainDelegate::PreSandboxStartup() {
- // Disable platform crash handling and initialize the crash reporter, if
- // requested.
- // TODO(crbug.com/1226159): Implement crash reporter integration for Fuchsia.
--#if !defined(OS_FUCHSIA)
-+#if !defined(OS_FUCHSIA) && !defined(OS_BSD)
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableCrashReporter)) {
- std::string process_type =
-@@ -218,7 +218,7 @@ void ShellMainDelegate::PreSandboxStartup() {
+@@ -211,7 +211,7 @@ void ShellMainDelegate::PreSandboxStartup() {
+ // Reporting for sub-processes will be initialized in ZygoteForked.
+ if (process_type != switches::kZygoteProcess) {
+ crash_reporter::InitializeCrashpad(process_type.empty(), process_type);
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ crash_reporter::SetFirstChanceExceptionHandler(
+ v8::TryHandleWebAssemblyTrapPosix);
#endif
- }
- }
--#endif // !defined(OS_FUCHSIA)
-+#endif // !defined(OS_FUCHSIA) && !defined(OS_BSD)
-
- crash_reporter::InitializeCrashKeys();
-
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 18f652d4e25c..7b1010e06148 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,15 +1,15 @@
---- content/shell/browser/shell_browser_main_parts.cc.orig 2021-12-31 00:57:33 UTC
+--- content/shell/browser/shell_browser_main_parts.cc.orig 2022-02-07 13:39:41 UTC
+++ content/shell/browser/shell_browser_main_parts.cc
@@ -49,7 +49,7 @@
#include "net/base/network_change_notifier.h"
#endif
-#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
#include "ui/base/ime/init/input_method_initializer.h"
#endif
-@@ -128,7 +128,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop(
+@@ -129,7 +129,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop(
}
int ShellBrowserMainParts::PreEarlyInitialization() {
diff --git a/www/chromium/files/patch-content_shell_browser_shell__paths.cc b/www/chromium/files/patch-content_shell_browser_shell__paths.cc
index 0c22bf6aa031..e5313259cb28 100644
--- a/www/chromium/files/patch-content_shell_browser_shell__paths.cc
+++ b/www/chromium/files/patch-content_shell_browser_shell__paths.cc
@@ -1,15 +1,15 @@
---- content/shell/browser/shell_paths.cc.orig 2021-09-24 18:48:29 UTC
+--- content/shell/browser/shell_paths.cc.orig 2022-02-07 13:39:41 UTC
+++ content/shell/browser/shell_paths.cc
-@@ -12,7 +12,7 @@
+@@ -13,7 +13,7 @@
- #if defined(OS_WIN)
- #include "base/base_paths_win.h"
+ #if defined(OS_FUCHSIA)
+ #include "base/fuchsia/file_utils.h"
-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "base/nix/xdg_util.h"
- #elif defined(OS_MAC)
- #include "base/base_paths_mac.h"
-@@ -28,7 +28,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul
+ #endif
+
+@@ -25,7 +25,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul
#if defined(OS_WIN)
CHECK(base::PathService::Get(base::DIR_LOCAL_APP_DATA, result));
*result = result->Append(std::wstring(L"content_shell"));
diff --git a/www/chromium/files/patch-content_test_BUILD.gn b/www/chromium/files/patch-content_test_BUILD.gn
index 2592d470b39d..38dc56055adc 100644
--- a/www/chromium/files/patch-content_test_BUILD.gn
+++ b/www/chromium/files/patch-content_test_BUILD.gn
@@ -1,23 +1,6 @@
---- content/test/BUILD.gn.orig 2021-12-31 00:57:33 UTC
+--- content/test/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ content/test/BUILD.gn
-@@ -1593,10 +1593,12 @@ test("content_browsertests") {
- }
-
- if (is_linux || is_chromeos) {
-- sources += [
-- "../browser/utility_process_sandbox_browsertest.cc",
-- "../browser/zygote_host/zygote_browsertest.cc",
-- ]
-+ if (!is_bsd) {
-+ sources += [
-+ "../browser/utility_process_sandbox_browsertest.cc",
-+ "../browser/zygote_host/zygote_browsertest.cc",
-+ ]
-+ }
- deps += [
- "//printing/buildflags",
- "//ui/gfx:test_support",
-@@ -1865,7 +1867,7 @@ static_library("run_all_unittests") {
+@@ -1878,7 +1878,7 @@ static_library("run_all_unittests") {
":test_support",
"//base/test:test_support",
]
@@ -26,7 +9,7 @@
deps += [ "//content/common:set_process_title_linux" ]
}
}
-@@ -2774,7 +2776,7 @@ test("content_unittests") {
+@@ -2806,7 +2806,7 @@ test("content_unittests") {
deps += [ "//third_party/boringssl" ]
}
diff --git a/www/chromium/files/patch-content_test_content__test__suite.cc b/www/chromium/files/patch-content_test_content__test__suite.cc
deleted file mode 100644
index b03f2e2e9b7f..000000000000
--- a/www/chromium/files/patch-content_test_content__test__suite.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- content/test/content_test_suite.cc.orig 2021-12-31 00:57:33 UTC
-+++ content/test/content_test_suite.cc
-@@ -85,6 +85,7 @@ void ContentTestSuite::Initialize() {
- // to initialize GL, so don't do it here.
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
- bool is_child_process = command_line->HasSwitch(switches::kTestChildProcess);
-+#if !defined(OS_BSD)
- if (!is_child_process) {
- gl::GLSurfaceTestSupport::InitializeNoExtensionsOneOff();
- auto* gpu_feature_info = gpu::GetTestGpuThreadHolder()->GetGpuFeatureInfo();
-@@ -92,6 +93,7 @@ void ContentTestSuite::Initialize() {
- gpu_feature_info->disabled_extensions);
- gl::init::InitializeExtensionSettingsOneOffPlatform();
- }
-+#endif
- // TestEventListeners repeater event propagation is disabled in death test
- // child process.
- if (command_line->HasSwitch("gtest_internal_run_death_test")) {
diff --git a/www/chromium/files/patch-content_utility_BUILD.gn b/www/chromium/files/patch-content_utility_BUILD.gn
deleted file mode 100644
index d96b4f38513b..000000000000
--- a/www/chromium/files/patch-content_utility_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/utility/BUILD.gn.orig 2021-12-14 11:45:06 UTC
-+++ content/utility/BUILD.gn
-@@ -103,7 +103,7 @@ source_set("utility") {
- deps += [ "//services/proxy_resolver:lib" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [
- "//content/utility/speech:speech_recognition_sandbox_hook",
- "//services/network:network_sandbox_hook",
diff --git a/www/chromium/files/patch-content_utility_services.cc b/www/chromium/files/patch-content_utility_services.cc
new file mode 100644
index 000000000000..5e46ea9659c4
--- /dev/null
+++ b/www/chromium/files/patch-content_utility_services.cc
@@ -0,0 +1,20 @@
+--- content/utility/services.cc.orig 2022-02-07 13:39:41 UTC
++++ content/utility/services.cc
+@@ -68,7 +68,7 @@
+ extern sandbox::TargetServices* g_utility_target_services;
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "sandbox/linux/services/libc_interceptor.h"
+ #include "sandbox/policy/mojom/sandbox.mojom.h"
+ #include "sandbox/policy/sandbox_type.h"
+@@ -206,7 +206,7 @@ auto RunAudio(mojo::PendingReceiver<audio::mojom::Audi
+ << "task_policy_set TASK_QOS_POLICY";
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ auto* command_line = base::CommandLine::ForCurrentProcess();
+ if (sandbox::policy::SandboxTypeFromCommandLine(*command_line) ==
+ sandbox::mojom::Sandbox::kNoSandbox) {
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
new file mode 100644
index 000000000000..356f7e6daae0
--- /dev/null
+++ b/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc
@@ -0,0 +1,37 @@
+--- 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
+@@ -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)
+ using sandbox::syscall_broker::BrokerFilePermission;
+ using sandbox::syscall_broker::MakeBrokerCommandSet;
++#endif
+
+ namespace speech {
+
++#if !defined(OS_BSD)
+ namespace {
+
+ // Gets the file permissions required by the Speech On-Device API (SODA).
+@@ -50,9 +53,11 @@ std::vector<BrokerFilePermission> GetSodaFilePermissio
+ }
+
+ } // namespace
++#endif
+
+ bool SpeechRecognitionPreSandboxHook(
+ sandbox::policy::SandboxLinux::Options options) {
++#if !defined(OS_BSD)
+ #if BUILDFLAG(ENABLE_SODA)
+ 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);
+ instance->EngageNamespaceSandboxIfPossible();
++#endif
+
+ return true;
+ }
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
new file mode 100644
index 000000000000..77c79a0e7c8d
--- /dev/null
+++ b/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h
@@ -0,0 +1,14 @@
+--- 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
+@@ -5,7 +5,11 @@
+ #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"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+
+ namespace speech {
+
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 236da2abd09f..bea16be55d63 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,6 +1,6 @@
---- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2021-12-14 11:45:06 UTC
+--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2022-02-07 13:39:41 UTC
+++ content/utility/utility_blink_platform_with_sandbox_support_impl.h
-@@ -11,7 +11,7 @@
+@@ -10,7 +10,7 @@
#include "build/build_config.h"
#include "third_party/blink/public/platform/platform.h"
@@ -9,7 +9,7 @@
#include "components/services/font/public/cpp/font_loader.h" // nogncheck
#include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
#endif
-@@ -39,10 +39,10 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub
+@@ -38,10 +38,10 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub
blink::WebSandboxSupport* GetSandboxSupport() override;
private:
diff --git a/www/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc
index 7e15498ab952..cf4428749ae7 100644
--- a/www/chromium/files/patch-content_utility_utility__main.cc
+++ b/www/chromium/files/patch-content_utility_utility__main.cc
@@ -1,14 +1,55 @@
---- content/utility/utility_main.cc.orig 2021-12-31 00:57:33 UTC
+--- content/utility/utility_main.cc.orig 2022-02-07 13:39:41 UTC
+++ content/utility/utility_main.cc
-@@ -115,6 +115,11 @@ int UtilityMain(const MainFunctionParams& parameters)
- }
- }
+@@ -31,16 +31,22 @@
+ #include "third_party/icu/source/common/unicode/unistr.h"
+ #include "third_party/icu/source/i18n/unicode/timezone.h"
-+#if defined(OS_FREEBSD)
-+ sandbox::policy::Sandbox::Initialize(
-+ sandbox::policy::SandboxTypeFromCommandLine(parameters.command_line));
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #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 !defined(OS_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 defined(OS_BSD)
++#include "sandbox/policy/openbsd/sandbox_openbsd.h"
+#endif
+
- #if defined(OS_LINUX) || defined(OS_CHROMEOS)
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ #include "ash/services/ime/ime_sandbox_hook.h"
+ #include "chromeos/assistant/buildflags.h"
+@@ -121,7 +127,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ }
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
// Initializes the sandbox before any threads are created.
// TODO(jorgelo): move this after GTK initialization when we enable a strict
+ // Seccomp-BPF policy.
+@@ -165,6 +171,7 @@ int UtilityMain(MainFunctionParams parameters) {
+ default:
+ break;
+ }
++#if !defined(OS_BSD)
+ if (parameters.zygote_child || !pre_sandbox_hook.is_null()) {
+ sandbox::policy::SandboxLinux::Options sandbox_options;
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -180,6 +187,11 @@ int UtilityMain(MainFunctionParams parameters) {
+ sandbox::policy::Sandbox::Initialize(
+ sandbox_type, std::move(pre_sandbox_hook), sandbox_options);
+ }
++#else
++ sandbox::policy::Sandbox::Initialize(
++ sandbox_type, std::move(pre_sandbox_hook),
++ sandbox::policy::SandboxLinux::Options());
++#endif
+ #elif defined(OS_WIN)
+ g_utility_target_services = parameters.sandbox_info->target_services;
+ #endif
diff --git a/www/chromium/files/patch-content_zygote_BUILD.gn b/www/chromium/files/patch-content_zygote_BUILD.gn
new file mode 100644
index 000000000000..b9c3d8fe8cdc
--- /dev/null
+++ b/www/chromium/files/patch-content_zygote_BUILD.gn
@@ -0,0 +1,11 @@
+--- content/zygote/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ content/zygote/BUILD.gn
+@@ -5,7 +5,7 @@
+ import("//build/config/nacl/config.gni")
+ import("//content/public/common/zygote/features.gni")
+
+-if (is_linux || is_chromeos) {
++if ((is_linux || is_chromeos) && !is_bsd) {
+ source_set("zygote") {
+ sources = [
+ "zygote_linux.cc",
diff --git a/www/chromium/files/patch-content_zygote_zygote__linux.cc b/www/chromium/files/patch-content_zygote_zygote__linux.cc
index a7434c704502..a9459a80819d 100644
--- a/www/chromium/files/patch-content_zygote_zygote__linux.cc
+++ b/www/chromium/files/patch-content_zygote_zygote__linux.cc
@@ -1,15 +1,14 @@
---- content/zygote/zygote_linux.cc.orig 2021-09-24 04:26:06 UTC
+--- content/zygote/zygote_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ content/zygote/zygote_linux.cc
-@@ -1,7 +1,7 @@
+@@ -1,6 +1,7 @@
// 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.
--
+#if 0
+
#include "content/zygote/zygote_linux.h"
- #include <errno.h>
-@@ -650,3 +650,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick
+@@ -650,3 +651,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick
}
} // 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 d79d70201cb0..91c7bc1e35f7 100644
--- a/www/chromium/files/patch-content_zygote_zygote__main__linux.cc
+++ b/www/chromium/files/patch-content_zygote_zygote__main__linux.cc
@@ -1,4 +1,4 @@
---- content/zygote/zygote_main_linux.cc.orig 2021-04-14 18:41:03 UTC
+--- content/zygote/zygote_main_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ content/zygote/zygote_main_linux.cc
@@ -11,7 +11,9 @@
#include <stddef.h>
@@ -10,25 +10,41 @@
#include <sys/socket.h>
#include <sys/types.h>
#include <unistd.h>
-@@ -99,6 +101,7 @@ static bool CreateInitProcessReaper(
- // created through the setuid sandbox.
- static bool EnterSuidSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
- base::OnceClosure post_fork_parent_callback) {
+@@ -40,7 +42,9 @@
+ #include "sandbox/linux/services/thread_helpers.h"
+ #include "sandbox/linux/suid/client/setuid_sandbox_client.h"
+ #include "sandbox/policy/linux/sandbox_debug_handling_linux.h"
+#if !defined(OS_BSD)
- DCHECK(setuid_sandbox);
- DCHECK(setuid_sandbox->IsSuidSandboxChild());
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+ #include "sandbox/policy/sandbox.h"
+ #include "sandbox/policy/switches.h"
+ #include "third_party/icu/source/i18n/unicode/timezone.h"
+@@ -49,6 +53,7 @@ namespace content {
-@@ -131,6 +134,9 @@ static bool EnterSuidSandbox(sandbox::SetuidSandboxCli
+ namespace {
- CHECK(sandbox::policy::SandboxDebugHandling::SetDumpableStatusAndHandlers());
- return true;
-+#else
-+ return false;
-+#endif // !defined(OS_BSD)
++#if !defined(OS_BSD)
+ void CloseFds(const std::vector<int>& fds) {
+ for (const auto& it : fds) {
+ PCHECK(0 == IGNORE_EINTR(close(it)));
+@@ -66,9 +71,11 @@ base::OnceClosure ClosureFromTwoClosures(base::OnceClo
+ },
+ std::move(one), std::move(two));
}
++#endif
- static void DropAllCapabilities(int proc_fd) {
-@@ -176,6 +182,7 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand
+ } // 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() {
+@@ -173,9 +180,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand
+ CHECK(!using_layer1_sandbox);
+ }
+ }
++#endif
bool ZygoteMain(
std::vector<std::unique_ptr<ZygoteForkDelegate>> fork_delegates) {
@@ -36,13 +52,13 @@
sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD());
auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance();
-@@ -240,6 +247,9 @@ bool ZygoteMain(
+@@ -240,6 +249,9 @@ bool ZygoteMain(
// This function call can return multiple times, once per fork().
return zygote.ProcessRequests();
+#else
+ return false;
-+#endif // !defined(OS_BSD)
++#endif
}
} // namespace content
diff --git a/www/chromium/files/patch-device_bluetooth_BUILD.gn b/www/chromium/files/patch-device_bluetooth_BUILD.gn
deleted file mode 100644
index 596c6eb70237..000000000000
--- a/www/chromium/files/patch-device_bluetooth_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- device/bluetooth/BUILD.gn.orig 2021-12-14 11:45:06 UTC
-+++ device/bluetooth/BUILD.gn
-@@ -308,7 +308,7 @@ component("bluetooth") {
- ]
- }
-
-- if (is_chromeos || is_linux) {
-+ if ((is_chromeos || is_linux) && !is_bsd) {
- if (use_bluez) {
- if (!force_cast_bluetooth) {
- sources += [ "bluetooth_adapter_chromeos.cc" ]
diff --git a/www/chromium/files/patch-device_gamepad_hid__writer__linux.cc b/www/chromium/files/patch-device_gamepad_hid__writer__linux.cc
index 784ed63be98f..5208c5251dbc 100644
--- a/www/chromium/files/patch-device_gamepad_hid__writer__linux.cc
+++ b/www/chromium/files/patch-device_gamepad_hid__writer__linux.cc
@@ -1,11 +1,11 @@
---- device/gamepad/hid_writer_linux.cc.orig 2021-04-14 18:41:03 UTC
+--- device/gamepad/hid_writer_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ device/gamepad/hid_writer_linux.cc
-@@ -4,6 +4,8 @@
-
- #include "device/gamepad/hid_writer_linux.h"
+@@ -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 <unistd.h>
+
- #include "base/posix/eintr_wrapper.h"
+ #include "device/gamepad/hid_writer_linux.h"
- namespace device {
+ #include "base/posix/eintr_wrapper.h"
diff --git a/www/chromium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc b/www/chromium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
deleted file mode 100644
index af8c790160d4..000000000000
--- a/www/chromium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- extensions/browser/api/declarative_webrequest/webrequest_action.cc.orig 2021-07-19 18:45:16 UTC
-+++ extensions/browser/api/declarative_webrequest/webrequest_action.cc
-@@ -27,7 +27,11 @@
- #include "extensions/common/extension.h"
- #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
- #include "net/http/http_util.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- using extension_web_request_api_helpers::EventResponseDelta;
-
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 6789e1b8927b..0440d715fc59 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,35 +1,20 @@
---- extensions/browser/api/messaging/message_service.cc.orig 2021-12-14 11:45:06 UTC
+--- extensions/browser/api/messaging/message_service.cc.orig 2022-02-07 13:39:41 UTC
+++ extensions/browser/api/messaging/message_service.cc
@@ -74,7 +74,7 @@ namespace {
-
const char kReceivingEndDoesntExistError[] =
"Could not establish connection. Receiving end does not exist.";
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
const char kMissingPermissionError[] =
"Access to native messaging requires nativeMessaging permission.";
+ const char kProhibitedByPoliciesError[] =
@@ -439,7 +439,7 @@ void MessageService::OpenChannelToNativeApp(
- if (!opener_port->IsValidPort())
return;
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
bool has_permission = extension->permissions_data()->HasAPIPermission(
mojom::APIPermissionID::kNativeMessaging);
-@@ -493,12 +493,12 @@ void MessageService::OpenChannelToNativeApp(
- channel->opener->IncrementLazyKeepaliveCount();
-
- AddChannel(std::move(channel), receiver_port_id);
--#else // !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#else // !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS))
- const char kNativeMessagingNotSupportedError[] =
- "Native Messaging is not supported on this platform.";
- opener_port->DispatchOnDisconnect(kNativeMessagingNotSupportedError);
--#endif // !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS))
- }
-
+ if (!has_permission) {
diff --git a/www/chromium/files/patch-extensions_browser_api_web__request_form__data__parser.cc b/www/chromium/files/patch-extensions_browser_api_web__request_form__data__parser.cc
deleted file mode 100644
index 96b605cf72ae..000000000000
--- a/www/chromium/files/patch-extensions_browser_api_web__request_form__data__parser.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- extensions/browser/api/web_request/form_data_parser.cc.orig 2021-07-19 18:45:16 UTC
-+++ extensions/browser/api/web_request/form_data_parser.cc
-@@ -17,7 +17,11 @@
- #include "base/values.h"
- #include "net/base/escape.h"
- #include "net/http/http_request_headers.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- using base::DictionaryValue;
- using base::ListValue;
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
index c34950bfeb2c..6dba1684b015 100644
--- 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
@@ -1,11 +1,11 @@
---- extensions/browser/browser_context_keyed_service_factories.cc.orig 2021-07-19 18:45:16 UTC
+--- extensions/browser/browser_context_keyed_service_factories.cc.orig 2022-02-07 13:39:41 UTC
+++ extensions/browser/browser_context_keyed_service_factories.cc
-@@ -88,7 +88,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
- HidDeviceManager::GetFactoryInstance();
+@@ -89,7 +89,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
IdleManagerFactory::GetInstance();
ManagementAPI::GetFactoryInstance();
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_MAC)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
+- defined(OS_MAC)
++ defined(OS_MAC) || defined(OS_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
index 1fd6811777e4..290ffac3509a 100644
--- a/www/chromium/files/patch-extensions_browser_extension__prefs.cc
+++ b/www/chromium/files/patch-extensions_browser_extension__prefs.cc
@@ -1,6 +1,6 @@
---- extensions/browser/extension_prefs.cc.orig 2021-12-31 00:57:34 UTC
+--- extensions/browser/extension_prefs.cc.orig 2022-02-07 13:39:41 UTC
+++ extensions/browser/extension_prefs.cc
-@@ -2260,7 +2260,7 @@ void ExtensionPrefs::RegisterProfilePrefs(
+@@ -2252,7 +2252,7 @@ void ExtensionPrefs::RegisterProfilePrefs(
registry->RegisterStringPref(pref_names::kLastChromeVersion, std::string());
registry->RegisterDictionaryPref(kInstallSignature);
registry->RegisterListPref(kExternalUninstalls);
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 f8bceeb9accc..037478cd165d 100644
--- a/www/chromium/files/patch-extensions_common_api___permission__features.json
+++ b/www/chromium/files/patch-extensions_common_api___permission__features.json
@@ -1,11 +1,20 @@
---- extensions/common/api/_permission_features.json.orig 2021-12-31 00:57:34 UTC
+--- extensions/common/api/_permission_features.json.orig 2022-02-07 13:39:41 UTC
+++ extensions/common/api/_permission_features.json
+@@ -134,7 +134,7 @@
+ {
+ "channel": "stable",
+ "extension_types": ["platform_app"],
+- "platforms": ["chromeos", "win", "mac", "linux"],
++ "platforms": ["chromeos", "win", "mac", "linux", "openbsd"],
+ "allowlist": [
+ "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169
+ "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169
@@ -445,7 +445,7 @@
}, {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
- "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"],
-+ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "bsd"],
++ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd"],
"allowlist": [
"0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651
"1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683
@@ -14,7 +23,7 @@
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
- "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"],
-+ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "bsd"],
++ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd"],
"allowlist": [
// DO NOT ADD ANY MORE ENTRIES HERE.
// networkingPrivate is being migrated to networking.onc.
diff --git a/www/chromium/files/patch-extensions_common_api_runtime.json b/www/chromium/files/patch-extensions_common_api_runtime.json
deleted file mode 100644
index 2a0df60736a6..000000000000
--- a/www/chromium/files/patch-extensions_common_api_runtime.json
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/common/api/runtime.json.orig 2021-09-24 04:26:06 UTC
-+++ extensions/common/api/runtime.json
-@@ -77,7 +77,7 @@
- "id": "PlatformOs",
- "type": "string",
- "description": "The operating system Chrome is running on.",
-- "enum": ["mac", "win", "android", "cros", "linux", "openbsd"]
-+ "enum": ["mac", "win", "android", "cros", "linux", "freebsd", "openbsd"]
- },
- {
- "id": "PlatformArch",
diff --git a/www/chromium/files/patch-extensions_common_features_feature.cc b/www/chromium/files/patch-extensions_common_features_feature.cc
index 269b20ec107f..58152ea08295 100644
--- a/www/chromium/files/patch-extensions_common_features_feature.cc
+++ b/www/chromium/files/patch-extensions_common_features_feature.cc
@@ -1,11 +1,11 @@
---- extensions/common/features/feature.cc.orig 2021-04-14 18:41:04 UTC
+--- extensions/common/features/feature.cc.orig 2022-02-07 13:39:41 UTC
+++ extensions/common/features/feature.cc
-@@ -26,7 +26,7 @@ Feature::Platform Feature::GetCurrentPlatform() {
- return LACROS_PLATFORM;
- #elif BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS)
- return CHROMEOS_PLATFORM;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return LINUX_PLATFORM;
- #elif defined(OS_MAC)
- return MACOSX_PLATFORM;
+@@ -34,6 +34,8 @@ Feature::Platform Feature::GetCurrentPlatform() {
+ return WIN_PLATFORM;
+ #elif defined(OS_FUCHSIA)
+ return FUCHSIA_PLATFORM;
++#elif defined(OS_BSD)
++ return LINUX_PLATFORM;
+ #else
+ return UNSPECIFIED_PLATFORM;
+ #endif
diff --git a/www/chromium/files/patch-extensions_common_stack__frame.cc b/www/chromium/files/patch-extensions_common_stack__frame.cc
deleted file mode 100644
index 36b8c5a07d8c..000000000000
--- a/www/chromium/files/patch-extensions_common_stack__frame.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- extensions/common/stack_frame.cc.orig 2021-05-12 22:05:54 UTC
-+++ extensions/common/stack_frame.cc
-@@ -8,7 +8,11 @@
- #include <string>
-
- #include "base/strings/utf_string_conversions.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace extensions {
-
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 06e2345dda1d..dbe57dcbb69a 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,11 +1,11 @@
---- extensions/renderer/bindings/api_binding_util.cc.orig 2021-12-14 11:45:06 UTC
+--- extensions/renderer/bindings/api_binding_util.cc.orig 2022-02-07 13:39:41 UTC
+++ extensions/renderer/bindings/api_binding_util.cc
-@@ -140,6 +140,8 @@ std::string GetPlatformString() {
- return "win";
- #elif defined(OS_FUCHSIA)
- return "fuchsia";
-+#elif defined(OS_BSD)
-+ return "bsd";
- #else
- NOTREACHED();
- return std::string();
+@@ -132,7 +132,7 @@ std::string GetPlatformString() {
+ return "lacros";
+ #elif BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+ return "chromeos";
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return "linux";
+ #elif defined(OS_MAC)
+ return "mac";
diff --git a/www/chromium/files/patch-extensions_shell_BUILD.gn b/www/chromium/files/patch-extensions_shell_BUILD.gn
deleted file mode 100644
index 18d0a4af0db5..000000000000
--- a/www/chromium/files/patch-extensions_shell_BUILD.gn
+++ /dev/null
@@ -1,31 +0,0 @@
---- extensions/shell/BUILD.gn.orig 2021-12-31 00:57:34 UTC
-+++ extensions/shell/BUILD.gn
-@@ -206,16 +206,24 @@ source_set("app_shell_lib") {
- }
-
- if (is_linux || is_chromeos_lacros) {
-+ if (!is_bsd) {
-+ sources += [
-+ "app/shell_crash_reporter_client.cc",
-+ "app/shell_crash_reporter_client.h",
-+ ]
-+ }
- sources += [
-- "app/shell_crash_reporter_client.cc",
-- "app/shell_crash_reporter_client.h",
- "browser/api/file_system/shell_file_system_delegate.cc",
- "browser/api/file_system/shell_file_system_delegate.h",
- ]
-+ if (!is_bsd) {
-+ deps += [
-+ "//components/crash/core/app",
-+ "//components/crash/core/common",
-+ ]
-+ }
- deps += [
- "//build:branding_buildflags",
-- "//components/crash/core/app",
-- "//components/crash/core/common",
- "//components/upload_list",
- "//components/version_info:generate_version_info",
- ]
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
new file mode 100644
index 000000000000..6fcf0af77142
--- /dev/null
+++ b/www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc
@@ -0,0 +1,11 @@
+--- extensions/shell/browser/shell_browser_main_parts.cc.orig 2022-02-07 13:39:41 UTC
++++ extensions/shell/browser/shell_browser_main_parts.cc
+@@ -152,7 +152,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop(
+ switches::kAppShellAllowRoaming)) {
+ network_controller_->SetCellularAllowRoaming(true);
+ }
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_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 8430a925fdfe..308e89d6aab9 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,14 +1,5 @@
---- extensions/shell/browser/shell_extensions_api_client.cc.orig 2021-04-14 18:41:04 UTC
+--- extensions/shell/browser/shell_extensions_api_client.cc.orig 2022-02-07 13:39:41 UTC
+++ extensions/shell/browser/shell_extensions_api_client.cc
-@@ -19,7 +19,7 @@
-
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- #include "extensions/shell/browser/api/file_system/shell_file_system_delegate.h"
- #endif
-
@@ -57,7 +57,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider()
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
diff --git a/www/chromium/files/patch-extensions_shell_common_switches.cc b/www/chromium/files/patch-extensions_shell_common_switches.cc
new file mode 100644
index 000000000000..dda8a183d3ee
--- /dev/null
+++ b/www/chromium/files/patch-extensions_shell_common_switches.cc
@@ -0,0 +1,11 @@
+--- extensions/shell/common/switches.cc.orig 2022-02-07 13:39:41 UTC
++++ extensions/shell/common/switches.cc
+@@ -22,7 +22,7 @@ const char kAppShellPreferredNetwork[] = "app-shell-pr
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // The directory breakpad should store minidumps in.
+ const char kCrashDumpsDir[] = "crash-dumps-dir";
+
diff --git a/www/chromium/files/patch-extensions_shell_common_switches.h b/www/chromium/files/patch-extensions_shell_common_switches.h
new file mode 100644
index 000000000000..9e75e9414503
--- /dev/null
+++ b/www/chromium/files/patch-extensions_shell_common_switches.h
@@ -0,0 +1,11 @@
+--- extensions/shell/common/switches.h.orig 2022-02-07 13:39:41 UTC
++++ extensions/shell/common/switches.h
+@@ -20,7 +20,7 @@ extern const char kAppShellPreferredNetwork[];
+ #endif
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ extern const char kCrashDumpsDir[];
+ extern const char kEnableReporting[];
+ #endif
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 1e248c24ea4a..f02440d40794 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,6 +1,6 @@
---- google_apis/gcm/engine/heartbeat_manager.cc.orig 2021-12-14 11:45:06 UTC
+--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2022-02-07 13:39:41 UTC
+++ google_apis/gcm/engine/heartbeat_manager.cc
-@@ -32,13 +32,13 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
+@@ -32,7 +32,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
// Minimum time spent sleeping before we force a new heartbeat.
const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds.
@@ -9,13 +9,6 @@
// 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
- // way to be notified of system suspend and resume events.
- const int kHeartbeatMissedCheckMs = 1000 * 60 * 5; // 5 minutes.
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
-
- } // namespace
-
@@ -192,7 +192,7 @@ void HeartbeatManager::RestartTimer() {
base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered,
weak_ptr_factory_.GetWeakPtr()));
@@ -25,16 +18,7 @@
// Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified
// when the system is suspending or resuming. The only one that does not is
// Linux so we need to poll to check for missed heartbeats.
-@@ -201,7 +201,7 @@ void HeartbeatManager::RestartTimer() {
- base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat,
- weak_ptr_factory_.GetWeakPtr()),
- base::Milliseconds(kHeartbeatMissedCheckMs));
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- }
-
- void HeartbeatManager::CheckForMissedHeartbeat() {
-@@ -217,14 +217,14 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
+@@ -217,7 +217,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
return;
}
@@ -43,11 +27,3 @@
// Otherwise check again later.
io_task_runner_->PostDelayedTask(
FROM_HERE,
- base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat,
- weak_ptr_factory_.GetWeakPtr()),
- base::Milliseconds(kHeartbeatMissedCheckMs));
--#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- }
-
- void HeartbeatManager::UpdateHeartbeatInterval() {
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
index 3fe23481fcb9..8f62d22ca390 100644
--- 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
@@ -1,20 +1,20 @@
---- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2021-12-31 00:57:34 UTC
+--- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/command_buffer/common/gpu_memory_buffer_support.cc
-@@ -133,7 +133,7 @@ gfx::Size GetPlaneSize(gfx::BufferPlane plane, const g
- uint32_t GetPlatformSpecificTextureTarget() {
+@@ -134,7 +134,7 @@ uint32_t GetPlatformSpecificTextureTarget() {
#if defined(OS_MAC)
return macos_specific_texture_target;
--#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_BSD)
return GL_TEXTURE_EXTERNAL_OES;
#elif defined(OS_FUCHSIA)
-@@ -165,7 +165,7 @@ GPU_EXPORT uint32_t GetBufferTextureTarget(gfx::Buffer
- GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextureTarget(
+ return GL_TEXTURE_2D;
+@@ -166,7 +166,7 @@ GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextu
gfx::BufferFormat format,
gfx::BufferPlane plane) {
--#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_WIN)
+ #if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_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_external__vk__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
index 119db5a0c737..84058edc6972 100644
--- 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
@@ -1,4 +1,4 @@
---- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2021-12-31 00:57:34 UTC
+--- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/command_buffer/service/external_vk_image_backing.cc
@@ -31,7 +31,7 @@
#include "ui/gl/gl_version_info.h"
@@ -9,7 +9,7 @@
#include "gpu/command_buffer/service/external_vk_image_dawn_representation.h"
#endif
-@@ -560,7 +560,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager
+@@ -564,7 +564,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager
MemoryTypeTracker* tracker,
WGPUDevice wgpuDevice,
WGPUBackendType backend_type) {
@@ -18,16 +18,7 @@
auto wgpu_format = viz::ToWGPUFormat(format());
if (wgpu_format == WGPUTextureFormat_Undefined) {
-@@ -579,7 +579,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager
-
- return std::make_unique<ExternalVkImageDawnRepresentation>(
- manager, this, tracker, wgpuDevice, wgpu_format, std::move(memory_fd));
--#else // (!defined(OS_LINUX) && !defined(OS_CHROMEOS)) || !BUILDFLAG(USE_DAWN)
-+#else // (!defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)) || !BUILDFLAG(USE_DAWN)
- NOTIMPLEMENTED_LOG_ONCE();
- return nullptr;
- #endif
-@@ -592,7 +592,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna
+@@ -596,7 +596,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna
gl::GLApi* api = gl::g_current_gl_context;
absl::optional<ScopedDedicatedMemoryObject> memory_object;
if (!use_separate_gl_texture()) {
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc b/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc
deleted file mode 100644
index a2c2525f0c25..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- gpu/command_buffer/service/program_manager.cc.orig 2021-07-19 18:45:17 UTC
-+++ gpu/command_buffer/service/program_manager.cc
-@@ -29,7 +29,11 @@
- #include "gpu/command_buffer/service/program_cache.h"
- #include "gpu/command_buffer/service/shader_manager.h"
- #include "gpu/config/gpu_preferences.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "ui/gl/gl_version_info.h"
- #include "ui/gl/progress_reporter.h"
-
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
index 02ec88601b71..5033739dc49f 100644
--- 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
@@ -1,12 +1,11 @@
---- gpu/command_buffer/service/shared_image_factory.cc.orig 2021-12-31 00:57:34 UTC
+--- gpu/command_buffer/service/shared_image_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/command_buffer/service/shared_image_factory.cc
-@@ -33,12 +33,12 @@
- #include "ui/gl/gl_implementation.h"
+@@ -34,11 +34,11 @@
+ #include "ui/gl/gl_switches.h"
#include "ui/gl/trace_util.h"
-#if defined(OS_LINUX) && defined(USE_OZONE) && BUILDFLAG(ENABLE_VULKAN)
+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) && BUILDFLAG(ENABLE_VULKAN)
- #include "ui/base/ui_base_features.h" // nogncheck
#include "ui/ozone/public/ozone_platform.h"
#endif
@@ -14,19 +13,17 @@
+#if (defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_WIN) || defined(OS_BSD)) && \
BUILDFLAG(ENABLE_VULKAN)
#include "gpu/command_buffer/service/external_vk_image_factory.h"
- #elif defined(OS_ANDROID) && BUILDFLAG(ENABLE_VULKAN)
-@@ -74,8 +74,8 @@
+ #include "gpu/command_buffer/service/shared_image_backing_factory_angle_vulkan.h"
+@@ -75,7 +75,7 @@
namespace gpu {
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-- !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) && \
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-+ !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) && \
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+ !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) && \
BUILDFLAG(ENABLE_VULKAN)
- namespace {
-@@ -177,7 +177,7 @@ SharedImageFactory::SharedImageFactory(
+@@ -173,7 +173,7 @@ SharedImageFactory::SharedImageFactory(
// |gr_context_type|.
if (gr_context_type_ == GrContextType::kVulkan) {
#if BUILDFLAG(ENABLE_VULKAN)
@@ -34,4 +31,4 @@
+#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
!BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST)
// Desktop Linux, not ChromeOS.
- if (ShouldUseExternalVulkanImageFactory()) {
+ if (base::FeatureList::IsEnabled(features::kVulkanFromANGLE)) {
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 50f0167f95f2..2a5e8eab866b 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,7 +1,7 @@
---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2021-12-31 00:57:34 UTC
+--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/command_buffer/service/webgpu_decoder_impl.cc
-@@ -1015,12 +1015,12 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter(
- static_cast<DawnRequestAdapterSerial>(c.request_adapter_serial);
+@@ -1021,7 +1021,7 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter(
+ }
if (gr_context_type_ != GrContextType::kVulkan) {
-#if defined(OS_LINUX)
@@ -9,9 +9,3 @@
SendAdapterProperties(request_adapter_serial, -1, nullptr,
"WebGPU on Linux requires command-line flag "
"--enable-features=Vulkan,UseSkiaRenderer");
- return error::kNoError;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- int32_t requested_adapter_index = GetPreferredAdapterIndex(power_preference);
diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc
deleted file mode 100644
index 7f387b57a925..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc.orig 2021-04-14 18:41:04 UTC
-+++ gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
-@@ -258,7 +258,7 @@ void getExpectedColorAndMask(GLenum src_internal_forma
-
- setColor(adjusted_color[0], adjusted_color[1], adjusted_color[2],
- alpha_value, expected_color);
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The alpha channel values for LUMINANCE_ALPHA source don't work OK
- // on Mac or Linux, so skip comparison of those, see crbug.com/926579
- setColor(1, 1, 1, src_internal_format != GL_LUMINANCE_ALPHA,
-@@ -637,8 +637,8 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText
-
- bool ShouldSkipNorm16() const {
- DCHECK(!ShouldSkipTest());
--#if (defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-- defined(OS_CHROMEOS)) && \
-+#if (defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
-+ defined(OS_CHROMEOS)) && \
- (defined(ARCH_CPU_X86) || defined(ARCH_CPU_X86_64))
- // Make sure it's tested; it is safe to assume that the flag is always true
- // on desktop.
-@@ -650,7 +650,7 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText
-
- bool ShouldSkipRGBA16ToRGB10A2() const {
- DCHECK(!ShouldSkipTest());
--#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-+#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
- (defined(ARCH_CPU_X86) || defined(ARCH_CPU_X86_64))
- // // TODO(crbug.com/1046873): Fails on mac and linux intel.
- return true;
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 a61648c704e1..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 2021-05-12 22:05:54 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 defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/gl/gl_image_native_pixmap.h"
- #endif
-
-@@ -453,7 +453,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() {
- window_system_binding_info_ = gl::GLWindowSystemBindingInfo();
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_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 dd35a8d9d348..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 2021-04-14 18:41:04 UTC
-+++ gpu/command_buffer/tests/gl_test_utils.h
-@@ -120,7 +120,7 @@ class GpuCommandBufferTestEGL {
- return gfx::HasExtension(gl_extensions_, extension);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_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_command__buffer_tests_webgpu__test.cc b/www/chromium/files/patch-gpu_command__buffer_tests_webgpu__test.cc
deleted file mode 100644
index 5e72802cca01..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_tests_webgpu__test.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- gpu/command_buffer/tests/webgpu_test.cc.orig 2021-04-14 18:41:04 UTC
-+++ gpu/command_buffer/tests/webgpu_test.cc
-@@ -48,8 +48,8 @@ bool WebGPUTest::WebGPUSupported() const {
-
- bool WebGPUTest::WebGPUSharedImageSupported() const {
- // Currently WebGPUSharedImage is only implemented on Mac, Linux and Windows
--#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-- defined(OS_WIN)) && \
-+#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
-+ defined(OS_WIN)) && \
- BUILDFLAG(USE_DAWN)
- return true;
- #else
-@@ -64,7 +64,7 @@ void WebGPUTest::SetUp() {
-
- gpu::GpuPreferences gpu_preferences;
- gpu_preferences.enable_webgpu = true;
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
- gpu_preferences.use_vulkan = gpu::VulkanImplementationName::kNative;
- gpu_preferences.gr_context_type = gpu::GrContextType::kVulkan;
- #elif defined(OS_WIN)
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 ef3336dc947b..e75c2244ff3c 100644
--- a/www/chromium/files/patch-gpu_config_gpu__control__list.cc
+++ b/www/chromium/files/patch-gpu_config_gpu__control__list.cc
@@ -1,32 +1,20 @@
---- gpu/config/gpu_control_list.cc.orig 2021-09-24 04:26:07 UTC
+--- gpu/config/gpu_control_list.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/config/gpu_control_list.cc
-@@ -19,7 +19,11 @@
- #include "build/build_config.h"
- #include "build/chromeos_buildflags.h"
- #include "gpu/config/gpu_util.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif // defined(OS_BSD)
-
- namespace gpu {
- namespace {
-@@ -262,7 +266,7 @@ bool GpuControlList::More::GLVersionInfoMismatch(
+@@ -276,7 +276,7 @@ bool GpuControlList::More::GLVersionInfoMismatch(
GpuControlList::GLType GpuControlList::More::GetDefaultGLType() {
- #if BUILDFLAG(IS_CHROMEOS_ASH)
+ #if defined(OS_CHROMEOS)
return kGLTypeGL;
--#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-+#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
- defined(OS_OPENBSD)
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
return kGLTypeGL;
#elif defined(OS_MAC)
-@@ -768,7 +772,7 @@ GpuControlList::OsType GpuControlList::GetOsType() {
+ return kGLTypeGL;
+@@ -781,7 +781,7 @@ GpuControlList::OsType GpuControlList::GetOsType() {
return kOsAndroid;
#elif defined(OS_FUCHSIA)
return kOsFuchsia;
--#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-+#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
- defined(OS_OPENBSD)
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
return kOsLinux;
#elif defined(OS_MAC)
+ return kOsMacosx;
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 2cdcd3775ee2..56b64af4a0af 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 2021-04-14 18:41:04 UTC
+--- gpu/config/gpu_test_config.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/config/gpu_test_config.cc
-@@ -28,7 +28,7 @@ namespace {
- GPUTestConfig::OS GetCurrentOS() {
+@@ -29,7 +29,7 @@ GPUTestConfig::OS GetCurrentOS() {
#if BUILDFLAG(IS_CHROMEOS_ASH)
return GPUTestConfig::kOsChromeOS;
--#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-+#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
- defined(OS_OPENBSD)
+ #elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
+- defined(OS_OPENBSD)
++ defined(OS_BSD)
return GPUTestConfig::kOsLinux;
#elif defined(OS_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 c37c248303fb..f5c0b2e2342a 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,15 +1,6 @@
---- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2021-12-14 11:45:06 UTC
+--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/ipc/common/gpu_memory_buffer_support.cc
-@@ -17,7 +17,7 @@
- #include "gpu/ipc/common/gpu_memory_buffer_impl_io_surface.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/gfx/client_native_pixmap_factory.h"
- #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h"
- #endif
-@@ -27,7 +27,7 @@
+@@ -21,7 +21,7 @@
#include "ui/ozone/public/ozone_platform.h"
#endif
@@ -18,30 +9,12 @@
#include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h"
#endif
-@@ -53,7 +53,7 @@ GpuMemoryBufferSupport::GpuMemoryBufferSupport() {
- return;
- }
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- client_native_pixmap_factory_.reset(
- gfx::CreateClientNativePixmapFactoryDmabuf());
- #endif
-@@ -67,7 +67,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
+@@ -50,7 +50,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
return gfx::IO_SURFACE_BUFFER;
#elif defined(OS_ANDROID)
return gfx::ANDROID_HARDWARE_BUFFER;
-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_BSD)
return gfx::NATIVE_PIXMAP;
#elif defined(OS_WIN)
return gfx::DXGI_SHARED_HANDLE;
-@@ -208,7 +208,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH
- return GpuMemoryBufferImplIOSurface::CreateFromHandle(
- std::move(handle), size, format, usage, std::move(callback));
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
- case gfx::NATIVE_PIXMAP:
- return GpuMemoryBufferImplNativePixmap::CreateFromHandle(
- client_native_pixmap_factory(), std::move(handle), size, format,
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 bba3248909cd..2e18faa9add8 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,29 +1,11 @@
---- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2021-12-14 11:45:06 UTC
+--- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2022-02-07 13:39:41 UTC
+++ gpu/ipc/common/gpu_memory_buffer_support.h
-@@ -18,7 +18,7 @@
+@@ -17,7 +17,7 @@
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/gpu_memory_buffer.h"
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_BSD)
namespace gfx {
class ClientNativePixmapFactory;
}
-@@ -46,7 +46,7 @@ class GPU_EXPORT GpuMemoryBufferSupport {
- bool IsNativeGpuMemoryBufferConfigurationSupported(gfx::BufferFormat format,
- gfx::BufferUsage usage);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
- gfx::ClientNativePixmapFactory* client_native_pixmap_factory() {
- return client_native_pixmap_factory_.get();
- }
-@@ -74,7 +74,7 @@ class GPU_EXPORT GpuMemoryBufferSupport {
- scoped_refptr<base::UnsafeSharedMemoryPool> pool = nullptr);
-
- private:
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
- std::unique_ptr<gfx::ClientNativePixmapFactory> client_native_pixmap_factory_;
- #endif
- };
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 06b90f4eef76..bd779592117a 100644
--- a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc
+++ b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc
@@ -1,33 +1,24 @@
---- gpu/ipc/service/gpu_init.cc.orig 2021-12-31 00:57:34 UTC
+--- gpu/ipc/service/gpu_init.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/ipc/service/gpu_init.cc
-@@ -123,7 +123,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in
+@@ -122,7 +122,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in
}
#if BUILDFLAG(IS_CHROMEOS_LACROS) || \
- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
++ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) && !defined(OS_BSD)
bool CanAccessNvidiaDeviceFile() {
bool res = true;
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
-@@ -134,7 +134,7 @@ bool CanAccessNvidiaDeviceFile() {
- }
- return res;
- }
--#endif // BUILDFLAG(IS_CHROMEOS_LACROS) || (defined(OS_LINUX) &&
-+#endif // BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) || (defined(OS_LINUX) &&
- // !BUILDFLAG(IS_CHROMECAST))
-
- class GpuWatchdogInit {
-@@ -221,7 +221,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -220,7 +220,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
device_perf_info_ = device_perf_info;
}
-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) && !defined(OS_BSD)
if (gpu_info_.gpu.vendor_id == 0x10de && // NVIDIA
gpu_info_.gpu.driver_vendor == "NVIDIA" && !CanAccessNvidiaDeviceFile())
return false;
-@@ -285,7 +285,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -284,7 +284,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
delayed_watchdog_enable = true;
#endif
@@ -36,7 +27,7 @@
// PreSandbox is mainly for resource handling and not related to the GPU
// driver, it doesn't need the GPU watchdog. The loadLibrary may take long
// time that killing and restarting the GPU process will not help.
-@@ -325,7 +325,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -324,7 +324,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
bool attempted_startsandbox = false;
@@ -45,16 +36,7 @@
// On Chrome OS ARM Mali, GPU driver userspace creates threads when
// initializing a GL context, so start the sandbox early.
// TODO(zmo): Need to collect OS version before this.
-@@ -334,7 +334,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- watchdog_thread_.get(), &gpu_info_, gpu_preferences_);
- attempted_startsandbox = true;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- base::TimeTicks before_initialize_one_off = base::TimeTicks::Now();
-
-@@ -376,7 +376,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -373,7 +373,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
if (gl_initialized && gl_use_swiftshader_ &&
!gl::IsSoftwareGLImplementation(gl::GetGLImplementationParts())) {
@@ -63,16 +45,7 @@
VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
<< "on Linux";
return false;
-@@ -384,7 +384,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- SaveHardwareGpuInfoAndGpuFeatureInfo();
- gl::init::ShutdownGL(true);
- gl_initialized = false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- if (!gl_initialized) {
-@@ -410,7 +410,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -407,7 +407,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
}
@@ -81,7 +54,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
-@@ -477,7 +477,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -474,7 +474,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
command_line, gpu_feature_info_,
gpu_preferences_.disable_software_rasterizer, false);
if (gl_use_swiftshader_) {
@@ -90,16 +63,7 @@
VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
<< "on Linux";
return false;
-@@ -492,7 +492,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- << "failed";
- return false;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
- } else { // gl_use_swiftshader_ == true
- switch (gpu_preferences_.use_vulkan) {
-@@ -568,7 +568,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -575,7 +575,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
@@ -108,16 +72,7 @@
// 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.
-@@ -587,7 +587,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- return false;
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- if (gl_use_swiftshader_) {
- AdjustInfoToSwiftShader();
-@@ -810,7 +810,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+@@ -813,7 +813,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
@@ -126,12 +81,3 @@
// 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.
-@@ -831,7 +831,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
- }
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- if (gl_use_swiftshader_) {
- AdjustInfoToSwiftShader();
diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc
deleted file mode 100644
index 14afbe252fb6..000000000000
--- a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2022-01-20 10:35:58 UTC
-+++ gpu/ipc/service/gpu_watchdog_thread.cc
-@@ -88,7 +88,7 @@ GpuWatchdogThread::GpuWatchdogThread(base::TimeDelta t
- }
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- tty_file_ = base::OpenFile(
- base::FilePath(FILE_PATH_LITERAL("/sys/class/tty/tty0/active")), "r");
- UpdateActiveTTY();
-@@ -116,7 +116,7 @@ GpuWatchdogThread::~GpuWatchdogThread() {
- CloseHandle(watched_thread_handle_);
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- if (tty_file_)
- fclose(tty_file_);
- #endif
-@@ -451,7 +451,7 @@ void GpuWatchdogThread::OnWatchdogTimeout() {
- if (foregrounded_event_)
- num_of_timeout_after_foregrounded_++;
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- UpdateActiveTTY();
- #endif
-
-@@ -719,7 +719,7 @@ bool GpuWatchdogThread::WithinOneMinFromForegrounded()
- return foregrounded_event_ && num_of_timeout_after_foregrounded_ <= count;
- }
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- void GpuWatchdogThread::UpdateActiveTTY() {
- last_active_tty_ = active_tty_;
-
-@@ -736,7 +736,7 @@ void GpuWatchdogThread::UpdateActiveTTY() {
- #endif
-
- bool GpuWatchdogThread::ContinueOnNonHostX11ServerTty() {
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- if (host_tty_ == -1 || active_tty_ == -1)
- return false;
-
diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h b/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h
deleted file mode 100644
index bd718d460c37..000000000000
--- a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/ipc/service/gpu_watchdog_thread.h.orig 2022-01-20 10:35:58 UTC
-+++ gpu/ipc/service/gpu_watchdog_thread.h
-@@ -192,7 +192,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThread
- bool WithinOneMinFromPowerResumed();
- bool WithinOneMinFromForegrounded();
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- void UpdateActiveTTY();
- #endif
- // The watchdog continues when it's not on the TTY of our host X11 server.
-@@ -264,7 +264,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThread
- bool less_than_full_thread_time_after_capped_ = false;
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- FILE* tty_file_ = nullptr;
- int host_tty_ = -1;
- int active_tty_ = -1;
diff --git a/www/chromium/files/patch-gpu_ipc_service_x__util.h b/www/chromium/files/patch-gpu_ipc_service_x__util.h
new file mode 100644
index 000000000000..e4b7ffb44ab7
--- /dev/null
+++ b/www/chromium/files/patch-gpu_ipc_service_x__util.h
@@ -0,0 +1,16 @@
+--- gpu/ipc/service/x_util.h.orig 2022-02-07 13:39:41 UTC
++++ gpu/ipc/service/x_util.h
+@@ -11,11 +11,11 @@
+ #include "build/build_config.h"
+ #include "gpu/ipc/service/gpu_config.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "ui/ozone/buildflags.h"
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #if BUILDFLAG(OZONE_PLATFORM_X11)
+
+ namespace gpu {
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 7cd44e3f131c..927bc47e895e 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-01-21 13:34:10 UTC
+--- gpu/vulkan/vulkan_device_queue.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/vulkan/vulkan_device_queue.cc
-@@ -80,7 +80,7 @@ bool VulkanDeviceQueue::Initialize(
+@@ -85,7 +85,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,3 +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)) {
+@@ -230,7 +230,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 defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX)
++#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_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
new file mode 100644
index 000000000000..1b866b529c0f
--- /dev/null
+++ b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h
@@ -0,0 +1,11 @@
+--- gpu/vulkan/vulkan_device_queue.h.orig 2022-02-07 13:39:41 UTC
++++ gpu/vulkan/vulkan_device_queue.h
+@@ -153,7 +153,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue {
+
+ bool allow_protected_memory_ = false;
+
+-#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX)
++#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_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 8f528127340f..e605e0ce5a0d 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 2021-12-14 11:45:06 UTC
+--- gpu/vulkan/vulkan_function_pointers.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/vulkan/vulkan_function_pointers.cc
-@@ -906,7 +906,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+@@ -912,7 +912,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
}
#endif // defined(OS_ANDROID)
@@ -9,16 +9,7 @@
if (gfx::HasExtension(enabled_extensions,
VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME)) {
vkGetSemaphoreFdKHR = reinterpret_cast<PFN_vkGetSemaphoreFdKHR>(
-@@ -925,7 +925,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- return false;
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- if (gfx::HasExtension(enabled_extensions,
-@@ -950,7 +950,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+@@ -956,7 +956,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
}
#endif // defined(OS_WIN)
@@ -27,16 +18,7 @@
if (gfx::HasExtension(enabled_extensions,
VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME)) {
vkGetMemoryFdKHR = reinterpret_cast<PFN_vkGetMemoryFdKHR>(
-@@ -970,7 +970,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- return false;
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- if (gfx::HasExtension(enabled_extensions,
-@@ -1120,7 +1120,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+@@ -1126,7 +1126,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
}
}
@@ -45,12 +27,3 @@
if (gfx::HasExtension(enabled_extensions,
VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME)) {
vkGetImageDrmFormatModifierPropertiesEXT =
-@@ -1133,7 +1133,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- return false;
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- return true;
- }
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 196d90be0302..598a8d7e5f70 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 2021-09-14 01:51:58 UTC
+--- gpu/vulkan/vulkan_function_pointers.h.orig 2022-02-07 13:39:41 UTC
+++ gpu/vulkan/vulkan_function_pointers.h
-@@ -242,10 +242,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
+@@ -243,7 +243,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
vkGetAndroidHardwareBufferPropertiesANDROID;
#endif // defined(OS_ANDROID)
@@ -8,12 +8,8 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
VulkanFunction<PFN_vkGetSemaphoreFdKHR> vkGetSemaphoreFdKHR;
VulkanFunction<PFN_vkImportSemaphoreFdKHR> vkImportSemaphoreFdKHR;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- VulkanFunction<PFN_vkGetSemaphoreWin32HandleKHR> vkGetSemaphoreWin32HandleKHR;
-@@ -253,10 +253,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
+@@ -254,7 +254,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
vkImportSemaphoreWin32HandleKHR;
#endif // defined(OS_WIN)
@@ -21,12 +17,8 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
VulkanFunction<PFN_vkGetMemoryFdKHR> vkGetMemoryFdKHR;
VulkanFunction<PFN_vkGetMemoryFdPropertiesKHR> vkGetMemoryFdPropertiesKHR;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- VulkanFunction<PFN_vkGetMemoryWin32HandleKHR> vkGetMemoryWin32HandleKHR;
-@@ -293,10 +293,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
+@@ -294,7 +294,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
VulkanFunction<PFN_vkGetSwapchainImagesKHR> vkGetSwapchainImagesKHR;
VulkanFunction<PFN_vkQueuePresentKHR> vkQueuePresentKHR;
@@ -34,12 +26,8 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
VulkanFunction<PFN_vkGetImageDrmFormatModifierPropertiesEXT>
vkGetImageDrmFormatModifierPropertiesEXT;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- };
-
- } // namespace gpu
-@@ -1008,7 +1008,7 @@ ALWAYS_INLINE VkResult vkGetAndroidHardwareBufferPrope
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -1009,7 +1009,7 @@ ALWAYS_INLINE VkResult vkGetAndroidHardwareBufferPrope
}
#endif // defined(OS_ANDROID)
@@ -48,16 +36,7 @@
ALWAYS_INLINE VkResult
vkGetSemaphoreFdKHR(VkDevice device,
const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
-@@ -1022,7 +1022,7 @@ ALWAYS_INLINE VkResult vkImportSemaphoreFdKHR(
- return gpu::GetVulkanFunctionPointers()->vkImportSemaphoreFdKHR(
- device, pImportSemaphoreFdInfo);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- ALWAYS_INLINE VkResult vkGetSemaphoreWin32HandleKHR(
-@@ -1041,7 +1041,7 @@ vkImportSemaphoreWin32HandleKHR(VkDevice device,
+@@ -1042,7 +1042,7 @@ vkImportSemaphoreWin32HandleKHR(VkDevice device,
}
#endif // defined(OS_WIN)
@@ -66,16 +45,7 @@
ALWAYS_INLINE VkResult vkGetMemoryFdKHR(VkDevice device,
const VkMemoryGetFdInfoKHR* pGetFdInfo,
int* pFd) {
-@@ -1056,7 +1056,7 @@ vkGetMemoryFdPropertiesKHR(VkDevice device,
- return gpu::GetVulkanFunctionPointers()->vkGetMemoryFdPropertiesKHR(
- device, handleType, fd, pMemoryFdProperties);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- ALWAYS_INLINE VkResult vkGetMemoryWin32HandleKHR(
-@@ -1151,7 +1151,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue
+@@ -1152,7 +1152,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue
pPresentInfo);
}
@@ -84,12 +54,9 @@
ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierPropertiesEXT(
VkDevice device,
VkImage image,
-@@ -1159,6 +1159,6 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp
- return gpu::GetVulkanFunctionPointers()
- ->vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
+@@ -1162,4 +1162,4 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp
}
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_
\ No newline at end of file
diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc
index 43fae053a0c2..b63c4b9ea1b0 100644
--- a/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc
+++ b/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc
@@ -1,6 +1,6 @@
---- gpu/vulkan/vulkan_image.cc.orig 2021-09-14 01:51:58 UTC
+--- gpu/vulkan/vulkan_image.cc.orig 2022-02-07 13:39:41 UTC
+++ gpu/vulkan/vulkan_image.cc
-@@ -326,7 +326,7 @@ bool VulkanImage::InitializeWithExternalMemory(
+@@ -325,7 +325,7 @@ bool VulkanImage::InitializeWithExternalMemory(
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__image.h b/www/chromium/files/patch-gpu_vulkan_vulkan__image.h
index 842790f888f5..f3517366d38e 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 2021-09-14 01:51:58 UTC
+--- gpu/vulkan/vulkan_image.h.orig 2022-02-07 13:39:41 UTC
+++ gpu/vulkan/vulkan_image.h
-@@ -85,7 +85,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
+@@ -86,7 +86,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,
-@@ -168,7 +168,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
+@@ -169,7 +169,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
VkImageTiling image_tiling,
uint32_t queue_family_index);
diff --git a/www/chromium/files/patch-gpu_vulkan_x_vulkan__implementation__x11.cc b/www/chromium/files/patch-gpu_vulkan_x_vulkan__implementation__x11.cc
new file mode 100644
index 000000000000..07cb63f7e4e8
--- /dev/null
+++ b/www/chromium/files/patch-gpu_vulkan_x_vulkan__implementation__x11.cc
@@ -0,0 +1,14 @@
+--- gpu/vulkan/x/vulkan_implementation_x11.cc.orig 2022-02-07 13:39:41 UTC
++++ gpu/vulkan/x/vulkan_implementation_x11.cc
+@@ -72,7 +72,11 @@ bool VulkanImplementationX11::InitializeVulkanInstance
+
+ path = path.Append("libvk_swiftshader.so");
+ } else {
++#if defined(OS_BSD)
++ path = base::FilePath("libvulkan.so");
++#else
+ path = base::FilePath("libvulkan.so.1");
++#endif
+ }
+
+ VulkanFunctionPointers* vulkan_function_pointers =
diff --git a/www/chromium/files/patch-headless_BUILD.gn b/www/chromium/files/patch-headless_BUILD.gn
deleted file mode 100644
index f8fe2192dfc3..000000000000
--- a/www/chromium/files/patch-headless_BUILD.gn
+++ /dev/null
@@ -1,56 +0,0 @@
---- headless/BUILD.gn.orig 2021-12-31 00:57:34 UTC
-+++ headless/BUILD.gn
-@@ -290,7 +290,7 @@ source_set("headless_shared_sources") {
- sources += generated_devtools_api
- sources += get_target_outputs(":protocol_sources")
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- sources += [
- "lib/headless_crash_reporter_client.cc",
- "lib/headless_crash_reporter_client.h",
-@@ -309,7 +309,7 @@ source_set("headless_shared_sources") {
- "//url",
- ]
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [
- "//components/crash/content/browser",
- "//components/crash/core/app",
-@@ -499,7 +499,7 @@ component("headless_non_renderer") {
- "//v8",
- ]
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [
- "//components/crash/content/browser",
- "//components/crash/core/app",
-@@ -642,7 +642,7 @@ if (!is_component_build) {
- ]
- }
-
-- if (is_mac || is_win || is_linux || is_chromeos) {
-+ if ((is_mac || is_win || is_linux || is_chromeos) && !is_bsd) {
- deps += [ "//components/crash/core/app" ]
- }
- }
-@@ -887,7 +887,7 @@ static_library("headless_shell_lib") {
- public_deps += [ ":headless_non_renderer" ]
- }
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [ "//components/crash/content/browser" ]
- }
-
-@@ -918,7 +918,7 @@ static_library("headless_shell_lib") {
- deps += [ "//components/os_crypt" ]
- }
-
-- if (is_win || (is_posix && !is_mac)) {
-+ if (is_win || (is_posix && !is_mac && !is_bsd)) {
- deps += [ "//components/crash/core/app" ]
- }
-
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
index 905c528c4b1b..6b0fa743ac51 100644
--- 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
@@ -1,11 +1,11 @@
---- headless/lib/browser/headless_content_browser_client.cc.orig 2021-12-31 00:57:34 UTC
+--- headless/lib/browser/headless_content_browser_client.cc.orig 2022-02-07 13:39:41 UTC
+++ headless/lib/browser/headless_content_browser_client.cc
-@@ -310,7 +310,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL
- process_type, child_process_id);
- }
+@@ -230,7 +230,7 @@ HeadlessContentBrowserClient::GetGeneratedCodeCacheSet
+ return content::GeneratedCodeCacheSettings(true, 0, context->GetPath());
+ }
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Processes may only query perf_event_open with the BPF sandbox disabled.
- if (old_command_line.HasSwitch(::switches::kEnableThreadInstructionCount) &&
- old_command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) {
+-#if defined(OS_POSIX) && !defined(OS_MAC)
++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ void HeadlessContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
+ const base::CommandLine& command_line,
+ int child_process_id,
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
new file mode 100644
index 000000000000..8359b9a052d8
--- /dev/null
+++ b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h
@@ -0,0 +1,11 @@
+--- headless/lib/browser/headless_content_browser_client.h.orig 2022-02-07 13:39:41 UTC
++++ headless/lib/browser/headless_content_browser_client.h
+@@ -48,7 +48,7 @@ class HeadlessContentBrowserClient : public content::C
+ override;
+ content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings(
+ content::BrowserContext* context) override;
+-#if defined(OS_POSIX) && !defined(OS_MAC)
++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ void GetAdditionalMappedFilesForChildProcess(
+ const base::CommandLine& command_line,
+ int child_process_id,
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 6b8e4e8c8f88..a9ed6d98377f 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,6 +1,6 @@
---- headless/lib/browser/headless_web_contents_impl.cc.orig 2021-09-14 01:51:58 UTC
+--- headless/lib/browser/headless_web_contents_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ headless/lib/browser/headless_web_contents_impl.cc
-@@ -59,7 +59,7 @@ namespace headless {
+@@ -57,7 +57,7 @@ namespace headless {
namespace {
void UpdatePrefsFromSystemSettings(blink::RendererPreferences* prefs) {
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
deleted file mode 100644
index 5fea26959bea..000000000000
--- a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/headless_content_main_delegate.cc.orig 2021-12-14 11:45:07 UTC
-+++ headless/lib/headless_content_main_delegate.cc
-@@ -318,7 +318,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
- const base::CommandLine& command_line) {
- if (command_line.HasSwitch(::switches::kDisableBreakpad))
- return;
--#if defined(OS_FUCHSIA)
-+#if defined(OS_FUCHSIA) || defined(OS_BSD)
- // TODO(crbug.com/1226159): Implement this when crash reporting/Breakpad are
- // available in Fuchsia.
- NOTIMPLEMENTED();
diff --git a/www/chromium/files/patch-headless_lib_headless__macros.h b/www/chromium/files/patch-headless_lib_headless__macros.h
index ed7e86e7904d..01558c9ce926 100644
--- a/www/chromium/files/patch-headless_lib_headless__macros.h
+++ b/www/chromium/files/patch-headless_lib_headless__macros.h
@@ -1,13 +1,11 @@
---- headless/lib/headless_macros.h.orig 2021-04-14 18:41:04 UTC
+--- headless/lib/headless_macros.h.orig 2022-02-07 13:39:41 UTC
+++ headless/lib/headless_macros.h
-@@ -7,8 +7,8 @@
+@@ -7,7 +7,7 @@
#include "build/build_config.h"
-#if defined(OS_POSIX) && !defined(OS_MAC)
+#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
#define HEADLESS_USE_BREAKPAD
--#endif // defined(OS_POSIX) && !defined(OS_MAC)
-+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ #endif // defined(OS_POSIX) && !defined(OS_MAC)
- #endif // HEADLESS_LIB_HEADLESS_MACROS_H_
diff --git a/www/chromium/files/patch-ipc_ipc__channel__common.cc b/www/chromium/files/patch-ipc_ipc__channel__common.cc
index fafc6492e9ee..ff145e32967b 100644
--- a/www/chromium/files/patch-ipc_ipc__channel__common.cc
+++ b/www/chromium/files/patch-ipc_ipc__channel__common.cc
@@ -1,4 +1,4 @@
---- ipc/ipc_channel_common.cc.orig 2021-04-14 18:41:05 UTC
+--- ipc/ipc_channel_common.cc.orig 2022-02-07 13:39:41 UTC
+++ ipc/ipc_channel_common.cc
@@ -10,7 +10,7 @@
@@ -9,12 +9,3 @@
namespace {
int g_global_pid = 0;
-@@ -26,7 +26,7 @@ int Channel::GetGlobalPid() {
- return g_global_pid;
- }
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // static
- std::unique_ptr<Channel> Channel::CreateClient(
diff --git a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc
index bd3d40f22a3a..73249fbea14a 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 2021-09-14 01:51:58 UTC
+--- ipc/ipc_channel_mojo.cc.orig 2022-02-07 13:39:41 UTC
+++ ipc/ipc_channel_mojo.cc
-@@ -112,10 +112,10 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe
+@@ -112,7 +112,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe
};
base::ProcessId GetSelfPID() {
@@ -8,8 +8,4 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
if (int global_pid = Channel::GetGlobalPid())
return global_pid;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(OS_NACL)
- return -1;
- #else
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
diff --git a/www/chromium/files/patch-media_BUILD.gn b/www/chromium/files/patch-media_BUILD.gn
index 0793472965b6..bbae2e9760e3 100644
--- a/www/chromium/files/patch-media_BUILD.gn
+++ b/www/chromium/files/patch-media_BUILD.gn
@@ -1,6 +1,6 @@
---- media/BUILD.gn.orig 2021-12-14 11:45:07 UTC
+--- media/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ media/BUILD.gn
-@@ -72,6 +72,9 @@ config("media_config") {
+@@ -75,6 +75,9 @@ config("media_config") {
defines += [ "DLOPEN_PULSEAUDIO" ]
}
}
diff --git a/www/chromium/files/patch-media_audio_BUILD.gn b/www/chromium/files/patch-media_audio_BUILD.gn
index 1ec5352e21d1..a36f2fe174eb 100644
--- a/www/chromium/files/patch-media_audio_BUILD.gn
+++ b/www/chromium/files/patch-media_audio_BUILD.gn
@@ -1,6 +1,6 @@
---- media/audio/BUILD.gn.orig 2021-12-31 00:57:35 UTC
+--- media/audio/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ media/audio/BUILD.gn
-@@ -237,7 +237,7 @@ source_set("audio") {
+@@ -237,9 +237,20 @@ source_set("audio") {
]
}
@@ -8,22 +8,17 @@
+ if ((is_linux || is_chromeos) && !use_sndio) {
sources += [ "linux/audio_manager_linux.cc" ]
}
-
-@@ -302,6 +302,17 @@ source_set("audio") {
- } else {
- deps += [ ":libpulse_stubs" ]
- }
-+ }
+
+ if (use_sndio) {
+ libs += [ "sndio" ]
+ sources += [
-+ "openbsd/audio_manager_openbsd.cc",
++ "sndio/audio_manager_sndio.cc",
+ "sndio/sndio_input.cc",
+ "sndio/sndio_input.h",
+ "sndio/sndio_output.cc",
-+ "sndio/sndio_output.h",
++ "sndio/sndio_output.h"
+ ]
- }
++ }
- if (is_fuchsia) {
+ if (use_alsa) {
+ libs += [ "asound" ]
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
deleted file mode 100644
index 54c380e5f318..000000000000
--- a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc
+++ /dev/null
@@ -1,54 +0,0 @@
---- media/audio/alsa/audio_manager_alsa.cc.orig 2021-04-14 18:41:05 UTC
-+++ media/audio/alsa/audio_manager_alsa.cc
-@@ -89,7 +89,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType
- int card = -1;
-
- // Loop through the sound cards to get ALSA device hints.
-+#if defined(OS_LINUX)
- while (!wrapper_->CardNext(&card) && card >= 0) {
-+#endif
- void** hints = NULL;
- int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
- if (!error) {
-@@ -101,7 +103,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType
- DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: "
- << wrapper_->StrError(error);
- }
-+#if defined(OS_LINUX)
- }
-+#endif
- }
-
- void AudioManagerAlsa::GetAlsaDevicesInfo(AudioManagerAlsa::StreamType type,
-@@ -184,7 +188,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(
- // goes through software conversion if needed (e.g. incompatible
- // sample rate).
- // TODO(joi): Should we prefer "hw" instead?
-+#ifdef OS_LINUX
- static const char kDeviceTypeDesired[] = "plughw";
-+#else
-+ static const char kDeviceTypeDesired[] = "plug";
-+#endif
- return strncmp(kDeviceTypeDesired, device_name,
- base::size(kDeviceTypeDesired) - 1) == 0;
- }
-@@ -206,7 +214,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice(
- // Loop through the sound cards.
- // Don't use snd_device_name_hint(-1,..) since there is a access violation
- // inside this ALSA API with libasound.so.2.0.0.
-+#if defined(OS_LINUX)
- while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) {
-+#endif
- int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
- if (!error) {
- for (void** hint_iter = hints; *hint_iter != NULL; hint_iter++) {
-@@ -230,7 +240,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice(
- DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: "
- << wrapper_->StrError(error);
- }
-+#if defined(OS_LINUX)
- }
-+#endif
-
- return has_device;
- }
diff --git a/www/chromium/files/patch-media_audio_audio__features.cc b/www/chromium/files/patch-media_audio_audio__features.cc
index 2101043b9d32..996b37a6b07c 100644
--- a/www/chromium/files/patch-media_audio_audio__features.cc
+++ b/www/chromium/files/patch-media_audio_audio__features.cc
@@ -1,11 +1,11 @@
---- media/audio/audio_features.cc.orig 2021-04-14 18:41:05 UTC
+--- media/audio/audio_features.cc.orig 2022-02-07 13:39:41 UTC
+++ media/audio/audio_features.cc
-@@ -12,7 +12,7 @@ namespace features {
- // detected. It will be restarted when needed.
+@@ -13,7 +13,7 @@ namespace features {
const base::Feature kAudioServiceOutOfProcessKillAtHang{
"AudioServiceOutOfProcessKillAtHang",
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_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 1d6842a37e9f..dfc9bc78d53c 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 2021-12-14 11:45:07 UTC
+--- media/audio/audio_input_device.cc.orig 2022-02-07 13:39:41 UTC
+++ media/audio/audio_input_device.cc
-@@ -255,7 +255,7 @@ void AudioInputDevice::OnStreamCreated(
+@@ -259,7 +259,7 @@ void AudioInputDevice::OnStreamCreated(
// here. See comments in AliveChecker and PowerObserverHelper for details and
// todos.
if (detect_dead_stream_ == DeadStreamDetection::kEnabled) {
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
deleted file mode 100644
index 6cddf663cbd7..000000000000
--- a/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/audio/audio_output_proxy_unittest.cc.orig 2021-04-14 18:41:05 UTC
-+++ media/audio/audio_output_proxy_unittest.cc
-@@ -412,7 +412,7 @@ class AudioOutputProxyTest : public testing::Test {
- // |stream| is closed at this point. Start() should reopen it again.
- EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
- .Times(2)
-- .WillRepeatedly(Return(reinterpret_cast<AudioOutputStream*>(NULL)));
-+ .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL)));
-
- EXPECT_CALL(callback_, OnError(_)).Times(2);
-
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
new file mode 100644
index 000000000000..6714e1ab446d
--- /dev/null
+++ b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc
@@ -0,0 +1,180 @@
+--- media/audio/sndio/audio_manager_sndio.cc.orig 2022-02-07 13:39:41 UTC
++++ media/audio/sndio/audio_manager_sndio.cc
+@@ -0,0 +1,177 @@
++// Copyright (c) 2012 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#include "base/metrics/histogram_macros.h"
++#include "base/memory/ptr_util.h"
++
++#include "media/audio/sndio/audio_manager_sndio.h"
++
++#include "media/audio/audio_device_description.h"
++#include "media/audio/audio_output_dispatcher.h"
++#if defined(USE_SNDIO)
++#include "media/audio/sndio/sndio_input.h"
++#include "media/audio/sndio/sndio_output.h"
++#else
++#include "media/audio/fake_audio_manager.h"
++#endif
++#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 = 4;
++
++// Default sample rate for input and output streams.
++static const int kDefaultSampleRate = 48000;
++
++void AddDefaultDevice(AudioDeviceNames* device_names) {
++ DCHECK(device_names->empty());
++ device_names->push_front(AudioDeviceName::CreateDefault());
++}
++
++bool AudioManagerSndio::HasAudioOutputDevices() {
++ return true;
++}
++
++bool AudioManagerSndio::HasAudioInputDevices() {
++ return true;
++}
++
++void AudioManagerSndio::GetAudioInputDeviceNames(
++ AudioDeviceNames* device_names) {
++ DCHECK(device_names->empty());
++ AddDefaultDevice(device_names);
++}
++
++void AudioManagerSndio::GetAudioOutputDeviceNames(
++ AudioDeviceNames* device_names) {
++ AddDefaultDevice(device_names);
++}
++
++#if defined(USE_SNDIO)
++const char* AudioManagerSndio::GetName() {
++ return "SNDIO";
++}
++#endif
++
++AudioParameters AudioManagerSndio::GetInputStreamParameters(
++ const std::string& device_id) {
++ static const int kDefaultInputBufferSize = 1024;
++
++ int user_buffer_size = GetUserBufferSize();
++ int buffer_size = user_buffer_size ?
++ user_buffer_size : kDefaultInputBufferSize;
++
++ return AudioParameters(
++ AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
++ kDefaultSampleRate, buffer_size);
++}
++
++AudioManagerSndio::AudioManagerSndio(std::unique_ptr<AudioThread> audio_thread,
++ AudioLogFactory* audio_log_factory)
++ : AudioManagerBase(std::move(audio_thread),
++ audio_log_factory) {
++ DLOG(WARNING) << "AudioManagerSndio";
++ SetMaxOutputStreamsAllowed(kMaxOutputStreams);
++}
++
++AudioManagerSndio::~AudioManagerSndio() {
++ Shutdown();
++}
++
++AudioOutputStream* AudioManagerSndio::MakeLinearOutputStream(
++ const AudioParameters& params,
++ const LogCallback& log_callback) {
++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
++ return MakeOutputStream(params);
++}
++
++AudioOutputStream* AudioManagerSndio::MakeLowLatencyOutputStream(
++ const AudioParameters& params,
++ const std::string& device_id,
++ const LogCallback& log_callback) {
++ DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!";
++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
++ return MakeOutputStream(params);
++}
++
++AudioInputStream* AudioManagerSndio::MakeLinearInputStream(
++ const AudioParameters& params,
++ const std::string& device_id,
++ const LogCallback& log_callback) {
++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
++ return MakeInputStream(params);
++}
++
++AudioInputStream* AudioManagerSndio::MakeLowLatencyInputStream(
++ const AudioParameters& params,
++ const std::string& device_id,
++ const LogCallback& log_callback) {
++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
++ return MakeInputStream(params);
++}
++
++AudioParameters AudioManagerSndio::GetPreferredOutputStreamParameters(
++ const std::string& output_device_id,
++ const AudioParameters& input_params) {
++ // TODO(tommi): Support |output_device_id|.
++ DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!";
++ static const int kDefaultOutputBufferSize = 2048;
++
++ ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO;
++ int sample_rate = kDefaultSampleRate;
++ int buffer_size = kDefaultOutputBufferSize;
++ if (input_params.IsValid()) {
++ sample_rate = input_params.sample_rate();
++ channel_layout = input_params.channel_layout();
++ buffer_size = std::min(buffer_size, input_params.frames_per_buffer());
++ }
++
++ int user_buffer_size = GetUserBufferSize();
++ if (user_buffer_size)
++ buffer_size = user_buffer_size;
++
++ return AudioParameters(
++ AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
++ sample_rate, buffer_size);
++}
++
++AudioInputStream* AudioManagerSndio::MakeInputStream(
++ const AudioParameters& params) {
++ DLOG(WARNING) << "MakeInputStream";
++ return new SndioAudioInputStream(this,
++ AudioDeviceDescription::kDefaultDeviceId, params);
++}
++
++AudioOutputStream* AudioManagerSndio::MakeOutputStream(
++ const AudioParameters& params) {
++ DLOG(WARNING) << "MakeOutputStream";
++ return new SndioAudioOutputStream(params, this);
++}
++#endif
++
++std::unique_ptr<media::AudioManager> CreateAudioManager(
++ std::unique_ptr<AudioThread> audio_thread,
++ AudioLogFactory* audio_log_factory) {
++ DLOG(WARNING) << "CreateAudioManager";
++#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);
++#endif
++
++}
++
++} // 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
new file mode 100644
index 000000000000..33428cfc37d1
--- /dev/null
+++ b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h
@@ -0,0 +1,69 @@
+--- media/audio/sndio/audio_manager_sndio.h.orig 2022-02-07 13:39:41 UTC
++++ media/audio/sndio/audio_manager_sndio.h
+@@ -0,0 +1,66 @@
++// Copyright (c) 2012 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_
++#define MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_
++
++#include <set>
++
++#include "base/compiler_specific.h"
++#include "base/memory/ref_counted.h"
++#include "base/threading/thread.h"
++#include "media/audio/audio_manager_base.h"
++
++namespace media {
++
++class MEDIA_EXPORT AudioManagerSndio : public AudioManagerBase {
++ public:
++ AudioManagerSndio(std::unique_ptr<AudioThread> audio_thread,
++ AudioLogFactory* audio_log_factory);
++
++ AudioManagerSndio(const AudioManagerSndio&) = delete;
++ AudioManagerSndio& operator=(const AudioManagerSndio&) = delete;
++
++ ~AudioManagerSndio() override;
++
++ // Implementation of AudioManager.
++ bool HasAudioOutputDevices() override;
++ bool HasAudioInputDevices() override;
++ void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override;
++ void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override;
++ AudioParameters GetInputStreamParameters(
++ const std::string& device_id) override;
++ const char* GetName() override;
++
++ // Implementation of AudioManagerBase.
++ AudioOutputStream* MakeLinearOutputStream(
++ const AudioParameters& params,
++ const LogCallback& log_callback) override;
++ AudioOutputStream* MakeLowLatencyOutputStream(
++ const AudioParameters& params,
++ const std::string& device_id,
++ const LogCallback& log_callback) override;
++ AudioInputStream* MakeLinearInputStream(
++ const AudioParameters& params,
++ const std::string& device_id,
++ const LogCallback& log_callback) override;
++ AudioInputStream* MakeLowLatencyInputStream(
++ const AudioParameters& params,
++ const std::string& device_id,
++ const LogCallback& log_callback) override;
++
++ protected:
++ AudioParameters GetPreferredOutputStreamParameters(
++ const std::string& output_device_id,
++ const AudioParameters& input_params) override;
++
++ private:
++ // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream.
++ AudioOutputStream* MakeOutputStream(const AudioParameters& params);
++ AudioInputStream* MakeInputStream(const AudioParameters& params);
++};
++
++} // namespace media
++
++#endif // MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_
diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__input.cc b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc
new file mode 100644
index 000000000000..a88f63e7f7cf
--- /dev/null
+++ b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc
@@ -0,0 +1,203 @@
+--- media/audio/sndio/sndio_input.cc.orig 2022-02-07 13:39:41 UTC
++++ media/audio/sndio/sndio_input.cc
+@@ -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"
++#include "media/audio/audio_manager.h"
++#include "media/audio/sndio/sndio_input.h"
++
++namespace media {
++
++static const SampleFormat kSampleFormat = kSampleFormatS16;
++
++void SndioAudioInputStream::OnMoveCallback(void *arg, int delta)
++{
++ SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
++
++ self->hw_delay += delta;
++}
++
++void *SndioAudioInputStream::ThreadEntry(void *arg) {
++ SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
++
++ self->ThreadLoop();
++ return NULL;
++}
++
++SndioAudioInputStream::SndioAudioInputStream(AudioManagerBase* manager,
++ const std::string& device_name,
++ const AudioParameters& params)
++ : manager(manager),
++ params(params),
++ audio_bus(AudioBus::Create(params)),
++ state(kClosed) {
++}
++
++SndioAudioInputStream::~SndioAudioInputStream() {
++ if (state != kClosed)
++ Close();
++}
++
++AudioInputStream::OpenOutcome SndioAudioInputStream::Open() {
++ struct sio_par par;
++ int sig;
++
++ if (state != kClosed)
++ return OpenOutcome::kFailed;
++
++ if (params.format() != AudioParameters::AUDIO_PCM_LINEAR &&
++ params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) {
++ LOG(WARNING) << "Unsupported audio format.";
++ return OpenOutcome::kFailed;
++ }
++
++ sio_initpar(&par);
++ par.rate = params.sample_rate();
++ par.rchan = params.channels();
++ par.bits = SampleFormatToBitsPerChannel(kSampleFormat);
++ par.bps = par.bits / 8;
++ par.sig = sig = par.bits != 8 ? 1 : 0;
++ par.le = SIO_LE_NATIVE;
++ par.appbufsz = params.frames_per_buffer();
++
++ hdl = sio_open(SIO_DEVANY, SIO_REC, 0);
++
++ if (hdl == NULL) {
++ LOG(ERROR) << "Couldn't open audio device.";
++ return OpenOutcome::kFailed;
++ }
++
++ if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
++ LOG(ERROR) << "Couldn't set audio parameters.";
++ goto bad_close;
++ }
++
++ if (par.rate != (unsigned int)params.sample_rate() ||
++ par.rchan != (unsigned int)params.channels() ||
++ par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) ||
++ par.sig != (unsigned int)sig ||
++ (par.bps > 1 && par.le != SIO_LE_NATIVE) ||
++ (par.bits != par.bps * 8)) {
++ LOG(ERROR) << "Unsupported audio parameters.";
++ goto bad_close;
++ }
++ state = kStopped;
++ buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)];
++ sio_onmove(hdl, &OnMoveCallback, this);
++ return OpenOutcome::kSuccess;
++bad_close:
++ sio_close(hdl);
++ return OpenOutcome::kFailed;
++}
++
++void SndioAudioInputStream::Start(AudioInputCallback* cb) {
++
++ StartAgc();
++
++ state = kRunning;
++ hw_delay = 0;
++ callback = cb;
++ sio_start(hdl);
++ if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) {
++ LOG(ERROR) << "Failed to create real-time thread for recording.";
++ sio_stop(hdl);
++ state = kStopped;
++ }
++}
++
++void SndioAudioInputStream::Stop() {
++
++ if (state == kStopped)
++ return;
++
++ state = kStopWait;
++ pthread_join(thread, NULL);
++ sio_stop(hdl);
++ state = kStopped;
++
++ StopAgc();
++}
++
++void SndioAudioInputStream::Close() {
++
++ if (state == kClosed)
++ return;
++
++ if (state == kRunning)
++ Stop();
++
++ state = kClosed;
++ delete [] buffer;
++ sio_close(hdl);
++
++ manager->ReleaseInputStream(this);
++}
++
++double SndioAudioInputStream::GetMaxVolume() {
++ // Not supported
++ return 0.0;
++}
++
++void SndioAudioInputStream::SetVolume(double volume) {
++ // Not supported. Do nothing.
++}
++
++double SndioAudioInputStream::GetVolume() {
++ // Not supported.
++ return 0.0;
++}
++
++bool SndioAudioInputStream::IsMuted() {
++ // Not supported.
++ return false;
++}
++
++void SndioAudioInputStream::SetOutputDeviceForAec(
++ const std::string& output_device_id) {
++ // Not supported.
++}
++
++void SndioAudioInputStream::ThreadLoop(void) {
++ size_t todo, n;
++ char *data;
++ unsigned int nframes;
++ double normalized_volume = 0.0;
++
++ nframes = audio_bus->frames();
++
++ while (state == kRunning && !sio_eof(hdl)) {
++
++ GetAgcVolume(&normalized_volume);
++
++ // read one block
++ todo = nframes * params.GetBytesPerFrame(kSampleFormat);
++ data = buffer;
++ while (todo > 0) {
++ n = sio_read(hdl, data, todo);
++ if (n == 0)
++ return; // unrecoverable I/O error
++ todo -= n;
++ data += n;
++ }
++ hw_delay -= nframes;
++
++ // convert frames count to TimeDelta
++ const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay,
++ params.sample_rate());
++
++ // push into bus
++ audio_bus->FromInterleaved<SignedInt16SampleTypeTraits>(reinterpret_cast<int16_t*>(buffer), nframes);
++
++
++ // invoke callback
++ callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.);
++ }
++}
++
++} // namespace media
diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__input.h b/www/chromium/files/patch-media_audio_sndio_sndio__input.h
new file mode 100644
index 000000000000..b5684256703a
--- /dev/null
+++ b/www/chromium/files/patch-media_audio_sndio_sndio__input.h
@@ -0,0 +1,94 @@
+--- media/audio/sndio/sndio_input.h.orig 2022-02-07 13:39:41 UTC
++++ media/audio/sndio/sndio_input.h
+@@ -0,0 +1,91 @@
++// 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.
++
++#ifndef MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
++#define MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
++
++#include <stdint.h>
++#include <string>
++#include <sndio.h>
++
++#include "base/compiler_specific.h"
++#include "base/memory/weak_ptr.h"
++#include "base/time/time.h"
++#include "media/audio/agc_audio_stream.h"
++#include "media/audio/audio_io.h"
++#include "media/audio/audio_device_description.h"
++#include "media/base/audio_parameters.h"
++
++namespace media {
++
++class AudioManagerBase;
++
++// Implementation of AudioOutputStream using sndio(7)
++class SndioAudioInputStream : public AgcAudioStream<AudioInputStream> {
++ public:
++ // Pass this to the constructor if you want to attempt auto-selection
++ // of the audio recording device.
++ static const char kAutoSelectDevice[];
++
++ // Create a PCM Output stream for the SNDIO device identified by
++ // |device_name|. If unsure of what to use for |device_name|, use
++ // |kAutoSelectDevice|.
++ SndioAudioInputStream(AudioManagerBase* audio_manager,
++ const std::string& device_name,
++ const AudioParameters& params);
++
++ SndioAudioInputStream(const SndioAudioInputStream&) = delete;
++ SndioAudioInputStream& operator=(const SndioAudioInputStream&) = delete;
++
++ ~SndioAudioInputStream() override;
++
++ // Implementation of AudioInputStream.
++ OpenOutcome Open() override;
++ void Start(AudioInputCallback* callback) override;
++ void Stop() override;
++ void Close() override;
++ double GetMaxVolume() override;
++ void SetVolume(double volume) override;
++ double GetVolume() override;
++ bool IsMuted() override;
++ void SetOutputDeviceForAec(const std::string& output_device_id) override;
++
++ private:
++
++ enum StreamState {
++ kClosed, // Not opened yet
++ kStopped, // Device opened, but not started yet
++ kRunning, // Started, device playing
++ kStopWait // Stopping, waiting for the real-time thread to exit
++ };
++
++ // C-style call-backs
++ static void OnMoveCallback(void *arg, int delta);
++ static void* ThreadEntry(void *arg);
++
++ // Continuously moves data from the device to the consumer
++ void ThreadLoop();
++ // Our creator, the audio manager needs to be notified when we close.
++ AudioManagerBase* manager;
++ // Parameters of the source
++ AudioParameters params;
++ // We store data here for consumer
++ std::unique_ptr<AudioBus> audio_bus;
++ // Call-back that consumes recorded data
++ AudioInputCallback* callback; // Valid during a recording session.
++ // Handle of the audio device
++ struct sio_hdl* hdl;
++ // Current state of the stream
++ enum StreamState state;
++ // High priority thread running ThreadLoop()
++ pthread_t thread;
++ // Number of frames buffered in the hardware
++ int hw_delay;
++ // Temporary buffer where data is stored sndio-compatible format
++ char* buffer;
++};
++
++} // namespace media
++
++#endif // MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__output.cc b/www/chromium/files/patch-media_audio_sndio_sndio__output.cc
new file mode 100644
index 000000000000..2f9a72be63ef
--- /dev/null
+++ b/www/chromium/files/patch-media_audio_sndio_sndio__output.cc
@@ -0,0 +1,186 @@
+--- media/audio/sndio/sndio_output.cc.orig 2022-02-07 13:39:41 UTC
++++ media/audio/sndio/sndio_output.cc
+@@ -0,0 +1,183 @@
++// Copyright (c) 2012 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#include "base/logging.h"
++#include "base/time/time.h"
++#include "base/time/default_tick_clock.h"
++#include "media/audio/audio_manager_base.h"
++#include "media/base/audio_timestamp_helper.h"
++#include "media/audio/sndio/sndio_output.h"
++
++namespace media {
++
++static const SampleFormat kSampleFormat = kSampleFormatS16;
++
++void SndioAudioOutputStream::OnMoveCallback(void *arg, int delta) {
++ SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
++
++ self->hw_delay -= delta;
++}
++
++void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) {
++ SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
++
++ self->vol = vol;
++}
++
++void *SndioAudioOutputStream::ThreadEntry(void *arg) {
++ SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
++
++ self->ThreadLoop();
++ return NULL;
++}
++
++SndioAudioOutputStream::SndioAudioOutputStream(const AudioParameters& params,
++ AudioManagerBase* manager)
++ : manager(manager),
++ params(params),
++ audio_bus(AudioBus::Create(params)),
++ state(kClosed),
++ mutex(PTHREAD_MUTEX_INITIALIZER) {
++}
++
++SndioAudioOutputStream::~SndioAudioOutputStream() {
++ if (state != kClosed)
++ Close();
++}
++
++bool SndioAudioOutputStream::Open() {
++ struct sio_par par;
++ int sig;
++
++ if (params.format() != AudioParameters::AUDIO_PCM_LINEAR &&
++ params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) {
++ LOG(WARNING) << "Unsupported audio format.";
++ return false;
++ }
++ sio_initpar(&par);
++ par.rate = params.sample_rate();
++ par.pchan = params.channels();
++ par.bits = SampleFormatToBitsPerChannel(kSampleFormat);
++ par.bps = par.bits / 8;
++ par.sig = sig = par.bits != 8 ? 1 : 0;
++ par.le = SIO_LE_NATIVE;
++ par.appbufsz = params.frames_per_buffer();
++
++ hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0);
++ if (hdl == NULL) {
++ LOG(ERROR) << "Couldn't open audio device.";
++ return false;
++ }
++ if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
++ LOG(ERROR) << "Couldn't set audio parameters.";
++ goto bad_close;
++ }
++ if (par.rate != (unsigned int)params.sample_rate() ||
++ par.pchan != (unsigned int)params.channels() ||
++ par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) ||
++ par.sig != (unsigned int)sig ||
++ (par.bps > 1 && par.le != SIO_LE_NATIVE) ||
++ (par.bits != par.bps * 8)) {
++ LOG(ERROR) << "Unsupported audio parameters.";
++ goto bad_close;
++ }
++ state = kStopped;
++ volpending = 0;
++ vol = 0;
++ buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)];
++ sio_onmove(hdl, &OnMoveCallback, this);
++ sio_onvol(hdl, &OnVolCallback, this);
++ return true;
++ bad_close:
++ sio_close(hdl);
++ return false;
++}
++
++void SndioAudioOutputStream::Close() {
++ if (state == kClosed)
++ return;
++ if (state == kRunning)
++ Stop();
++ state = kClosed;
++ delete [] buffer;
++ sio_close(hdl);
++ manager->ReleaseOutputStream(this); // Calls the destructor
++}
++
++void SndioAudioOutputStream::Start(AudioSourceCallback* callback) {
++ state = kRunning;
++ hw_delay = 0;
++ source = callback;
++ sio_start(hdl);
++ if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) {
++ LOG(ERROR) << "Failed to create real-time thread.";
++ sio_stop(hdl);
++ state = kStopped;
++ }
++}
++
++void SndioAudioOutputStream::Stop() {
++ if (state == kStopped)
++ return;
++ state = kStopWait;
++ pthread_join(thread, NULL);
++ sio_stop(hdl);
++ state = kStopped;
++}
++
++void SndioAudioOutputStream::SetVolume(double v) {
++ pthread_mutex_lock(&mutex);
++ vol = v * SIO_MAXVOL;
++ volpending = 1;
++ pthread_mutex_unlock(&mutex);
++}
++
++void SndioAudioOutputStream::GetVolume(double* v) {
++ pthread_mutex_lock(&mutex);
++ *v = vol * (1. / SIO_MAXVOL);
++ pthread_mutex_unlock(&mutex);
++}
++
++// This stream is always used with sub second buffer sizes, where it's
++// sufficient to simply always flush upon Start().
++void SndioAudioOutputStream::Flush() {}
++
++void SndioAudioOutputStream::ThreadLoop(void) {
++ int avail, count, result;
++
++ while (state == kRunning) {
++ // Update volume if needed
++ pthread_mutex_lock(&mutex);
++ if (volpending) {
++ volpending = 0;
++ sio_setvol(hdl, vol);
++ }
++ pthread_mutex_unlock(&mutex);
++
++ // 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());
++ audio_bus->ToInterleaved<SignedInt16SampleTypeTraits>(count, reinterpret_cast<int16_t*>(buffer));
++ if (count == 0) {
++ // We have to submit something to the device
++ count = audio_bus->frames();
++ memset(buffer, 0, count * params.GetBytesPerFrame(kSampleFormat));
++ LOG(WARNING) << "No data to play, running empty cycle.";
++ }
++
++ // Submit data to the device
++ avail = count * params.GetBytesPerFrame(kSampleFormat);
++ result = sio_write(hdl, buffer, avail);
++ if (result == 0) {
++ LOG(WARNING) << "Audio device disconnected.";
++ break;
++ }
++
++ // Update hardware pointer
++ hw_delay += count;
++ }
++}
++
++} // namespace media
diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__output.h b/www/chromium/files/patch-media_audio_sndio_sndio__output.h
new file mode 100644
index 000000000000..bb8603b68d9c
--- /dev/null
+++ b/www/chromium/files/patch-media_audio_sndio_sndio__output.h
@@ -0,0 +1,91 @@
+--- media/audio/sndio/sndio_output.h.orig 2022-02-07 13:39:41 UTC
++++ media/audio/sndio/sndio_output.h
+@@ -0,0 +1,88 @@
++// Copyright (c) 2012 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_
++#define MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_
++
++#include <pthread.h>
++#include <sndio.h>
++
++#include "base/time/tick_clock.h"
++#include "base/time/time.h"
++#include "media/audio/audio_io.h"
++
++namespace media {
++
++class AudioManagerBase;
++
++// Implementation of AudioOutputStream using sndio(7)
++class SndioAudioOutputStream : public AudioOutputStream {
++ public:
++ // The manager is creating this object
++ SndioAudioOutputStream(const AudioParameters& params,
++ AudioManagerBase* manager);
++
++ SndioAudioOutputStream(const SndioAudioOutputStream&) = delete;
++ SndioAudioOutputStream& operator=(const SndioAudioOutputStream&) = delete;
++
++ virtual ~SndioAudioOutputStream();
++
++ // Implementation of AudioOutputStream.
++ bool Open() override;
++ void Close() override;
++ void Start(AudioSourceCallback* callback) override;
++ void Stop() override;
++ void SetVolume(double volume) override;
++ void GetVolume(double* volume) override;
++ void Flush() override;
++
++ friend void sndio_onmove(void *arg, int delta);
++ friend void sndio_onvol(void *arg, unsigned int vol);
++ friend void *sndio_threadstart(void *arg);
++
++ private:
++ enum StreamState {
++ kClosed, // Not opened yet
++ kStopped, // Device opened, but not started yet
++ kRunning, // Started, device playing
++ kStopWait // Stopping, waiting for the real-time thread to exit
++ };
++
++ // C-style call-backs
++ static void OnMoveCallback(void *arg, int delta);
++ static void OnVolCallback(void *arg, unsigned int vol);
++ static void* ThreadEntry(void *arg);
++
++ // Continuously moves data from the producer to the device
++ void ThreadLoop(void);
++
++ // Our creator, the audio manager needs to be notified when we close.
++ AudioManagerBase* manager;
++ // Parameters of the source
++ AudioParameters params;
++ // Source stores data here
++ std::unique_ptr<AudioBus> audio_bus;
++ // Call-back that produces data to play
++ AudioSourceCallback* source;
++ // Handle of the audio device
++ struct sio_hdl* hdl;
++ // Current state of the stream
++ enum StreamState state;
++ // High priority thread running ThreadLoop()
++ pthread_t thread;
++ // Protects vol, volpending and hw_delay
++ pthread_mutex_t mutex;
++ // Current volume in the 0..SIO_MAXVOL range
++ int vol;
++ // Set to 1 if volumes must be refreshed in the realtime thread
++ int volpending;
++ // Number of frames buffered in the hardware
++ int hw_delay;
++ // Temporary buffer where data is stored sndio-compatible format
++ char* buffer;
++};
++
++} // namespace media
++
++#endif // MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_
diff --git a/www/chromium/files/patch-media_base_audio__latency.cc b/www/chromium/files/patch-media_base_audio__latency.cc
index 9f716ec07a99..1ef4e3d460b1 100644
--- a/www/chromium/files/patch-media_base_audio__latency.cc
+++ b/www/chromium/files/patch-media_base_audio__latency.cc
@@ -1,11 +1,11 @@
---- media/base/audio_latency.cc.orig 2021-04-14 18:41:05 UTC
+--- media/base/audio_latency.cc.orig 2022-02-07 13:39:41 UTC
+++ media/base/audio_latency.cc
-@@ -134,7 +134,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in
- return frames_per_buffer;
+@@ -135,7 +135,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in
}
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
// On Linux, MacOS and Fuchsia, the low level IO implementations on the
// browser side supports all buffer size the clients want. We use the native
+ // peer connection buffer size (10ms) to achieve best possible performance.
diff --git a/www/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc
index ae9cc1d3b9ef..a95f80f66592 100644
--- a/www/chromium/files/patch-media_base_media__switches.cc
+++ b/www/chromium/files/patch-media_base_media__switches.cc
@@ -1,4 +1,4 @@
---- media/base/media_switches.cc.orig 2021-12-31 00:57:35 UTC
+--- media/base/media_switches.cc.orig 2022-02-07 13:39:41 UTC
+++ media/base/media_switches.cc
@@ -9,7 +9,7 @@
#include "build/chromeos_buildflags.h"
@@ -9,25 +9,25 @@
#include "base/cpu.h"
#endif
-@@ -418,7 +418,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode
- // Show toolbar button that opens dialog for controlling media sessions.
+@@ -397,7 +397,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode
const base::Feature kGlobalMediaControls {
"GlobalMediaControls",
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_LACROS)
++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
-@@ -455,7 +455,7 @@ constexpr base::FeatureParam<kCrosGlobalMediaControlsP
- // Show picture-in-picture button in Global Media Controls.
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -429,7 +429,7 @@ constexpr base::FeatureParam<kCrosGlobalMediaControlsP
const base::Feature kGlobalMediaControlsPictureInPicture {
"GlobalMediaControlsPictureInPicture",
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS)
++ defined(OS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
-@@ -497,7 +497,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -470,7 +470,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
const base::Feature kUnifiedAutoplay{"UnifiedAutoplay",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -36,16 +36,7 @@
// 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",
-@@ -505,7 +505,7 @@ const base::Feature kVaapiVideoDecodeLinux{"VaapiVideo
-
- const base::Feature kVaapiVideoEncodeLinux{"VaapiVideoEncoder",
- base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // Enable VA-API hardware decode acceleration for AV1.
- const base::Feature kVaapiAV1Decoder{"VaapiAV1Decoder",
-@@ -944,7 +944,7 @@ bool IsLiveCaptionFeatureEnabled() {
+@@ -926,7 +926,7 @@ bool IsLiveCaptionFeatureEnabled() {
return false;
#endif
diff --git a/www/chromium/files/patch-media_base_media__switches.h b/www/chromium/files/patch-media_base_media__switches.h
index 6d2e9137de63..694e01026713 100644
--- a/www/chromium/files/patch-media_base_media__switches.h
+++ b/www/chromium/files/patch-media_base_media__switches.h
@@ -1,6 +1,15 @@
---- media/base/media_switches.h.orig 2021-12-31 00:57:35 UTC
+--- media/base/media_switches.h.orig 2022-02-07 13:39:41 UTC
+++ media/base/media_switches.h
-@@ -190,10 +190,10 @@ MEDIA_EXPORT extern const base::Feature kUseFakeDevice
+@@ -38,7 +38,7 @@ MEDIA_EXPORT extern const char kDisableBackgroundMedia
+ MEDIA_EXPORT extern const char kReportVp9AsAnUnsupportedMimeType[];
+
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FREEBSD) || \
+- defined(OS_SOLARIS)
++ defined(OS_SOLARIS) || defined(OS_BSD)
+ MEDIA_EXPORT extern const char kAlsaInputDevice[];
+ MEDIA_EXPORT extern const char kAlsaOutputDevice[];
+ #endif
+@@ -187,7 +187,7 @@ MEDIA_EXPORT extern const base::Feature kUseFakeDevice
MEDIA_EXPORT extern const base::Feature kUseMediaHistoryStore;
MEDIA_EXPORT extern const base::Feature kUseR16Texture;
MEDIA_EXPORT extern const base::Feature kUseSodaForLiveCaption;
@@ -8,8 +17,4 @@
+#if defined(OS_LINUX) || defined(OS_BSD)
MEDIA_EXPORT extern const base::Feature kVaapiVideoDecodeLinux;
MEDIA_EXPORT extern const base::Feature kVaapiVideoEncodeLinux;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- MEDIA_EXPORT extern const base::Feature kVaapiAV1Decoder;
- MEDIA_EXPORT extern const base::Feature kVaapiLowPowerEncoderGen9x;
- MEDIA_EXPORT extern const base::Feature kVaapiEnforceVideoMinMaxResolution;
+ #endif // defined(OS_LINUX)
diff --git a/www/chromium/files/patch-media_base_scopedfd__helper.h b/www/chromium/files/patch-media_base_scopedfd__helper.h
index a1d82ea1f913..85ed66db9dc9 100644
--- a/www/chromium/files/patch-media_base_scopedfd__helper.h
+++ b/www/chromium/files/patch-media_base_scopedfd__helper.h
@@ -1,6 +1,6 @@
---- media/base/scopedfd_helper.h.orig 2021-12-14 11:45:07 UTC
+--- media/base/scopedfd_helper.h.orig 2022-02-07 13:39:41 UTC
+++ media/base/scopedfd_helper.h
-@@ -15,14 +15,14 @@ namespace media {
+@@ -15,7 +15,7 @@ namespace media {
// 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.
@@ -9,11 +9,3 @@
// Return a new vector containing duplicates of |fds|, or PCHECKs in case of an
// error.
- MEDIA_EXPORT std::vector<base::ScopedFD> DuplicateFDs(
- const std::vector<base::ScopedFD>& fds);
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- } // namespace media
-
diff --git a/www/chromium/files/patch-media_base_video__frame.cc b/www/chromium/files/patch-media_base_video__frame.cc
index 35f0f18e9efd..d1ccf88a17ef 100644
--- a/www/chromium/files/patch-media_base_video__frame.cc
+++ b/www/chromium/files/patch-media_base_video__frame.cc
@@ -1,4 +1,4 @@
---- media/base/video_frame.cc.orig 2021-12-14 11:45:07 UTC
+--- media/base/video_frame.cc.orig 2022-02-07 13:39:41 UTC
+++ media/base/video_frame.cc
@@ -73,7 +73,7 @@ std::string VideoFrame::StorageTypeToString(
return "OWNED_MEMORY";
@@ -27,15 +27,6 @@
// 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
-@@ -296,7 +296,7 @@ class VideoFrame::DmabufHolder
- friend class base::RefCountedThreadSafe<DmabufHolder>;
- ~DmabufHolder() = default;
- };
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // static
- bool VideoFrame::IsValidConfig(VideoPixelFormat format,
@@ -617,7 +617,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
for (size_t i = 0; i < num_planes; ++i)
planes[i].stride = gpu_memory_buffer->stride(i);
diff --git a/www/chromium/files/patch-media_base_video__frame.h b/www/chromium/files/patch-media_base_video__frame.h
index 1cd188d1aff6..717fec355b15 100644
--- a/www/chromium/files/patch-media_base_video__frame.h
+++ b/www/chromium/files/patch-media_base_video__frame.h
@@ -1,18 +1,15 @@
---- media/base/video_frame.h.orig 2021-12-14 11:45:07 UTC
+--- media/base/video_frame.h.orig 2022-02-07 13:39:41 UTC
+++ media/base/video_frame.h
-@@ -39,9 +39,9 @@
+@@ -40,7 +40,7 @@
#include "base/mac/scoped_cftyperef.h"
#endif // defined(OS_MAC)
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "base/files/scoped_file.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
- namespace gfx {
- class GpuMemoryBuffer;
-@@ -81,7 +81,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -82,7 +82,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.
@@ -21,7 +18,7 @@
// TODO(mcasas): Consider turning this type into STORAGE_NATIVE
// based on the idea of using this same enum value for both DMA
// buffers on Linux and CVPixelBuffers on Mac (which currently use
-@@ -275,7 +275,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -276,7 +276,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
ReleaseMailboxAndGpuMemoryBufferCB mailbox_holder_and_gmb_release_cb,
base::TimeDelta timestamp);
@@ -30,7 +27,7 @@
// Wraps provided dmabufs
// (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a
// VideoFrame. The frame will take ownership of |dmabuf_fds|, and will
-@@ -534,7 +534,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -535,7 +535,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;
@@ -39,7 +36,7 @@
// Returns a vector containing the backing DmaBufs for this frame. The number
// of returned DmaBufs will be equal or less than the number of planes of
// the frame. If there are less, this means that the last FD contains the
-@@ -741,7 +741,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -742,7 +742,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
// GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER.
std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_;
diff --git a/www/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 d4bbc8e2df7e..dc26310907a5 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,6 +1,6 @@
---- media/capture/video/create_video_capture_device_factory.cc.orig 2021-09-14 01:51:58 UTC
+--- media/capture/video/create_video_capture_device_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ media/capture/video/create_video_capture_device_factory.cc
-@@ -11,7 +11,7 @@
+@@ -12,7 +12,7 @@
#include "media/capture/video/fake_video_capture_device_factory.h"
#include "media/capture/video/file_video_capture_device_factory.h"
@@ -9,7 +9,7 @@
#include "media/capture/video/linux/video_capture_device_factory_linux.h"
#elif BUILDFLAG(IS_CHROMEOS_ASH)
#include "media/capture/video/chromeos/public/cros_features.h"
-@@ -53,7 +53,7 @@ CreateFakeVideoCaptureDeviceFactory() {
+@@ -55,7 +55,7 @@ CreateFakeVideoCaptureDeviceFactory() {
std::unique_ptr<VideoCaptureDeviceFactory>
CreatePlatformSpecificVideoCaptureDeviceFactory(
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
@@ -17,4 +17,4 @@
+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
return std::make_unique<VideoCaptureDeviceFactoryLinux>(ui_task_runner);
#elif BUILDFLAG(IS_CHROMEOS_ASH)
- return std::make_unique<VideoCaptureDeviceFactoryChromeOS>(ui_task_runner);
+ 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 6144e7334176..b030733a4af1 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,6 +1,6 @@
---- media/capture/video/fake_video_capture_device_factory.cc.orig 2021-04-14 18:41:05 UTC
+--- media/capture/video/fake_video_capture_device_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ media/capture/video/fake_video_capture_device_factory.cc
-@@ -208,7 +208,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo(
+@@ -213,7 +213,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo(
int entry_index = 0;
for (const auto& entry : devices_config_) {
VideoCaptureApi api =
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
new file mode 100644
index 000000000000..d69a68cc9b49
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h
@@ -0,0 +1,11 @@
+--- media/capture/video/linux/fake_v4l2_impl.h.orig 2022-02-07 13:39:41 UTC
++++ media/capture/video/linux/fake_v4l2_impl.h
+@@ -36,7 +36,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;
+- int ioctl(int fd, int request, void* argp) override;
++ int ioctl(int fd, unsigned long request, void* argp) override;
+ void* mmap(void* start,
+ size_t length,
+ int prot,
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 862dabf52fb0..c59998c5fc7f 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,4 +1,4 @@
---- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2021-05-12 22:05:55 UTC
+--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2022-02-07 13:39:41 UTC
+++ media/capture/video/linux/v4l2_capture_delegate.cc
@@ -4,8 +4,10 @@
@@ -24,3 +24,21 @@
// TODO(aleksandar.stojiljkovic): Wrap this with kernel version check once the
// format is introduced to kernel.
+@@ -660,7 +662,7 @@ base::WeakPtr<V4L2CaptureDelegate> V4L2CaptureDelegate
+
+ V4L2CaptureDelegate::~V4L2CaptureDelegate() = default;
+
+-bool V4L2CaptureDelegate::RunIoctl(int request, void* argp) {
++bool V4L2CaptureDelegate::RunIoctl(unsigned int request, void* argp) {
+ int num_retries = 0;
+ for (; DoIoctl(request, argp) < 0 && num_retries < kMaxIOCtrlRetries;
+ ++num_retries) {
+@@ -670,7 +672,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void*
+ return num_retries != kMaxIOCtrlRetries;
+ }
+
+-int V4L2CaptureDelegate::DoIoctl(int request, void* argp) {
++int V4L2CaptureDelegate::DoIoctl(unsigned int request, void* argp) {
+ return HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), request, argp));
+ }
+
diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h
new file mode 100644
index 000000000000..5e05b1ac62c1
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h
@@ -0,0 +1,15 @@
+--- media/capture/video/linux/v4l2_capture_delegate.h.orig 2022-02-07 13:39:41 UTC
++++ media/capture/video/linux/v4l2_capture_delegate.h
+@@ -84,10 +84,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final {
+ // device file descriptor or (re)starting streaming, can fail but works after
+ // retrying (https://crbug.com/670262). Returns false if the |request| ioctl
+ // fails too many times.
+- bool RunIoctl(int request, void* argp);
++ bool RunIoctl(unsigned int request, void* argp);
+
+ // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), ...)).
+- int DoIoctl(int request, void* argp);
++ int DoIoctl(unsigned int request, void* argp);
+
+ // Creates a mojom::RangePtr with the (min, max, current, step) values of the
+ // control associated with |control_id|. Returns an empty Range otherwise.
diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h
new file mode 100644
index 000000000000..cbba776523a9
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h
@@ -0,0 +1,11 @@
+--- media/capture/video/linux/v4l2_capture_device.h.orig 2022-02-07 13:39:41 UTC
++++ media/capture/video/linux/v4l2_capture_device.h
+@@ -21,7 +21,7 @@ class CAPTURE_EXPORT V4L2CaptureDevice
+ public:
+ 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;
++ virtual int ioctl(int fd, unsigned long request, void* argp) = 0;
+ virtual void* mmap(void* start,
+ size_t length,
+ int prot,
diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc
new file mode 100644
index 000000000000..902427b862a2
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc
@@ -0,0 +1,11 @@
+--- media/capture/video/linux/v4l2_capture_device_impl.cc.orig 2022-02-07 13:39:41 UTC
++++ media/capture/video/linux/v4l2_capture_device_impl.cc
+@@ -22,7 +22,7 @@ int V4L2CaptureDeviceImpl::close(int fd) {
+ return ::close(fd);
+ }
+
+-int V4L2CaptureDeviceImpl::ioctl(int fd, int request, void* argp) {
++int V4L2CaptureDeviceImpl::ioctl(int fd, unsigned long request, void* argp) {
+ return ::ioctl(fd, request, argp);
+ }
+
diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h
new file mode 100644
index 000000000000..21a77244eca8
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h
@@ -0,0 +1,11 @@
+--- media/capture/video/linux/v4l2_capture_device_impl.h.orig 2022-02-07 13:39:41 UTC
++++ media/capture/video/linux/v4l2_capture_device_impl.h
+@@ -19,7 +19,7 @@ class CAPTURE_EXPORT V4L2CaptureDeviceImpl : public V4
+ public:
+ int open(const char* device_name, int flags) override;
+ int close(int fd) override;
+- int ioctl(int fd, int request, void* argp) override;
++ int ioctl(int fd, unsigned long request, void* argp) override;
+ void* mmap(void* start,
+ size_t length,
+ int prot,
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
new file mode 100644
index 000000000000..1a8f69f296de
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc
@@ -0,0 +1,45 @@
+--- 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
new file mode 100644
index 000000000000..bc45a932e4e2
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h
@@ -0,0 +1,11 @@
+--- 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_filters_vp9__parser.h b/www/chromium/files/patch-media_filters_vp9__parser.h
deleted file mode 100644
index 644782f9a56c..000000000000
--- a/www/chromium/files/patch-media_filters_vp9__parser.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- media/filters/vp9_parser.h.orig 2021-04-14 18:41:05 UTC
-+++ media/filters/vp9_parser.h
-@@ -14,6 +14,7 @@
-
- #include <stddef.h>
- #include <stdint.h>
-+#include <unistd.h>
- #include <sys/types.h>
-
- #include <memory>
diff --git a/www/chromium/files/patch-media_formats_common_offset__byte__queue.cc b/www/chromium/files/patch-media_formats_common_offset__byte__queue.cc
deleted file mode 100644
index dfd36f6aac39..000000000000
--- a/www/chromium/files/patch-media_formats_common_offset__byte__queue.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- media/formats/common/offset_byte_queue.cc.orig 2021-04-14 18:41:05 UTC
-+++ media/formats/common/offset_byte_queue.cc
-@@ -47,13 +47,13 @@ void OffsetByteQueue::PeekAt(int64_t offset, const uin
- *size = tail() - offset;
- }
-
--bool OffsetByteQueue::Trim(int64_t max_offset) {
-- if (max_offset < head_) return true;
-- if (max_offset > tail()) {
-+bool OffsetByteQueue::Trim(int64_t _max_offset) {
-+ if (_max_offset < head_) return true;
-+ if (_max_offset > tail()) {
- Pop(size_);
- return false;
- }
-- Pop(max_offset - head_);
-+ Pop(_max_offset - head_);
- return true;
- }
-
diff --git a/www/chromium/files/patch-media_formats_common_offset__byte__queue.h b/www/chromium/files/patch-media_formats_common_offset__byte__queue.h
deleted file mode 100644
index fa54f8cda1d5..000000000000
--- a/www/chromium/files/patch-media_formats_common_offset__byte__queue.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- media/formats/common/offset_byte_queue.h.orig 2021-12-14 11:45:07 UTC
-+++ media/formats/common/offset_byte_queue.h
-@@ -40,15 +40,15 @@ class MEDIA_EXPORT OffsetByteQueue {
- // a null |buf| and a |size| of zero.
- void PeekAt(int64_t offset, const uint8_t** buf, int* size);
-
-- // Marks the bytes up to (but not including) |max_offset| as ready for
-+ // Marks the bytes up to (but not including) |_max_offset| as ready for
- // deletion. This is relatively inexpensive, but will not necessarily reduce
- // the resident buffer size right away (or ever).
- //
- // Returns true if the full range of bytes were successfully trimmed,
-- // including the case where |max_offset| is less than the current head.
-- // Returns false if |max_offset| > tail() (although all bytes currently
-+ // including the case where |_max_offset| is less than the current head.
-+ // Returns false if |_max_offset| > tail() (although all bytes currently
- // buffered are still cleared).
-- bool Trim(int64_t max_offset);
-+ bool Trim(int64_t _max_offset);
-
- // The head and tail positions, in terms of the file's absolute offsets.
- // tail() is an exclusive bound.
diff --git a/www/chromium/files/patch-media_formats_mp2t_es__parser__adts.cc b/www/chromium/files/patch-media_formats_mp2t_es__parser__adts.cc
deleted file mode 100644
index fe51ca7c984b..000000000000
--- a/www/chromium/files/patch-media_formats_mp2t_es__parser__adts.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- media/formats/mp2t/es_parser_adts.cc.orig 2021-04-14 18:41:05 UTC
-+++ media/formats/mp2t/es_parser_adts.cc
-@@ -62,11 +62,11 @@ bool EsParserAdts::LookForAdtsFrame(AdtsFrame* adts_fr
- const uint8_t* es;
- es_queue_->Peek(&es, &es_size);
-
-- int max_offset = es_size - kADTSHeaderMinSize;
-- if (max_offset <= 0)
-+ int _max_offset = es_size - kADTSHeaderMinSize;
-+ if (_max_offset <= 0)
- return false;
-
-- for (int offset = 0; offset < max_offset; offset++) {
-+ for (int offset = 0; offset < _max_offset; offset++) {
- const uint8_t* cur_buf = &es[offset];
- if (!isAdtsSyncWord(cur_buf))
- continue;
-@@ -106,7 +106,7 @@ bool EsParserAdts::LookForAdtsFrame(AdtsFrame* adts_fr
- return true;
- }
-
-- es_queue_->Pop(max_offset);
-+ es_queue_->Pop(_max_offset);
- return false;
- }
-
diff --git a/www/chromium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc b/www/chromium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
deleted file mode 100644
index c4fe35fdeb2a..000000000000
--- a/www/chromium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- media/formats/mp2t/es_parser_mpeg1audio.cc.orig 2021-04-14 18:41:05 UTC
-+++ media/formats/mp2t/es_parser_mpeg1audio.cc
-@@ -108,11 +108,11 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame(
- const uint8_t* es;
- es_queue_->Peek(&es, &es_size);
-
-- int max_offset = es_size - MPEG1AudioStreamParser::kHeaderSize;
-- if (max_offset <= 0)
-+ int _max_offset = es_size - MPEG1AudioStreamParser::kHeaderSize;
-+ if (_max_offset <= 0)
- return false;
-
-- for (int offset = 0; offset < max_offset; offset++) {
-+ for (int offset = 0; offset < _max_offset; offset++) {
- const uint8_t* cur_buf = &es[offset];
- if (cur_buf[0] != 0xff)
- continue;
-@@ -155,7 +155,7 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame(
- return true;
- }
-
-- es_queue_->Pop(max_offset);
-+ es_queue_->Pop(_max_offset);
- return false;
- }
-
diff --git a/www/chromium/files/patch-media_gpu_buffer__validation.cc b/www/chromium/files/patch-media_gpu_buffer__validation.cc
index 5163b5907ae4..8e76b441fbeb 100644
--- a/www/chromium/files/patch-media_gpu_buffer__validation.cc
+++ b/www/chromium/files/patch-media_gpu_buffer__validation.cc
@@ -1,6 +1,6 @@
---- media/gpu/buffer_validation.cc.orig 2021-04-14 18:41:05 UTC
+--- media/gpu/buffer_validation.cc.orig 2022-02-07 13:39:41 UTC
+++ media/gpu/buffer_validation.cc
-@@ -12,15 +12,15 @@
+@@ -12,7 +12,7 @@
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/gpu_memory_buffer.h"
@@ -8,9 +8,8 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include <sys/types.h>
#include <unistd.h>
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -20,7 +20,7 @@
namespace media {
bool GetFileSize(const int fd, size_t* size) {
@@ -19,15 +18,6 @@
if (fd < 0) {
VLOGF(1) << "Invalid file descriptor";
return false;
-@@ -46,7 +46,7 @@ bool GetFileSize(const int fd, size_t* size) {
- #else
- NOTIMPLEMENTED();
- return false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- bool VerifyGpuMemoryBufferHandle(media::VideoPixelFormat pixel_format,
@@ -56,7 +56,7 @@ bool VerifyGpuMemoryBufferHandle(media::VideoPixelForm
VLOGF(1) << "Unexpected GpuMemoryBufferType: " << gmb_handle.type;
return false;
@@ -37,12 +27,3 @@
const size_t num_planes = media::VideoFrame::NumPlanes(pixel_format);
if (num_planes != gmb_handle.native_pixmap_handle.planes.size() ||
num_planes == 0) {
-@@ -108,7 +108,7 @@ bool VerifyGpuMemoryBufferHandle(media::VideoPixelForm
- #else
- NOTIMPLEMENTED();
- return false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- } // namespace media
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
new file mode 100644
index 000000000000..36a16df84531
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc
@@ -0,0 +1,20 @@
+--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2022-02-07 13:39:41 UTC
++++ media/gpu/chromeos/video_decoder_pipeline.cc
+@@ -644,7 +644,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
+ }
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Linux should always use a custom allocator (to allocate buffers using
+ // libva) and a PlatformVideoFramePool.
+ CHECK(allocator.has_value());
+@@ -665,7 +665,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
+ #error "Unsupported platform"
+ #endif
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // viable_candidate should always be set unless using L1 protected content,
+ // which isn't an option on linux or lacros.
+ CHECK(viable_candidate);
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
new file mode 100644
index 000000000000..3bc43fbc9207
--- /dev/null
+++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc
@@ -0,0 +1,11 @@
+--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2022-02-07 13:39:41 UTC
++++ media/gpu/vaapi/vaapi_video_decoder.cc
+@@ -771,7 +771,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree
+ const gfx::Size decoder_natural_size =
+ aspect_ratio_.GetNaturalSize(decoder_visible_rect);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ absl::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 1de41a7426ea..0f391052a339 100644
--- a/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc
+++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc
@@ -1,6 +1,6 @@
---- media/gpu/vaapi/vaapi_wrapper.cc.orig 2021-12-31 00:57:35 UTC
+--- media/gpu/vaapi/vaapi_wrapper.cc.orig 2022-02-07 13:39:41 UTC
+++ media/gpu/vaapi/vaapi_wrapper.cc
-@@ -554,7 +554,7 @@ VADisplayState::VADisplayState()
+@@ -553,7 +553,7 @@ VADisplayState::VADisplayState()
bool VADisplayState::Initialize() {
base::AutoLock auto_lock(va_lock_);
diff --git a/www/chromium/files/patch-media_media__options.gni b/www/chromium/files/patch-media_media__options.gni
index 4df038aefc52..328c50c9511b 100644
--- a/www/chromium/files/patch-media_media__options.gni
+++ b/www/chromium/files/patch-media_media__options.gni
@@ -1,6 +1,6 @@
---- media/media_options.gni.orig 2021-09-24 04:26:08 UTC
+--- media/media_options.gni.orig 2022-02-07 13:39:41 UTC
+++ media/media_options.gni
-@@ -113,6 +113,9 @@ declare_args() {
+@@ -124,9 +124,12 @@ declare_args() {
# Enables runtime selection of ALSA library for audio.
use_alsa = false
@@ -9,4 +9,19 @@
+
# Alsa should be used on non-Android, non-Mac POSIX systems.
# Alsa should be used on desktop Chromecast and audio-only Chromecast builds.
- if (is_posix && !is_android && !is_mac &&
+- if (is_posix && !is_android && !is_mac &&
++ if (is_posix && !is_android && !is_mac && !is_bsd &&
+ (!is_chromecast || is_cast_desktop_build || is_cast_audio_only)) {
+ use_alsa = true
+
+@@ -141,6 +144,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_video__frame__mojom__traits.cc b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
index 9a91f584166f..5dd71edd4620 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,14 +1,11 @@
---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2021-05-12 22:05:56 UTC
+--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2022-02-07 13:39:41 UTC
+++ media/mojo/mojom/video_frame_mojom_traits.cc
-@@ -21,9 +21,9 @@
+@@ -21,7 +21,7 @@
#include "ui/gfx/mojom/color_space_mojom_traits.h"
#include "ui/gfx/mojom/hdr_metadata_mojom_traits.h"
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include "base/posix/eintr_wrapper.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- namespace mojo {
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
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
index c62e63479ada..682ae16771c3 100644
--- a/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc
+++ b/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc
@@ -1,4 +1,4 @@
---- media/video/fake_gpu_memory_buffer.cc.orig 2021-09-14 01:51:59 UTC
+--- media/video/fake_gpu_memory_buffer.cc.orig 2022-02-07 13:39:41 UTC
+++ media/video/fake_gpu_memory_buffer.cc
@@ -10,7 +10,7 @@
#include "media/base/format_utils.h"
@@ -27,15 +27,6 @@
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_);
-@@ -87,7 +87,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si
- GetDummyFD());
- }
- handle_.native_pixmap_handle.modifier = modifier;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- FakeGpuMemoryBuffer::~FakeGpuMemoryBuffer() = default;
@@ -135,7 +135,7 @@ gfx::GpuMemoryBufferHandle FakeGpuMemoryBuffer::CloneH
gfx::GpuMemoryBufferHandle handle;
handle.type = gfx::NATIVE_PIXMAP;
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
deleted file mode 100644
index 0d8ccfe067b2..000000000000
--- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/video/video_encode_accelerator_adapter_test.cc.orig 2021-09-24 04:26:08 UTC
-+++ media/video/video_encode_accelerator_adapter_test.cc
-@@ -337,7 +337,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes
-
- vea()->SetEncodingCallback(base::BindLambdaForTesting(
- [&](BitstreamBuffer&, bool keyframe, scoped_refptr<VideoFrame> frame) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- EXPECT_EQ(frame->format(),
- IsYuvPlanar(pixel_format) ? pixel_format : PIXEL_FORMAT_I420);
- #else
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_media__stream__audio__processor.cc b/www/chromium/files/patch-media_webrtc_audio__processor.cc
index 0e269edabd49..c9d3ba7f8543 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_media__stream__audio__processor.cc
+++ b/www/chromium/files/patch-media_webrtc_audio__processor.cc
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/modules/mediastream/media_stream_audio_processor.cc.orig 2022-01-21 13:38:48 UTC
-+++ third_party/blink/renderer/modules/mediastream/media_stream_audio_processor.cc
-@@ -677,7 +677,7 @@ absl::optional<double> MediaStreamAudioProcessor::Proc
+--- media/webrtc/audio_processor.cc.orig 2022-02-07 13:39:41 UTC
++++ media/webrtc/audio_processor.cc
+@@ -542,7 +542,7 @@ absl::optional<double> AudioProcessor::ProcessData(
// controller.
#if defined(OS_WIN) || defined(OS_MAC)
DCHECK_LE(volume, 1.0);
diff --git a/www/chromium/files/patch-mojo_core_channel.cc b/www/chromium/files/patch-mojo_core_channel.cc
new file mode 100644
index 000000000000..6d3394e1b71a
--- /dev/null
+++ b/www/chromium/files/patch-mojo_core_channel.cc
@@ -0,0 +1,14 @@
+--- mojo/core/channel.cc.orig 2022-02-07 13:39:41 UTC
++++ mojo/core/channel.cc
+@@ -62,7 +62,11 @@ const size_t kMaxUnusedReadBufferCapacity = 4096;
+ // Fuchsia: The zx_channel_write() API supports up to 64 handles.
+ const size_t kMaxAttachedHandles = 64;
+
++#if defined(__i386__) && defined(OS_FREEBSD)
++const size_t kChannelMessageAlignment = 4;
++#else
+ static_assert(alignof(std::max_align_t) >= kChannelMessageAlignment, "");
++#endif
+ Channel::AlignedBuffer MakeAlignedBuffer(size_t size) {
+ // Generic allocators (such as malloc) return a pointer that is suitably
+ // aligned for storing any type of object with a fundamental alignment
diff --git a/www/chromium/files/patch-mojo_core_channel.h b/www/chromium/files/patch-mojo_core_channel.h
deleted file mode 100644
index 2112b1c2fe72..000000000000
--- a/www/chromium/files/patch-mojo_core_channel.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- mojo/core/channel.h.orig 2021-04-28 14:44:22 UTC
-+++ mojo/core/channel.h
-@@ -22,7 +22,11 @@
- namespace mojo {
- namespace core {
-
-+#if defined(__i386__) && defined(OS_FREEBSD)
-+const size_t kChannelMessageAlignment = 4;
-+#else
- const size_t kChannelMessageAlignment = 8;
-+#endif
-
- constexpr bool IsAlignedForChannelMessage(size_t n) {
- return n % kChannelMessageAlignment == 0;
diff --git a/www/chromium/files/patch-mojo_core_embedder_features.h b/www/chromium/files/patch-mojo_core_embedder_features.h
new file mode 100644
index 000000000000..0ce643694ffd
--- /dev/null
+++ b/www/chromium/files/patch-mojo_core_embedder_features.h
@@ -0,0 +1,11 @@
+--- mojo/core/embedder/features.h.orig 2022-02-07 13:39:41 UTC
++++ mojo/core/embedder/features.h
+@@ -14,7 +14,7 @@ namespace mojo {
+ namespace core {
+
+ #if defined(OS_POSIX) && !defined(OS_NACL) && !defined(OS_MAC)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ COMPONENT_EXPORT(MOJO_CORE_EMBEDDER_FEATURES)
+ extern const base::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
index 95fd459e0170..799396b668ec 100644
--- a/www/chromium/files/patch-mojo_public_c_system_thunks.cc
+++ b/www/chromium/files/patch-mojo_public_c_system_thunks.cc
@@ -1,6 +1,6 @@
---- mojo/public/c/system/thunks.cc.orig 2021-07-19 18:45:18 UTC
+--- mojo/public/c/system/thunks.cc.orig 2022-02-07 13:39:41 UTC
+++ mojo/public/c/system/thunks.cc
-@@ -20,7 +20,7 @@
+@@ -19,7 +19,7 @@
#include "mojo/public/c/system/core.h"
#include "mojo/public/c/system/macros.h"
@@ -9,7 +9,7 @@
#include "base/environment.h"
#include "base/files/file_path.h"
#include "base/scoped_native_library.h"
-@@ -68,7 +68,7 @@ class CoreLibraryInitializer {
+@@ -67,7 +67,7 @@ class CoreLibraryInitializer {
~CoreLibraryInitializer() = default;
MojoResult LoadLibrary(base::FilePath library_path) {
@@ -18,7 +18,7 @@
if (library_ && library_->is_valid())
return MOJO_RESULT_OK;
-@@ -82,7 +82,7 @@ class CoreLibraryInitializer {
+@@ -81,7 +81,7 @@ class CoreLibraryInitializer {
if (library_path.empty()) {
// Default to looking for the library in the current working directory.
@@ -27,15 +27,7 @@
const base::FilePath::CharType kDefaultLibraryPathValue[] =
FILE_PATH_LITERAL("./libmojo_core.so");
#elif defined(OS_WIN)
-@@ -126,13 +126,13 @@ class CoreLibraryInitializer {
-
- library_ = std::move(library);
- return MOJO_RESULT_OK;
--#else // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN)
-+#else // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- return MOJO_RESULT_UNIMPLEMENTED;
--#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN)
-+#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+@@ -131,7 +131,7 @@ class CoreLibraryInitializer {
}
private:
diff --git a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni
new file mode 100644
index 000000000000..c5f2c44ec0e0
--- /dev/null
+++ b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni
@@ -0,0 +1,19 @@
+--- mojo/public/tools/bindings/mojom.gni.orig 2022-02-07 13:39:41 UTC
++++ mojo/public/tools/bindings/mojom.gni
+@@ -688,6 +688,16 @@ template("mojom") {
+ enabled_features += [ "is_win" ]
+ }
+
++ if (is_openbsd) {
++ enabled_features += [ "is_openbsd" ]
++ enabled_features += [ "is_bsd" ]
++ }
++
++ if (is_freebsd) {
++ enabled_features += [ "is_freebsd" ]
++ enabled_features += [ "is_bsd" ]
++ }
++
+ action(parser_target_name) {
+ script = mojom_parser_script
+ inputs = mojom_parser_sources + [ build_metadata_filename ]
diff --git a/www/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn
index ebecbccd0fca..e7a1fa60cfd2 100644
--- a/www/chromium/files/patch-net_BUILD.gn
+++ b/www/chromium/files/patch-net_BUILD.gn
@@ -1,4 +1,4 @@
---- net/BUILD.gn.orig 2021-12-31 00:57:36 UTC
+--- net/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ net/BUILD.gn
@@ -100,7 +100,7 @@ net_configs = [
"//build/config/compiler:wexit_time_destructors",
@@ -9,29 +9,23 @@
net_configs += [ "//build/config/linux:libresolv" ]
}
-@@ -1203,7 +1203,7 @@ component("net") {
- ]
- }
-
-- if (is_linux || is_chromeos || is_android) {
-+ if ((is_linux || is_chromeos || is_android) && !is_bsd) {
- sources += [
- "base/address_tracker_linux.cc",
- "base/address_tracker_linux.h",
-@@ -1213,6 +1213,12 @@ component("net") {
+@@ -1213,6 +1213,15 @@ component("net") {
]
}
+ if (is_bsd) {
-+ sources += [
-+ "base/platform_mime_util_linux.cc",
++ sources -= [
++ "base/address_tracker_linux.cc",
++ "base/address_tracker_linux.h",
++ "base/network_change_notifier_linux.cc",
++ "base/network_interfaces_linux.cc",
+ ]
+ }
+
if (is_mac) {
sources += [
"base/network_notification_thread_mac.cc",
-@@ -1345,7 +1351,7 @@ component("net") {
+@@ -1345,7 +1354,7 @@ component("net") {
}
}
@@ -40,7 +34,7 @@
sources += [
"base/network_change_notifier_posix.cc",
"base/network_change_notifier_posix.h",
-@@ -1378,7 +1384,7 @@ component("net") {
+@@ -1378,7 +1387,7 @@ component("net") {
}
# Use getifaddrs() on POSIX platforms, except Linux.
@@ -49,12 +43,12 @@
sources += [
"base/network_interfaces_getifaddrs.cc",
"base/network_interfaces_getifaddrs.h",
-@@ -4729,7 +4735,7 @@ test("net_unittests") {
+@@ -4713,7 +4722,7 @@ test("net_unittests") {
}
# Use getifaddrs() on POSIX platforms, except Linux and Android.
- if (is_posix && !is_linux && !is_chromeos && !is_android) {
-+ if ((is_posix && !is_linux && !is_chromeos && !is_android) || is_bsd) {
++ if (is_posix && !is_linux && !is_chromeos && !is_android && !is_bsd) {
sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ]
}
diff --git a/www/chromium/files/patch-net_base_address__tracker__linux.cc b/www/chromium/files/patch-net_base_address__tracker__linux.cc
index 119d45df71da..00af00cca4b7 100644
--- a/www/chromium/files/patch-net_base_address__tracker__linux.cc
+++ b/www/chromium/files/patch-net_base_address__tracker__linux.cc
@@ -1,83 +1,410 @@
---- net/base/address_tracker_linux.cc.orig 2021-09-24 04:26:08 UTC
+--- net/base/address_tracker_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ net/base/address_tracker_linux.cc
-@@ -5,7 +5,9 @@
- #include "net/base/address_tracker_linux.h"
+@@ -28,125 +28,10 @@
+ namespace net {
+ namespace internal {
- #include <errno.h>
-+#if !defined(OS_BSD)
- #include <linux/if.h>
-+#endif
- #include <stdint.h>
- #include <sys/ioctl.h>
- #include <utility>
-@@ -191,6 +193,7 @@ void AddressTrackerLinux::Init() {
- DCHECK_LT(base::android::BuildInfo::GetInstance()->sdk_int(),
- base::android::SDK_VERSION_P);
- #endif
-+#if !defined(OS_FREEBSD)
- netlink_fd_.reset(socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE));
- if (!netlink_fd_.is_valid()) {
- PLOG(ERROR) << "Could not create NETLINK socket";
-@@ -275,6 +278,10 @@ void AddressTrackerLinux::Init() {
- base::BindRepeating(&AddressTrackerLinux::OnFileCanReadWithoutBlocking,
- base::Unretained(this)));
- }
-+#else // !OS_FREEBSD
+-namespace {
+-
+-// Some kernel functions such as wireless_send_event and rtnetlink_ifinfo_prep
+-// may send spurious messages over rtnetlink. RTM_NEWLINK messages where
+-// ifi_change == 0 and rta_type == IFLA_WIRELESS should be ignored.
+-bool IgnoreWirelessChange(const struct ifinfomsg* msg, int length) {
+- for (const struct rtattr* attr = IFLA_RTA(msg); RTA_OK(attr, length);
+- attr = RTA_NEXT(attr, length)) {
+- if (attr->rta_type == IFLA_WIRELESS && msg->ifi_change == 0)
+- return true;
+- }
+- return false;
+-}
+-
+-// Retrieves address from NETLINK address message.
+-// Sets |really_deprecated| for IPv6 addresses with preferred lifetimes of 0.
+-// Precondition: |header| must already be validated with NLMSG_OK.
+-bool GetAddress(const struct nlmsghdr* header,
+- int header_length,
+- IPAddress* out,
+- bool* really_deprecated) {
+- if (really_deprecated)
+- *really_deprecated = false;
+-
+- // Extract the message and update |header_length| to be the number of
+- // remaining bytes.
+- const struct ifaddrmsg* msg =
+- reinterpret_cast<const struct ifaddrmsg*>(NLMSG_DATA(header));
+- header_length -= NLMSG_HDRLEN;
+-
+- size_t address_length = 0;
+- switch (msg->ifa_family) {
+- case AF_INET:
+- address_length = IPAddress::kIPv4AddressSize;
+- break;
+- case AF_INET6:
+- address_length = IPAddress::kIPv6AddressSize;
+- break;
+- default:
+- // Unknown family.
+- return false;
+- }
+- // Use IFA_ADDRESS unless IFA_LOCAL is present. This behavior here is based on
+- // getaddrinfo in glibc (check_pf.c). Judging from kernel implementation of
+- // NETLINK, IPv4 addresses have only the IFA_ADDRESS attribute, while IPv6
+- // have the IFA_LOCAL attribute.
+- uint8_t* address = NULL;
+- uint8_t* local = NULL;
+- int length = IFA_PAYLOAD(header);
+- if (length > header_length) {
+- LOG(ERROR) << "ifaddrmsg length exceeds bounds";
+- return false;
+- }
+- for (const struct rtattr* attr =
+- reinterpret_cast<const struct rtattr*>(IFA_RTA(msg));
+- RTA_OK(attr, length); attr = RTA_NEXT(attr, length)) {
+- switch (attr->rta_type) {
+- case IFA_ADDRESS:
+- if (RTA_PAYLOAD(attr) < address_length) {
+- LOG(ERROR) << "attr does not have enough bytes to read an address";
+- return false;
+- }
+- address = reinterpret_cast<uint8_t*>(RTA_DATA(attr));
+- break;
+- case IFA_LOCAL:
+- if (RTA_PAYLOAD(attr) < address_length) {
+- LOG(ERROR) << "attr does not have enough bytes to read an address";
+- return false;
+- }
+- local = reinterpret_cast<uint8_t*>(RTA_DATA(attr));
+- break;
+- case IFA_CACHEINFO: {
+- if (RTA_PAYLOAD(attr) < sizeof(struct ifa_cacheinfo)) {
+- LOG(ERROR)
+- << "attr does not have enough bytes to read an ifa_cacheinfo";
+- return false;
+- }
+- const struct ifa_cacheinfo* cache_info =
+- reinterpret_cast<const struct ifa_cacheinfo*>(RTA_DATA(attr));
+- if (really_deprecated)
+- *really_deprecated = (cache_info->ifa_prefered == 0);
+- } break;
+- default:
+- break;
+- }
+- }
+- if (local)
+- address = local;
+- if (!address)
+- return false;
+- *out = IPAddress(address, address_length);
+- return true;
+-}
+-
+-// SafelyCastNetlinkMsgData<T> performs a bounds check before casting |header|'s
+-// data to a |T*|. When the bounds check fails, returns nullptr.
+-template <typename T>
+-T* SafelyCastNetlinkMsgData(const struct nlmsghdr* header, int length) {
+- DCHECK(NLMSG_OK(header, static_cast<__u32>(length)));
+- if (length <= 0 || static_cast<size_t>(length) < NLMSG_HDRLEN + sizeof(T))
+- return nullptr;
+- return reinterpret_cast<const T*>(NLMSG_DATA(header));
+-}
+-
+-} // namespace
+-
+ // static
+ char* AddressTrackerLinux::GetInterfaceName(int interface_index, char* buf) {
+- memset(buf, 0, IFNAMSIZ);
+- base::ScopedFD ioctl_socket = GetSocketForIoctl();
+- if (!ioctl_socket.is_valid())
+- return buf;
+-
+- struct ifreq ifr = {};
+- ifr.ifr_ifindex = interface_index;
+-
+- if (ioctl(ioctl_socket.get(), SIOCGIFNAME, &ifr) == 0)
+- strncpy(buf, ifr.ifr_name, IFNAMSIZ - 1);
+- return buf;
++ NOTIMPLEMENTED();
++ return NULL;
+ }
+
+ AddressTrackerLinux::AddressTrackerLinux()
+@@ -183,98 +68,8 @@ AddressTrackerLinux::AddressTrackerLinux(
+ AddressTrackerLinux::~AddressTrackerLinux() = default;
+
+ void AddressTrackerLinux::Init() {
+-#if defined(OS_ANDROID)
+- // RTM_GETLINK stopped working in Android 11 (see
+- // https://developer.android.com/preview/privacy/mac-address),
+- // so AddressTrackerLinux should not be used in later versions
+- // of Android. Chromium code doesn't need it past Android P.
+- DCHECK_LT(base::android::BuildInfo::GetInstance()->sdk_int(),
+- base::android::SDK_VERSION_P);
+-#endif
+- netlink_fd_.reset(socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE));
+- if (!netlink_fd_.is_valid()) {
+- PLOG(ERROR) << "Could not create NETLINK socket";
+- AbortAndForceOnline();
+- return;
+- }
+-
+- int rv;
+-
+- if (tracking_) {
+- // Request notifications.
+- struct sockaddr_nl addr = {};
+- addr.nl_family = AF_NETLINK;
+- addr.nl_pid = 0; // Let the kernel select a unique value.
+- // TODO(szym): Track RTMGRP_LINK as well for ifi_type,
+- // http://crbug.com/113993
+- addr.nl_groups =
+- RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR | RTMGRP_NOTIFY | RTMGRP_LINK;
+- rv = bind(netlink_fd_.get(), reinterpret_cast<struct sockaddr*>(&addr),
+- sizeof(addr));
+- if (rv < 0) {
+- PLOG(ERROR) << "Could not bind NETLINK socket";
+- AbortAndForceOnline();
+- return;
+- }
+- }
+-
+- // Request dump of addresses.
+- struct sockaddr_nl peer = {};
+- peer.nl_family = AF_NETLINK;
+-
+- struct {
+- struct nlmsghdr header;
+- struct rtgenmsg msg;
+- } request = {};
+-
+- request.header.nlmsg_len = NLMSG_LENGTH(sizeof(request.msg));
+- request.header.nlmsg_type = RTM_GETADDR;
+- request.header.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP;
+- request.header.nlmsg_pid = 0; // This field is opaque to netlink.
+- request.msg.rtgen_family = AF_UNSPEC;
+-
+- rv = HANDLE_EINTR(
+- sendto(netlink_fd_.get(), &request, request.header.nlmsg_len, 0,
+- reinterpret_cast<struct sockaddr*>(&peer), sizeof(peer)));
+- if (rv < 0) {
+- PLOG(ERROR) << "Could not send NETLINK request";
+- AbortAndForceOnline();
+- return;
+- }
+-
+- // Consume pending message to populate the AddressMap, but don't notify.
+- // Sending another request without first reading responses results in EBUSY.
+- bool address_changed;
+- bool link_changed;
+- bool tunnel_changed;
+- ReadMessages(&address_changed, &link_changed, &tunnel_changed);
+-
+- // Request dump of link state
+- request.header.nlmsg_type = RTM_GETLINK;
+-
+- rv = HANDLE_EINTR(
+- sendto(netlink_fd_.get(), &request, request.header.nlmsg_len, 0,
+- reinterpret_cast<struct sockaddr*>(&peer), sizeof(peer)));
+- if (rv < 0) {
+- PLOG(ERROR) << "Could not send NETLINK request";
+- AbortAndForceOnline();
+- return;
+- }
+-
+- // Consume pending message to populate links_online_, but don't notify.
+- ReadMessages(&address_changed, &link_changed, &tunnel_changed);
+- {
+- AddressTrackerAutoLock lock(*this, connection_type_lock_);
+- connection_type_initialized_ = true;
+- connection_type_initialized_cv_.Broadcast();
+- }
+-
+- if (tracking_) {
+- watcher_ = base::FileDescriptorWatcher::WatchReadable(
+- netlink_fd_.get(),
+- base::BindRepeating(&AddressTrackerLinux::OnFileCanReadWithoutBlocking,
+- base::Unretained(this)));
+- }
+ NOTIMPLEMENTED();
+ AbortAndForceOnline();
-+#endif // !OS_FREEBSD
}
bool AddressTrackerLinux::DidTrackingInitSucceedForTesting() const {
-@@ -291,6 +298,7 @@ void AddressTrackerLinux::AbortAndForceOnline() {
+@@ -291,25 +86,6 @@ void AddressTrackerLinux::AbortAndForceOnline() {
connection_type_initialized_cv_.Broadcast();
}
-+#if !defined(OS_BSD)
- AddressTrackerLinux::AddressMap AddressTrackerLinux::GetAddressMap() const {
- AddressTrackerAutoLock lock(*this, address_map_lock_);
- return address_map_;
-@@ -309,6 +317,7 @@ bool AddressTrackerLinux::IsInterfaceIgnored(int inter
- const char* interface_name = get_interface_name_(interface_index, buf);
- return ignored_interfaces_.find(interface_name) != ignored_interfaces_.end();
- }
-+#endif // !OS_BSD
-
+-AddressTrackerLinux::AddressMap AddressTrackerLinux::GetAddressMap() const {
+- AddressTrackerAutoLock lock(*this, address_map_lock_);
+- return address_map_;
+-}
+-
+-std::unordered_set<int> AddressTrackerLinux::GetOnlineLinks() const {
+- AddressTrackerAutoLock lock(*this, online_links_lock_);
+- return online_links_;
+-}
+-
+-bool AddressTrackerLinux::IsInterfaceIgnored(int interface_index) const {
+- if (ignored_interfaces_.empty())
+- return false;
+-
+- char buf[IFNAMSIZ] = {0};
+- const char* interface_name = get_interface_name_(interface_index, buf);
+- return ignored_interfaces_.find(interface_name) != ignored_interfaces_.end();
+-}
+-
NetworkChangeNotifier::ConnectionType
AddressTrackerLinux::GetCurrentConnectionType() {
-@@ -367,6 +376,7 @@ void AddressTrackerLinux::HandleMessage(const char* bu
+ // http://crbug.com/125097
+@@ -367,118 +143,7 @@ void AddressTrackerLinux::HandleMessage(const char* bu
bool* address_changed,
bool* link_changed,
bool* tunnel_changed) {
-+#if !defined(OS_FREEBSD)
- DCHECK(buffer);
- // Note that NLMSG_NEXT decrements |length| to reflect the number of bytes
- // remaining in |buffer|.
-@@ -479,6 +489,9 @@ void AddressTrackerLinux::HandleMessage(const char* bu
- break;
- }
- }
-+#else // !OS_FREEBSD
+- DCHECK(buffer);
+- // Note that NLMSG_NEXT decrements |length| to reflect the number of bytes
+- // remaining in |buffer|.
+- for (const struct nlmsghdr* header =
+- reinterpret_cast<const struct nlmsghdr*>(buffer);
+- length >= 0 && NLMSG_OK(header, static_cast<__u32>(length));
+- header = NLMSG_NEXT(header, length)) {
+- // The |header| pointer should never precede |buffer|.
+- DCHECK_LE(buffer, reinterpret_cast<const char*>(header));
+- switch (header->nlmsg_type) {
+- case NLMSG_DONE:
+- return;
+- case NLMSG_ERROR: {
+- const struct nlmsgerr* msg =
+- SafelyCastNetlinkMsgData<const struct nlmsgerr>(header, length);
+- if (msg == nullptr)
+- return;
+- LOG(ERROR) << "Unexpected netlink error " << msg->error << ".";
+- } return;
+- case RTM_NEWADDR: {
+- IPAddress address;
+- bool really_deprecated;
+- const struct ifaddrmsg* msg =
+- SafelyCastNetlinkMsgData<const struct ifaddrmsg>(header, length);
+- if (msg == nullptr)
+- return;
+- if (IsInterfaceIgnored(msg->ifa_index))
+- break;
+- if (GetAddress(header, length, &address, &really_deprecated)) {
+- struct ifaddrmsg msg_copy = *msg;
+- AddressTrackerAutoLock lock(*this, address_map_lock_);
+- // Routers may frequently (every few seconds) output the IPv6 ULA
+- // prefix which can cause the linux kernel to frequently output two
+- // back-to-back messages, one without the deprecated flag and one with
+- // the deprecated flag but both with preferred lifetimes of 0. Avoid
+- // interpretting this as an actual change by canonicalizing the two
+- // messages by setting the deprecated flag based on the preferred
+- // lifetime also. http://crbug.com/268042
+- if (really_deprecated)
+- msg_copy.ifa_flags |= IFA_F_DEPRECATED;
+- // Only indicate change if the address is new or ifaddrmsg info has
+- // changed.
+- auto it = address_map_.find(address);
+- if (it == address_map_.end()) {
+- address_map_.insert(it, std::make_pair(address, msg_copy));
+- *address_changed = true;
+- } else if (memcmp(&it->second, &msg_copy, sizeof(msg_copy))) {
+- it->second = msg_copy;
+- *address_changed = true;
+- }
+- }
+- } break;
+- case RTM_DELADDR: {
+- IPAddress address;
+- const struct ifaddrmsg* msg =
+- SafelyCastNetlinkMsgData<const struct ifaddrmsg>(header, length);
+- if (msg == nullptr)
+- return;
+- if (IsInterfaceIgnored(msg->ifa_index))
+- break;
+- if (GetAddress(header, length, &address, nullptr)) {
+- AddressTrackerAutoLock lock(*this, address_map_lock_);
+- if (address_map_.erase(address))
+- *address_changed = true;
+- }
+- } break;
+- case RTM_NEWLINK: {
+- const struct ifinfomsg* msg =
+- SafelyCastNetlinkMsgData<const struct ifinfomsg>(header, length);
+- if (msg == nullptr)
+- return;
+- if (IsInterfaceIgnored(msg->ifi_index))
+- break;
+- if (IgnoreWirelessChange(msg, IFLA_PAYLOAD(header))) {
+- VLOG(2) << "Ignoring RTM_NEWLINK message";
+- break;
+- }
+- if (!(msg->ifi_flags & IFF_LOOPBACK) && (msg->ifi_flags & IFF_UP) &&
+- (msg->ifi_flags & IFF_LOWER_UP) && (msg->ifi_flags & IFF_RUNNING)) {
+- AddressTrackerAutoLock lock(*this, online_links_lock_);
+- if (online_links_.insert(msg->ifi_index).second) {
+- *link_changed = true;
+- if (IsTunnelInterface(msg->ifi_index))
+- *tunnel_changed = true;
+- }
+- } else {
+- AddressTrackerAutoLock lock(*this, online_links_lock_);
+- if (online_links_.erase(msg->ifi_index)) {
+- *link_changed = true;
+- if (IsTunnelInterface(msg->ifi_index))
+- *tunnel_changed = true;
+- }
+- }
+- } break;
+- case RTM_DELLINK: {
+- const struct ifinfomsg* msg =
+- SafelyCastNetlinkMsgData<const struct ifinfomsg>(header, length);
+- if (msg == nullptr)
+- return;
+- if (IsInterfaceIgnored(msg->ifi_index))
+- break;
+- AddressTrackerAutoLock lock(*this, online_links_lock_);
+- if (online_links_.erase(msg->ifi_index)) {
+- *link_changed = true;
+- if (IsTunnelInterface(msg->ifi_index))
+- *tunnel_changed = true;
+- }
+- } break;
+- default:
+- break;
+- }
+- }
+ NOTIMPLEMENTED();
-+#endif // !OS_FREEBSD
}
void AddressTrackerLinux::OnFileCanReadWithoutBlocking() {
-@@ -506,6 +519,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const
+@@ -506,31 +171,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const
}
void AddressTrackerLinux::UpdateCurrentConnectionType() {
-+#if !defined(OS_FREEBSD)
- AddressTrackerLinux::AddressMap address_map = GetAddressMap();
- std::unordered_set<int> online_links = GetOnlineLinks();
-
-@@ -531,6 +545,9 @@ void AddressTrackerLinux::UpdateCurrentConnectionType(
-
- AddressTrackerAutoLock lock(*this, connection_type_lock_);
- current_connection_type_ = type;
-+#else
+- AddressTrackerLinux::AddressMap address_map = GetAddressMap();
+- std::unordered_set<int> online_links = GetOnlineLinks();
+-
+- // Strip out tunnel interfaces from online_links
+- for (auto it = online_links.cbegin(); it != online_links.cend();) {
+- if (IsTunnelInterface(*it)) {
+- it = online_links.erase(it);
+- } else {
+- ++it;
+- }
+- }
+-
+- NetworkInterfaceList networks;
+- NetworkChangeNotifier::ConnectionType type =
+- NetworkChangeNotifier::CONNECTION_NONE;
+- if (GetNetworkListImpl(&networks, 0, online_links, address_map,
+- get_interface_name_)) {
+- type = NetworkChangeNotifier::ConnectionTypeFromInterfaceList(networks);
+- } else {
+- type = online_links.empty() ? NetworkChangeNotifier::CONNECTION_NONE
+- : NetworkChangeNotifier::CONNECTION_UNKNOWN;
+- }
+-
+- AddressTrackerAutoLock lock(*this, connection_type_lock_);
+- current_connection_type_ = type;
+ NOTIMPLEMENTED();
-+#endif
}
int AddressTrackerLinux::GetThreadsWaitingForConnectionTypeInitForTesting() {
diff --git a/www/chromium/files/patch-net_base_address__tracker__linux__unittest.cc b/www/chromium/files/patch-net_base_address__tracker__linux__unittest.cc
deleted file mode 100644
index a90f63f3db2a..000000000000
--- a/www/chromium/files/patch-net_base_address__tracker__linux__unittest.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- net/base/address_tracker_linux_unittest.cc.orig 2021-09-24 04:26:08 UTC
-+++ net/base/address_tracker_linux_unittest.cc
-@@ -4,7 +4,11 @@
-
- #include "net/base/address_tracker_linux.h"
-
-+#if defined(OS_LINUX)
- #include <linux/if.h>
-+#else
-+#include <net/if.h>
-+#endif
- #include <sched.h>
-
- #include <memory>
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 53ea3374cf14..116322ec7085 100644
--- a/www/chromium/files/patch-net_base_network__change__notifier.cc
+++ b/www/chromium/files/patch-net_base_network__change__notifier.cc
@@ -1,4 +1,4 @@
---- net/base/network_change_notifier.cc.orig 2021-12-14 11:45:08 UTC
+--- net/base/network_change_notifier.cc.orig 2022-02-07 13:39:41 UTC
+++ net/base/network_change_notifier.cc
@@ -38,7 +38,7 @@
#include "net/base/network_change_notifier_linux.h"
@@ -9,31 +9,18 @@
#include "net/base/network_change_notifier_posix.h"
#elif defined(OS_FUCHSIA)
#include "net/base/network_change_notifier_fuchsia.h"
-@@ -314,6 +314,9 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
- #elif defined(OS_FUCHSIA)
- return std::make_unique<NetworkChangeNotifierFuchsia>(
- /*require_wlan=*/false);
-+#elif defined(OS_BSD)
-+ return std::make_unique<MockNetworkChangeNotifier>(
-+ /*dns_config_notifier*/nullptr);
- #else
- NOTIMPLEMENTED();
- return NULL;
-@@ -497,7 +500,7 @@ const char* NetworkChangeNotifier::ConnectionTypeToStr
- return kConnectionTypeNames[type];
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // static
- const internal::AddressTrackerLinux*
- NetworkChangeNotifier::GetAddressTracker() {
-@@ -805,7 +808,7 @@ NetworkChangeNotifier::NetworkChangeNotifier(
- }
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const internal::AddressTrackerLinux*
- NetworkChangeNotifier::GetAddressTrackerInternal() const {
- return NULL;
+@@ -303,9 +303,13 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
+ // service in a separate process.
+ return std::make_unique<NetworkChangeNotifierPosix>(initial_type,
+ initial_subtype);
+-#elif BUILDFLAG(IS_CHROMEOS_ASH)
++#elif BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
++#if !defined(OS_BSD)
+ return std::make_unique<NetworkChangeNotifierPosix>(initial_type,
+ initial_subtype);
++#else
++ return NULL;
++#endif
+ #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ return std::make_unique<NetworkChangeNotifierLinux>(
+ std::unordered_set<std::string>());
diff --git a/www/chromium/files/patch-net_base_network__change__notifier.h b/www/chromium/files/patch-net_base_network__change__notifier.h
deleted file mode 100644
index 716388fa670b..000000000000
--- a/www/chromium/files/patch-net_base_network__change__notifier.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- net/base/network_change_notifier.h.orig 2021-12-14 11:45:08 UTC
-+++ net/base/network_change_notifier.h
-@@ -416,7 +416,7 @@ class NET_EXPORT NetworkChangeNotifier {
- // Chrome net code.
- static SystemDnsConfigChangeNotifier* GetSystemDnsConfigNotifier();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Returns the AddressTrackerLinux if present.
- static const internal::AddressTrackerLinux* GetAddressTracker();
- #endif
-@@ -573,7 +573,7 @@ class NET_EXPORT NetworkChangeNotifier {
- SystemDnsConfigChangeNotifier* system_dns_config_notifier = nullptr,
- bool omit_observers_in_constructor_for_testing = false);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Returns the AddressTrackerLinux if present.
- // TODO(szym): Retrieve AddressMap from NetworkState. http://crbug.com/144212
- virtual const internal::AddressTrackerLinux*
diff --git a/www/chromium/files/patch-net_base_network__interfaces__posix.cc b/www/chromium/files/patch-net_base_network__interfaces__posix.cc
deleted file mode 100644
index 33279e1137c7..000000000000
--- a/www/chromium/files/patch-net_base_network__interfaces__posix.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- net/base/network_interfaces_posix.cc.orig 2021-04-14 18:41:06 UTC
-+++ net/base/network_interfaces_posix.cc
-@@ -4,8 +4,14 @@
-
- #include "net/base/network_interfaces_posix.h"
-
-+#include "build/build_config.h"
-+
- #include <netinet/in.h>
- #include <sys/types.h>
-+
-+#if defined(OS_BSD)
-+#include <sys/socket.h>
-+#endif
-
- #include <memory>
- #include <set>
diff --git a/www/chromium/files/patch-net_base_network__interfaces__posix.h b/www/chromium/files/patch-net_base_network__interfaces__posix.h
new file mode 100644
index 000000000000..cb3379e3ba8d
--- /dev/null
+++ b/www/chromium/files/patch-net_base_network__interfaces__posix.h
@@ -0,0 +1,11 @@
+--- net/base/network_interfaces_posix.h.orig 2022-02-07 13:39:41 UTC
++++ net/base/network_interfaces_posix.h
+@@ -8,6 +8,8 @@
+ // This file provides some basic functionality shared between
+ // network_interfaces_linux.cc and network_interfaces_getifaddrs.cc.
+
++#include <sys/socket.h>
++
+ #include <string>
+
+ struct sockaddr;
diff --git a/www/chromium/files/patch-net_cert_cert__verify__proc.h b/www/chromium/files/patch-net_cert_cert__verify__proc.h
index 7b4182435d7e..932fa0cf1327 100644
--- a/www/chromium/files/patch-net_cert_cert__verify__proc.h
+++ b/www/chromium/files/patch-net_cert_cert__verify__proc.h
@@ -1,6 +1,6 @@
---- net/cert/cert_verify_proc.h.orig 2021-04-14 18:41:06 UTC
+--- net/cert/cert_verify_proc.h.orig 2022-02-07 13:39:41 UTC
+++ net/cert/cert_verify_proc.h
-@@ -66,7 +66,7 @@ class NET_EXPORT CertVerifyProc
+@@ -65,7 +65,7 @@ class NET_EXPORT CertVerifyProc
kMaxValue = kChainLengthOne
};
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
new file mode 100644
index 000000000000..8290fcc26da0
--- /dev/null
+++ b/www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc
@@ -0,0 +1,20 @@
+--- net/disk_cache/simple/simple_file_tracker.cc.orig 2022-02-07 13:39:41 UTC
++++ net/disk_cache/simple/simple_file_tracker.cc
+@@ -28,7 +28,17 @@ void RecordFileDescripterLimiterOp(FileDescriptorLimit
+ } // namespace
+
+ SimpleFileTracker::SimpleFileTracker(int file_limit)
++#if defined(OS_OPENBSD)
++{
++ // cap the file descriptor limit at 85% of the size of the
++ // file descriptor table and also substract the amount of
++ // currently used file descriptors as this should give us
++ // enough reserve to avoid hitting the limit
++ file_limit_ = (getdtablesize() * 0.85) - getdtablecount();
++}
++#else
+ : file_limit_(file_limit) {}
++#endif
+
+ SimpleFileTracker::~SimpleFileTracker() {
+ DCHECK(lru_.empty());
diff --git a/www/chromium/files/patch-net_dns_BUILD.gn b/www/chromium/files/patch-net_dns_BUILD.gn
index b2fb8ade0880..05edcc259af7 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 2021-12-14 11:45:09 UTC
+--- net/dns/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ net/dns/BUILD.gn
-@@ -111,7 +111,7 @@ source_set("dns") {
+@@ -112,7 +112,7 @@ source_set("dns") {
"dns_config_service_android.cc",
"dns_config_service_android.h",
]
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 cd5db5eb37d6..dda04a22f4b5 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,8 @@
---- net/dns/address_sorter_posix.cc.orig 2021-12-14 11:45:09 UTC
+--- net/dns/address_sorter_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ net/dns/address_sorter_posix.cc
-@@ -15,7 +15,9 @@
- #include <sys/socket.h> // Must be included before ifaddrs.h.
+@@ -17,6 +17,7 @@
#include <ifaddrs.h>
#include <net/if.h>
-+#include <net/if_var.h>
#include <netinet/in_var.h>
+#include <netinet6/in6_var.h>
#include <string.h>
diff --git a/www/chromium/files/patch-net_dns_dns__config__service__posix__unittest.cc b/www/chromium/files/patch-net_dns_dns__config__service__posix__unittest.cc
deleted file mode 100644
index 25521b7f33f0..000000000000
--- a/www/chromium/files/patch-net_dns_dns__config__service__posix__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/dns/dns_config_service_posix_unittest.cc.orig 2021-04-14 18:41:07 UTC
-+++ net/dns/dns_config_service_posix_unittest.cc
-@@ -2,8 +2,6 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
--#include <resolv.h>
--
- #include <memory>
-
- #include "base/cancelable_callback.h"
diff --git a/www/chromium/files/patch-net_dns_dns__reloader.cc b/www/chromium/files/patch-net_dns_dns__reloader.cc
index ce47cdfd1e30..be7806b364b5 100644
--- a/www/chromium/files/patch-net_dns_dns__reloader.cc
+++ b/www/chromium/files/patch-net_dns_dns__reloader.cc
@@ -1,13 +1,18 @@
---- net/dns/dns_reloader.cc.orig 2021-04-14 18:41:07 UTC
+--- net/dns/dns_reloader.cc.orig 2022-02-07 13:39:41 UTC
+++ net/dns/dns_reloader.cc
-@@ -7,6 +7,10 @@
- #if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \
+@@ -4,7 +4,7 @@
+
+ #include "net/dns/dns_reloader.h"
+
+-#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \
++#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) && \
!defined(OS_ANDROID) && !defined(OS_FUCHSIA)
-+#if defined(OS_FREEBSD)
-+#include <netinet/in.h>
-+#endif
-+
#include <resolv.h>
+@@ -111,5 +111,5 @@ void DnsReloaderMaybeReload() {
+
+ } // namespace net
- #include "base/lazy_instance.h"
+-#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) &&
++#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) &&
+ // !defined(OS_ANDROID)
diff --git a/www/chromium/files/patch-net_dns_dns__reloader.h b/www/chromium/files/patch-net_dns_dns__reloader.h
new file mode 100644
index 000000000000..e2a65cda4995
--- /dev/null
+++ b/www/chromium/files/patch-net_dns_dns__reloader.h
@@ -0,0 +1,11 @@
+--- net/dns/dns_reloader.h.orig 2022-02-07 13:39:41 UTC
++++ net/dns/dns_reloader.h
+@@ -7,7 +7,7 @@
+
+ #include "build/build_config.h"
+
+-#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD)
++#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD)
+ namespace net {
+
+ // Call on the network thread before calling DnsReloaderMaybeReload() anywhere.
diff --git a/www/chromium/files/patch-net_dns_host__resolver__manager.cc b/www/chromium/files/patch-net_dns_host__resolver__manager.cc
new file mode 100644
index 000000000000..767c44ba8a9e
--- /dev/null
+++ b/www/chromium/files/patch-net_dns_host__resolver__manager.cc
@@ -0,0 +1,11 @@
+--- net/dns/host_resolver_manager.cc.orig 2022-02-07 13:39:41 UTC
++++ net/dns/host_resolver_manager.cc
+@@ -2932,7 +2932,7 @@ HostResolverManager::HostResolverManager(
+ NetworkChangeNotifier::AddConnectionTypeObserver(this);
+ if (system_dns_config_notifier_)
+ system_dns_config_notifier_->AddObserver(this);
+-#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \
++#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) && \
+ !defined(OS_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 7bf478f16824..aadadf29fbdf 100644
--- a/www/chromium/files/patch-net_dns_host__resolver__proc.cc
+++ b/www/chromium/files/patch-net_dns_host__resolver__proc.cc
@@ -1,11 +1,22 @@
---- net/dns/host_resolver_proc.cc.orig 2021-04-14 18:41:07 UTC
+--- net/dns/host_resolver_proc.cc.orig 2022-02-07 13:39:41 UTC
+++ net/dns/host_resolver_proc.cc
-@@ -176,7 +176,7 @@ int SystemHostResolverCall(const std::string& host,
- base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
+@@ -19,10 +19,6 @@
+ #include "net/dns/dns_util.h"
+ #include "net/dns/host_resolver.h"
+
+-#if defined(OS_OPENBSD)
+-#define AI_ADDRCONFIG 0
+-#endif
+-
+ namespace net {
+
+ HostResolverProc* HostResolverProc::default_proc_ = nullptr;
+@@ -177,7 +173,7 @@ int SystemHostResolverCall(const std::string& host,
base::BlockingType::WILL_BLOCK);
--#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \
-+#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) && \
- !defined(OS_ANDROID) && !defined(OS_FUCHSIA)
+ #if defined(OS_POSIX) && \
+- !(defined(OS_APPLE) || defined(OS_OPENBSD) || defined(OS_ANDROID))
++ !(defined(OS_APPLE) || defined(OS_BSD) || defined(OS_ANDROID))
DnsReloaderMaybeReload();
#endif
+ absl::optional<AddressInfo> ai;
diff --git a/www/chromium/files/patch-net_dns_public_resolv__reader.h b/www/chromium/files/patch-net_dns_public_resolv__reader.h
index e790b41fac7b..ece1efb2cb55 100644
--- a/www/chromium/files/patch-net_dns_public_resolv__reader.h
+++ b/www/chromium/files/patch-net_dns_public_resolv__reader.h
@@ -1,10 +1,9 @@
---- net/dns/public/resolv_reader.h.orig 2022-01-24 13:28:40 UTC
+--- net/dns/public/resolv_reader.h.orig 2022-02-07 13:39:41 UTC
+++ net/dns/public/resolv_reader.h
-@@ -5,6 +5,7 @@
- #ifndef NET_DNS_PUBLIC_RESOLV_READER_H_
- #define NET_DNS_PUBLIC_RESOLV_READER_H_
+@@ -34,4 +34,4 @@ NET_EXPORT absl::optional<std::vector<IPEndPoint>> Get
-+#include <netinet/in.h>
- #include <resolv.h>
+ } // namespace net
- #include <memory>
+-#endif // NET_DNS_PUBLIC_RESOLV_READER_H_
+\ No newline at end of file
++#endif // NET_DNS_PUBLIC_RESOLV_READER_H_
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 075238257a0a..94221c705ee7 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,12 +1,12 @@
---- net/http/http_auth_gssapi_posix.h.orig 2021-04-14 18:41:07 UTC
+--- net/http/http_auth_gssapi_posix.h.orig 2022-02-07 13:39:41 UTC
+++ net/http/http_auth_gssapi_posix.h
-@@ -21,6 +21,9 @@
+@@ -20,6 +20,9 @@
+ #if defined(OS_APPLE)
#include <GSS/gssapi.h>
#elif defined(OS_FREEBSD)
- #include <gssapi/gssapi.h>
+#ifndef GSS_C_DELEG_POLICY_FLAG
+#define GSS_C_DELEG_POLICY_FLAG 32768
+#endif
+ #include <gssapi/gssapi.h>
#else
#include <gssapi.h>
- #endif
diff --git a/www/chromium/files/patch-net_http_http__network__session.cc b/www/chromium/files/patch-net_http_http__network__session.cc
new file mode 100644
index 000000000000..403b740b2954
--- /dev/null
+++ b/www/chromium/files/patch-net_http_http__network__session.cc
@@ -0,0 +1,12 @@
+--- net/http/http_network_session.cc.orig 2022-02-07 13:39:41 UTC
++++ net/http/http_network_session.cc
+@@ -20,7 +20,9 @@
+ #include "build/build_config.h"
+ #include "net/base/features.h"
+ #include "net/dns/host_resolver.h"
++#if defined(USE_KERBEROS)
+ #include "net/http/http_auth_handler_factory.h"
++#endif
+ #include "net/http/http_response_body_drainer.h"
+ #include "net/http/http_stream_factory.h"
+ #include "net/http/url_security_manager.h"
diff --git a/www/chromium/files/patch-net_nqe_network__quality__estimator__unittest.cc b/www/chromium/files/patch-net_nqe_network__quality__estimator__unittest.cc
deleted file mode 100644
index 173ed00eac3d..000000000000
--- a/www/chromium/files/patch-net_nqe_network__quality__estimator__unittest.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- net/nqe/network_quality_estimator_unittest.cc.orig 2021-12-31 00:57:37 UTC
-+++ net/nqe/network_quality_estimator_unittest.cc
-@@ -2004,9 +2004,9 @@ TEST_F(NetworkQualityEstimatorTest, TestGlobalSocketWa
- // ChromeOS is disabled due to crbug.com/986904
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if (defined(TCP_INFO) || \
-- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
-- defined(OS_ANDROID)) && \
-+#if (defined(TCP_INFO) || \
-+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
-+ defined(OS_ANDROID)) && \
- !defined(OS_CHROMEOS)
- #define MAYBE_TestTCPSocketRTT TestTCPSocketRTT
- #else
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
index 222b490cc798..2834beea3489 100644
--- 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
@@ -1,6 +1,6 @@
---- net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2021-12-14 11:45:09 UTC
+--- net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2022-02-07 13:39:41 UTC
+++ net/proxy_resolution/configured_proxy_resolution_service.cc
-@@ -51,7 +51,7 @@
+@@ -52,7 +52,7 @@
#elif defined(OS_MAC)
#include "net/proxy_resolution/proxy_config_service_mac.h"
#include "net/proxy_resolution/proxy_resolver_mac.h"
@@ -9,7 +9,7 @@
#include "net/proxy_resolution/proxy_config_service_linux.h"
#elif defined(OS_ANDROID)
#include "net/proxy_resolution/proxy_config_service_android.h"
-@@ -63,7 +63,7 @@ namespace net {
+@@ -64,7 +64,7 @@ namespace net {
namespace {
@@ -18,7 +18,7 @@
constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation =
net::DefineNetworkTrafficAnnotation("proxy_config_system", R"(
semantics {
-@@ -1421,7 +1421,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon
+@@ -1422,7 +1422,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon
<< "profile_io_data.cc::CreateProxyConfigService and this should "
<< "be used only for examples.";
return std::make_unique<UnsetProxyConfigService>();
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 aa5560e576ee..6d6781a7bba3 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,4 +1,4 @@
---- net/proxy_resolution/proxy_config_service_linux.cc.orig 2021-12-14 11:45:09 UTC
+--- net/proxy_resolution/proxy_config_service_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ net/proxy_resolution/proxy_config_service_linux.cc
@@ -6,7 +6,9 @@
@@ -10,7 +10,7 @@
#include <unistd.h>
#include <map>
-@@ -507,6 +509,7 @@ bool SettingGetterImplGSettings::CheckVersion(
+@@ -506,6 +508,7 @@ bool SettingGetterImplGSettings::CheckVersion(
}
#endif // defined(USE_GIO)
@@ -18,7 +18,7 @@
// 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) {
-@@ -1008,6 +1011,7 @@ class SettingGetterImplKDE : public ProxyConfigService
+@@ -1007,6 +1010,7 @@ class SettingGetterImplKDE : public ProxyConfigService
// events on.
scoped_refptr<base::SequencedTaskRunner> file_task_runner_;
};
@@ -26,7 +26,7 @@
} // namespace
-@@ -1223,9 +1227,11 @@ ProxyConfigServiceLinux::Delegate::Delegate(
+@@ -1222,9 +1226,11 @@ ProxyConfigServiceLinux::Delegate::Delegate(
case base::nix::DESKTOP_ENVIRONMENT_KDE3:
case base::nix::DESKTOP_ENVIRONMENT_KDE4:
case base::nix::DESKTOP_ENVIRONMENT_KDE5:
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 d2c0cc92a099..000000000000
--- a/www/chromium/files/patch-net_socket_socket__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/socket/socket_posix.cc.orig 2021-05-12 22:05:57 UTC
-+++ net/socket/socket_posix.cc
-@@ -519,7 +519,7 @@ void SocketPosix::ReadCompleted() {
- }
-
- int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_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 60dbdad90655..e0540ad7d701 100644
--- a/www/chromium/files/patch-net_socket_socks5__client__socket.cc
+++ b/www/chromium/files/patch-net_socket_socks5__client__socket.cc
@@ -1,13 +1,12 @@
---- net/socket/socks5_client_socket.cc.orig 2021-04-14 18:41:07 UTC
+--- net/socket/socks5_client_socket.cc.orig 2022-02-07 13:39:41 UTC
+++ net/socket/socks5_client_socket.cc
-@@ -4,6 +4,10 @@
+@@ -20,6 +20,9 @@
+ #include "net/log/net_log_event_type.h"
+ #include "net/traffic_annotation/network_traffic_annotation.h"
- #include "net/socket/socks5_client_socket.h"
-
-+#if defined(OS_BSD)
++#include <sys/types.h>
+#include <netinet/in.h>
-+#endif
+
- #include <utility>
+ namespace net {
- #include "base/bind.h"
+ const unsigned int SOCKS5ClientSocket::kGreetReadHeaderSize = 2;
diff --git a/www/chromium/files/patch-net_socket_tcp__socket__posix.cc b/www/chromium/files/patch-net_socket_tcp__socket__posix.cc
deleted file mode 100644
index 619ba508bae1..000000000000
--- a/www/chromium/files/patch-net_socket_tcp__socket__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- net/socket/tcp_socket_posix.cc.orig 2021-05-12 22:05:57 UTC
-+++ net/socket/tcp_socket_posix.cc
-@@ -90,6 +90,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) {
- PLOG(ERROR) << "Failed to set TCP_KEEPALIVE on fd: " << fd;
- return false;
- }
-+#elif defined(OS_BSD)
-+ // Set seconds until first TCP keep alive.
-+ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &delay, sizeof(delay))) {
-+ PLOG(ERROR) << "Failed to set TCP_KEEPIDLE on fd: " << fd;
-+ return false;
-+ }
-+ // Set seconds between TCP keep alives.
-+ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &delay, sizeof(delay))) {
-+ PLOG(ERROR) << "Failed to set TCP_KEEPINTVL on fd: " << fd;
-+ return false;
-+ }
- #endif
- return true;
- }
diff --git a/www/chromium/files/patch-net_socket_udp__socket__posix.cc b/www/chromium/files/patch-net_socket_udp__socket__posix.cc
index 735676bdf70e..f70c756fa1c6 100644
--- a/www/chromium/files/patch-net_socket_udp__socket__posix.cc
+++ b/www/chromium/files/patch-net_socket_udp__socket__posix.cc
@@ -1,39 +1,6 @@
---- net/socket/udp_socket_posix.cc.orig 2021-12-14 11:45:09 UTC
+--- net/socket/udp_socket_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ net/socket/udp_socket_posix.cc
-@@ -75,6 +75,32 @@ const int kActivityMonitorBytesThreshold = 65535;
- const int kActivityMonitorMinimumSamplesForThroughputEstimate = 2;
- const base::TimeDelta kActivityMonitorMsThreshold = base::Milliseconds(100);
-
-+#if defined(OS_BSD)
-+int GetIPv4AddressFromIndex(int socket, uint32_t index, uint32_t* address) {
-+ if (!index) {
-+ *address = htonl(INADDR_ANY);
-+ return OK;
-+ }
-+
-+ sockaddr_in* result = nullptr;
-+
-+ ifreq ifr;
-+ ifr.ifr_addr.sa_family = AF_INET;
-+ if (!if_indextoname(index, ifr.ifr_name))
-+ return MapSystemError(errno);
-+ int rv = ioctl(socket, SIOCGIFADDR, &ifr);
-+ if (rv == -1)
-+ return MapSystemError(errno);
-+ result = reinterpret_cast<sockaddr_in*>(&ifr.ifr_addr);
-+
-+ if (!result)
-+ return ERR_ADDRESS_INVALID;
-+
-+ *address = result->sin_addr.s_addr;
-+ return OK;
-+}
-+#endif
-+
- #if defined(OS_MAC)
-
- // On OSX the file descriptor is guarded to detect the cause of
-@@ -625,13 +651,13 @@ int UDPSocketPosix::SetDoNotFragment() {
+@@ -636,7 +636,7 @@ int UDPSocketPosix::SetDoNotFragment() {
}
void UDPSocketPosix::SetMsgConfirm(bool confirm) {
@@ -42,41 +9,3 @@
if (confirm) {
sendto_flags_ |= MSG_CONFIRM;
} else {
- sendto_flags_ &= ~MSG_CONFIRM;
- }
--#endif // !defined(OS_APPLE)
-+#endif // !defined(OS_APPLE) && !defined(OS_BSD)
- }
-
- int UDPSocketPosix::AllowAddressReuse() {
-@@ -926,7 +952,11 @@ int UDPSocketPosix::SetMulticastOptions() {
- mreq.imr_ifindex = multicast_interface_;
- mreq.imr_address.s_addr = htonl(INADDR_ANY);
- int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF,
-+#if defined(OS_BSD)
-+ reinterpret_cast<const char*>(&mreq.imr_address.s_addr), sizeof(mreq.imr_address.s_addr));
-+#else
- reinterpret_cast<const char*>(&mreq), sizeof(mreq));
-+#endif
- if (rv)
- return MapSystemError(errno);
- break;
-@@ -1027,9 +1057,18 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_
- case IPAddress::kIPv4AddressSize: {
- if (addr_family_ != AF_INET)
- return ERR_ADDRESS_INVALID;
-+#if defined(OS_BSD)
-+ ip_mreq mreq = {};
-+ int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
-+ &mreq.imr_interface.s_addr);
-+
-+ if (error != OK)
-+ return error;
-+#else
- ip_mreqn mreq = {};
- mreq.imr_ifindex = multicast_interface_;
- mreq.imr_address.s_addr = INADDR_ANY;
-+#endif
- memcpy(&mreq.imr_multiaddr, group_address.bytes().data(),
- IPAddress::kIPv4AddressSize);
- int rv = setsockopt(socket_, IPPROTO_IP, IP_DROP_MEMBERSHIP,
diff --git a/www/chromium/files/patch-net_socket_udp__socket__posix.h b/www/chromium/files/patch-net_socket_udp__socket__posix.h
deleted file mode 100644
index 68c6e5635a0e..000000000000
--- a/www/chromium/files/patch-net_socket_udp__socket__posix.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/socket/udp_socket_posix.h.orig 2021-04-14 18:41:07 UTC
-+++ net/socket/udp_socket_posix.h
-@@ -35,7 +35,7 @@
-
- #if defined(__ANDROID__) && defined(__aarch64__)
- #define HAVE_SENDMMSG 1
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #define HAVE_SENDMMSG 1
- #else
- #define HAVE_SENDMMSG 0
diff --git a/www/chromium/files/patch-net_socket_unix__domain__client__socket__posix.cc b/www/chromium/files/patch-net_socket_unix__domain__client__socket__posix.cc
deleted file mode 100644
index f9e8bfc74e6c..000000000000
--- a/www/chromium/files/patch-net_socket_unix__domain__client__socket__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/socket/unix_domain_client_socket_posix.cc.orig 2021-12-14 11:45:09 UTC
-+++ net/socket/unix_domain_client_socket_posix.cc
-@@ -60,7 +60,7 @@ bool UnixDomainClientSocket::FillAddress(const std::st
- return true;
- }
-
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Convert the path given into abstract socket name. It must start with
- // the '\0' character, so we are adding it. |addr_len| must specify the
- // length of the structure exactly, as potentially the socket name may
diff --git a/www/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 011c5de12923..40e80dc7b753 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,6 +1,6 @@
---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2021-12-14 11:45:09 UTC
+--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2022-02-07 13:39:41 UTC
+++ net/tools/cert_verify_tool/cert_verify_tool.cc
-@@ -29,7 +29,7 @@
+@@ -30,7 +30,7 @@
#include "net/url_request/url_request_context_builder.h"
#include "net/url_request/url_request_context_getter.h"
@@ -9,7 +9,7 @@
#include "net/proxy_resolution/proxy_config.h"
#include "net/proxy_resolution/proxy_config_service_fixed.h"
#endif
-@@ -55,7 +55,7 @@ void SetUpOnNetworkThread(
+@@ -56,7 +56,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,21 @@
// On Linux, use a fixed ProxyConfigService, since the default one
// depends on glib.
//
-@@ -205,7 +205,7 @@ std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFr
+@@ -206,7 +206,7 @@ std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFr
base::StringPiece impl_name,
scoped_refptr<net::CertNetFetcher> cert_net_fetcher,
RootStoreType root_store_type) {
-#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
++#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) || defined(OS_BSD)
if (impl_name == "platform") {
if (root_store_type != RootStoreType::kSystem) {
std::cerr << "WARNING: platform verifier not supported with "
-@@ -432,7 +432,7 @@ int main(int argc, char** argv) {
+@@ -463,7 +463,7 @@ int main(int argc, char** argv) {
std::string impls_str = command_line.GetSwitchValueASCII("impls");
if (impls_str.empty()) {
// Default value.
-#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
++#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) || defined(OS_BSD)
impls_str = "platform,";
#endif
impls_str += "builtin,pathbuilder";
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
deleted file mode 100644
index 362048087311..000000000000
--- a/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- net/traffic_annotation/network_traffic_annotation.h.orig 2021-12-14 11:45:09 UTC
-+++ net/traffic_annotation/network_traffic_annotation.h
-@@ -371,7 +371,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
- } // namespace net
-
- // Placeholder for unannotated usages.
--#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- #define TRAFFIC_ANNOTATION_WITHOUT_PROTO(ANNOTATION_ID) \
- net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.")
- #endif
-@@ -384,7 +384,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
- // TRAFFIC_ANNOTATION_FOR_TESTS.
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
-
- #define NO_TRAFFIC_ANNOTATION_YET \
- net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.")
diff --git a/www/chromium/files/patch-net_url__request_url__fetcher.h b/www/chromium/files/patch-net_url__request_url__fetcher.h
index 984c53f3063c..b39912634bcd 100644
--- a/www/chromium/files/patch-net_url__request_url__fetcher.h
+++ b/www/chromium/files/patch-net_url__request_url__fetcher.h
@@ -1,12 +1,10 @@
---- net/url_request/url_fetcher.h.orig 2021-09-14 01:52:00 UTC
+--- net/url_request/url_fetcher.h.orig 2022-02-07 13:39:41 UTC
+++ net/url_request/url_fetcher.h
-@@ -353,8 +353,8 @@ class NET_EXPORT URLFetcher {
- // annotations on Linux & Windows.
+@@ -354,7 +354,7 @@ class NET_EXPORT URLFetcher {
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
--#if (!defined(OS_WIN) && \
+ #if (!defined(OS_WIN) && \
- !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))) || \
-+#if (!defined(OS_WIN) && \
+ !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))) || \
defined(OS_CHROMEOS)
// |url| is the URL to send the request to. It must be valid.
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 091d7fd1a2e4..5d1f63812ff3 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,6 +1,6 @@
---- net/url_request/url_request_context_builder.cc.orig 2021-12-14 11:45:09 UTC
+--- net/url_request/url_request_context_builder.cc.orig 2022-02-07 13:39:41 UTC
+++ net/url_request/url_request_context_builder.cc
-@@ -425,7 +425,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
+@@ -424,7 +424,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
}
if (!proxy_resolution_service_) {
@@ -9,12 +9,3 @@
// TODO(willchan): Switch to using this code when
// ConfiguredProxyResolutionService::CreateSystemProxyConfigService()'s
// signature doesn't suck.
-@@ -434,7 +434,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
- ConfiguredProxyResolutionService::CreateSystemProxyConfigService(
- base::ThreadTaskRunnerHandle::Get().get());
- }
--#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
-+#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_BSD)
- proxy_resolution_service_ = CreateProxyResolutionService(
- std::move(proxy_config_service_), context.get(),
- context->host_resolver(), context->network_delegate(),
diff --git a/www/chromium/files/patch-pdf_font__table__linux.cc b/www/chromium/files/patch-pdf_font__table__linux.cc
index 7092421e28b7..38ab54e5a3fd 100644
--- a/www/chromium/files/patch-pdf_font__table__linux.cc
+++ b/www/chromium/files/patch-pdf_font__table__linux.cc
@@ -1,10 +1,10 @@
---- pdf/font_table_linux.cc.orig 2021-09-28 13:14:28 UTC
+--- pdf/font_table_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ pdf/font_table_linux.cc
-@@ -4,6 +4,7 @@
-
+@@ -5,6 +5,7 @@
#include "pdf/font_table_linux.h"
-+#include <unistd.h>
#include <sys/stat.h>
++#include <unistd.h>
+ #include <algorithm>
#include <limits>
diff --git a/www/chromium/files/patch-pdf_out__of__process__instance.cc b/www/chromium/files/patch-pdf_out__of__process__instance.cc
index 55fa41a71dd6..08fa2bec1016 100644
--- a/www/chromium/files/patch-pdf_out__of__process__instance.cc
+++ b/www/chromium/files/patch-pdf_out__of__process__instance.cc
@@ -1,4 +1,4 @@
---- pdf/out_of_process_instance.cc.orig 2021-12-31 00:57:37 UTC
+--- pdf/out_of_process_instance.cc.orig 2022-02-07 13:39:41 UTC
+++ pdf/out_of_process_instance.cc
@@ -75,7 +75,7 @@
#include "ui/gfx/geometry/size.h"
@@ -9,7 +9,7 @@
#include "pdf/ppapi_migration/pdfium_font_linux.h"
#endif
-@@ -749,7 +749,7 @@ void OutOfProcessInstance::RotateCounterclockwise() {
+@@ -735,7 +735,7 @@ void OutOfProcessInstance::RotateCounterclockwise() {
}
void OutOfProcessInstance::SetLastPluginInstance() {
diff --git a/www/chromium/files/patch-ppapi_proxy_file__io__resource.cc b/www/chromium/files/patch-ppapi_proxy_file__io__resource.cc
deleted file mode 100644
index 440e8acdfad4..000000000000
--- a/www/chromium/files/patch-ppapi_proxy_file__io__resource.cc
+++ /dev/null
@@ -1,48 +0,0 @@
---- ppapi/proxy/file_io_resource.cc.orig 2021-12-14 11:45:09 UTC
-+++ ppapi/proxy/file_io_resource.cc
-@@ -282,17 +282,19 @@ int32_t FileIOResource::Write(int64_t offset,
-
- if (check_quota_) {
- int64_t increase = 0;
-- uint64_t max_offset = 0;
-+ // (rene) avoid name collission with /usr/include/vm/vm_map.h on FreeBSD
-+ // which also defines max_offset
-+ uint64_t _max_offset = 0;
- bool append = (open_flags_ & PP_FILEOPENFLAG_APPEND) != 0;
- if (append) {
- increase = bytes_to_write;
- } else {
-- max_offset = offset + bytes_to_write;
-- if (max_offset >
-+ _max_offset = offset + bytes_to_write;
-+ if (_max_offset >
- static_cast<uint64_t>(std::numeric_limits<int64_t>::max())) {
- return PP_ERROR_FAILED; // amount calculation would overflow.
- }
-- increase = static_cast<int64_t>(max_offset) - max_written_offset_;
-+ increase = static_cast<int64_t>(_max_offset) - max_written_offset_;
- }
-
- if (increase > 0) {
-@@ -312,7 +314,7 @@ int32_t FileIOResource::Write(int64_t offset,
- if (append)
- append_mode_write_amount_ += bytes_to_write;
- else
-- max_written_offset_ = max_offset;
-+ max_written_offset_ = _max_offset;
- }
- }
- return WriteValidated(offset, buffer, bytes_to_write, callback);
-@@ -588,9 +590,9 @@ void FileIOResource::OnRequestWriteQuotaComplete(
- } else {
- DCHECK_LE(offset + bytes_to_write - max_written_offset_, granted);
-
-- int64_t max_offset = offset + bytes_to_write;
-- if (max_written_offset_ < max_offset)
-- max_written_offset_ = max_offset;
-+ int64_t _max_offset = offset + bytes_to_write;
-+ if (max_written_offset_ < _max_offset)
-+ max_written_offset_ = _max_offset;
- }
-
- if (callback->is_blocking()) {
diff --git a/www/chromium/files/patch-printing_BUILD.gn b/www/chromium/files/patch-printing_BUILD.gn
deleted file mode 100644
index e7cd3cce3b55..000000000000
--- a/www/chromium/files/patch-printing_BUILD.gn
+++ /dev/null
@@ -1,20 +0,0 @@
---- printing/BUILD.gn.orig 2021-12-14 11:45:09 UTC
-+++ printing/BUILD.gn
-@@ -68,7 +68,7 @@ component("printing_base") {
- ]
- }
-
--if (enable_oop_printing && (is_linux || is_chromeos)) {
-+if (enable_oop_printing && (is_linux || is_chromeos) && !is_bsd) {
- source_set("printing_sandbox_hook") {
- sources = [
- "sandbox/print_backend_sandbox_hook_linux.cc",
-@@ -263,7 +263,7 @@ component("printing") {
- }
- }
-
-- if (enable_oop_printing && (is_linux || is_chromeos)) {
-+ if (enable_oop_printing && (is_linux || is_chromeos) && !is_bsd) {
- deps += [ ":printing_sandbox_hook" ]
- }
- }
diff --git a/www/chromium/files/patch-printing_cups__config__helper.py b/www/chromium/files/patch-printing_cups__config__helper.py
deleted file mode 100644
index a2052c2f8cae..000000000000
--- a/www/chromium/files/patch-printing_cups__config__helper.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- printing/cups_config_helper.py.orig 2021-04-14 18:41:07 UTC
-+++ printing/cups_config_helper.py
-@@ -67,7 +67,7 @@ def main():
- mode = sys.argv[1]
- if len(sys.argv) > 2 and sys.argv[2]:
- sysroot = sys.argv[2]
-- cups_config = os.path.join(sysroot, 'usr', 'bin', 'cups-config')
-+ cups_config = os.path.join(sysroot, 'bin', 'cups-config')
- if not os.path.exists(cups_config):
- print('cups-config not found: %s' % cups_config)
- return 1
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 bf6743a59e57..6a85c8189130 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,4 +1,4 @@
---- printing/mojom/printing_context_mojom_traits.cc.orig 2021-12-16 15:15:32 UTC
+--- printing/mojom/printing_context_mojom_traits.cc.orig 2022-02-07 13:39:41 UTC
+++ printing/mojom/printing_context_mojom_traits.cc
@@ -16,7 +16,7 @@
#include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"
@@ -9,7 +9,7 @@
#include "mojo/public/mojom/base/values.mojom.h"
#endif
-@@ -163,11 +163,11 @@ bool StructTraits<
+@@ -162,7 +162,7 @@ bool StructTraits<
}
out->set_pages_per_sheet(data.pages_per_sheet());
@@ -18,8 +18,3 @@
DCHECK(out->advanced_settings().empty());
if (!data.ReadAdvancedSettings(&out->advanced_settings()))
return false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(OS_CHROMEOS)
- out->set_send_user_info(data.send_user_info());
-
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 302711bd37a4..abef324c9456 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 2021-12-16 15:15:50 UTC
+--- printing/mojom/printing_context_mojom_traits.h.orig 2022-02-07 13:39:41 UTC
+++ printing/mojom/printing_context_mojom_traits.h
-@@ -171,12 +171,12 @@ struct StructTraits<printing::mojom::PrintSettingsData
+@@ -168,7 +168,7 @@ struct StructTraits<printing::mojom::PrintSettingsData
return s.pages_per_sheet();
}
@@ -9,9 +9,3 @@
static const printing::PrintSettings::AdvancedSettings& advanced_settings(
const printing::PrintSettings& s) {
return s.advanced_settings();
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- static bool send_user_info(const printing::PrintSettings& s) {
diff --git a/www/chromium/files/patch-printing_print__settings.cc b/www/chromium/files/patch-printing_print__settings.cc
index 8766fe47bfa9..ded21563a9eb 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 2021-12-14 11:45:09 UTC
+--- printing/print_settings.cc.orig 2022-02-07 13:39:41 UTC
+++ printing/print_settings.cc
-@@ -266,10 +266,10 @@ PrintSettings::PrintSettings(const PrintSettings& sett
+@@ -265,7 +265,7 @@ PrintSettings::PrintSettings(const PrintSettings& sett
#endif
is_modifiable_ = settings.is_modifiable_;
pages_per_sheet_ = settings.pages_per_sheet_;
@@ -8,12 +8,8 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
for (const auto& item : settings.advanced_settings_)
advanced_settings_.emplace(item.first, item.second.Clone());
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(OS_CHROMEOS)
- send_user_info_ = settings.send_user_info_;
- username_ = settings.username_;
-@@ -307,10 +307,10 @@ PrintSettings& PrintSettings::operator=(const PrintSet
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -305,7 +305,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet
#endif
is_modifiable_ = settings.is_modifiable_;
pages_per_sheet_ = settings.pages_per_sheet_;
@@ -21,20 +17,13 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
for (const auto& item : settings.advanced_settings_)
advanced_settings_.emplace(item.first, item.second.Clone());
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(OS_CHROMEOS)
- send_user_info_ = settings.send_user_info_;
- username_ = settings.username_;
-@@ -348,9 +348,9 @@ void PrintSettings::Clear() {
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -345,7 +345,7 @@ void PrintSettings::Clear() {
#endif
is_modifiable_ = true;
pages_per_sheet_ = 1;
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
advanced_settings_.clear();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
#if defined(OS_CHROMEOS)
- send_user_info_ = false;
- username_.clear();
diff --git a/www/chromium/files/patch-printing_print__settings.h b/www/chromium/files/patch-printing_print__settings.h
index af48434cab1a..db9e6887b65b 100644
--- a/www/chromium/files/patch-printing_print__settings.h
+++ b/www/chromium/files/patch-printing_print__settings.h
@@ -1,6 +1,6 @@
---- printing/print_settings.h.orig 2021-12-14 11:45:09 UTC
+--- printing/print_settings.h.orig 2022-02-07 13:39:41 UTC
+++ printing/print_settings.h
-@@ -18,11 +18,11 @@
+@@ -18,7 +18,7 @@
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
@@ -9,24 +9,16 @@
#include <map>
#include "base/values.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- namespace printing {
-
-@@ -66,9 +66,9 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -66,7 +66,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
}
};
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
using AdvancedSettings = std::map<std::string, base::Value>;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
- PrintSettings();
- PrintSettings(const PrintSettings&);
-@@ -224,12 +224,12 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -221,7 +221,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
pages_per_sheet_ = pages_per_sheet;
}
@@ -35,13 +27,7 @@
AdvancedSettings& advanced_settings() { return advanced_settings_; }
const AdvancedSettings& advanced_settings() const {
return advanced_settings_;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- void set_send_user_info(bool send_user_info) {
-@@ -328,10 +328,10 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -322,7 +322,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
// Number of pages per sheet.
int pages_per_sheet_;
@@ -49,8 +35,4 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
// Advanced settings.
AdvancedSettings advanced_settings_;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- // Whether to send user info.
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
diff --git a/www/chromium/files/patch-printing_print__settings__conversion.cc b/www/chromium/files/patch-printing_print__settings__conversion.cc
index bd809412d24c..0fd0d3497c45 100644
--- a/www/chromium/files/patch-printing_print__settings__conversion.cc
+++ b/www/chromium/files/patch-printing_print__settings__conversion.cc
@@ -1,20 +1,11 @@
---- printing/print_settings_conversion.cc.orig 2021-12-14 11:45:09 UTC
+--- printing/print_settings_conversion.cc.orig 2022-02-07 13:39:41 UTC
+++ printing/print_settings_conversion.cc
-@@ -220,7 +220,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
- #endif
+@@ -217,7 +217,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
+ settings->set_is_modifiable(is_modifiable.value());
}
-#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && defined(USE_CUPS))
-+#if defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS))
++#if defined(OS_CHROMEOS) || ((defined(OS_BSD) || defined(OS_LINUX)) && defined(USE_CUPS))
const base::Value* advanced_settings =
job_settings.FindDictKey(kSettingAdvancedSettings);
if (advanced_settings) {
-@@ -232,7 +232,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
- settings->advanced_settings().emplace(item.first, item.second.Clone());
- }
- }
--#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && defined(USE_CUPS))
-+#endif // defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS))
-
- #if defined(OS_CHROMEOS)
- bool send_user_info =
diff --git a/www/chromium/files/patch-printing_printing__features.cc b/www/chromium/files/patch-printing_printing__features.cc
index 6e90028a8d2a..d0c3562efe55 100644
--- a/www/chromium/files/patch-printing_printing__features.cc
+++ b/www/chromium/files/patch-printing_printing__features.cc
@@ -1,11 +1,11 @@
---- printing/printing_features.cc.orig 2021-12-14 11:45:09 UTC
+--- printing/printing_features.cc.orig 2022-02-07 13:39:41 UTC
+++ printing/printing_features.cc
-@@ -7,7 +7,7 @@
- #include "build/chromeos_buildflags.h"
+@@ -8,7 +8,7 @@
#include "printing/buildflags/buildflags.h"
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
+ #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)
++ defined(OS_CHROMEOS) || defined(OS_BSD)
#include "base/metrics/field_trial_params.h"
#endif
+
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
new file mode 100644
index 000000000000..10e65d6b1120
--- /dev/null
+++ b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc
@@ -0,0 +1,50 @@
+--- printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC
++++ printing/sandbox/print_backend_sandbox_hook_linux.cc
+@@ -9,20 +9,27 @@
+ #include "base/files/file_path.h"
+ #include "base/files/file_util.h"
+ #include "base/path_service.h"
++#if !defined(OS_BSD)
+ #include "sandbox/linux/syscall_broker/broker_command.h"
+ #include "sandbox/linux/syscall_broker/broker_file_permission.h"
+ #include "sandbox/policy/linux/sandbox_linux.h"
+ #include "services/network/network_sandbox_hook_linux.h"
++#else
++#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#endif
+
+ #if defined(OS_CHROMEOS) && defined(USE_CUPS)
+ #include "printing/backend/cups_connection_pool.h"
+ #endif
+
++#if !defined(OS_BSD)
+ using sandbox::syscall_broker::BrokerFilePermission;
+ using sandbox::syscall_broker::MakeBrokerCommandSet;
++#endif
+
+ namespace printing {
+
++#if !defined(OS_BSD)
+ namespace {
+
+ sandbox::syscall_broker::BrokerCommandSet GetPrintBackendBrokerCommandSet() {
+@@ -83,9 +90,11 @@ std::vector<BrokerFilePermission> GetPrintBackendFileP
+ }
+
+ } // namespace
++#endif
+
+ bool PrintBackendPreSandboxHook(
+ sandbox::policy::SandboxLinux::Options options) {
++#if !defined(OS_BSD)
+ #if defined(OS_CHROMEOS) && defined(USE_CUPS)
+ // Create the socket connections to the CUPS server before engaging the
+ // sandbox, since new connections cannot be made after that.
+@@ -99,6 +108,7 @@ bool PrintBackendPreSandboxHook(
+ sandbox::policy::SandboxLinux::PreSandboxHook(), options);
+
+ instance->EngageNamespaceSandboxIfPossible();
++#endif
+ return true;
+ }
+
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
new file mode 100644
index 000000000000..4e1d839b12d3
--- /dev/null
+++ b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h
@@ -0,0 +1,16 @@
+--- printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
++++ printing/sandbox/print_backend_sandbox_hook_linux.h
+@@ -5,8 +5,13 @@
+ #ifndef PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_
+ #define PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_
+
++#include "build/build_config.h"
+ #include "base/component_export.h"
++#if defined(OS_BSD)
++#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+
+ namespace printing {
+
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 3a0ec9d20d2d..085c668e9f55 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,16 +1,11 @@
---- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2021-04-14 18:41:07 UTC
+--- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/codec/webrtc_video_encoder_vpx.cc
-@@ -85,11 +85,11 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config
+@@ -85,7 +85,7 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config
const webrtc::DesktopSize& size) {
SetCommonCodecParameters(config, size);
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
// 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.
config->g_threads = std::min(config->g_threads, 2U);
--#endif // defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
-+#endif // defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-
- // Value of 2 means using the real time profile. This is basically a
- // redundant option since we explicitly select real time mode when doing
diff --git a/www/chromium/files/patch-remoting_host_base_switches.cc b/www/chromium/files/patch-remoting_host_base_switches.cc
new file mode 100644
index 000000000000..bdf6b220a786
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_base_switches.cc
@@ -0,0 +1,11 @@
+--- remoting/host/base/switches.cc.orig 2022-02-07 13:39:41 UTC
++++ remoting/host/base/switches.cc
+@@ -23,7 +23,7 @@ const char kProcessTypeEvaluateCapability[] = "evaluat
+ const char kProcessTypeFileChooser[] = "file_chooser";
+ const char kProcessTypeUrlForwarderConfigurator[] =
+ "url_forwarder_configurator";
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const char kProcessTypeXSessionChooser[] = "xsession_chooser";
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+
diff --git a/www/chromium/files/patch-remoting_host_base_switches.h b/www/chromium/files/patch-remoting_host_base_switches.h
new file mode 100644
index 000000000000..673f8a22ea3a
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_base_switches.h
@@ -0,0 +1,11 @@
+--- remoting/host/base/switches.h.orig 2022-02-07 13:39:41 UTC
++++ remoting/host/base/switches.h
+@@ -35,7 +35,7 @@ extern const char kProcessTypeRdpDesktopSession[];
+ extern const char kProcessTypeEvaluateCapability[];
+ extern const char kProcessTypeFileChooser[];
+ extern const char kProcessTypeUrlForwarderConfigurator[];
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ extern const char kProcessTypeXSessionChooser[];
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+
diff --git a/www/chromium/files/patch-remoting_host_chromoting__host.cc b/www/chromium/files/patch-remoting_host_chromoting__host.cc
new file mode 100644
index 000000000000..92048a75b4fd
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_chromoting__host.cc
@@ -0,0 +1,11 @@
+--- remoting/host/chromoting_host.cc.orig 2022-02-07 13:39:41 UTC
++++ remoting/host/chromoting_host.cc
+@@ -124,7 +124,7 @@ void ChromotingHost::StartChromotingHostServices() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ DCHECK(!ipc_server_);
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_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__context.cc b/www/chromium/files/patch-remoting_host_chromoting__host__context.cc
index 9a556daca441..ffa1d59e4cac 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 2021-12-14 11:45:09 UTC
+--- remoting/host/chromoting_host_context.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/host/chromoting_host_context.cc
-@@ -143,11 +143,11 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostC
+@@ -143,7 +143,7 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostC
// on a UI thread.
scoped_refptr<AutoThreadTaskRunner> input_task_runner =
AutoThread::CreateWithType("ChromotingInputThread", ui_task_runner,
@@ -9,8 +9,3 @@
base::MessagePumpType::UI);
#else
base::MessagePumpType::IO);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- return base::WrapUnique(new ChromotingHostContext(
- ui_task_runner, audio_task_runner, file_task_runner, input_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
new file mode 100644
index 000000000000..bd3ee531935c
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc
@@ -0,0 +1,20 @@
+--- remoting/host/chromoting_host_services_client.cc.orig 2022-02-07 13:39:41 UTC
++++ remoting/host/chromoting_host_services_client.cc
+@@ -24,7 +24,7 @@ namespace remoting {
+
+ namespace {
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ constexpr char kChromeRemoteDesktopSessionEnvVar[] =
+ "CHROME_REMOTE_DESKTOP_SESSION";
+ #endif
+@@ -104,7 +104,7 @@ bool ChromotingHostServicesClient::EnsureSessionServic
+ if (session_services_remote_.is_bound()) {
+ return true;
+ }
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (!environment_->HasVar(kChromeRemoteDesktopSessionEnvVar)) {
+ LOG(WARNING) << "Current desktop environment is not remotable.";
+ return false;
diff --git a/www/chromium/files/patch-remoting_host_host__details.cc b/www/chromium/files/patch-remoting_host_host__details.cc
index f240ab40b015..776f3dd26092 100644
--- a/www/chromium/files/patch-remoting_host_host__details.cc
+++ b/www/chromium/files/patch-remoting_host_host__details.cc
@@ -1,11 +1,11 @@
---- remoting/host/host_details.cc.orig 2021-04-14 18:41:08 UTC
+--- remoting/host/host_details.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/host/host_details.cc
-@@ -25,6 +25,8 @@ std::string GetHostOperatingSystemName() {
+@@ -23,7 +23,7 @@ std::string GetHostOperatingSystemName() {
+ return "Mac";
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
return "ChromeOS";
- #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
return "Linux";
-+#elif defined(OS_FREEBSD)
-+ return "FreeBSD";
#elif defined(OS_ANDROID)
return "Android";
- #else
diff --git a/www/chromium/files/patch-remoting_host_host__main.cc b/www/chromium/files/patch-remoting_host_host__main.cc
index bbcac8b69fd5..ac8a319f73d0 100644
--- a/www/chromium/files/patch-remoting_host_host__main.cc
+++ b/www/chromium/files/patch-remoting_host_host__main.cc
@@ -1,35 +1,24 @@
---- remoting/host/host_main.cc.orig 2021-09-24 04:26:09 UTC
+--- remoting/host/host_main.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/host/host_main.cc
-@@ -50,9 +50,9 @@ int FileChooserMain();
+@@ -50,7 +50,7 @@ int FileChooserMain();
int RdpDesktopSessionMain();
int UrlForwarderConfiguratorMain();
#endif // defined(OS_WIN)
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
int XSessionChooserMain();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
- namespace {
-
-@@ -63,10 +63,14 @@ const char kUsageMessage[] =
+@@ -63,7 +63,7 @@ const char kUsageMessage[] =
"\n"
"Options:\n"
-#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
" --audio-pipe-name=<pipe> - Sets the pipe name to capture audio on "
-+#if defined(OS_LINUX)
"Linux.\n"
--#endif // defined(OS_LINUX)
-+#else
-+ "FreeBSD.\n"
-+#endif
-+#endif // defined(OS_LINUX) || defined(OS_FREEBSD)
-
- #if defined(OS_APPLE)
- " --list-audio-devices - List all audio devices and their device "
-@@ -152,10 +156,10 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
+ #endif // defined(OS_LINUX)
+@@ -152,7 +152,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
} else if (process_type == kProcessTypeUrlForwarderConfigurator) {
main_routine = &UrlForwarderConfiguratorMain;
#endif // defined(OS_WIN)
@@ -37,8 +26,4 @@
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
} else if (process_type == kProcessTypeXSessionChooser) {
main_routine = &XSessionChooserMain;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- return main_routine;
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
diff --git a/www/chromium/files/patch-remoting_host_ipc__constants.cc b/www/chromium/files/patch-remoting_host_ipc__constants.cc
new file mode 100644
index 000000000000..5de9e4e688d1
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_ipc__constants.cc
@@ -0,0 +1,11 @@
+--- remoting/host/ipc_constants.cc.orig 2022-02-07 13:39:41 UTC
++++ remoting/host/ipc_constants.cc
+@@ -16,7 +16,7 @@ namespace remoting {
+
+ namespace {
+
+-#if !defined(NDEBUG) && defined(OS_LINUX)
++#if !defined(NDEBUG) && (defined(OS_LINUX) || defined(OS_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.
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 b400a0295c30..fbb6b259ba8a 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,7 +1,7 @@
---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2021-12-14 11:45:09 UTC
+--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/host/it2me/it2me_native_messaging_host_main.cc
-@@ -30,13 +30,13 @@
- #include "remoting/host/switches.h"
+@@ -30,7 +30,7 @@
+ #include "remoting/host/resources.h"
#include "remoting/host/usage_stats_consent.h"
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
@@ -9,14 +9,7 @@
#include <gtk/gtk.h>
#include "base/linux_util.h"
- #include "ui/events/platform/x11/x11_event_source.h"
- #include "ui/gfx/x/xlib_support.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_APPLE)
- #include "base/mac/mac_util.h"
-@@ -78,11 +78,11 @@ bool CurrentProcessHasUiAccess() {
+@@ -76,7 +76,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) {
@@ -25,12 +18,7 @@
// Initialize Xlib for multi-threaded use, allowing non-Chromium code to
// use X11 safely (such as the WebRTC capturer, GTK ...)
x11::InitXlib();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // This object instance is required by Chrome code (such as
- // SingleThreadTaskExecutor).
-@@ -123,7 +123,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+@@ -121,7 +121,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
remoting::LoadResources("");
@@ -39,16 +27,7 @@
// Required for any calls into GTK functions, such as the Disconnect and
// Continue windows. Calling with nullptr arguments because we don't have
// any command line arguments for gtk to consume.
-@@ -136,7 +136,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
- // Need to prime the host OS version value for linux to prevent IO on the
- // network thread. base::GetLinuxDistro() caches the result.
- base::GetLinuxDistro();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- base::File read_file;
- base::File write_file;
-@@ -256,7 +256,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+@@ -254,7 +254,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
PolicyWatcher::CreateWithTaskRunner(context->file_task_runner(),
context->management_service());
@@ -57,16 +36,7 @@
// Create an X11EventSource on all UI threads, so the global X11 connection
// (x11::Connection::Get()) can dispatch X events.
auto event_source =
-@@ -265,7 +265,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
- input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() {
- new ui::X11EventSource(x11::Connection::Get());
- }));
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- std::unique_ptr<extensions::NativeMessageHost> host(
- new It2MeNativeMessagingHost(is_process_elevated_,
-@@ -278,11 +278,11 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+@@ -276,7 +276,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
// Run the loop until channel is alive.
run_loop.Run();
@@ -75,8 +45,3 @@
input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() {
delete ui::X11EventSource::GetInstance();
}));
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Block until tasks blocking shutdown have completed their execution.
- base::ThreadPoolInstance::Get()->Shutdown();
diff --git a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc
index 8329cfc939e3..0bd22272c32c 100644
--- a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc
+++ b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc
@@ -1,15 +1,15 @@
---- remoting/host/remote_open_url/remote_open_url_client.cc.orig 2021-12-16 15:17:34 UTC
+--- remoting/host/remote_open_url/remote_open_url_client.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/host/remote_open_url/remote_open_url_client.cc
-@@ -14,7 +14,7 @@
- #include "remoting/base/logging.h"
- #include "remoting/host/remote_open_url/remote_open_url_constants.h"
+@@ -15,7 +15,7 @@
+ #include "remoting/host/mojom/chromoting_host_services.mojom.h"
+ #include "remoting/host/mojom/remote_url_opener.mojom.h"
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
#include "remoting/host/remote_open_url/remote_open_url_client_delegate_linux.h"
#elif defined(OS_WIN)
#include "remoting/host/remote_open_url/remote_open_url_client_delegate_win.h"
-@@ -27,7 +27,7 @@ namespace {
+@@ -28,7 +28,7 @@ namespace {
constexpr base::TimeDelta kRequestTimeout = base::Seconds(5);
std::unique_ptr<RemoteOpenUrlClient::Delegate> CreateDelegate() {
diff --git a/www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc b/www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc
index a5dbe14c1669..bb806ba9cd59 100644
--- a/www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc
+++ b/www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc
@@ -1,6 +1,6 @@
---- remoting/host/remote_open_url/url_forwarder_configurator.cc.orig 2021-12-16 15:18:07 UTC
+--- remoting/host/remote_open_url/url_forwarder_configurator.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/host/remote_open_url/url_forwarder_configurator.cc
-@@ -13,7 +13,7 @@ UrlForwarderConfigurator::UrlForwarderConfigurator() =
+@@ -12,7 +12,7 @@ UrlForwarderConfigurator::UrlForwarderConfigurator() =
UrlForwarderConfigurator::~UrlForwarderConfigurator() = default;
@@ -9,11 +9,3 @@
// static
std::unique_ptr<UrlForwarderConfigurator> UrlForwarderConfigurator::Create() {
-@@ -23,6 +23,6 @@ std::unique_ptr<UrlForwarderConfigurator> UrlForwarder
- return nullptr;
- }
-
--#endif // !defined(OS_LINUX) && !defined(OS_WIN)
-+#endif // !defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_BSD)
-
- } // namespace remoting
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 ac6b069355a7..db087d2757bc 100644
--- a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc
+++ b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc
@@ -1,6 +1,6 @@
---- remoting/host/remoting_me2me_host.cc.orig 2021-12-31 00:57:37 UTC
+--- remoting/host/remoting_me2me_host.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/host/remoting_me2me_host.cc
-@@ -124,7 +124,7 @@
+@@ -123,7 +123,7 @@
#include "remoting/host/mac/permission_utils.h"
#endif // defined(OS_APPLE)
@@ -9,16 +9,7 @@
#include <gtk/gtk.h>
#include "base/linux_util.h"
-@@ -132,7 +132,7 @@
- #include "remoting/host/linux/certificate_watcher.h"
- #include "ui/events/platform/x11/x11_event_source.h"
- #include "ui/gfx/x/xlib_support.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- #include <commctrl.h>
-@@ -168,11 +168,11 @@ const char kApplicationName[] = "chromoting";
+@@ -167,7 +167,7 @@ const char kApplicationName[] = "chromoting";
const char kStdinConfigPath[] = "-";
#endif // !defined(REMOTING_MULTI_PROCESS)
@@ -27,12 +18,7 @@
// The command line switch used to pass name of the pipe to capture audio on
// linux.
const char kAudioPipeSwitchName[] = "audio-pipe-name";
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- // The command line switch used to pass name of the unix domain socket used to
-@@ -367,7 +367,7 @@ class HostProcess : public ConfigWatcher::Delegate,
+@@ -366,7 +366,7 @@ class HostProcess : public ConfigWatcher::Delegate,
std::unique_ptr<ChromotingHostContext> context_;
@@ -41,7 +27,7 @@
// Watch for certificate changes and kill the host when changes occur
std::unique_ptr<CertificateWatcher> cert_watcher_;
#endif
-@@ -791,7 +791,7 @@ void HostProcess::CreateAuthenticatorFactory() {
+@@ -790,7 +790,7 @@ void HostProcess::CreateAuthenticatorFactory() {
DCHECK(third_party_auth_config_.token_url.is_valid());
DCHECK(third_party_auth_config_.token_validation_url.is_valid());
@@ -50,7 +36,7 @@
if (!cert_watcher_) {
cert_watcher_ = std::make_unique<CertificateWatcher>(
base::BindRepeating(&HostProcess::ShutdownHost, this,
-@@ -906,7 +906,7 @@ void HostProcess::StartOnUiThread() {
+@@ -904,7 +904,7 @@ void HostProcess::StartOnUiThread() {
base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)),
base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this)));
@@ -59,16 +45,7 @@
// 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()->
-@@ -915,7 +915,7 @@ void HostProcess::StartOnUiThread() {
- remoting::AudioCapturerLinux::InitializePipeReader(
- context_->audio_task_runner(), audio_pipe_name);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- base::FilePath security_key_socket_name =
-@@ -964,7 +964,7 @@ void HostProcess::ShutdownOnUiThread() {
+@@ -962,7 +962,7 @@ void HostProcess::ShutdownOnUiThread() {
// It is now safe for the HostProcess to be deleted.
self_ = nullptr;
@@ -77,7 +54,16 @@
// 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.
-@@ -1862,7 +1862,7 @@ void HostProcess::CrashHostProcess(const std::string&
+@@ -1667,7 +1667,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_);
+
+-#if defined(OS_LINUX) || !defined(NDEBUG)
++#if (defined(OS_LINUX) || defined(OS_BSD) || !defined(NDEBUG)
+ // Experimental feature. Enabled on Linux for easier testing.
+ if (is_googler_) {
+ desktop_environment_options_.set_enable_remote_webauthn(true);
+@@ -1864,7 +1864,7 @@ void HostProcess::CrashHostProcess(const std::string&
int HostProcessMain() {
HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION);
@@ -86,7 +72,7 @@
// Initialize Xlib for multi-threaded use, allowing non-Chromium code to
// use X11 safely (such as the WebRTC capturer, GTK ...)
x11::InitXlib();
-@@ -1899,7 +1899,7 @@ int HostProcessMain() {
+@@ -1901,7 +1901,7 @@ int HostProcessMain() {
std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier(
net::NetworkChangeNotifier::CreateIfNeeded());
@@ -95,16 +81,7 @@
// Create an X11EventSource on all UI threads, so the global X11 connection
// (x11::Connection::Get()) can dispatch X events.
auto event_source =
-@@ -1908,7 +1908,7 @@ int HostProcessMain() {
- input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() {
- new ui::X11EventSource(x11::Connection::Get());
- }));
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Create & start the HostProcess using these threads.
- // TODO(wez): The HostProcess holds a reference to itself until Shutdown().
-@@ -1920,11 +1920,11 @@ int HostProcessMain() {
+@@ -1922,7 +1922,7 @@ int HostProcessMain() {
// Run the main (also UI) task executor until the host no longer needs it.
run_loop.Run();
@@ -113,8 +90,3 @@
input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() {
delete ui::X11EventSource::GetInstance();
}));
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Block until tasks blocking shutdown have completed their execution.
- base::ThreadPoolInstance::Get()->Shutdown();
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 9a284076579c..1c5aacd298ed 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,6 +1,6 @@
---- remoting/host/setup/start_host_main.cc.orig 2021-09-24 04:26:09 UTC
+--- remoting/host/setup/start_host_main.cc.orig 2022-02-07 13:39:41 UTC
+++ remoting/host/setup/start_host_main.cc
-@@ -32,10 +32,10 @@
+@@ -32,7 +32,7 @@
#include <unistd.h>
#endif // defined(OS_POSIX)
@@ -8,12 +8,8 @@
+#if defined(OS_LINUX) || defined(OS_BSD)
#include "remoting/host/setup/daemon_controller_delegate_linux.h"
#include "remoting/host/setup/start_host_as_root.h"
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- #include "base/process/process_info.h"
-@@ -126,12 +126,12 @@ void OnDone(HostStarter::Result result) {
+ #endif // defined(OS_LINUX)
+@@ -126,7 +126,7 @@ void OnDone(HostStarter::Result result) {
} // namespace
int StartHostMain(int argc, char** argv) {
@@ -22,12 +18,6 @@
// Minimize the amount of code that runs as root on Posix systems.
if (getuid() == 0) {
return remoting::StartHostAsRoot(argc, argv);
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // google_apis::GetOAuth2ClientID/Secret need a static CommandLine.
- base::CommandLine::Init(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");
@@ -37,12 +27,3 @@
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
-@@ -173,7 +173,7 @@ int StartHostMain(int argc, char** argv) {
- // controller code, and must be configured on the Linux delegate explicitly.
- DaemonControllerDelegateLinux::set_start_host_after_setup(false);
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- #if defined(OS_WIN)
- // The tool must be run elevated on Windows so the host has access to the
- // directories used to store the configuration JSON files.
diff --git a/www/chromium/files/patch-remoting_host_switches.cc b/www/chromium/files/patch-remoting_host_switches.cc
deleted file mode 100644
index 87e05bf9de7e..000000000000
--- a/www/chromium/files/patch-remoting_host_switches.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- remoting/host/switches.cc.orig 2021-09-24 04:26:09 UTC
-+++ remoting/host/switches.cc
-@@ -23,9 +23,9 @@ const char kProcessTypeEvaluateCapability[] = "evaluat
- const char kProcessTypeFileChooser[] = "file_chooser";
- const char kProcessTypeUrlForwarderConfigurator[] =
- "url_forwarder_configurator";
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const char kProcessTypeXSessionChooser[] = "xsession_chooser";
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- const char kEvaluateCapabilitySwitchName[] = "evaluate-type";
-
diff --git a/www/chromium/files/patch-remoting_host_switches.h b/www/chromium/files/patch-remoting_host_switches.h
deleted file mode 100644
index 452d306351c4..000000000000
--- a/www/chromium/files/patch-remoting_host_switches.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- remoting/host/switches.h.orig 2021-09-24 04:26:09 UTC
-+++ remoting/host/switches.h
-@@ -35,9 +35,9 @@ extern const char kProcessTypeRdpDesktopSession[];
- extern const char kProcessTypeEvaluateCapability[];
- extern const char kProcessTypeFileChooser[];
- extern const char kProcessTypeUrlForwarderConfigurator[];
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- extern const char kProcessTypeXSessionChooser[];
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- extern const char kEvaluateCapabilitySwitchName[];
-
diff --git a/www/chromium/files/patch-remoting_test_it2me__standalone__host.cc b/www/chromium/files/patch-remoting_test_it2me__standalone__host.cc
deleted file mode 100644
index 8d99e94b6dea..000000000000
--- a/www/chromium/files/patch-remoting_test_it2me__standalone__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/test/it2me_standalone_host.cc.orig 2021-05-12 22:05:58 UTC
-+++ remoting/test/it2me_standalone_host.cc
-@@ -50,7 +50,7 @@ It2MeStandaloneHost::It2MeStandaloneHost()
- context_->ui_task_runner()),
- connection_(base::WrapUnique(new testing::NiceMock<MockSession>())),
- session_jid_(kSessionJid),
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // We cannot support audio capturing for linux, since a pipe name is
- // needed to initialize AudioCapturerLinux.
- config_(protocol::SessionConfig::ForTest()),
diff --git a/www/chromium/files/patch-remoting_test_it2me__standalone__host__main.cc b/www/chromium/files/patch-remoting_test_it2me__standalone__host__main.cc
deleted file mode 100644
index 29f1fb241467..000000000000
--- a/www/chromium/files/patch-remoting_test_it2me__standalone__host__main.cc
+++ /dev/null
@@ -1,34 +0,0 @@
---- remoting/test/it2me_standalone_host_main.cc.orig 2021-04-14 18:41:08 UTC
-+++ remoting/test/it2me_standalone_host_main.cc
-@@ -9,19 +9,19 @@
- #include "remoting/proto/event.pb.h"
- #include "remoting/test/it2me_standalone_host.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <gtk/gtk.h>
-
- #include "base/linux_util.h"
- #include "ui/events/platform/x11/x11_event_source.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- int main(int argc, const char** argv) {
- base::AtExitManager at_exit_manager;
- base::CommandLine::Init(argc, argv);
- remoting::test::It2MeStandaloneHost host;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Create an X11EventSource so the global X11 connection
- // (x11::Connection::Get()) can dispatch X events.
- auto event_source =
-@@ -39,7 +39,7 @@ int main(int argc, const char** argv) {
- // Need to prime the host OS version value for linux to prevent IO on the
- // network thread. base::GetLinuxDistro() caches the result.
- base::GetLinuxDistro();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- remoting::LoadResources("");
- host.StartOutputTimer();
- host.Run();
diff --git a/www/chromium/files/patch-sandbox_BUILD.gn b/www/chromium/files/patch-sandbox_BUILD.gn
index ce356f104a80..fc1f7ec58a48 100644
--- a/www/chromium/files/patch-sandbox_BUILD.gn
+++ b/www/chromium/files/patch-sandbox_BUILD.gn
@@ -1,11 +1,11 @@
---- sandbox/BUILD.gn.orig 2021-04-14 18:41:08 UTC
+--- sandbox/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ sandbox/BUILD.gn
@@ -27,7 +27,7 @@ group("sandbox") {
"//sandbox/mac:system_services",
"//sandbox/mac/mojom",
]
- } else if (is_linux || is_chromeos || is_android) {
-+ } else if ((is_linux || is_chromeos || is_android) && !is_bsd) {
++ } else if ((is_linux && !is_bsd) || is_chromeos || is_android) {
public_deps = [ "//sandbox/linux:sandbox" ]
}
}
diff --git a/www/chromium/files/patch-sandbox_features.gni b/www/chromium/files/patch-sandbox_features.gni
index 48a800ab208d..9f5a00868f96 100644
--- a/www/chromium/files/patch-sandbox_features.gni
+++ b/www/chromium/files/patch-sandbox_features.gni
@@ -1,11 +1,11 @@
---- sandbox/features.gni.orig 2021-04-14 18:41:08 UTC
+--- sandbox/features.gni.orig 2022-02-07 13:39:41 UTC
+++ sandbox/features.gni
-@@ -8,7 +8,7 @@ import("//build/config/nacl/config.gni")
+@@ -6,7 +6,7 @@
# currently.
# Do not disable seccomp_bpf anywhere without talking to
# security@chromium.org!
-use_seccomp_bpf = (is_linux || is_chromeos || is_android) &&
-+use_seccomp_bpf = (is_linux || is_chromeos || is_android) && !is_bsd &&
++use_seccomp_bpf = !is_bsd && (is_linux || is_chromeos || is_android) &&
(current_cpu == "x86" || current_cpu == "x64" ||
current_cpu == "arm" || current_cpu == "arm64" ||
current_cpu == "mipsel" || current_cpu == "mips64el")
diff --git a/www/chromium/files/patch-sandbox_linux_BUILD.gn b/www/chromium/files/patch-sandbox_linux_BUILD.gn
index b95954427fce..6a4fd43ab003 100644
--- a/www/chromium/files/patch-sandbox_linux_BUILD.gn
+++ b/www/chromium/files/patch-sandbox_linux_BUILD.gn
@@ -1,20 +1,58 @@
---- sandbox/linux/BUILD.gn.orig 2021-12-31 00:57:38 UTC
+--- sandbox/linux/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ sandbox/linux/BUILD.gn
-@@ -394,7 +394,7 @@ component("sandbox_services") {
- deps += [ ":sandbox_services_headers" ]
- }
+@@ -12,12 +12,12 @@ if (is_android) {
+ }
+
+ declare_args() {
+- compile_suid_client = is_linux || is_chromeos
++ compile_suid_client = (is_linux || is_chromeos) && !is_bsd
-- if (is_nacl_nonsfi) {
-+ if (is_nacl_nonsfi || is_bsd) {
- cflags = [ "-fgnu-inline-asm" ]
+- compile_credentials = is_linux || is_chromeos
++ compile_credentials = (is_linux || is_chromeos) && !is_bsd
- sources -= [
-@@ -402,6 +402,8 @@ component("sandbox_services") {
- "services/init_process_reaper.h",
- "services/scoped_process.cc",
- "services/scoped_process.h",
+ # On Android, use plain GTest.
+- use_base_test_suite = is_linux || is_chromeos
++ use_base_test_suite = (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",
+ "services/libc_interceptor.h",
++ ]
++ }
++
++ if (is_bsd) {
++ sources -= [
++ "services/scoped_process.cc",
++ "services/scoped_process.h",
+ "services/syscall_wrappers.cc",
+ "services/syscall_wrappers.h",
- "services/yama.cc",
- "services/yama.h",
- "syscall_broker/broker_channel.cc",
++ "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",
+ ]
+ }
+ }
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 8671ba97ac80..8ec351166a19 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,13 +1,13 @@
---- sandbox/linux/services/init_process_reaper.cc.orig 2021-04-14 18:41:08 UTC
+--- sandbox/linux/services/init_process_reaper.cc.orig 2022-02-07 13:39:41 UTC
+++ sandbox/linux/services/init_process_reaper.cc
-@@ -1,6 +1,7 @@
- // Copyright 2013 The Chromium Authors. All rights reserved.
+@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-+#if 0
++#if 0
#include "sandbox/linux/services/init_process_reaper.h"
+ #include <signal.h>
@@ -100,3 +101,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo
}
diff --git a/www/chromium/files/patch-sandbox_policy_BUILD.gn b/www/chromium/files/patch-sandbox_policy_BUILD.gn
index 5bbefe6e9045..0d0b23c9cfdc 100644
--- a/www/chromium/files/patch-sandbox_policy_BUILD.gn
+++ b/www/chromium/files/patch-sandbox_policy_BUILD.gn
@@ -1,4 +1,4 @@
---- sandbox/policy/BUILD.gn.orig 2021-12-14 11:45:09 UTC
+--- sandbox/policy/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ sandbox/policy/BUILD.gn
@@ -35,7 +35,7 @@ component("policy") {
"//sandbox/policy/mojom",
@@ -9,19 +9,31 @@
sources += [
"linux/bpf_audio_policy_linux.cc",
"linux/bpf_audio_policy_linux.h",
-@@ -88,6 +88,15 @@ component("policy") {
+@@ -88,6 +88,27 @@ component("policy") {
"//sandbox/linux:sandbox_services",
"//sandbox/linux:seccomp_bpf",
"//sandbox/linux:suid_sandbox_client",
+ ]
+ }
-+ if (is_bsd) {
++ if (is_openbsd) {
++ sources += [
++ "openbsd/sandbox_openbsd.cc",
++ "openbsd/sandbox_openbsd.h",
++ ]
++ deps += [
++ "//sandbox:sandbox_buildflags",
++ "//ui/gfx/x",
++ ]
++ libs = [ "util" ]
++ }
++ if (is_freebsd) {
+ sources += [
-+ "freebsd/sandbox_freebsd.h",
+ "freebsd/sandbox_freebsd.cc",
++ "freebsd/sandbox_freebsd.h",
+ ]
+ deps += [
+ "//sandbox:sandbox_buildflags",
++ "//ui/gfx/x",
]
}
if (is_chromeos_ash) {
diff --git a/www/chromium/files/patch-sandbox_policy_features.cc b/www/chromium/files/patch-sandbox_policy_features.cc
new file mode 100644
index 000000000000..829e48b9fd06
--- /dev/null
+++ b/www/chromium/files/patch-sandbox_policy_features.cc
@@ -0,0 +1,14 @@
+--- sandbox/policy/features.cc.orig 2022-02-07 13:39:41 UTC
++++ sandbox/policy/features.cc
+@@ -16,7 +16,11 @@ namespace features {
+ // Enables network service sandbox.
+ // (Only causes an effect when feature kNetworkService is enabled.)
+ const base::Feature kNetworkServiceSandbox{"NetworkServiceSandbox",
++#if defined(OS_BSD)
++ base::FEATURE_ENABLED_BY_DEFAULT};
++#else
+ base::FEATURE_DISABLED_BY_DEFAULT};
++#endif
+ #endif // !defined(OS_MAC) && !defined(OS_FUCHSIA)
+
+ #if defined(OS_WIN)
diff --git a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc
new file mode 100644
index 000000000000..ef0afef1dbd3
--- /dev/null
+++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc
@@ -0,0 +1,250 @@
+--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2022-02-07 13:39:41 UTC
++++ sandbox/policy/freebsd/sandbox_freebsd.cc
+@@ -0,0 +1,247 @@
++// 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 <dirent.h>
++#include <fcntl.h>
++#include <stdint.h>
++#include <sys/resource.h>
++#include <sys/stat.h>
++#include <sys/time.h>
++#include <sys/types.h>
++#include <unistd.h>
++
++#include <limits>
++#include <memory>
++#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"
++#include "base/files/file_path.h"
++#include "base/files/file_util.h"
++#include "base/files/scoped_file.h"
++#include "base/logging.h"
++#include "base/memory/singleton.h"
++#include "base/path_service.h"
++#include "base/posix/eintr_wrapper.h"
++#include "base/strings/string_number_conversions.h"
++#include "base/system/sys_info.h"
++#include "base/time/time.h"
++#include "build/build_config.h"
++#include "sandbox/constants.h"
++#include "sandbox/linux/services/credentials.h"
++#include "sandbox/linux/services/namespace_sandbox.h"
++#include "sandbox/linux/services/proc_util.h"
++#include "sandbox/linux/services/resource_limits.h"
++#include "sandbox/linux/services/thread_helpers.h"
++#include "sandbox/linux/syscall_broker/broker_command.h"
++#include "sandbox/linux/syscall_broker/broker_process.h"
++#include "sandbox/policy/sandbox.h"
++#include "sandbox/policy/sandbox_type.h"
++#include "sandbox/policy/mojom/sandbox.mojom.h"
++#include "sandbox/policy/switches.h"
++#include "sandbox/sandbox_buildflags.h"
++
++#if BUILDFLAG(USING_SANITIZER)
++#include <sanitizer/common_interface_defs.h>
++#endif
++
++#if defined(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
++
++#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";
++
++namespace sandbox {
++namespace policy {
++
++SandboxLinux::SandboxLinux()
++ : sandbox_status_flags_(kInvalid),
++ pre_initialized_(false),
++ initialize_sandbox_ran_(false),
++ broker_process_(nullptr) {
++}
++
++SandboxLinux::~SandboxLinux() {
++ if (pre_initialized_) {
++ CHECK(initialize_sandbox_ran_);
++ }
++}
++
++SandboxLinux* SandboxLinux::GetInstance() {
++ SandboxLinux* instance = base::Singleton<SandboxLinux>::get();
++ CHECK(instance);
++ return instance;
++}
++
++void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) {
++ CHECK(!pre_initialized_);
++#if BUILDFLAG(USING_SANITIZER)
++ // Sanitizers need to open some resources before the sandbox is enabled.
++ // This should not fork, not launch threads, not open a directory.
++ __sanitizer_sandbox_on_notify(sanitizer_args());
++ sanitizer_args_.reset();
++#endif
++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
++ const std::string process_type =
++ command_line->GetSwitchValueASCII(switches::kProcessType);
++
++ base::SysInfo::AmountOfPhysicalMemory();
++ base::SysInfo::NumberOfProcessors();
++
++#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();
++#endif
++
++ // cache the XErrorDB by forcing a read on it
++ {
++ auto* connection = x11::Connection::Get();
++ auto* display = connection->GetXlibDisplay().display();
++
++ char buf[1];
++ XGetErrorDatabaseText(display, "XProtoError", "0", "", buf, base::size(buf));
++ }
++
++ if (process_type.empty()) {
++ base::FilePath cache_directory, local_directory;
++
++ base::PathService::Get(base::DIR_CACHE, &cache_directory);
++ base::PathService::Get(base::DIR_HOME, &local_directory);
++
++ 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 (process_type == switches::kRendererProcess)
++ gfx::InitializeFonts();
++
++ pre_initialized_ = true;
++}
++
++bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type,
++ SandboxLinux::PreSandboxHook hook,
++ const Options& options) {
++ DCHECK(!initialize_sandbox_ran_);
++ initialize_sandbox_ran_ = true;
++
++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
++ const std::string process_type =
++ command_line->GetSwitchValueASCII(switches::kProcessType);
++
++ if (command_line->HasSwitch(switches::kNoSandbox))
++ return true;
++
++ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type="
++ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type);
++
++ // Only one thread is running, pre-initialize if not already done.
++ if (!pre_initialized_)
++ PreinitializeSandbox(sandbox_type);
++
++ // Attempt to limit the future size of the address space of the process.
++ int error = 0;
++ const bool limited_as = LimitAddressSpace(&error);
++ if (error) {
++ // Restore errno. Internally to |LimitAddressSpace|, the errno due to
++ // setrlimit may be lost.
++ errno = error;
++ PCHECK(limited_as);
++ }
++
++ return true;
++}
++
++bool SandboxLinux::LimitAddressSpace(int* error) {
++#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \
++ !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER)
++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
++ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) {
++ return false;
++ }
++
++ // Unfortunately, it does not appear possible to set RLIMIT_AS such that it
++ // will both (a) be high enough to support V8's and WebAssembly's address
++ // space requirements while also (b) being low enough to mitigate exploits
++ // using integer overflows that require large allocations, heap spray, or
++ // other memory-hungry attack modes.
++
++ *error = sandbox::ResourceLimits::Lower(
++ RLIMIT_DATA, static_cast<rlim_t>(sandbox::kDataSizeLimit));
++
++ // Cache the resource limit before turning on the sandbox.
++ base::SysInfo::AmountOfVirtualMemory();
++ base::SysInfo::MaxSharedMemorySize();
++
++ return *error == 0;
++#else
++ base::SysInfo::AmountOfVirtualMemory();
++ return false;
++#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) &&
++ // !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
new file mode 100644
index 000000000000..574ddb9a6687
--- /dev/null
+++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h
@@ -0,0 +1,281 @@
+--- sandbox/policy/freebsd/sandbox_freebsd.h.orig 2022-02-07 13:39:41 UTC
++++ sandbox/policy/freebsd/sandbox_freebsd.h
+@@ -0,0 +1,278 @@
++// Copyright (c) 2012 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++#ifndef SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_
++#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_
++
++#include <memory>
++#include <string>
++#include <vector>
++
++#include "base/logging.h"
++#include "base/posix/global_descriptors.h"
++#include "sandbox/policy/export.h"
++#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h"
++#include "sandbox/policy/mojom/sandbox.mojom.h"
++#include "sandbox/policy/sanitizer_buildflags.h"
++
++#if BUILDFLAG(USING_SANITIZER)
++#include <sanitizer/common_interface_defs.h>
++#endif
++
++namespace base {
++template <typename T>
++struct DefaultSingletonTraits;
++class Thread;
++} // namespace base
++
++namespace sandbox {
++namespace syscall_broker {
++class BrokerProcess;
++} // namespace syscall_broker
++} // namespace sandbox
++
++namespace sandbox {
++namespace policy {
++
++// A singleton class to represent and change our sandboxing state for the
++// three main Linux sandboxes.
++// The sandboxing model allows using two layers of sandboxing. The first layer
++// can be implemented either with unprivileged namespaces or with the setuid
++// sandbox. This class provides a way to engage the namespace sandbox, but does
++// not deal with the legacy setuid sandbox directly.
++// The second layer is mainly based on seccomp-bpf and is engaged with
++// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing"
++// the first layer of sandboxing. That is, InitializeSandbox must always be
++// called to have any meaningful sandboxing at all.
++class SANDBOX_POLICY_EXPORT SandboxLinux {
++ public:
++ // This is a list of sandbox IPC methods which the renderer may send to the
++ // sandbox host. See
++ // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md
++ // This isn't the full list, values < 32 are reserved for methods called from
++ // Skia, and values < 64 are reserved for libc_interceptor.cc.
++ enum LinuxSandboxIPCMethods {
++ DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64,
++ DEPRECATED_METHOD_GET_CHILD_WITH_INODE,
++ DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE,
++ METHOD_MAKE_SHARED_MEMORY_SEGMENT,
++ DEPRECATED_METHOD_MATCH_WITH_FALLBACK,
++ };
++
++ // These form a bitmask which describes the conditions of the Linux sandbox.
++ // Note: this doesn't strictly give you the current status, it states
++ // what will be enabled when the relevant processes are initialized.
++ enum Status {
++ // SUID sandbox active.
++ kSUID = 1 << 0,
++
++ // Sandbox is using a new PID namespace.
++ kPIDNS = 1 << 1,
++
++ // Sandbox is using a new network namespace.
++ kNetNS = 1 << 2,
++
++ // seccomp-bpf sandbox active.
++ kSeccompBPF = 1 << 3,
++
++ // The Yama LSM module is present and enforcing.
++ kYama = 1 << 4,
++
++ // seccomp-bpf sandbox is active and the kernel supports TSYNC.
++ kSeccompTSYNC = 1 << 5,
++
++ // User namespace sandbox active.
++ kUserNS = 1 << 6,
++
++ // A flag that denotes an invalid sandbox status.
++ kInvalid = 1 << 31,
++ };
++
++ // SandboxLinux Options are a superset of SandboxSecompBPF Options.
++ struct Options : public SandboxSeccompBPF::Options {
++ // When running with a zygote, the namespace sandbox will have already
++ // been engaged prior to initializing SandboxLinux itself, and need not
++ // be done so again. Set to true to indicate that there isn't a zygote
++ // for this process and the step is to be performed here explicitly.
++ bool engage_namespace_sandbox = false;
++
++ // Allow starting the sandbox with multiple threads already running. This
++ // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy
++ // across all running threads.
++ bool allow_threads_during_sandbox_init = false;
++
++ // Enables the CHECK for open directories. The open directory check is only
++ // useful for the chroot jail (from the semantic layer of the sandbox), and
++ // can safely be disabled if we are only enabling the seccomp-BPF layer.
++ bool check_for_open_directories = true;
++ };
++
++ // Callers can provide this hook to run code right before the policy
++ // is passed to the BPF compiler and the sandbox is engaged. If
++ // pre_sandbox_hook() returns true, the sandbox will be engaged
++ // afterwards, otherwise the process is terminated.
++ using PreSandboxHook = base::OnceCallback<bool(Options)>;
++
++ // Get our singleton instance.
++ static SandboxLinux* GetInstance();
++
++ SandboxLinux(const SandboxLinux&) = delete;
++ SandboxLinux& operator=(const SandboxLinux&) = delete;
++
++ bool SetPledge(const char *pstring, const char *ppath);
++ bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type);
++
++ // Do some initialization that can only be done before any of the sandboxes
++ // are enabled. If using the setuid sandbox, this should be called manually
++ // before the setuid sandbox is engaged.
++ // Security: When this runs, it is imperative that either InitializeSandbox()
++ // runs as well or that all file descriptors returned in
++ // GetFileDescriptorsToClose() get closed.
++ // Otherwise file descriptors that bypass the security of the setuid sandbox
++ // would be kept open. One must be particularly careful if a process performs
++ // a fork().
++ void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type);
++
++ // Check that the current process is the init process of a new PID
++ // namespace and then proceed to drop access to the file system by using
++ // a new unprivileged namespace. This is a layer-1 sandbox.
++ // In order for this sandbox to be effective, it must be "sealed" by calling
++ // InitializeSandbox().
++ void EngageNamespaceSandbox(bool from_zygote);
++
++ // Return a list of file descriptors to close if PreinitializeSandbox() ran
++ // but InitializeSandbox() won't. Avoid using.
++ // TODO(jln): get rid of this hack.
++ std::vector<int> GetFileDescriptorsToClose();
++
++ // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with
++ // an adequate policy depending on the process type and command line
++ // arguments.
++ // Currently the layer-2 sandbox is composed of seccomp-bpf and address space
++ // limitations.
++ // This function should only be called without any thread running.
++ bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type,
++ PreSandboxHook hook,
++ const Options& options);
++
++ // Stop |thread| in a way that can be trusted by the sandbox.
++ void StopThread(base::Thread* thread);
++
++ // Returns the status of the renderer, worker and ppapi sandbox. Can only
++ // be queried after going through PreinitializeSandbox(). This is a bitmask
++ // and uses the constants defined in "enum Status" above. Since the
++ // status needs to be provided before the sandboxes are actually started,
++ // this returns what will actually happen once InitializeSandbox()
++ // is called from inside these processes.
++ int GetStatus();
++
++ static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type);
++
++ // Returns true if the current process is single-threaded or if the number
++ // of threads cannot be determined.
++ bool IsSingleThreaded() const;
++
++ // Returns true if we started Seccomp BPF.
++ bool seccomp_bpf_started() const;
++
++ // Check the policy and eventually start the seccomp-bpf sandbox. This should
++ // never be called with threads started. If we detect that threads have
++ // started we will crash.
++ bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type,
++ PreSandboxHook hook,
++ const Options& options);
++
++ // Limit the address space of the current process (and its children) to make
++ // some vulnerabilities harder to exploit. Writes the errno due to setrlimit
++ // (including 0 if no error) into |error|.
++ bool LimitAddressSpace(int* error);
++
++ // Returns a file descriptor to proc. The file descriptor is no longer valid
++ // after the sandbox has been sealed.
++ int proc_fd() const {
++ DCHECK_NE(-1, proc_fd_);
++ return proc_fd_;
++ }
++
++#if BUILDFLAG(USING_SANITIZER)
++ __sanitizer_sandbox_arguments* sanitizer_args() const {
++ return sanitizer_args_.get();
++ };
++#endif
++
++ // A BrokerProcess is a helper that is started before the sandbox is engaged,
++ // typically from a pre-sandbox hook, that will serve requests to access
++ // files over an IPC channel. The client of this runs from a SIGSYS handler
++ // triggered by the seccomp-bpf sandbox.
++ // |client_sandbox_policy| is the policy being run by the client, and is
++ // used to derive the equivalent broker-side policy.
++ // |broker_side_hook| is an alternate pre-sandbox hook to be run before the
++ // broker itself gets sandboxed, to which the broker side policy and
++ // |options| are passed.
++ // Crashes the process if the broker can not be started since continuation
++ // is impossible (and presumably unsafe).
++ // This should never be destroyed, as after the sandbox is started it is
++ // vital to the process.
++#if 0
++ void StartBrokerProcess(
++ const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set,
++ std::vector<sandbox::syscall_broker::BrokerFilePermission> permissions,
++ PreSandboxHook broker_side_hook,
++ const Options& options);
++
++ sandbox::syscall_broker::BrokerProcess* broker_process() const {
++ return broker_process_;
++ }
++#endif
++
++ private:
++ friend struct base::DefaultSingletonTraits<SandboxLinux>;
++
++ SandboxLinux();
++ ~SandboxLinux();
++
++ // We must have been pre_initialized_ before using these.
++ bool seccomp_bpf_supported() const;
++ bool seccomp_bpf_with_tsync_supported() const;
++
++ // Returns true if it can be determined that the current process has open
++ // directories that are not managed by the SandboxLinux class. This would
++ // be a vulnerability as it would allow to bypass the setuid sandbox.
++ bool HasOpenDirectories() const;
++
++ // The last part of the initialization is to make sure any temporary "hole"
++ // in the sandbox is closed. For now, this consists of closing proc_fd_.
++ void SealSandbox();
++
++ // GetStatus() makes promises as to how the sandbox will behave. This
++ // checks that no promises have been broken.
++ void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type);
++
++ // Stop |thread| and make sure it does not appear in /proc/self/tasks/
++ // anymore.
++ void StopThreadAndEnsureNotCounted(base::Thread* thread) const;
++
++ // A file descriptor to /proc. It's dangerous to have it around as it could
++ // allow for sandbox bypasses. It needs to be closed before we consider
++ // ourselves sandboxed.
++ int proc_fd_;
++
++ bool seccomp_bpf_started_;
++ // The value returned by GetStatus(). Gets computed once and then cached.
++ int sandbox_status_flags_;
++ // Did PreinitializeSandbox() run?
++ bool pre_initialized_;
++ bool seccomp_bpf_supported_; // Accurate if pre_initialized_.
++ bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_.
++ bool yama_is_enforcing_; // Accurate if pre_initialized_.
++ bool initialize_sandbox_ran_; // InitializeSandbox() was called.
++#if BUILDFLAG(USING_SANITIZER)
++ std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_;
++#endif
++ sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global.
++};
++
++} // namespace policy
++} // namespace sandbox
++
++#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_
diff --git a/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom
new file mode 100644
index 000000000000..eaf2f8ba6174
--- /dev/null
+++ b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom
@@ -0,0 +1,15 @@
+--- sandbox/policy/mojom/sandbox.mojom.orig 2022-02-07 13:39:41 UTC
++++ sandbox/policy/mojom/sandbox.mojom
+@@ -63,6 +63,12 @@ enum Sandbox {
+ [EnableIf=is_fuchsia]
+ kVideoCapture,
+
++ [EnableIf=is_openbsd]
++ kVideoCapture,
++
++ [EnableIf=is_freebsd]
++ kVideoCapture,
++
+ // Allows access to file contents and Windows APIs for parsing icons from PE
+ // files.
+ [EnableIf=is_win]
diff --git a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc
new file mode 100644
index 000000000000..8e6a040a0010
--- /dev/null
+++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc
@@ -0,0 +1,397 @@
+--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2022-02-07 13:39:41 UTC
++++ sandbox/policy/openbsd/sandbox_openbsd.cc
+@@ -0,0 +1,394 @@
++// 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 <dirent.h>
++#include <fcntl.h>
++#include <stdint.h>
++#include <sys/resource.h>
++#include <sys/stat.h>
++#include <sys/time.h>
++#include <sys/types.h>
++#include <unistd.h>
++#include <util.h>
++
++#include <limits>
++#include <memory>
++#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"
++#include "base/files/file_path.h"
++#include "base/files/file_util.h"
++#include "base/files/scoped_file.h"
++#include "base/logging.h"
++#include "base/memory/singleton.h"
++#include "base/path_service.h"
++#include "base/posix/eintr_wrapper.h"
++#include "base/strings/string_number_conversions.h"
++#include "base/system/sys_info.h"
++#include "base/time/time.h"
++#include "build/build_config.h"
++#include "sandbox/constants.h"
++#include "sandbox/linux/services/credentials.h"
++#include "sandbox/linux/services/namespace_sandbox.h"
++#include "sandbox/linux/services/proc_util.h"
++#include "sandbox/linux/services/resource_limits.h"
++#include "sandbox/linux/services/thread_helpers.h"
++#include "sandbox/linux/syscall_broker/broker_command.h"
++#include "sandbox/linux/syscall_broker/broker_process.h"
++#include "sandbox/policy/sandbox.h"
++#include "sandbox/policy/sandbox_type.h"
++#include "sandbox/policy/mojom/sandbox.mojom.h"
++#include "sandbox/policy/switches.h"
++#include "sandbox/sandbox_buildflags.h"
++
++#if BUILDFLAG(USING_SANITIZER)
++#include <sanitizer/common_interface_defs.h>
++#endif
++
++#if defined(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
++
++#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";
++
++namespace sandbox {
++namespace policy {
++
++SandboxLinux::SandboxLinux()
++ : sandbox_status_flags_(kInvalid),
++ pre_initialized_(false),
++ initialize_sandbox_ran_(false),
++ broker_process_(nullptr) {
++}
++
++SandboxLinux::~SandboxLinux() {
++ if (pre_initialized_) {
++ CHECK(initialize_sandbox_ran_);
++ }
++}
++
++SandboxLinux* SandboxLinux::GetInstance() {
++ SandboxLinux* instance = base::Singleton<SandboxLinux>::get();
++ CHECK(instance);
++ return instance;
++}
++
++void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) {
++ CHECK(!pre_initialized_);
++#if BUILDFLAG(USING_SANITIZER)
++ // Sanitizers need to open some resources before the sandbox is enabled.
++ // This should not fork, not launch threads, not open a directory.
++ __sanitizer_sandbox_on_notify(sanitizer_args());
++ sanitizer_args_.reset();
++#endif
++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
++ const std::string process_type =
++ command_line->GetSwitchValueASCII(switches::kProcessType);
++
++ base::SysInfo::AmountOfPhysicalMemory();
++ base::SysInfo::NumberOfProcessors();
++
++#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();
++#endif
++
++ // cache the XErrorDB by forcing a read on it
++ {
++ auto* connection = x11::Connection::Get();
++ auto* display = connection->GetXlibDisplay().display();
++
++ char buf[1];
++ XGetErrorDatabaseText(display, "XProtoError", "0", "", buf, base::size(buf));
++ }
++
++ if (process_type.empty()) {
++ base::FilePath cache_directory, local_directory;
++
++ base::PathService::Get(base::DIR_CACHE, &cache_directory);
++ base::PathService::Get(base::DIR_HOME, &local_directory);
++
++ 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 (process_type == switches::kRendererProcess)
++ gfx::InitializeFonts();
++
++ if (!command_line->HasSwitch(switches::kDisableUnveil))
++ SetUnveil(process_type, sandbox_type);
++
++ pre_initialized_ = true;
++}
++
++bool SandboxLinux::SetPledge(const char *pstring, const char *ppath) {
++ FILE *fp;
++ char *s = NULL;
++ size_t len = 0;
++ ssize_t read;
++
++ if (pstring != NULL) {
++ if (pledge(pstring, NULL) == -1)
++ goto err;
++ } else if (ppath != NULL) {
++ fp = fopen(ppath, "r");
++ if (fp != NULL) {
++ while ((read = getline(&s, &len, fp)) != -1 ) {
++ if (s[strlen(s)-1] == '\n')
++ s[strlen(s)-1] = '\0';
++ if (pledge(s, NULL) == -1)
++ goto err;
++ }
++ fclose(fp);
++ } else {
++ LOG(ERROR) << "fopen() failed, errno: " << errno;
++ return false;
++ }
++ }
++ return true;
++err:
++ LOG(ERROR) << "pledge() failed, errno: " << errno;
++ return false;
++}
++
++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 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) {
++ ufile = _UNVEIL_UTILITY_NETWORK;
++ } else if (sandbox_type == sandbox::mojom::Sandbox::kAudio) {
++ ufile = _UNVEIL_UTILITY_AUDIO;
++ } else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) {
++ ufile = _UNVEIL_UTILITY_VIDEO;
++ } else {
++ ufile = _UNVEIL_UTILITY;
++ }
++ }
++
++ fp = fopen(ufile, "r");
++ if (fp != NULL) {
++ while (!feof(fp)) {
++ if ((s = fparseln(fp, &len, &lineno, NULL,
++ FPARSELN_UNESCCOMM | FPARSELN_UNESCCONT)) == NULL) {
++ if (ferror(fp)) {
++ LOG(ERROR) << "ferror(), errno: " << errno;
++ _exit(1);
++ } else {
++ continue;
++ }
++ }
++ cp = s;
++ cp += strspn(cp, " \t\n"); /* eat whitespace */
++ if (cp[0] == '\0')
++ continue;
++
++ for (ap = tokens; ap < &tokens[MAXTOKENS - 1] &&
++ (*ap = strsep(&cp, " \t")) != NULL;) {
++ if (**ap != '\0')
++ ap++;
++ }
++ *ap = NULL;
++
++ if (tokens[1] == NULL) {
++ LOG(ERROR) << ufile << ": line " << lineno << ": must supply value to " << s;
++ _exit(1);
++ }
++
++ if (tokens[0][0] == '~') {
++ if ((home = getenv("HOME")) == NULL || *home == '\0') {
++ LOG(ERROR) << "failed to get home";
++ _exit(1);
++ }
++ memmove(tokens[0], tokens[0] + 1, strlen(tokens[0]));
++ strncpy(path, home, sizeof(path) - 1);
++ path[sizeof(path) - 1] = '\0';
++ strncat(path, tokens[0], sizeof(path) - 1 - strlen(path));
++ } else {
++ strncpy(path, tokens[0], sizeof(path) - 1);
++ path[sizeof(path) - 1] = '\0';
++ }
++
++ if (unveil(path, tokens[1]) == -1) {
++ LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1];
++ _exit(1);
++ } else {
++ VLOG(1) << "unveiling " << path << " with permissions " << tokens[1];
++ }
++ }
++ fclose(fp);
++ } else {
++ LOG(ERROR) << "failed to open " << ufile << " errno: " << errno;
++ _exit(1);
++ }
++
++ return true;
++}
++
++bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type,
++ SandboxLinux::PreSandboxHook hook,
++ const Options& options) {
++ DCHECK(!initialize_sandbox_ran_);
++ initialize_sandbox_ran_ = true;
++
++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
++ const std::string process_type =
++ command_line->GetSwitchValueASCII(switches::kProcessType);
++
++ if (command_line->HasSwitch(switches::kNoSandbox))
++ return true;
++
++ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type="
++ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type);
++
++ // Only one thread is running, pre-initialize if not already done.
++ if (!pre_initialized_)
++ PreinitializeSandbox(sandbox_type);
++
++ // Attempt to limit the future size of the address space of the process.
++ int error = 0;
++ const bool limited_as = LimitAddressSpace(&error);
++ if (error) {
++ // Restore errno. Internally to |LimitAddressSpace|, the errno due to
++ // setrlimit may be lost.
++ errno = error;
++ 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 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)
++ SetPledge(NULL, "/etc/chromium/pledge.utility_audio");
++ else if (sandbox_type == sandbox::mojom::Sandbox::kNetwork)
++ SetPledge(NULL, "/etc/chromium/pledge.utility_network");
++ else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture)
++ SetPledge(NULL, "/etc/chromium/pledge.utility_video");
++ else
++ SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL);
++ } else {
++ LOG(ERROR) << "non-pledge()'d process: " << process_type;
++ return false;
++ }
++
++ return true;
++}
++
++bool SandboxLinux::LimitAddressSpace(int* error) {
++#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \
++ !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER)
++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
++ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) {
++ return false;
++ }
++
++ // Unfortunately, it does not appear possible to set RLIMIT_AS such that it
++ // will both (a) be high enough to support V8's and WebAssembly's address
++ // space requirements while also (b) being low enough to mitigate exploits
++ // using integer overflows that require large allocations, heap spray, or
++ // other memory-hungry attack modes.
++
++ *error = sandbox::ResourceLimits::Lower(
++ RLIMIT_DATA, static_cast<rlim_t>(sandbox::kDataSizeLimit));
++
++ // Cache the resource limit before turning on the sandbox.
++ base::SysInfo::AmountOfVirtualMemory();
++ base::SysInfo::MaxSharedMemorySize();
++
++ return *error == 0;
++#else
++ base::SysInfo::AmountOfVirtualMemory();
++ return false;
++#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) &&
++ // !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
new file mode 100644
index 000000000000..25ac98d7be0c
--- /dev/null
+++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h
@@ -0,0 +1,281 @@
+--- sandbox/policy/openbsd/sandbox_openbsd.h.orig 2022-02-07 13:39:41 UTC
++++ sandbox/policy/openbsd/sandbox_openbsd.h
+@@ -0,0 +1,278 @@
++// Copyright (c) 2012 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++#ifndef SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_
++#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_
++
++#include <memory>
++#include <string>
++#include <vector>
++
++#include "base/logging.h"
++#include "base/posix/global_descriptors.h"
++#include "sandbox/policy/export.h"
++#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h"
++#include "sandbox/policy/mojom/sandbox.mojom.h"
++#include "sandbox/policy/sanitizer_buildflags.h"
++
++#if BUILDFLAG(USING_SANITIZER)
++#include <sanitizer/common_interface_defs.h>
++#endif
++
++namespace base {
++template <typename T>
++struct DefaultSingletonTraits;
++class Thread;
++} // namespace base
++
++namespace sandbox {
++namespace syscall_broker {
++class BrokerProcess;
++} // namespace syscall_broker
++} // namespace sandbox
++
++namespace sandbox {
++namespace policy {
++
++// A singleton class to represent and change our sandboxing state for the
++// three main Linux sandboxes.
++// The sandboxing model allows using two layers of sandboxing. The first layer
++// can be implemented either with unprivileged namespaces or with the setuid
++// sandbox. This class provides a way to engage the namespace sandbox, but does
++// not deal with the legacy setuid sandbox directly.
++// The second layer is mainly based on seccomp-bpf and is engaged with
++// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing"
++// the first layer of sandboxing. That is, InitializeSandbox must always be
++// called to have any meaningful sandboxing at all.
++class SANDBOX_POLICY_EXPORT SandboxLinux {
++ public:
++ // This is a list of sandbox IPC methods which the renderer may send to the
++ // sandbox host. See
++ // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md
++ // This isn't the full list, values < 32 are reserved for methods called from
++ // Skia, and values < 64 are reserved for libc_interceptor.cc.
++ enum LinuxSandboxIPCMethods {
++ DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64,
++ DEPRECATED_METHOD_GET_CHILD_WITH_INODE,
++ DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE,
++ METHOD_MAKE_SHARED_MEMORY_SEGMENT,
++ DEPRECATED_METHOD_MATCH_WITH_FALLBACK,
++ };
++
++ // These form a bitmask which describes the conditions of the Linux sandbox.
++ // Note: this doesn't strictly give you the current status, it states
++ // what will be enabled when the relevant processes are initialized.
++ enum Status {
++ // SUID sandbox active.
++ kSUID = 1 << 0,
++
++ // Sandbox is using a new PID namespace.
++ kPIDNS = 1 << 1,
++
++ // Sandbox is using a new network namespace.
++ kNetNS = 1 << 2,
++
++ // seccomp-bpf sandbox active.
++ kSeccompBPF = 1 << 3,
++
++ // The Yama LSM module is present and enforcing.
++ kYama = 1 << 4,
++
++ // seccomp-bpf sandbox is active and the kernel supports TSYNC.
++ kSeccompTSYNC = 1 << 5,
++
++ // User namespace sandbox active.
++ kUserNS = 1 << 6,
++
++ // A flag that denotes an invalid sandbox status.
++ kInvalid = 1 << 31,
++ };
++
++ // SandboxLinux Options are a superset of SandboxSecompBPF Options.
++ struct Options : public SandboxSeccompBPF::Options {
++ // When running with a zygote, the namespace sandbox will have already
++ // been engaged prior to initializing SandboxLinux itself, and need not
++ // be done so again. Set to true to indicate that there isn't a zygote
++ // for this process and the step is to be performed here explicitly.
++ bool engage_namespace_sandbox = false;
++
++ // Allow starting the sandbox with multiple threads already running. This
++ // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy
++ // across all running threads.
++ bool allow_threads_during_sandbox_init = false;
++
++ // Enables the CHECK for open directories. The open directory check is only
++ // useful for the chroot jail (from the semantic layer of the sandbox), and
++ // can safely be disabled if we are only enabling the seccomp-BPF layer.
++ bool check_for_open_directories = true;
++ };
++
++ // Callers can provide this hook to run code right before the policy
++ // is passed to the BPF compiler and the sandbox is engaged. If
++ // pre_sandbox_hook() returns true, the sandbox will be engaged
++ // afterwards, otherwise the process is terminated.
++ using PreSandboxHook = base::OnceCallback<bool(Options)>;
++
++ // Get our singleton instance.
++ static SandboxLinux* GetInstance();
++
++ SandboxLinux(const SandboxLinux&) = delete;
++ SandboxLinux& operator=(const SandboxLinux&) = delete;
++
++ bool SetPledge(const char *pstring, const char *ppath);
++ bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type);
++
++ // Do some initialization that can only be done before any of the sandboxes
++ // are enabled. If using the setuid sandbox, this should be called manually
++ // before the setuid sandbox is engaged.
++ // Security: When this runs, it is imperative that either InitializeSandbox()
++ // runs as well or that all file descriptors returned in
++ // GetFileDescriptorsToClose() get closed.
++ // Otherwise file descriptors that bypass the security of the setuid sandbox
++ // would be kept open. One must be particularly careful if a process performs
++ // a fork().
++ void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type);
++
++ // Check that the current process is the init process of a new PID
++ // namespace and then proceed to drop access to the file system by using
++ // a new unprivileged namespace. This is a layer-1 sandbox.
++ // In order for this sandbox to be effective, it must be "sealed" by calling
++ // InitializeSandbox().
++ void EngageNamespaceSandbox(bool from_zygote);
++
++ // Return a list of file descriptors to close if PreinitializeSandbox() ran
++ // but InitializeSandbox() won't. Avoid using.
++ // TODO(jln): get rid of this hack.
++ std::vector<int> GetFileDescriptorsToClose();
++
++ // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with
++ // an adequate policy depending on the process type and command line
++ // arguments.
++ // Currently the layer-2 sandbox is composed of seccomp-bpf and address space
++ // limitations.
++ // This function should only be called without any thread running.
++ bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type,
++ PreSandboxHook hook,
++ const Options& options);
++
++ // Stop |thread| in a way that can be trusted by the sandbox.
++ void StopThread(base::Thread* thread);
++
++ // Returns the status of the renderer, worker and ppapi sandbox. Can only
++ // be queried after going through PreinitializeSandbox(). This is a bitmask
++ // and uses the constants defined in "enum Status" above. Since the
++ // status needs to be provided before the sandboxes are actually started,
++ // this returns what will actually happen once InitializeSandbox()
++ // is called from inside these processes.
++ int GetStatus();
++
++ static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type);
++
++ // Returns true if the current process is single-threaded or if the number
++ // of threads cannot be determined.
++ bool IsSingleThreaded() const;
++
++ // Returns true if we started Seccomp BPF.
++ bool seccomp_bpf_started() const;
++
++ // Check the policy and eventually start the seccomp-bpf sandbox. This should
++ // never be called with threads started. If we detect that threads have
++ // started we will crash.
++ bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type,
++ PreSandboxHook hook,
++ const Options& options);
++
++ // Limit the address space of the current process (and its children) to make
++ // some vulnerabilities harder to exploit. Writes the errno due to setrlimit
++ // (including 0 if no error) into |error|.
++ bool LimitAddressSpace(int* error);
++
++ // Returns a file descriptor to proc. The file descriptor is no longer valid
++ // after the sandbox has been sealed.
++ int proc_fd() const {
++ DCHECK_NE(-1, proc_fd_);
++ return proc_fd_;
++ }
++
++#if BUILDFLAG(USING_SANITIZER)
++ __sanitizer_sandbox_arguments* sanitizer_args() const {
++ return sanitizer_args_.get();
++ };
++#endif
++
++ // A BrokerProcess is a helper that is started before the sandbox is engaged,
++ // typically from a pre-sandbox hook, that will serve requests to access
++ // files over an IPC channel. The client of this runs from a SIGSYS handler
++ // triggered by the seccomp-bpf sandbox.
++ // |client_sandbox_policy| is the policy being run by the client, and is
++ // used to derive the equivalent broker-side policy.
++ // |broker_side_hook| is an alternate pre-sandbox hook to be run before the
++ // broker itself gets sandboxed, to which the broker side policy and
++ // |options| are passed.
++ // Crashes the process if the broker can not be started since continuation
++ // is impossible (and presumably unsafe).
++ // This should never be destroyed, as after the sandbox is started it is
++ // vital to the process.
++#if 0
++ void StartBrokerProcess(
++ const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set,
++ std::vector<sandbox::syscall_broker::BrokerFilePermission> permissions,
++ PreSandboxHook broker_side_hook,
++ const Options& options);
++
++ sandbox::syscall_broker::BrokerProcess* broker_process() const {
++ return broker_process_;
++ }
++#endif
++
++ private:
++ friend struct base::DefaultSingletonTraits<SandboxLinux>;
++
++ SandboxLinux();
++ ~SandboxLinux();
++
++ // We must have been pre_initialized_ before using these.
++ bool seccomp_bpf_supported() const;
++ bool seccomp_bpf_with_tsync_supported() const;
++
++ // Returns true if it can be determined that the current process has open
++ // directories that are not managed by the SandboxLinux class. This would
++ // be a vulnerability as it would allow to bypass the setuid sandbox.
++ bool HasOpenDirectories() const;
++
++ // The last part of the initialization is to make sure any temporary "hole"
++ // in the sandbox is closed. For now, this consists of closing proc_fd_.
++ void SealSandbox();
++
++ // GetStatus() makes promises as to how the sandbox will behave. This
++ // checks that no promises have been broken.
++ void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type);
++
++ // Stop |thread| and make sure it does not appear in /proc/self/tasks/
++ // anymore.
++ void StopThreadAndEnsureNotCounted(base::Thread* thread) const;
++
++ // A file descriptor to /proc. It's dangerous to have it around as it could
++ // allow for sandbox bypasses. It needs to be closed before we consider
++ // ourselves sandboxed.
++ int proc_fd_;
++
++ bool seccomp_bpf_started_;
++ // The value returned by GetStatus(). Gets computed once and then cached.
++ int sandbox_status_flags_;
++ // Did PreinitializeSandbox() run?
++ bool pre_initialized_;
++ bool seccomp_bpf_supported_; // Accurate if pre_initialized_.
++ bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_.
++ bool yama_is_enforcing_; // Accurate if pre_initialized_.
++ bool initialize_sandbox_ran_; // InitializeSandbox() was called.
++#if BUILDFLAG(USING_SANITIZER)
++ std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_;
++#endif
++ sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global.
++};
++
++} // namespace policy
++} // namespace sandbox
++
++#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_
diff --git a/www/chromium/files/patch-sandbox_policy_sandbox.cc b/www/chromium/files/patch-sandbox_policy_sandbox.cc
index 8135427d7a88..7e2c8176a47b 100644
--- a/www/chromium/files/patch-sandbox_policy_sandbox.cc
+++ b/www/chromium/files/patch-sandbox_policy_sandbox.cc
@@ -1,35 +1,22 @@
---- sandbox/policy/sandbox.cc.orig 2022-01-20 10:36:01 UTC
+--- sandbox/policy/sandbox.cc.orig 2022-02-07 13:39:41 UTC
+++ sandbox/policy/sandbox.cc
-@@ -13,6 +13,10 @@
- #include "base/android/jni_android.h"
- #endif // defined(OS_ANDROID)
-
-+#if defined(OS_FREEBSD)
-+#include "sandbox/policy/freebsd/sandbox_freebsd.h"
-+#endif // defined(OS_FREEBSD)
-+
- #if defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -17,6 +17,10 @@
#include "sandbox/policy/linux/sandbox_linux.h"
#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-@@ -30,6 +34,12 @@
+
++#if defined(OS_BSD)
++#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#endif // defined(OS_BSD)
++
+ #if defined(OS_MAC)
+ #include "sandbox/mac/seatbelt.h"
+ #endif // defined(OS_MAC)
+@@ -30,7 +34,7 @@
namespace sandbox {
namespace policy {
-+#if defined(OS_FREEBSD)
-+bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type) {
-+ return SandboxFreeBSD::GetInstance()->InitializeSandbox(sandbox_type);
-+}
-+#endif // defined(OS_FREEBSD)
-+
- #if defined(OS_LINUX) || defined(OS_CHROMEOS)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type,
SandboxLinux::PreSandboxHook hook,
-@@ -90,6 +100,8 @@ bool Sandbox::IsProcessSandboxed() {
- base::android::MethodID::Get<base::android::MethodID::TYPE_STATIC>(
- env, process_class.obj(), "isIsolated", "()Z");
- return env->CallStaticBooleanMethod(process_class.obj(), is_isolated);
-+#elif defined(OS_FREEBSD)
-+ return SandboxFreeBSD::GetInstance()->IsSandboxed();
- #elif defined(OS_FUCHSIA)
- // TODO(https://crbug.com/1071420): Figure out what to do here. Process
- // launching controls the sandbox and there are no ambient capabilities, so
+ const SandboxLinux::Options& options) {
diff --git a/www/chromium/files/patch-sandbox_policy_sandbox.h b/www/chromium/files/patch-sandbox_policy_sandbox.h
index d8da02cb7e6d..a42cd1e2a453 100644
--- a/www/chromium/files/patch-sandbox_policy_sandbox.h
+++ b/www/chromium/files/patch-sandbox_policy_sandbox.h
@@ -1,24 +1,22 @@
---- sandbox/policy/sandbox.h.orig 2022-01-20 10:36:01 UTC
+--- sandbox/policy/sandbox.h.orig 2022-02-07 13:39:41 UTC
+++ sandbox/policy/sandbox.h
-@@ -8,6 +8,10 @@
- #include "build/build_config.h"
- #include "sandbox/policy/export.h"
-
-+#if defined(OS_FREEBSD)
-+#include "sandbox/policy/freebsd/sandbox_freebsd.h"
-+#endif
-+
- #if defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -12,6 +12,10 @@
#include "sandbox/policy/linux/sandbox_linux.h"
#endif
-@@ -32,6 +36,10 @@ namespace policy {
+
++#if defined(OS_BSD)
++#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#endif
++
+ namespace sandbox {
+ namespace mojom {
+ enum class Sandbox;
+@@ -32,7 +36,7 @@ namespace policy {
class SANDBOX_POLICY_EXPORT Sandbox {
public:
-+#if defined(OS_FREEBSD)
-+ static bool Initialize(sandbox::mojom::Sandbox sandbox_type);
-+#endif // defined(OS_FREEBSD)
-+
- #if defined(OS_LINUX) || defined(OS_CHROMEOS)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
static bool Initialize(sandbox::mojom::Sandbox sandbox_type,
SandboxLinux::PreSandboxHook hook,
+ const SandboxLinux::Options& options);
diff --git a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc
new file mode 100644
index 000000000000..0a1bbbaa267c
--- /dev/null
+++ b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc
@@ -0,0 +1,38 @@
+--- sandbox/policy/sandbox_type.cc.orig 2022-02-07 13:39:41 UTC
++++ sandbox/policy/sandbox_type.cc
+@@ -39,7 +39,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
+ #endif
+ case Sandbox::kAudio:
+ return false;
+-#if defined(OS_FUCHSIA)
++#if defined(OS_FUCHSIA) || defined(OS_BSD)
+ case Sandbox::kVideoCapture:
+ return false;
+ #endif
+@@ -120,7 +120,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+ #endif
+ case Sandbox::kPrintCompositor:
+ case Sandbox::kAudio:
+-#if defined(OS_FUCHSIA)
++#if defined(OS_FUCHSIA) || defined(OS_BSD)
+ case Sandbox::kVideoCapture:
+ #endif
+ #if defined(OS_WIN)
+@@ -248,7 +248,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+ return switches::kUtilitySandbox;
+ case Sandbox::kAudio:
+ return switches::kAudioSandbox;
+-#if defined(OS_FUCHSIA)
++#if defined(OS_FUCHSIA) || defined(OS_BSD)
+ case Sandbox::kVideoCapture:
+ return switches::kVideoCaptureSandbox;
+ #endif
+@@ -352,7 +352,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
+ return Sandbox::kAudio;
+ if (sandbox_string == switches::kSpeechRecognitionSandbox)
+ return Sandbox::kSpeechRecognition;
+-#if defined(OS_FUCHSIA)
++#if defined(OS_FUCHSIA) || defined(OS_BSD)
+ if (sandbox_string == switches::kVideoCaptureSandbox)
+ return Sandbox::kVideoCapture;
+ #endif
diff --git a/www/chromium/files/patch-sandbox_policy_switches.cc b/www/chromium/files/patch-sandbox_policy_switches.cc
index 32d8091cf263..4c98bdb90be3 100644
--- a/www/chromium/files/patch-sandbox_policy_switches.cc
+++ b/www/chromium/files/patch-sandbox_policy_switches.cc
@@ -1,10 +1,12 @@
---- sandbox/policy/switches.cc.orig 2021-12-31 00:57:38 UTC
+--- sandbox/policy/switches.cc.orig 2022-02-07 13:39:41 UTC
+++ sandbox/policy/switches.cc
-@@ -93,7 +93,7 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f
+@@ -94,7 +94,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";
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++const char kDisableUnveil[] = "disable-unveil";
++
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
// Instructs the zygote to launch without a sandbox. Processes forked from this
// type of zygote will apply their own custom sandboxes later.
diff --git a/www/chromium/files/patch-sandbox_policy_switches.h b/www/chromium/files/patch-sandbox_policy_switches.h
index 523874024a2e..3c7d2f4b4f43 100644
--- a/www/chromium/files/patch-sandbox_policy_switches.h
+++ b/www/chromium/files/patch-sandbox_policy_switches.h
@@ -1,10 +1,11 @@
---- sandbox/policy/switches.h.orig 2021-12-31 00:57:38 UTC
+--- sandbox/policy/switches.h.orig 2022-02-07 13:39:41 UTC
+++ sandbox/policy/switches.h
-@@ -69,7 +69,7 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid
+@@ -70,7 +70,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[];
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++SANDBOX_POLICY_EXPORT extern const char kDisableUnveil[];
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
SANDBOX_POLICY_EXPORT extern const char kNoZygoteSandbox[];
#endif
diff --git a/www/chromium/files/patch-services_audio_BUILD.gn b/www/chromium/files/patch-services_audio_BUILD.gn
deleted file mode 100644
index 71ae1448dccc..000000000000
--- a/www/chromium/files/patch-services_audio_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/audio/BUILD.gn.orig 2021-12-31 00:57:38 UTC
-+++ services/audio/BUILD.gn
-@@ -90,7 +90,7 @@ source_set("audio") {
- "//services/audio/public/mojom",
- ]
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "audio_sandbox_hook_linux.cc",
- "audio_sandbox_hook_linux.h",
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
new file mode 100644
index 000000000000..1cef871d0556
--- /dev/null
+++ b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc
@@ -0,0 +1,31 @@
+--- services/audio/audio_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC
++++ services/audio/audio_sandbox_hook_linux.cc
+@@ -143,6 +143,7 @@ void AddPulseAudioFilePermissions(
+ }
+ #endif
+
++#if !defined(OS_BSD)
+ std::vector<BrokerFilePermission> GetAudioFilePermissions() {
+ std::vector<BrokerFilePermission> permissions{
+ BrokerFilePermission::ReadOnly("/dev/urandom"),
+@@ -171,10 +172,12 @@ void LoadAudioLibraries() {
+ }
+ }
+ }
++#endif
+
+ } // namespace
+
+ bool AudioPreSandboxHook(sandbox::policy::SandboxLinux::Options options) {
++#if !defined(OS_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
+ // enabled, connect() on pulse native socket fails with ENOENT (called from
+ // pa_context_connect).
++#endif
+
+ return true;
+ }
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
new file mode 100644
index 000000000000..9752d8bc1437
--- /dev/null
+++ b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h
@@ -0,0 +1,14 @@
+--- services/audio/audio_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
++++ services/audio/audio_sandbox_hook_linux.h
+@@ -5,7 +5,11 @@
+ #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"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+
+ namespace audio {
+
diff --git a/www/chromium/files/patch-services_device_hid_BUILD.gn b/www/chromium/files/patch-services_device_hid_BUILD.gn
index 257b629e5387..8daba5b6e471 100644
--- a/www/chromium/files/patch-services_device_hid_BUILD.gn
+++ b/www/chromium/files/patch-services_device_hid_BUILD.gn
@@ -1,10 +1,20 @@
---- services/device/hid/BUILD.gn.orig 2021-04-14 18:41:08 UTC
+--- services/device/hid/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ services/device/hid/BUILD.gn
-@@ -45,6 +45,15 @@ source_set("hid") {
- deps += [ "//device/udev_linux" ]
- }
+@@ -33,6 +33,25 @@ source_set("hid") {
+ "//services/device/public/mojom",
+ ]
-+ if (is_bsd) {
++ if (is_openbsd) {
++ sources += [
++ "hid_connection_fido.cc",
++ "hid_connection_fido.h",
++ "hid_service_fido.cc",
++ "hid_service_fido.h",
++ ]
++ libs = ["fido2", "cbor", "usbhid", "crypto", "util"]
++ }
++
++ if (is_freebsd) {
+ sources += [
+ "hid_connection_freebsd.cc",
+ "hid_connection_freebsd.h",
@@ -13,6 +23,6 @@
+ ]
+ }
+
- if (is_chromeos_ash) {
- deps += [ "//chromeos/dbus/permission_broker" ]
- }
+ if ((is_linux || is_chromeos) && use_udev) {
+ sources += [
+ "hid_connection_linux.cc",
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
new file mode 100644
index 000000000000..5a6ded090276
--- /dev/null
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc
@@ -0,0 +1,201 @@
+--- services/device/hid/hid_connection_fido.cc.orig 2022-02-07 13:39:41 UTC
++++ services/device/hid/hid_connection_fido.cc
+@@ -0,0 +1,198 @@
++// Copyright (c) 2020 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 "services/device/hid/hid_connection_fido.h"
++
++#include "base/bind.h"
++#include "base/files/file_descriptor_watcher_posix.h"
++#include "base/location.h"
++#include "base/numerics/safe_math.h"
++#include "base/posix/eintr_wrapper.h"
++#include "base/task/post_task.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)
++ : 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()) {
++ DETACH_FROM_SEQUENCE(sequence_checker_);
++ }
++
++ BlockingTaskHelper(const BlockingTaskHelper&) = delete;
++ BlockingTaskHelper& operator=(const BlockingTaskHelper&) = delete;
++
++ ~BlockingTaskHelper() { 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)));
++ }
++
++ void Write(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);
++
++ auto data = buffer->front();
++ size_t size = buffer->size();
++ // if report id is 0, it shouldn't be included
++ if (data[0] == 0) {
++ data++;
++ 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;
++ }
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), success));
++ }
++
++ void GetFeatureReport(uint8_t report_id,
++ scoped_refptr<base::RefCountedBytes> buffer,
++ ReadCallback callback) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++ HID_PLOG(EVENT) << "GendFeatureReport not implemented on OpenBSD";
++ origin_task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(std::move(callback), false, nullptr, 0));
++ }
++
++ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ HID_PLOG(EVENT) << "SendFeatureReport not implemented on OpenBSD";
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), false));
++ }
++
++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();
++ 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.
++ *data++ = 0;
++ length--;
++ }
++
++ ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length));
++ if (bytes_read < 0) {
++ if (errno != EAGAIN) {
++ HID_PLOG(EVENT) << "Read failed";
++ // This assumes that the error is unrecoverable and disables reading
++ // from the device until it has been re-opened.
++ // TODO(reillyg): Investigate starting and stopping the file descriptor
++ // watcher in response to pending read requests so that per-request
++ // errors can be returned to the client.
++ file_watcher_.reset();
++ }
++ return;
++ }
++ if (!has_report_id_) {
++ // Behave as if the byte prefixed above as the the report ID was read.
++ bytes_read++;
++ }
++
++ origin_task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(&HidConnectionFido::ProcessInputReport,
++ connection_, buffer, bytes_read));
++ }
++
++ SEQUENCE_CHECKER(sequence_checker_);
++ base::ScopedFD fd_;
++ const size_t report_buffer_size_;
++ const 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<base::SequencedTaskRunner> blocking_task_runner,
++ 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())) {
++ blocking_task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Start,
++ base::Unretained(helper_.get())));
++}
++
++HidConnectionFido::~HidConnectionFido() = default;
++
++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());
++}
++
++void HidConnectionFido::PlatformWrite(
++ scoped_refptr<base::RefCountedBytes> buffer, WriteCallback callback) {
++ blocking_task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Write,
++ base::Unretained(helper_.get()), buffer,
++ std::move(callback)));
++}
++
++void HidConnectionFido::PlatformGetFeatureReport(uint8_t report_id,
++ 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;
++
++ blocking_task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::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);
++ blocking_task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::SendFeatureReport,
++ base::Unretained(helper_.get()), buffer,
++ std::move(callback)));
++}
++
++} // 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
new file mode 100644
index 000000000000..a491864edae6
--- /dev/null
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__fido.h
@@ -0,0 +1,60 @@
+--- services/device/hid/hid_connection_fido.h.orig 2022-02-07 13:39:41 UTC
++++ services/device/hid/hid_connection_fido.h
+@@ -0,0 +1,57 @@
++// Copyright (c) 2020 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_
++#define SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_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 "services/device/hid/hid_connection.h"
++
++namespace device {
++
++class HidConnectionFido : public HidConnection {
++public:
++ HidConnectionFido(
++ scoped_refptr<HidDeviceInfo> device_info, base::ScopedFD fd,
++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
++ bool allow_protected_reports, bool allow_fido_reports);
++
++private:
++ friend class base::RefCountedThreadSafe<HidConnectionFido>;
++ class BlockingTaskHelper;
++
++ HidConnectionFido(const HidConnectionFido&) = delete;
++ HidConnectionFido& operator=(const HidConnectionFido&) = delete;
++
++ ~HidConnectionFido() override;
++
++ // HidConnection implementation.
++ void PlatformClose() override;
++ void PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) override;
++ void PlatformGetFeatureReport(uint8_t report_id,
++ ReadCallback callback) override;
++ 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_;
++};
++
++} // namespace device
++
++#endif // SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_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 16272e035e1f..bdb73b369068 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-01-21 12:26:39 UTC
+--- services/device/hid/hid_connection_freebsd.cc.orig 2022-02-07 13:39:41 UTC
+++ services/device/hid/hid_connection_freebsd.cc
-@@ -0,0 +1,242 @@
+@@ -0,0 +1,243 @@
+// 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.
@@ -40,6 +40,9 @@
+ has_report_id_ = device_info->has_report_id();
+ }
+
++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete;
++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete;
++
+ ~BlockingTaskRunnerHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); }
+
+ // Starts the FileDescriptorWatcher that reads input events from the device.
@@ -175,8 +178,6 @@
+ base::WeakPtr<HidConnectionFreeBSD> connection_;
+ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_;
+ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
-+
-+ DISALLOW_COPY_AND_ASSIGN(BlockingTaskRunnerHelper);
+};
+
+HidConnectionFreeBSD::HidConnectionFreeBSD(
diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h
index 629f888b4fce..29870254fa6b 100644
--- a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h
@@ -1,4 +1,4 @@
---- services/device/hid/hid_connection_freebsd.h.orig 2022-01-21 12:26:39 UTC
+--- services/device/hid/hid_connection_freebsd.h.orig 2022-02-07 13:39:41 UTC
+++ services/device/hid/hid_connection_freebsd.h
@@ -0,0 +1,67 @@
+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
@@ -12,7 +12,6 @@
+#include <stdint.h>
+
+#include "base/files/scoped_file.h"
-+#include "base/macros.h"
+#include "base/memory/weak_ptr.h"
+#include "base/memory/ref_counted_memory.h"
+#include "base/task/sequenced_task_runner.h"
@@ -41,6 +40,9 @@
+ friend class base::RefCountedThreadSafe<HidConnectionFreeBSD>;
+ class BlockingTaskRunnerHelper;
+
++ HidConnectionFreeBSD(const HidConnectionFreeBSD&) = delete;
++ HidConnectionFreeBSD& operator=(const HidConnectionFreeBSD&) = delete;
++
+ ~HidConnectionFreeBSD() override;
+
+ // HidConnection implementation.
@@ -61,8 +63,6 @@
+ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
+
+ base::WeakPtrFactory<HidConnectionFreeBSD> weak_factory_{this};
-+
-+ DISALLOW_COPY_AND_ASSIGN(HidConnectionFreeBSD);
+};
+
+} // namespace device
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 2b5f535f82d7..318ed19b3b68 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__service.cc
@@ -1,18 +1,22 @@
---- services/device/hid/hid_service.cc.orig 2021-05-12 22:05:58 UTC
+--- services/device/hid/hid_service.cc.orig 2022-02-07 13:39:41 UTC
+++ services/device/hid/hid_service.cc
-@@ -18,6 +18,8 @@
+@@ -18,6 +18,10 @@
#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_UDEV)
#include "services/device/hid/hid_service_linux.h"
++#elif defined(OS_OPENBSD)
++#include "services/device/hid/hid_service_fido.h"
+#elif defined(OS_FREEBSD)
+#include "services/device/hid/hid_service_freebsd.h"
#elif defined(OS_MAC)
#include "services/device/hid/hid_service_mac.h"
#elif defined(OS_WIN)
-@@ -61,6 +63,8 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr
+@@ -61,6 +65,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr
std::unique_ptr<HidService> HidService::Create() {
#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_UDEV)
return base::WrapUnique(new HidServiceLinux());
++#elif defined(OS_OPENBSD)
++ return base::WrapUnique(new HidServiceFido());
+#elif defined(OS_FREEBSD)
+ return base::WrapUnique(new HidServiceFreeBSD());
#elif defined(OS_MAC)
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
new file mode 100644
index 000000000000..35dc50e5e425
--- /dev/null
+++ b/www/chromium/files/patch-services_device_hid_hid__service__fido.cc
@@ -0,0 +1,331 @@
+--- services/device/hid/hid_service_fido.cc.orig 2022-02-07 13:39:41 UTC
++++ services/device/hid/hid_service_fido.cc
+@@ -0,0 +1,328 @@
++// Copyright 2020 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 "services/device/hid/hid_service_fido.h"
++
++#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 <fido.h>
++}
++
++#include <set>
++#include <string>
++#include <vector>
++
++#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/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/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/post_task.h"
++#include "base/threading/scoped_blocking_call.h"
++#include "base/threading/thread_task_runner_handle.h"
++#include "components/device_event_log/device_event_log.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;
++ struct pollfd pfd;
++
++ for (i = 0; i < 4; i++) {
++ memset(data, 0, sizeof(data));
++ /* broadcast channel ID */
++ data[1] = 0xff;
++ data[2] = 0xff;
++ data[3] = 0xff;
++ data[4] = 0xff;
++ /* Ping command */
++ data[5] = 0x81;
++ /* One byte ping only, Vasili */
++ data[6] = 0;
++ data[7] = 1;
++ HID_LOG(EVENT) << "send ping " << i << " " << path;
++ if (write(fd, data, 64) == -1) {
++ HID_PLOG(ERROR) << "write " << path;
++ return false;
++ }
++ HID_LOG(EVENT) << "wait reply " << path;
++ memset(&pfd, 0, sizeof(pfd));
++ pfd.fd = fd;
++ pfd.events = POLLIN;
++ if ((n = poll(&pfd, 1, 100)) == -1) {
++ HID_PLOG(EVENT) << "poll " << path;
++ return false;
++ } else if (n == 0) {
++ HID_LOG(EVENT) << "timed out " << path;
++ continue;
++ }
++ if (read(fd, data, 64) == -1) {
++ HID_PLOG(ERROR) << "read " << path;
++ return false;
++ }
++ /*
++ * Ping isn't always supported on the broadcast channel,
++ * so we might get an error, but we don't care - we're
++ * synched now.
++ */
++ HID_LOG(EVENT) << "got reply " << path;
++ return true;
++ }
++ HID_LOG(ERROR) << "no response " << path;
++ 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)
++// devices prohibit USB_GET_REPORT_DESC ioctl that could be used to
++// get the bytes from the USB device.
++constexpr uint8_t kU2fReportDesc[] = {
++ 0x06, 0xD0, 0xF1, /* Usage Page (FIDO Alliance), FIDO_USAGE_PAGE */
++ 0x09, 0x01, /* Usage (U2F HID Auth. Device) FIDO_USAGE_U2FHID */
++ 0xA1, 0x01, /* Collection (Application), HID_APPLICATION */
++ 0x09, 0x20, /* Usage (Input Report Data), FIDO_USAGE_DATA_IN */
++ 0x15, 0x00, /* Logical Minimum (0) */
++ 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
++ 0x75, 0x08, /* Report Size (8) */
++ 0x95, 0x40, /* Report Count (64), HID_INPUT_REPORT_BYTES */
++ 0x81, 0x02, /* Input (Data, Var, Abs), Usage */
++ 0x09, 0x21, /* Usage (Output Report Data), FIDO_USAGE_DATA_OUT */
++ 0x15, 0x00, /* Logical Minimum (0) */
++ 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
++ 0x75, 0x08, /* Report Size (8) */
++ 0x95, 0x40, /* Report Count (64), HID_OUTPUT_REPORT_BYTES */
++ 0x91, 0x02, /* Output (Data, Var, Abs), Usage */
++ 0xC0 /* End Collection */
++};
++
++} // namespace
++
++class HidServiceFido::BlockingTaskHelper {
++public:
++ BlockingTaskHelper(base::WeakPtr<HidServiceFido> service)
++ : service_(std::move(service)),
++ task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ DETACH_FROM_SEQUENCE(sequence_checker_);
++ }
++
++ BlockingTaskHelper(const BlockingTaskHelper&) = delete;
++ BlockingTaskHelper& operator=(const BlockingTaskHelper&) = delete;
++
++ ~BlockingTaskHelper() = default;
++
++ void Start() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++
++ fido_dev_info_t *devlist = NULL;
++ fido_dev_t *dev = NULL;
++ size_t devlist_len = 0, i;
++ const char *path;
++ int r;
++ const int MAX_FIDO_DEVICES = 256;
++
++ if ((devlist = fido_dev_info_new(MAX_FIDO_DEVICES)) == NULL) {
++ HID_LOG(ERROR) << "fido_dev_info_new failed";
++ goto out;
++ }
++ if ((r = fido_dev_info_manifest(devlist, MAX_FIDO_DEVICES, &devlist_len)) !=
++ FIDO_OK) {
++ HID_LOG(ERROR) << "fido_dev_info_manifest: " << fido_strerr(r);
++ goto out;
++ }
++
++ HID_LOG(EVENT) << "fido_dev_info_manifest found " << devlist_len
++ << " device(s)";
++
++ 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;
++ }
++ 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);
++ }
++
++ 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) {
++ 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::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),
++ 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));
++
++ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::AddDevice,
++ service_, device_info));
++ }
++
++ void OnDeviceRemoved(std::string device_node) {
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::RemoveDevice,
++ service_, device_node));
++ }
++
++private:
++ SEQUENCE_CHECKER(sequence_checker_);
++
++ // This weak pointer is only valid when checked on this task runner.
++ base::WeakPtr<HidServiceFido> service_;
++ scoped_refptr<base::SequencedTaskRunner> task_runner_;
++};
++
++HidServiceFido::HidServiceFido()
++ : task_runner_(base::ThreadTaskRunnerHandle::Get()),
++ blocking_task_runner_(
++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)),
++ weak_factory_(this), helper_(std::make_unique<BlockingTaskHelper>(
++ weak_factory_.GetWeakPtr())) {
++ blocking_task_runner_->PostTask(
++ FROM_HERE,
++ base::BindOnce(&BlockingTaskHelper::Start, base::Unretained(helper_.get())));
++}
++
++HidServiceFido::~HidServiceFido() {
++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
++}
++
++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) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++
++ const auto &map_entry = devices().find(device_guid);
++ if (map_entry == devices().end()) {
++ base::ThreadTaskRunnerHandle::Get()->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));
++
++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner =
++ params->blocking_task_runner;
++ blocking_task_runner->PostTask(
++ FROM_HERE, base::BindOnce(&OpenOnBlockingThread, std::move(params)));
++}
++
++} // 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
new file mode 100644
index 000000000000..77e12e42fe1c
--- /dev/null
+++ b/www/chromium/files/patch-services_device_hid_hid__service__fido.h
@@ -0,0 +1,46 @@
+--- services/device/hid/hid_service_fido.h.orig 2022-02-07 13:39:41 UTC
++++ services/device/hid/hid_service_fido.h
+@@ -0,0 +1,43 @@
++// Copyright 2020 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_
++#define SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_
++
++#include <string>
++
++#include "base/memory/ref_counted.h"
++#include "base/memory/weak_ptr.h"
++#include "services/device/hid/hid_service.h"
++
++namespace device {
++
++class HidServiceFido : public HidService {
++public:
++ HidServiceFido();
++
++ HidServiceFido(const HidServiceFido&) = delete;
++ HidServiceFido& operator=(const HidServiceFido&) = delete;
++
++ ~HidServiceFido() override;
++
++ void Connect(const std::string &device_guid,
++ bool allow_protected_reports,
++ bool allow_fido_reports,
++ ConnectCallback connect) override;
++ base::WeakPtr<HidService> GetWeakPtr() override;
++
++private:
++ class BlockingTaskHelper;
++ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
++ 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_;
++};
++
++} // namespace device
++
++#endif // SERVICE_DEVICE_HID_HID_SERVICE_FIDO_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 5fb514063ce8..e04b2eb9c670 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-01-21 12:26:39 UTC
+--- services/device/hid/hid_service_freebsd.cc.orig 2022-02-07 13:39:41 UTC
+++ services/device/hid/hid_service_freebsd.cc
-@@ -0,0 +1,397 @@
+@@ -0,0 +1,398 @@
+// 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.
@@ -77,6 +77,9 @@
+ devd_buffer_ = new net::IOBufferWithSize(1024);
+ }
+
++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete;
++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete;
++
+ ~BlockingTaskRunnerHelper() {
+ }
+
@@ -305,8 +308,6 @@
+ base::ScopedFD devd_fd_;
+ scoped_refptr<net::IOBufferWithSize> devd_buffer_;
+ std::map<std::string, int> permissions_checks_attempts_;
-+
-+ DISALLOW_COPY_AND_ASSIGN(BlockingTaskRunnerHelper);
+};
+
+HidServiceFreeBSD::HidServiceFreeBSD()
diff --git a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.h b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.h
index ac4c0de00842..b60d2fc84553 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.h
+++ b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.h
@@ -1,6 +1,6 @@
---- services/device/hid/hid_service_freebsd.h.orig 2021-09-29 12:19:04 UTC
+--- services/device/hid/hid_service_freebsd.h.orig 2022-02-07 13:39:41 UTC
+++ services/device/hid/hid_service_freebsd.h
-@@ -0,0 +1,48 @@
+@@ -0,0 +1,49 @@
+// 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.
@@ -10,7 +10,6 @@
+
+#include <string>
+
-+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "base/memory/weak_ptr.h"
+#include "base/timer/timer.h"
@@ -22,6 +21,10 @@
+class HidServiceFreeBSD : public HidService {
+ public:
+ HidServiceFreeBSD();
++
++ HidServiceFreeBSD(const HidServiceFreeBSD&) = delete;
++ HidServiceFreeBSD& operator=(const HidServiceFreeBSD&) = delete;
++
+ ~HidServiceFreeBSD() override;
+
+ void Connect(const std::string& device_guid,
@@ -42,8 +45,6 @@
+ // a weak reference back to the service that owns it.
+ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_;
+ base::WeakPtrFactory<HidServiceFreeBSD> weak_factory_{this};
-+
-+ DISALLOW_COPY_AND_ASSIGN(HidServiceFreeBSD);
+};
+
+} // namespace device
diff --git a/www/chromium/files/patch-services_device_serial_BUILD.gn b/www/chromium/files/patch-services_device_serial_BUILD.gn
index 64ef9e9296cf..90d8884067c7 100644
--- a/www/chromium/files/patch-services_device_serial_BUILD.gn
+++ b/www/chromium/files/patch-services_device_serial_BUILD.gn
@@ -1,11 +1,16 @@
---- services/device/serial/BUILD.gn.orig 2021-04-14 18:41:08 UTC
+--- services/device/serial/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ services/device/serial/BUILD.gn
-@@ -5,7 +5,7 @@
- import("//build/config/chromeos/ui_mode.gni")
- import("//build/config/features.gni")
+@@ -83,6 +83,13 @@ if (is_win || ((is_linux || is_chromeos) && use_udev)
+ ]
+ }
--if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac) {
-+if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_bsd) {
- config("platform_support") {
- visibility = [ ":serial" ]
- if (is_win) {
++ if (is_bsd) {
++ sources -= [
++ "serial_device_enumerator_linux.cc",
++ "serial_device_enumerator_linux.h"
++ ]
++ }
++
+ if (use_udev) {
+ deps += [ "//device/udev_linux" ]
+ }
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 fd38b04c98cf..6ce65c30d344 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,17 +1,6 @@
---- services/device/serial/serial_io_handler_posix.cc.orig 2021-04-14 18:41:08 UTC
+--- services/device/serial/serial_io_handler_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ services/device/serial/serial_io_handler_posix.cc
-@@ -38,6 +38,10 @@ struct termios2 {
-
- #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-
-+#if defined(OS_BSD)
-+#include <sys/serial.h>
-+#endif
-+
- #if defined(OS_MAC)
- #include <IOKit/serial/ioss.h>
- #endif
-@@ -68,7 +72,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
+@@ -68,7 +68,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
BITRATE_TO_SPEED_CASE(9600)
BITRATE_TO_SPEED_CASE(19200)
BITRATE_TO_SPEED_CASE(38400)
diff --git a/www/chromium/files/patch-services_device_usb_BUILD.gn b/www/chromium/files/patch-services_device_usb_BUILD.gn
index 88ee0060a6f2..5feccc6d00b6 100644
--- a/www/chromium/files/patch-services_device_usb_BUILD.gn
+++ b/www/chromium/files/patch-services_device_usb_BUILD.gn
@@ -1,11 +1,38 @@
---- services/device/usb/BUILD.gn.orig 2021-12-14 11:45:09 UTC
+--- services/device/usb/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ services/device/usb/BUILD.gn
-@@ -151,7 +151,7 @@ static_library("usb") {
+@@ -102,15 +102,17 @@ 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",
++ ]
++ }
+
+ # These sources and deps are required for libusb.
+ # TODO(https://crbug.com/1096743) Remove these sources.
+@@ -151,7 +153,7 @@ static_library("usb") {
deps += [ "//device/udev_linux" ]
}
- if (is_android || is_chromeos || is_linux) {
-+ if ((is_android || is_chromeos || is_linux) && !is_bsd) {
++ if (is_android || is_chromeos || is_linux && !is_bsd) {
sources += [
"usb_device_handle_usbfs.cc",
"usb_device_handle_usbfs.h",
diff --git a/www/chromium/files/patch-services_network_BUILD.gn b/www/chromium/files/patch-services_network_BUILD.gn
index 92249d84b192..f1882501ec19 100644
--- a/www/chromium/files/patch-services_network_BUILD.gn
+++ b/www/chromium/files/patch-services_network_BUILD.gn
@@ -1,20 +1,10 @@
---- services/network/BUILD.gn.orig 2021-12-31 00:57:38 UTC
+--- services/network/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ services/network/BUILD.gn
-@@ -255,7 +255,7 @@ component("network_service") {
- "//url",
- ]
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [ ":network_sandbox_hook" ]
+@@ -311,7 +311,6 @@ if (is_linux || is_chromeos) {
+ ]
+ deps = [
+ "//base:base",
+- "//sandbox/linux:sandbox_services",
+ "//sandbox/policy:policy",
+ ]
}
-
-@@ -299,7 +299,7 @@ component("network_service") {
- defines = [ "IS_NETWORK_SERVICE_IMPL" ]
- }
-
--if (is_linux || is_chromeos) {
-+if ((is_linux || is_chromeos) && !is_bsd) {
- source_set("network_sandbox_hook") {
- sources = [
- "network_sandbox_hook_linux.cc",
diff --git a/www/chromium/files/patch-services_network_network__context.cc b/www/chromium/files/patch-services_network_network__context.cc
index 4c4d10928afd..f37c6d4b0aa9 100644
--- a/www/chromium/files/patch-services_network_network__context.cc
+++ b/www/chromium/files/patch-services_network_network__context.cc
@@ -1,6 +1,6 @@
---- services/network/network_context.cc.orig 2021-12-31 00:57:38 UTC
+--- services/network/network_context.cc.orig 2022-02-07 13:39:41 UTC
+++ services/network/network_context.cc
-@@ -2503,7 +2503,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const
+@@ -2544,7 +2544,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const
net::CookieCryptoDelegate* crypto_delegate = nullptr;
if (params_->enable_encrypted_cookies) {
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 e91ce1f04653..d5deac2ffc7d 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,4 +1,4 @@
---- services/network/network_sandbox_hook_linux.cc.orig 2021-05-12 22:05:58 UTC
+--- services/network/network_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ services/network/network_sandbox_hook_linux.cc
@@ -32,6 +32,7 @@ std::vector<BrokerFilePermission> GetNetworkFilePermis
}
@@ -12,7 +12,7 @@
sandbox::policy::SandboxLinux::PreSandboxHook(), options);
instance->EngageNamespaceSandboxIfPossible();
-+#endif // defined(OS_BSD)
++#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
new file mode 100644
index 000000000000..169fa0c9707c
--- /dev/null
+++ b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.h
@@ -0,0 +1,14 @@
+--- services/network/network_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
++++ services/network/network_sandbox_hook_linux.h
+@@ -10,7 +10,11 @@
+ #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"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+
+ namespace network {
+
diff --git a/www/chromium/files/patch-services_network_network__service.cc b/www/chromium/files/patch-services_network_network__service.cc
index 3baf297d1959..d1601bd73ed2 100644
--- a/www/chromium/files/patch-services_network_network__service.cc
+++ b/www/chromium/files/patch-services_network_network__service.cc
@@ -1,6 +1,6 @@
---- services/network/network_service.cc.orig 2021-12-14 11:45:09 UTC
+--- services/network/network_service.cc.orig 2022-02-07 13:39:41 UTC
+++ services/network/network_service.cc
-@@ -73,7 +73,7 @@
+@@ -76,7 +76,7 @@
#include "third_party/boringssl/src/include/openssl/cpu.h"
#endif
@@ -9,7 +9,7 @@
!BUILDFLAG(IS_CHROMECAST)
#include "components/os_crypt/key_storage_config_linux.h"
#endif
-@@ -622,7 +622,7 @@ void NetworkService::OnCertDBChanged() {
+@@ -625,7 +625,7 @@ void NetworkService::OnCertDBChanged() {
net::CertDatabase::GetInstance()->NotifyObserversCertDBChanged();
}
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
deleted file mode 100644
index a3f5cb760ec4..000000000000
--- a/www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2021-07-19 18:45:20 UTC
-+++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc
-@@ -51,7 +51,7 @@ namespace {
- uint32_t CalculatePrivateFootprintKb(const mojom::RawOSMemDump& os_dump,
- uint32_t shared_resident_kb) {
- DCHECK(os_dump.platform_private_footprint);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
- 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;
-@@ -91,7 +91,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl
- os_dump->is_peak_rss_resettable = internal_os_dump.is_peak_rss_resettable;
- os_dump->private_footprint_kb =
- CalculatePrivateFootprintKb(internal_os_dump, shared_resident_kb);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- os_dump->private_footprint_swap_kb =
- internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024;
- #endif
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 c7e9e9c7120d..9437ca58e43d 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,14 @@
---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2021-04-14 18:41:08 UTC
+--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2022-02-07 13:39:41 UTC
+++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h
-@@ -45,9 +45,9 @@ class COMPONENT_EXPORT(
+@@ -45,7 +45,7 @@ class COMPONENT_EXPORT(
mojom::RawOSMemDump*);
static std::vector<mojom::VmRegionPtr> GetProcessMemoryMaps(base::ProcessId);
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
static void SetProcSmapsForTesting(FILE*);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
- private:
- FRIEND_TEST_ALL_PREFIXES(OSMetricsTest, ParseProcSmaps);
@@ -61,7 +61,7 @@ class COMPONENT_EXPORT(
static std::vector<mojom::VmRegionPtr> GetProcessModules(base::ProcessId);
#endif
@@ -21,12 +18,3 @@
// Provides information on the dump state of resident pages. These values are
// written to logs. New enum values can be added, but existing enums must
// never be renumbered or deleted and reused.
-@@ -96,7 +96,7 @@ class COMPONENT_EXPORT(
- // TODO(chiniforooshan): move to /base/process/process_metrics_linux.cc after
- // making sure that peak RSS is useful.
- static size_t GetPeakResidentSetSize(base::ProcessId pid);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- };
-
- } // namespace memory_instrumentation
diff --git a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
index d7e52946a36d..d0ec9ff6cc67 100644
--- a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
+++ b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
@@ -1,144 +1,83 @@
---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2021-07-19 18:45:20 UTC
+--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc
-@@ -5,7 +5,6 @@
+@@ -5,7 +5,9 @@
#include <dlfcn.h>
#include <fcntl.h>
#include <stdint.h>
--#include <sys/prctl.h>
++#if !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ #include <sys/prctl.h>
++#endif
#include <memory>
-@@ -26,8 +25,14 @@
+@@ -26,8 +28,10 @@
#include "build/build_config.h"
#include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h"
+#if !defined(OS_BSD)
-+#include <sys/prctl.h>
-+#endif
-+
-+#if !defined(OS_BSD)
// Symbol with virtual address of the start of ELF header of the current binary.
extern char __ehdr_start;
+#endif
namespace memory_instrumentation {
-@@ -89,6 +94,7 @@ struct ModuleData {
+@@ -39,6 +43,7 @@ using mojom::VmRegionPtr;
+ const char kClearPeakRssCommand[] = "5";
+ const uint32_t kMaxLineSize = 4096;
- ModuleData GetMainModuleData() {
- ModuleData module_data;
+#if !defined(OS_BSD)
- Dl_info dl_info;
- if (dladdr(&__ehdr_start, &dl_info)) {
- base::debug::ElfBuildIdBuffer build_id;
-@@ -99,6 +105,7 @@ ModuleData GetMainModuleData() {
- module_data.build_id = std::string(build_id, build_id_length);
- }
- }
-+#endif
- return module_data;
- }
-
-@@ -146,14 +153,14 @@ bool ParseSmapsHeader(const char* header_line,
- // Build ID is needed to symbolize heap profiles, and is generated only on
- // official builds. Build ID is only added for the current library (chrome)
- // since it is racy to read other libraries which can be unmapped any time.
--#if defined(OFFICIAL_BUILD)
-+#if defined(OFFICIAL_BUILD) && !defined(OS_BSD)
- if (!region->mapped_file.empty() &&
- base::StartsWith(main_module_data.path, region->mapped_file,
- base::CompareCase::SENSITIVE) &&
- !main_module_data.build_id.empty()) {
- region->module_debugid = main_module_data.build_id;
- }
--#endif // defined(OFFICIAL_BUILD)
-+#endif // defined(OFFICIAL_BUILD) && !defined(OS_BSD)
+ // TODO(chiniforooshan): Many of the utility functions in this anonymous
+ // namespace should move to base/process/process_metrics_linux.cc to make the
+ // code a lot cleaner. However, we should do so after we made sure the metrics
+@@ -267,6 +272,7 @@ class ScopedProcessSetDumpable {
- return res;
- }
-@@ -236,6 +243,7 @@ uint32_t ReadLinuxProcSmapsFile(FILE* smaps_file,
- class ScopedProcessSetDumpable {
- public:
- ScopedProcessSetDumpable() {
-+#if !defined(OS_BSD)
- int result = prctl(PR_GET_DUMPABLE, 0, 0, 0, 0);
- if (result < 0) {
- PLOG(ERROR) << "prctl";
-@@ -251,15 +259,20 @@ class ScopedProcessSetDumpable {
- AvoidPrctlOnDestruction();
- }
- }
-+#else
-+ was_dumpable_ = true;
+ bool was_dumpable_;
+ };
+#endif
- }
-
- ScopedProcessSetDumpable(const ScopedProcessSetDumpable&) = delete;
- ScopedProcessSetDumpable& operator=(const ScopedProcessSetDumpable&) = delete;
- ~ScopedProcessSetDumpable() {
-+#if !defined(OS_BSD)
- if (!was_dumpable_) {
- PCHECK(prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) == 0) << "prctl";
- }
-+#endif
- }
+ } // namespace
- private:
-@@ -282,6 +295,7 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
+@@ -280,6 +286,9 @@ void OSMetrics::SetProcSmapsForTesting(FILE* f) {
+ // static
+ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
mojom::RawOSMemDump* dump) {
++#if defined(OS_BSD)
++ return false;
++#else
// TODO(chiniforooshan): There is no need to read both /statm and /status
// files. Refactor to get everything from /status using ProcessMetric.
-+#if !defined(OS_BSD)
auto statm_file = GetProcPidDir(pid).Append("statm");
- auto autoclose = base::ScopedFD(open(statm_file.value().c_str(), O_RDONLY));
- int statm_fd = autoclose.get();
-@@ -296,6 +310,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
+@@ -336,10 +345,12 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
+ #endif // defined(OS_ANDROID)
- if (!success)
- return false;
-+#else
-+ uint64_t resident_pages = 0;
-+ uint64_t shared_pages = 0;
+ return true;
+#endif
-
- auto process_metrics = CreateProcessMetrics(pid);
-
-@@ -340,6 +358,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
+ }
// static
std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMaps(base::ProcessId pid) {
-+#if defined(OS_BSD)
-+ NOTIMPLEMENTED();
-+ return std::vector<VmRegionPtr>();
-+#else
++#if !defined(OS_BSD)
std::vector<VmRegionPtr> maps;
uint32_t res = 0;
if (g_proc_smaps_for_testing) {
-@@ -357,6 +379,7 @@ std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMa
+@@ -357,8 +368,13 @@ std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMa
return std::vector<VmRegionPtr>();
return maps;
++#else
++ NOTIMPLEMENTED();
++ return std::vector<VmRegionPtr>();
+#endif
}
++#if !defined(OS_BSD)
// static
-@@ -364,6 +387,10 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics::
+ OSMetrics::MappedAndResidentPagesDumpState OSMetrics::GetMappedAndResidentPages(
const size_t start_address,
- const size_t end_address,
- std::vector<uint8_t>* accessed_pages_bitmap) {
-+#if defined(OS_BSD)
-+ NOTIMPLEMENTED();
-+ return OSMetrics::MappedAndResidentPagesDumpState::kFailure;
-+#else
- const char* kPagemap = "/proc/self/pagemap";
-
- base::ScopedFILE pagemap_file(fopen(kPagemap, "r"));
-@@ -411,6 +438,7 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics::
- }
+@@ -446,5 +462,6 @@ size_t OSMetrics::GetPeakResidentSetSize(base::Process
}
- return OSMetrics::MappedAndResidentPagesDumpState::kSuccess;
-+#endif
+ return 0;
}
++#endif
- // static
+ } // namespace memory_instrumentation
diff --git a/www/chromium/files/patch-services_service__manager_public_cpp_service__executable_service__executable__environment.cc b/www/chromium/files/patch-services_service__manager_public_cpp_service__executable_service__executable__environment.cc
deleted file mode 100644
index 7eb5a085086a..000000000000
--- a/www/chromium/files/patch-services_service__manager_public_cpp_service__executable_service__executable__environment.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- services/service_manager/public/cpp/service_executable/service_executable_environment.cc.orig 2021-12-31 00:57:38 UTC
-+++ services/service_manager/public/cpp/service_executable/service_executable_environment.cc
-@@ -51,6 +51,13 @@ ServiceExecutableEnvironment::ServiceExecutableEnviron
- sandbox::policy::switches::kServiceSandboxType)),
- sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options);
- }
-+#elif defined(OS_FREEBSD)
-+ if (command_line.HasSwitch(sandbox::policy::switches::kServiceSandboxType)) {
-+ sandbox::policy::Sandbox::Initialize(
-+ sandbox::policy::UtilitySandboxTypeFromString(
-+ command_line.GetSwitchValueASCII(
-+ sandbox::policy::switches::kServiceSandboxType)));
-+ }
- #endif
-
- mojo::core::Init();
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
deleted file mode 100644
index 5a8555dc8ba8..000000000000
--- a/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2021-12-14 11:45:10 UTC
-+++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc
-@@ -622,7 +622,7 @@ void TracingSamplerProfiler::StackProfileWriter::Reset
-
- // static
- void TracingSamplerProfiler::MangleModuleIDIfNeeded(std::string* module_id) {
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_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-services_video__capture_public_mojom_video__capture__service.mojom b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom
new file mode 100644
index 000000000000..0932c940affa
--- /dev/null
+++ b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom
@@ -0,0 +1,15 @@
+--- 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
+@@ -21,10 +21,10 @@ interface AcceleratorFactory {
+ pending_receiver<chromeos_camera.mojom.MjpegDecodeAccelerator> jda);
+ };
+
+-[EnableIf=is_fuchsia]
++[EnableIf=is_openbsd]
+ const sandbox.mojom.Sandbox kVideoCaptureSandbox
+ = sandbox.mojom.Sandbox.kVideoCapture;
+-[EnableIfNot=is_fuchsia]
++[EnableIfNot=is_openbsd]
+ const sandbox.mojom.Sandbox kVideoCaptureSandbox
+ = sandbox.mojom.Sandbox.kNoSandbox;
+
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 c31ac6c8c2c4..3c7526dc73b5 100644
--- a/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp
+++ b/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp
@@ -1,4 +1,4 @@
---- skia/ext/SkMemory_new_handler.cpp.orig 2021-04-14 18:41:08 UTC
+--- skia/ext/SkMemory_new_handler.cpp.orig 2022-02-07 13:39:41 UTC
+++ skia/ext/SkMemory_new_handler.cpp
@@ -78,7 +78,7 @@ static void* malloc_nothrow(size_t size) {
// TODO(b.kelemen): we should always use UncheckedMalloc but currently it
@@ -9,12 +9,3 @@
result = malloc(size);
#else
// It's the responsibility of the caller to check the return value.
-@@ -98,7 +98,7 @@ static void* calloc_nothrow(size_t size) {
- // TODO(b.kelemen): we should always use UncheckedCalloc but currently it
- // doesn't work as intended everywhere.
- void* result;
--#if defined(OS_IOS)
-+#if defined(OS_IOS) || defined(OS_BSD)
- result = calloc(1, size);
- #else
- // It's the responsibility of the caller to check the return value.
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
new file mode 100644
index 000000000000..0dc0b171b033
--- /dev/null
+++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h
@@ -0,0 +1,40 @@
+--- third_party/abseil-cpp/absl/base/config.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/abseil-cpp/absl/base/config.h
+@@ -414,7 +414,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
+ defined(_AIX) || defined(__ros__) || defined(__native_client__) || \
+ defined(__asmjs__) || defined(__wasm__) || defined(__Fuchsia__) || \
+ defined(__sun) || defined(__ASYLO__) || defined(__myriad2__) || \
+- defined(__HAIKU__)
++ defined(__HAIKU__) || defined(__OpenBSD__)
+ #define ABSL_HAVE_MMAP 1
+ #endif
+
+@@ -425,7 +425,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
+ #ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM
+ #error ABSL_HAVE_PTHREAD_GETSCHEDPARAM cannot be directly set
+ #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \
+- defined(_AIX) || defined(__ros__)
++ defined(_AIX) || defined(__ros__) || defined(__OpenBSD__)
+ #define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1
+ #endif
+
+@@ -444,7 +444,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
+ // POSIX.1-2001.
+ #ifdef ABSL_HAVE_SCHED_YIELD
+ #error ABSL_HAVE_SCHED_YIELD cannot be directly set
+-#elif defined(__linux__) || defined(__ros__) || defined(__native_client__)
++#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \
++ defined(__OpenBSD__) || defined(__FreeBSD__)
+ #define ABSL_HAVE_SCHED_YIELD 1
+ #endif
+
+@@ -459,7 +460,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__)
+ #define ABSL_HAVE_SEMAPHORE_H 1
+ #endif
+
diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_endian.h b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_endian.h
new file mode 100644
index 000000000000..42f3d54bf9db
--- /dev/null
+++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_endian.h
@@ -0,0 +1,11 @@
+--- third_party/abseil-cpp/absl/base/internal/endian.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/abseil-cpp/absl/base/internal/endian.h
+@@ -19,7 +19,7 @@
+ // The following guarantees declaration of the byte swap functions
+ #ifdef _MSC_VER
+ #include <stdlib.h> // NOLINT(build/include)
+-#elif defined(__FreeBSD__)
++#elif defined(__FreeBSD__) || defined(__OpenBSD__)
+ #include <sys/endian.h>
+ #elif defined(__GLIBC__)
+ #include <byteswap.h> // IWYU pragma: export
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
new file mode 100644
index 000000000000..3236ed475d65
--- /dev/null
+++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc
@@ -0,0 +1,23 @@
+--- third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/abseil-cpp/absl/base/internal/sysinfo.cc
+@@ -30,7 +30,7 @@
+ #include <sys/syscall.h>
+ #endif
+
+-#if defined(__APPLE__) || defined(__FreeBSD__)
++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+ #include <sys/sysctl.h>
+ #endif
+
+@@ -308,9 +308,11 @@ static double GetNominalCPUFrequency() {
+ // a new mode (turbo mode). Essentially, those frequencies cannot
+ // always be relied upon. The same reasons apply to /proc/cpuinfo as
+ // well.
++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // pledge violation
+ if (ReadLongFromFile("/sys/devices/system/cpu/cpu0/tsc_freq_khz", &freq)) {
+ return freq * 1e3; // Value is kHz.
+ }
++#endif
+
+ #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY)
+ // On these platforms, the TSC frequency is the nominal CPU
diff --git a/www/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 96eb4f97bcd9..d8f1b0f67e74 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,17 +1,11 @@
---- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2021-12-31 00:57:39 UTC
+--- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h
-@@ -38,7 +38,14 @@
+@@ -32,7 +32,7 @@
+ #endif
- #ifdef ABSL_HAVE_ELF_MEM_IMAGE
+ #if defined(__ELF__) && !defined(__native_client__) && !defined(__asmjs__) && \
+- !defined(__wasm__)
++ !defined(__wasm__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ #define ABSL_HAVE_ELF_MEM_IMAGE 1
+ #endif
-+#if defined(__FreeBSD__)
-+#include <elf.h>
-+#ifndef ElfW
-+#define ElfW(x) __ElfN(x)
-+#endif
-+#else
- #include <link.h> // for ElfW
-+#endif
-
- #if defined(__FreeBSD__) && !defined(ElfW)
- #define ElfW(x) __ElfN(x)
diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc b/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc
deleted file mode 100644
index 79064e3a1198..000000000000
--- a/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc.orig 2021-12-31 00:57:39 UTC
-+++ third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc
-@@ -101,7 +101,11 @@ const void *VDSOSupport::Init() {
- getcpu_fn_.store(&GetCPUViaSyscall, std::memory_order_relaxed);
- return nullptr;
- }
-+#if defined(__FreeBSD__)
-+ __ElfN(Auxinfo) aux;
-+#else
- ElfW(auxv_t) aux;
-+#endif
- while (read(fd, &aux, sizeof(aux)) == sizeof(aux)) {
- if (aux.a_type == AT_SYSINFO_EHDR) {
- vdso_base_.store(reinterpret_cast<void *>(aux.a_un.a_val),
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
new file mode 100644
index 000000000000..b28aae3acd42
--- /dev/null
+++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc
@@ -0,0 +1,11 @@
+--- 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 5ef051bbc6f0..9b65315c095b 100644
--- a/www/chromium/files/patch-third__party_angle_BUILD.gn
+++ b/www/chromium/files/patch-third__party_angle_BUILD.gn
@@ -1,32 +1,29 @@
---- third_party/angle/BUILD.gn.orig 2021-12-31 01:00:47 UTC
+--- third_party/angle/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ third_party/angle/BUILD.gn
-@@ -199,7 +199,6 @@ config("extra_warnings") {
+@@ -206,7 +206,6 @@ config("extra_warnings") {
"-Wtautological-type-limit-compare",
"-Wundefined-reinterpret-cast",
"-Wunneeded-internal-declaration",
- "-Wunused-but-set-variable",
+ "-Wsuggest-destructor-override",
+ "-Wsuggest-override",
- # The below warnings are used by WebKit. We enable them to make rolling
- # ANGLE in WebKit easier.
-@@ -209,11 +208,12 @@ config("extra_warnings") {
- "-Wunreachable-code-aggressive",
- "-Wshorten-64-to-32",
- ]
-- if (!use_xcode_clang) {
-+ if (!use_xcode_clang && !is_bsd) {
- # Mac catalyst uses a clang version that doesn't have these.
- cflags += [
- "-Wsuggest-destructor-override",
- "-Wsuggest-override",
-+ "-Wunused-but-set-variable",
- ]
- }
+@@ -384,7 +383,7 @@ angle_static_library("angle_common") {
+ all_dependent_configs = [ ":angle_disable_pool_alloc" ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ libs = [ "dl" ]
}
-@@ -490,6 +490,7 @@ angle_static_library("angle_gpu_info_util") {
- "X11",
+
+@@ -498,6 +497,9 @@ angle_static_library("angle_gpu_info_util") {
"Xi",
"Xext",
-+ "GL",
]
++ if (is_bsd) {
++ libs += [ "GL" ]
++ }
}
}
+
diff --git a/www/chromium/files/patch-third__party_angle_src_common_debug.h b/www/chromium/files/patch-third__party_angle_src_common_debug.h
deleted file mode 100644
index e81e922ef654..000000000000
--- a/www/chromium/files/patch-third__party_angle_src_common_debug.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/src/common/debug.h.orig 2021-12-31 01:00:47 UTC
-+++ third_party/angle/src/common/debug.h
-@@ -399,7 +399,7 @@ std::ostream &FmtHex(std::ostream &os, T value)
- # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS
- #endif
-
--#if defined(__clang__)
-+#if defined(__clang__) && !defined(__FreeBSD__)
- # define ANGLE_DISABLE_SUGGEST_OVERRIDE_WARNINGS \
- _Pragma("clang diagnostic push") \
- _Pragma("clang diagnostic ignored \"-Wsuggest-destructor-override\"") \
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
new file mode 100644
index 000000000000..19c34403d542
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_common_platform.h
@@ -0,0 +1,19 @@
+--- third_party/angle/src/common/platform.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/angle/src/common/platform.h
+@@ -26,7 +26,15 @@
+ #elif defined(__linux__) || defined(EMSCRIPTEN)
+ # define ANGLE_PLATFORM_LINUX 1
+ # define ANGLE_PLATFORM_POSIX 1
+-#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \
++#elif defined(__OpenBSD__)
++# define ANGLE_PLATFORM_OPENBSD 1
++# define ANGLE_PLATFORM_POSIX 1
++# define ANGLE_PLATFORM_BSD 1
++#elif defined(__FreeBSD__)
++# define ANGLE_PLATFORM_FREEBSD 1
++# define ANGLE_PLATFORM_POSIX 1
++# define ANGLE_PLATFORM_BSD 1
++#elif defined(__NetBSD__) || \
+ defined(__DragonFly__) || defined(__sun) || defined(__GLIBC__) || defined(__GNU__) || \
+ defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__)
+ # define ANGLE_PLATFORM_POSIX 1
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
new file mode 100644
index 000000000000..04acef3da032
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_common_system__utils__posix.cpp
@@ -0,0 +1,12 @@
+--- third_party/angle/src/common/system_utils_posix.cpp.orig 2022-02-07 13:39:41 UTC
++++ third_party/angle/src/common/system_utils_posix.cpp
+@@ -159,7 +159,9 @@ Library *OpenSharedLibraryWithExtension(const char *li
+ 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 98166c85d195..82f282113b57 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,16 +1,13 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2021-04-14 18:42:58 UTC
+--- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h
-@@ -14,8 +14,13 @@
+@@ -14,6 +14,10 @@
namespace angle
{
-+bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices);
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
++bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices);
++#endif
+
// Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined.
bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices);
-+#if defined(__FreeBSD__)
-+bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *devices);
-+#endif
// Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined.
- bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version);
-
diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp
deleted file mode 100644
index 9b5a3bf30462..000000000000
--- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2021-04-14 18:42:58 UTC
-+++ third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp
-@@ -12,6 +12,11 @@
- #include <pci/pci.h>
- #include <unistd.h>
-
-+#if defined(__FreeBSD__)
-+#include <fcntl.h>
-+#include <sys/pciio.h>
-+#endif
-+
- #include "common/angleutils.h"
- #include "common/debug.h"
-
-@@ -85,6 +90,75 @@ struct LibPCI : private angle::NonCopyable
- };
-
- } // anonymous namespace
-+
-+#if defined(__FreeBSD__)
-+// Adds an entry per PCI GPU found and fills the device and vendor ID.
-+bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *devices)
-+{
-+ int fd;
-+ struct pci_conf_io conf;
-+ struct pci_conf *matches;
-+ uint32_t offset = 0;
-+
-+ fd = open("/dev/pci", O_RDONLY);
-+ if (fd < 0)
-+ return false;
-+
-+ matches = new struct pci_conf[32];
-+ conf.generation = 0;
-+ do {
-+ conf.pat_buf_len = 0;
-+ conf.num_patterns = 0;
-+ conf.patterns = NULL;
-+ conf.match_buf_len = 32 * sizeof(struct pci_conf);
-+ conf.num_matches = 32;
-+ conf.matches = matches;
-+ conf.offset = offset;
-+ conf.status = PCI_GETCONF_ERROR;
-+ if (ioctl(fd, PCIOCGETCONF, &conf) < 0) {
-+ if (errno == ENODEV)
-+ break;
-+ }
-+ /* PCI_GETCONF_LIST_CHANGED would require us to start over. */
-+ if (conf.status == PCI_GETCONF_ERROR || conf.status == PCI_GETCONF_LIST_CHANGED) {
-+ break;
-+ }
-+
-+ for (unsigned int i = 0; i < conf.num_matches; i++) {
-+ uint16_t device_class = (matches[i].pc_class << 8) | matches[i].pc_subclass;
-+
-+ // Skip non-GPU devices
-+ switch (device_class)
-+ {
-+ case PCI_CLASS_DISPLAY_VGA:
-+ case PCI_CLASS_DISPLAY_XGA:
-+ case PCI_CLASS_DISPLAY_3D:
-+ break;
-+ default:
-+ continue;
-+ }
-+
-+ // Skip unknown devices
-+ if (matches[i].pc_vendor == 0 || matches[i].pc_device == 0) {
-+ continue;
-+ }
-+
-+ GPUDeviceInfo info;
-+ info.vendorId = matches[i].pc_vendor;
-+ info.deviceId = matches[i].pc_device;
-+
-+ devices->push_back(info);
-+ }
-+ offset += conf.num_matches;
-+ } while (conf.status == PCI_GETCONF_MORE_DEVS);
-+
-+ delete[] matches;
-+
-+ close(fd);
-+
-+ return true;
-+}
-+#endif
-
- // Adds an entry per PCI GPU found and fills the device and vendor ID.
- bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices)
diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp
index 96f51740c164..e398a0805102 100644
--- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp
+++ b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp
@@ -1,26 +1,23 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2021-12-14 11:47:03 UTC
+--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp
-@@ -71,6 +71,15 @@ bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo
+@@ -71,6 +71,12 @@ bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo
bool GetSystemInfo(SystemInfo *info)
{
-+#if defined(__FreeBSD__)
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
+ if (!CollectMesaCardInfo(&(info->gpus)))
+ {
-+ if (!GetPCIDevicesFreeBSD(&(info->gpus)))
-+ {
-+ return GetSystemInfoVulkan(info);
-+ }
++ return false;
+ }
+#else
if (!GetPCIDevicesWithLibPCI(&(info->gpus)))
{
- #if defined(ANGLE_HAS_VULKAN_SYSTEM_INFO)
-@@ -80,6 +89,7 @@ bool GetSystemInfo(SystemInfo *info)
+ #if defined(ANGLE_USE_VULKAN_SYSTEM_INFO)
+@@ -85,6 +91,7 @@ bool GetSystemInfo(SystemInfo *info)
+ {
return false;
- #endif // defined(ANGLE_HAS_VULKAN_SYSTEM_INFO)
}
+#endif
- if (info->gpus.size() == 0)
- {
+ GetDualGPUInfo(info);
+
diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp
index a8f97fbc631d..9e9fe5ab1a2d 100644
--- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp
+++ b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp
@@ -1,27 +1,31 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2021-04-14 18:42:58 UTC
+--- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp
-@@ -8,6 +8,8 @@
+@@ -8,6 +8,10 @@
#include "gpu_info_util/SystemInfo_internal.h"
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#include <GL/glx.h>
+#include <GL/glxext.h>
++#endif
#include <X11/Xlib.h>
#include "common/debug.h"
-@@ -18,8 +20,43 @@
+@@ -18,8 +22,44 @@
# error SystemInfo_x11.cpp compiled without GPU_INFO_USE_X11
#endif
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#define GLX_RENDERER_VENDOR_ID_MESA 0x8183
+#define GLX_RENDERER_DEVICE_ID_MESA 0x8184
++#endif
+
namespace angle
{
+
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
+bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices)
+{
-+
+ unsigned int vid[3], did[3];
+
+ Display *display = XOpenDisplay(NULL);
@@ -33,9 +37,6 @@
+ (PFNGLXQUERYRENDERERINTEGERMESAPROC) glXGetProcAddressARB((const GLubyte *)
+ "glXQueryRendererIntegerMESA");
+
-+ if (!queryInteger)
-+ return false;
-+
+ bool vendor_ret =
+ queryInteger(display, 0, 0, GLX_RENDERER_VENDOR_ID_MESA, vid);
+ bool device_ret =
@@ -46,10 +47,12 @@
+ info.vendorId = vid[0];
+ info.deviceId = did[0];
+ devices->push_back(info);
-+ }
++ }
++
+
-+ return true;
++ return true;
+}
++#endif
bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version)
{
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 89f66f4a7137..bbb30270d0c6 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,47 +1,47 @@
---- third_party/angle/src/libANGLE/Display.cpp.orig 2021-12-31 01:00:47 UTC
+--- third_party/angle/src/libANGLE/Display.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/angle/src/libANGLE/Display.cpp
@@ -55,7 +55,7 @@
# include "libANGLE/renderer/gl/wgl/DisplayWGL.h"
# elif defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_IOS)
# include "libANGLE/renderer/gl/apple/DisplayApple_api.h"
-# elif defined(ANGLE_PLATFORM_LINUX)
-+# elif defined(ANGLE_PLATFORM_POSIX)
++# 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"
-@@ -290,7 +290,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+@@ -313,7 +313,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
impl = rx::CreateDisplayCGLOrEAGL(state);
break;
-# elif defined(ANGLE_PLATFORM_LINUX)
-+# elif defined(ANGLE_PLATFORM_POSIX)
++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
# if defined(ANGLE_USE_GBM)
if (platformType == 0)
{
-@@ -335,7 +335,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+@@ -358,7 +358,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_POSIX)
++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
# if defined(ANGLE_USE_GBM)
if (platformType == 0)
{
-@@ -383,7 +383,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+@@ -406,7 +406,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
impl = rx::CreateVulkanWin32Display(state);
}
break;
-# elif defined(ANGLE_PLATFORM_LINUX)
-+# elif defined(ANGLE_PLATFORM_POSIX)
++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
# if defined(ANGLE_USE_X11)
if (platformType == EGL_PLATFORM_X11_EXT && rx::IsVulkanXcbDisplayAvailable())
{
-@@ -1761,7 +1761,7 @@ static ClientExtensions GenerateClientExtensions()
+@@ -1815,7 +1815,7 @@ static ClientExtensions GenerateClientExtensions()
extensions.x11Visual = true;
#endif
-#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
++#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
extensions.platformANGLEDeviceTypeEGLANGLE = true;
#endif
diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp
deleted file mode 100644
index b76429729b53..000000000000
--- a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
---- third_party/angle/src/libANGLE/renderer/driver_utils.cpp.orig 2021-09-24 04:28:04 UTC
-+++ third_party/angle/src/libANGLE/renderer/driver_utils.cpp
-@@ -17,7 +17,7 @@
- # include <sys/system_properties.h>
- #endif
-
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- # include <sys/utsname.h>
- #endif
-
-@@ -228,7 +228,7 @@ OSVersion GetiOSVersion()
- }
- #endif
-
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- bool ParseLinuxOSVersion(const char *version, int *major, int *minor, int *patch)
- {
- errno = 0; // reset global error flag.
-@@ -240,6 +240,14 @@ bool ParseLinuxOSVersion(const char *version, int *maj
- }
-
- *minor = static_cast<int>(strtol(next + 1, &next, 10));
-+#if defined(__FreeBSD__)
-+ if (next == nullptr || *next != '-' || errno != 0)
-+ {
-+ return false;
-+ }
-+
-+ *patch = 0;
-+#else
- if (next == nullptr || *next != '.' || errno != 0)
- {
- return false;
-@@ -250,6 +258,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj
- {
- return false;
- }
-+#endif
-
- return true;
- }
-@@ -257,7 +266,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj
-
- OSVersion GetLinuxOSVersion()
- {
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- struct utsname uname_info;
- if (uname(&uname_info) != 0)
- {
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
index 31231104df4f..f2bbeca87d53 100644
--- 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
@@ -1,11 +1,11 @@
---- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2021-09-24 04:28:04 UTC
+--- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/angle/src/libANGLE/renderer/driver_utils.h
@@ -173,7 +173,7 @@ inline bool IsWindows()
inline bool IsLinux()
{
-#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
++#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_libANGLE_renderer_gl_glx_FunctionsGLX.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp
new file mode 100644
index 000000000000..dba2acc732c5
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp
@@ -0,0 +1,15 @@
+--- third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp.orig 2022-02-07 13:39:41 UTC
++++ third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp
+@@ -144,10 +144,10 @@ bool FunctionsGLX::initialize(Display *xDisplay, int s
+ // which a GLXWindow was ever created.
+ if (!sLibHandle)
+ {
+- sLibHandle = dlopen("libGL.so.1", RTLD_NOW);
++ sLibHandle = dlopen("libGL.so", RTLD_NOW);
+ if (!sLibHandle)
+ {
+- *errorString = std::string("Could not dlopen libGL.so.1: ") + dlerror();
++ *errorString = std::string("Could not dlopen libGL.so: ") + dlerror();
+ return false;
+ }
+ }
diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h
index 77ae108ebe25..c83bf271ea18 100644
--- a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h
+++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h
@@ -1,4 +1,4 @@
---- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2021-09-14 01:58:21 UTC
+--- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h
@@ -23,7 +23,7 @@ bool IsVulkanWin32DisplayAvailable();
DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state);
@@ -9,12 +9,3 @@
bool IsVulkanXcbDisplayAvailable();
DisplayImpl *CreateVulkanXcbDisplay(const egl::DisplayState &state);
-@@ -32,7 +32,7 @@ DisplayImpl *CreateVulkanSimpleDisplay(const egl::Disp
-
- bool IsVulkanHeadlessDisplayAvailable();
- DisplayImpl *CreateVulkanHeadlessDisplay(const egl::DisplayState &state);
--#endif // defined(ANGLE_PLATFORM_LINUX)
-+#endif // defined(ANGLE_PLATFORM_POSIX)
-
- #if defined(ANGLE_PLATFORM_ANDROID)
- bool IsVulkanAndroidDisplayAvailable();
diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_validationEGL.h b/www/chromium/files/patch-third__party_angle_src_libANGLE_validationEGL.h
new file mode 100644
index 000000000000..91633795bf61
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_validationEGL.h
@@ -0,0 +1,11 @@
+--- third_party/angle/src/libANGLE/validationEGL.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/angle/src/libANGLE/validationEGL.h
+@@ -121,7 +121,7 @@ inline const AttributeMap PackParam<const AttributeMap
+
+ // In a 32-bit environment the EGLAttrib and EGLint types are the same. We need to mask out one of
+ // the two specializations to avoid having an override ambiguity.
+-#if defined(ANGLE_IS_64_BIT_CPU)
++#if defined(ANGLE_IS_64_BIT_CPU) || defined(ANGLE_PLATFORM_OPENBSD)
+ template <>
+ inline const AttributeMap PackParam<const AttributeMap &, const EGLAttrib *>(
+ const EGLAttrib *attribs)
diff --git a/www/chromium/files/patch-third__party_angle_util_BUILD.gn b/www/chromium/files/patch-third__party_angle_util_BUILD.gn
new file mode 100644
index 000000000000..247bcf3d7818
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_util_BUILD.gn
@@ -0,0 +1,11 @@
+--- third_party/angle/util/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ third_party/angle/util/BUILD.gn
+@@ -200,7 +200,7 @@ foreach(is_shared_library,
+ ]
+ libs = []
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ libs += [
+ "rt",
+ "dl",
diff --git a/www/chromium/files/patch-third__party_blink_public_platform_platform.h b/www/chromium/files/patch-third__party_blink_public_platform_platform.h
deleted file mode 100644
index 67aa4b1bf389..000000000000
--- a/www/chromium/files/patch-third__party_blink_public_platform_platform.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/public/platform/platform.h.orig 2021-12-31 00:57:40 UTC
-+++ third_party/blink/public/platform/platform.h
-@@ -423,7 +423,7 @@ class BLINK_PLATFORM_EXPORT Platform {
- return nullptr;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // This is called after the compositor thread is created, so the embedder
- // can initiate an IPC to change its thread priority (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
new file mode 100644
index 000000000000..b1fd398c03fd
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_public_platform_web__vector.h
@@ -0,0 +1,11 @@
+--- 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_BUILD.gn b/www/chromium/files/patch-third__party_blink_renderer_BUILD.gn
deleted file mode 100644
index f1f2a9e993fa..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_BUILD.gn
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/blink/renderer/BUILD.gn.orig 2021-12-31 00:57:40 UTC
-+++ third_party/blink/renderer/BUILD.gn
-@@ -50,6 +50,11 @@ config("inside_blink") {
- "-Wno-implicit-int-conversion",
- ]
- }
-+ if (is_bsd) {
-+ cflags += [
-+ "-Wno-implicit-int-float-conversion",
-+ ]
-+ }
-
- configs = [ "//build/config/compiler:noshadowing" ]
- }
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 4d0b8892c93e..85f535fc625d 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,12 +1,11 @@
---- third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2021-09-14 01:52:02 UTC
+--- 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
-@@ -37,6 +37,9 @@ def init(root_src_dir, enable_style_format=True):
- elif sys.platform.startswith(("cygwin", "win")):
- platform = "win"
- exe_suffix = ".exe"
-+ elif sys.platform.startswith("freebsd"):
-+ platform = "freebsd"
-+ exe_suffix = ""
- else:
- assert False, "Unknown platform: {}".format(sys.platform)
- buildtools_platform_dir = os.path.join(root_src_dir, "buildtools",
+@@ -28,7 +28,7 @@ def init(root_src_dir, enable_style_format=True):
+ root_src_dir = os.path.abspath(root_src_dir)
+
+ # Determine //buildtools/<platform>/ directory
+- if sys.platform.startswith("linux"):
++ if sys.platform.startswith(("linux","openbsd","freebsd")):
+ platform = "linux64"
+ exe_suffix = ""
+ elif sys.platform.startswith("darwin"):
diff --git a/www/chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py b/www/chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py
new file mode 100644
index 000000000000..7d56dad775be
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py
@@ -0,0 +1,10 @@
+--- third_party/blink/renderer/build/scripts/run_with_pythonpath.py.orig 2022-02-07 13:39:41 UTC
++++ third_party/blink/renderer/build/scripts/run_with_pythonpath.py
+@@ -22,6 +22,7 @@ def main():
+ existing_pp = (
+ os.pathsep + env['PYTHONPATH']) if 'PYTHONPATH' in env else ''
+ env['PYTHONPATH'] = os.pathsep.join(python_paths) + existing_pp
++ env['LD_LIBRARY_PATH'] = "${WRKSRC}/out/Release"
+ sys.exit(subprocess.call([sys.executable] + args, env=env))
+
+
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 35df1ee748e3..a89c64c0d4bc 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,6 +1,6 @@
---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2021-12-31 00:57:40 UTC
+--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/controller/blink_initializer.cc
-@@ -71,11 +71,11 @@
+@@ -71,12 +71,12 @@
#include "third_party/blink/renderer/controller/oom_intervention_impl.h"
#endif
@@ -9,20 +9,21 @@
#include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h"
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_MAC) || defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_MAC) || defined(OS_WIN)
++ defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD)
#include "third_party/blink/renderer/controller/highest_pmf_reporter.h"
#include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h"
-@@ -155,7 +155,7 @@ void InitializeCommon(Platform* platform, mojo::Binder
- CrashMemoryMetricsReporterImpl::Instance();
+ #endif
+@@ -156,7 +156,7 @@ void InitializeCommon(Platform* platform, mojo::Binder
#endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_MAC) || defined(OS_WIN)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_MAC) || defined(OS_WIN)
++ defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD)
// Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring.
if (UserLevelMemoryPressureSignalGenerator::Enabled())
+ UserLevelMemoryPressureSignalGenerator::Instance();
@@ -227,7 +227,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
main_thread->GetTaskRunner());
#endif
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 480f473ebf4b..3b274f0a4ce6 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,7 +1,17 @@
---- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2021-04-14 18:41:09 UTC
+--- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/controller/memory_usage_monitor_posix.cc
-@@ -134,7 +134,7 @@ void MemoryUsageMonitorPosix::SetProcFiles(base::File
+@@ -126,15 +126,17 @@ void MemoryUsageMonitorPosix::ResetFileDescriptors() {
+
+ void MemoryUsageMonitorPosix::SetProcFiles(base::File statm_file,
+ base::File status_file) {
++#if !defined(OS_BSD)
+ DCHECK(statm_file.IsValid());
+ DCHECK(status_file.IsValid());
+ DCHECK_EQ(-1, statm_fd_.get());
+ DCHECK_EQ(-1, status_fd_.get());
+ statm_fd_.reset(statm_file.TakePlatformFile());
status_fd_.reset(status_file.TakePlatformFile());
++#endif
}
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
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 76a1031e3f7b..7eecf3cdc106 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,6 +1,6 @@
---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2021-12-31 00:57:41 UTC
+--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -404,7 +404,7 @@ SkFontHinting RendererPreferencesToSkiaHinting(
+@@ -402,7 +402,7 @@ SkFontHinting RendererPreferencesToSkiaHinting(
const blink::RendererPreferences& prefs) {
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
@@ -9,18 +9,12 @@
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'
-@@ -3136,12 +3136,12 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
+@@ -3170,7 +3170,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
renderer_preferences_.use_subpixel_positioning);
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && !defined(OS_ANDROID)
-+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && !defined(OS_ANDROID)
++#if (defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)) && !defined(OS_ANDROID)
if (!renderer_preferences_.system_font_family_name.empty()) {
WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8(
renderer_preferences_.system_font_family_name));
- }
--#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) &&
-+#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) &&
- // !defined(OS_ANDROID)
- #endif // defined(OS_WIN)
- #endif // !defined(OS_MAC)
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
deleted file mode 100644
index 964cf1df5e43..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2021-12-31 00:57:41 UTC
-+++ third_party/blink/renderer/core/frame/web_frame_test.cc
-@@ -6079,7 +6079,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) {
- EXPECT_EQ(64, ComputeOffset(layout_object, 1000, 1000));
- }
-
--#if !defined(OS_MAC) && !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_MAC) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- TEST_F(WebFrameTest, SelectRangeStaysHorizontallyAlignedWhenMoved) {
- RegisterMockedHttpURLLoad("move_caret.html");
-
-@@ -6449,7 +6449,7 @@ TEST_P(CompositedSelectionBoundsTest, SVGBasic) {
- TEST_P(CompositedSelectionBoundsTest, SVGTextWithFragments) {
- RunTest("composited_selection_bounds_svg_text_with_fragments.html");
- }
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if !defined(OS_ANDROID)
- TEST_P(CompositedSelectionBoundsTest, Input) {
- web_view_helper_.GetWebView()->GetSettings()->SetDefaultFontSize(16);
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 35026ed3e908..5ac574b6c65f 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,11 +1,11 @@
---- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2021-12-14 11:45:12 UTC
+--- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc
-@@ -43,7 +43,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin
- base::Microseconds(100);
+@@ -44,7 +44,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin
/* The value is based on user statistics on Nov 2017. */
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN))
+ #if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN))
++ defined(OS_WIN)) || defined(OS_BSD)
const double kIdleTaskStartTimeoutDelayMs = 1000.0;
#else
+ const double kIdleTaskStartTimeoutDelayMs = 4000.0; // For ChromeOS, Mobile
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 316445e730f9..1a7ea22d71d9 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,6 +1,6 @@
---- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2021-12-31 00:57:41 UTC
+--- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc
-@@ -151,7 +151,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const
+@@ -152,7 +152,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const
// is true for at least GTK and QT apps).
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc
deleted file mode 100644
index 30475a993f99..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/modules/media/audio/web_audio_device_factory.cc.orig 2021-04-14 18:41:10 UTC
-+++ third_party/blink/renderer/modules/media/audio/web_audio_device_factory.cc
-@@ -33,7 +33,7 @@ WebAudioDeviceFactory* WebAudioDeviceFactory::factory_
-
- namespace {
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(IS_CHROMEOS_LACROS)
- // Due to driver deadlock issues on Windows (http://crbug/422522) there is a
- // chance device authorization response is never received from the browser side.
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
deleted file mode 100644
index fd5a1f8d94d2..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2021-09-14 01:52:02 UTC
-+++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc
-@@ -289,7 +289,7 @@ TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_Multipl
- TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_VerifySinkParameters) {
- SetupRenderer(kDefaultOutputDeviceId);
- renderer_proxy_->Start();
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
- static const int kExpectedBufferSize = kHardwareSampleRate / 100;
- #elif defined(OS_ANDROID)
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
deleted file mode 100644
index ef4ac1e78154..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2021-12-31 00:57:41 UTC
-+++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc
-@@ -411,8 +411,8 @@ class AudioWorkletThreadPriorityTest
- base::PlatformThread::GetCurrentThreadPriority();
-
- // TODO(crbug.com/1022888): The worklet thread priority is always NORMAL
-- // on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ // on OS_LINUX, OS_CHROMEOS and OS_BSD regardless of the thread priority setting.
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (expected_priority == base::ThreadPriority::REALTIME_AUDIO ||
- expected_priority == base::ThreadPriority::DISPLAY) {
- EXPECT_EQ(actual_priority, base::ThreadPriority::NORMAL);
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 95e7acd7cde5..5c9e4bf4e0b1 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,6 +1,6 @@
---- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2021-12-31 00:57:42 UTC
+--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
-@@ -6110,7 +6110,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid
+@@ -6102,7 +6102,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid
constexpr bool kAllowZeroCopyImages = true;
#endif
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
deleted file mode 100644
index ddb638988c11..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/blink/renderer/platform/BUILD.gn.orig 2021-07-19 18:45:22 UTC
-+++ third_party/blink/renderer/platform/BUILD.gn
-@@ -106,6 +106,7 @@ executable("character_data_generator") {
- "//build/win:default_exe_manifest",
- "//third_party/icu",
- ]
-+ libs = [ "cxxrt" ]
- }
-
- # This isn't strictly necessary since we can just add the deps to "platform",
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 966e52eebed0..c3ea6d87a2a1 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,4 +1,4 @@
---- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2021-12-31 00:57:42 UTC
+--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/platform/fonts/font_cache.h
@@ -59,7 +59,7 @@
#include "third_party/skia/include/core/SkFontMgr.h"
@@ -18,7 +18,7 @@
// These are needed for calling QueryRenderStyleForStrike, since
// gfx::GetFontRenderParams makes distinctions based on DSF.
static float DeviceScaleFactor() { return device_scale_factor_; }
-@@ -274,11 +274,11 @@ class PLATFORM_EXPORT FontCache {
+@@ -275,7 +275,7 @@ class PLATFORM_EXPORT FontCache {
const char* locale_family_name);
#endif // defined(OS_ANDROID)
@@ -27,12 +27,7 @@
static bool GetFontForCharacter(UChar32,
const char* preferred_locale,
gfx::FallbackFontData*);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- scoped_refptr<SimpleFontData> FontDataFromFontPlatformData(
- const FontPlatformData*,
-@@ -354,13 +354,13 @@ class PLATFORM_EXPORT FontCache {
+@@ -355,7 +355,7 @@ class PLATFORM_EXPORT FontCache {
const FontFaceCreationParams&,
std::string& name);
@@ -41,14 +36,7 @@
static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
UChar32,
const FontDescription&,
- const char* family_name,
- FontFallbackPriority);
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- scoped_refptr<SimpleFontData> FallbackOnStandardFontStyle(
- const FontDescription&,
-@@ -401,7 +401,7 @@ class PLATFORM_EXPORT FontCache {
+@@ -402,7 +402,7 @@ class PLATFORM_EXPORT FontCache {
std::unique_ptr<FallbackFamilyStyleCache> fallback_params_cache_;
#endif // defined(OS_WIN)
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 57b07f3fbf7e..f088cbe72cd7 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,29 +1,29 @@
---- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2021-04-14 18:41:10 UTC
+--- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/platform/fonts/font_metrics.cc
-@@ -38,7 +38,7 @@
-
+@@ -39,7 +39,7 @@
namespace blink {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
// This is the largest VDMX table which we'll try to load and parse.
static const size_t kMaxVDMXTableSize = 1024 * 1024; // 1 MB
-@@ -68,7 +68,7 @@ void FontMetrics::AscentDescentWithHacks(
- int vdmx_ascent = 0, vdmx_descent = 0;
+ #endif
+@@ -69,7 +69,7 @@ void FontMetrics::AscentDescentWithHacks(
bool is_vdmx_valid = false;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
// Manually digging up VDMX metrics is only applicable when bytecode hinting
// using FreeType. With DirectWrite or CoreText, no bytecode hinting is ever
-@@ -116,7 +116,7 @@ void FontMetrics::AscentDescentWithHacks(
- visual_overflow_inflation_for_ascent = 1;
+ // 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;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_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
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc
deleted file mode 100644
index 043f2efd8455..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/platform/fonts/shaping/harfbuzz_shaper_test.cc.orig 2021-12-14 11:45:12 UTC
-+++ third_party/blink/renderer/platform/fonts/shaping/harfbuzz_shaper_test.cc
-@@ -667,7 +667,7 @@ TEST_P(ShapeParameterTest, MaxGlyphsClusterDevanagari)
- HarfBuzzShaper shaper(string);
- scoped_refptr<ShapeResult> result = ShapeWithParameter(&shaper);
- EXPECT_EQ(length, result->NumCharacters());
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
- // Linux and Fuchsia use Lohit Devanagari. When using that font the shaper
- // returns 32767 glyphs instead of 32769.
- // TODO(crbug.com/933551): Add Noto Sans Devanagari to
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 17fae832bf2c..03b84e6335d6 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,4 +1,4 @@
---- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2021-12-14 11:45:12 UTC
+--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2022-02-07 13:39:41 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());
@@ -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.
-@@ -84,7 +84,7 @@ AtomicString FontCache::GetFamilyNameForCharacter(
- typeface->getFamilyName(&skia_family_name);
- return ToAtomicString(skia_family_name);
- }
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- void FontCache::PlatformInit() {}
-
-@@ -242,7 +242,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
+@@ -235,7 +235,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
}
#endif
@@ -27,7 +18,7 @@
// 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
-@@ -269,7 +269,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon
+@@ -262,7 +262,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon
std::string name;
sk_sp<SkTypeface> typeface;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_geometry_int__rect.h b/www/chromium/files/patch-third__party_blink_renderer_platform_geometry_int__rect.h
deleted file mode 100644
index be7297e13be3..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_geometry_int__rect.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- third_party/blink/renderer/platform/geometry/int_rect.h.orig 2022-01-24 16:04:48 UTC
-+++ third_party/blink/renderer/platform/geometry/int_rect.h
-@@ -244,11 +244,11 @@ constexpr IntRect SaturatedRect(const IntRect& r) {
- base::ClampAdd(r.y(), r.height()) - r.y());
- }
-
--constexpr bool operator==(const IntRect& a, const IntRect& b) {
-+inline bool operator==(const IntRect& a, const IntRect& b) {
- return a.origin() == b.origin() && a.size() == b.size();
- }
-
--constexpr bool operator!=(const IntRect& a, const IntRect& b) {
-+inline bool operator!=(const IntRect& a, const IntRect& b) {
- return !(a == b);
- }
-
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
new file mode 100644
index 000000000000..db0920b3ea53
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc
@@ -0,0 +1,14 @@
+--- third_party/blink/renderer/platform/graphics/begin_frame_provider.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/blink/renderer/platform/graphics/begin_frame_provider.cc
+@@ -74,7 +74,11 @@ void BeginFrameProvider::CreateCompositorFrameSinkIfNe
+
+ // Once we are using RAF, this thread is driving Display updates. Update
+ // priority accordingly.
++ // pledge(2)
++ // stop this baloney
++#if !defined(OS_OPENBSD)
+ base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY);
++#endif
+
+ mojo::Remote<mojom::blink::EmbeddedFrameSinkProvider> provider;
+ Platform::Current()->GetBrowserInterfaceBroker()->GetInterface(
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc
deleted file mode 100644
index 4c32f2221f82..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- third_party/blink/renderer/platform/graphics/image_frame_generator_test.cc.orig 2021-04-14 18:41:10 UTC
-+++ third_party/blink/renderer/platform/graphics/image_frame_generator_test.cc
-@@ -244,14 +244,14 @@ static void DecodeThreadMain(ImageFrameGenerator* gene
- cc::PaintImage::kDefaultGeneratorClientId);
- }
-
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // TODO(crbug.com/948641)
- #define MAYBE_incompleteDecodeBecomesCompleteMultiThreaded \
- DISABLED_incompleteDecodeBecomesCompleteMultiThreaded
- #else
- #define MAYBE_incompleteDecodeBecomesCompleteMultiThreaded \
- incompleteDecodeBecomesCompleteMultiThreaded
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- TEST_F(ImageFrameGeneratorTest,
- MAYBE_incompleteDecodeBecomesCompleteMultiThreaded) {
- SetFrameStatus(ImageFrame::kFramePartial);
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 1fa38ccb1b3b..b522e38b6256 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,6 +1,6 @@
---- third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2021-12-14 11:45:12 UTC
+--- third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/platform/graphics/video_frame_submitter.cc
-@@ -321,7 +321,7 @@ void VideoFrameSubmitter::OnBeginFrame(
+@@ -328,7 +328,7 @@ void VideoFrameSubmitter::OnBeginFrame(
continue;
auto& feedback =
timing_details.find(frame_token)->value.presentation_feedback;
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 640738cda00f..fd5046f3737c 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,11 +1,12 @@
---- third_party/blink/renderer/platform/scheduler/common/thread.cc.orig 2021-07-19 18:45:22 UTC
+--- third_party/blink/renderer/platform/scheduler/common/thread.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/platform/scheduler/common/thread.cc
-@@ -99,7 +99,7 @@ void Thread::CreateAndSetCompositorThread() {
+@@ -99,7 +99,8 @@ void Thread::CreateAndSetCompositorThread() {
std::make_unique<scheduler::CompositorThread>(params);
compositor_thread->Init();
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
++// pledge
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_OPENBSD)
if (base::FeatureList::IsEnabled(
features::kBlinkCompositorUseDisplayThreadPriority)) {
compositor_thread->GetTaskRunner()->PostTaskAndReplyWithResult(
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 1e1043e3a0b6..050c604c6d81 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,4 +1,4 @@
---- third_party/blink/renderer/platform/wtf/container_annotations.h.orig 2021-12-31 00:57:42 UTC
+--- third_party/blink/renderer/platform/wtf/container_annotations.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/platform/wtf/container_annotations.h
@@ -12,7 +12,7 @@
// TODO(ochang): Remove the ARCH_CPU_X86_64 condition to enable this for X86
@@ -9,19 +9,3 @@
#define ANNOTATE_CONTIGUOUS_CONTAINER
#define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize) \
if (buffer) { \
-@@ -37,13 +37,13 @@
- ANNOTATE_NEW_BUFFER(buffer, newCapacity, bufferSize);
- // Annotations require buffers to begin on an 8-byte boundary.
-
--#else // ADDRESS_SANITIZER && (OS_LINUX || OS_CHROMEOS) && ARCH_CPU_X86_64
-+#else // ADDRESS_SANITIZER && (OS_LINUX || OS_CHROMEOS || OS_BSD) && ARCH_CPU_X86_64
-
- #define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize)
- #define ANNOTATE_DELETE_BUFFER(buffer, capacity, oldSize)
- #define ANNOTATE_CHANGE_SIZE(buffer, capacity, oldSize, newSize)
- #define ANNOTATE_CHANGE_CAPACITY(buffer, oldCapacity, bufferSize, newCapacity)
-
--#endif // ADDRESS_SANITIZER && (OS_LINUX || OS_CHROMEOS) && ARCH_CPU_X86_64
-+#endif // ADDRESS_SANITIZER && (OS_LINUX || OS_CHROMEOS || OS_BSD) && ARCH_CPU_X86_64
-
- #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_CONTAINER_ANNOTATIONS_H_
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h
index 221bfb81e6d0..7d176575cd08 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h
@@ -1,16 +1,23 @@
---- third_party/blink/renderer/platform/wtf/math_extras.h.orig 2022-01-24 12:24:17 UTC
+--- third_party/blink/renderer/platform/wtf/math_extras.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/platform/wtf/math_extras.h
-@@ -127,11 +127,11 @@ constexpr float Grad2turn(float g) {
+@@ -127,6 +127,10 @@ constexpr float Grad2turn(float g) {
return g * (1.0f / 400.0f);
}
--constexpr double RoundHalfTowardsPositiveInfinity(double value) {
-+inline double RoundHalfTowardsPositiveInfinity(double value) {
++#if defined(OS_FREEBSD)
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Winvalid-constexpr"
++#endif
+ constexpr double RoundHalfTowardsPositiveInfinity(double value) {
return std::floor(value + 0.5);
}
-
--constexpr float RoundHalfTowardsPositiveInfinity(float value) {
-+inline float RoundHalfTowardsPositiveInfinity(float value) {
+@@ -134,6 +138,9 @@ constexpr double RoundHalfTowardsPositiveInfinity(doub
+ constexpr float RoundHalfTowardsPositiveInfinity(float value) {
return std::floor(value + 0.5f);
}
++#if defined(OS_FREEBSD)
++#pragma clang diagnostic pop
++#endif
+ // ClampTo() is implemented by templated helper classes (to allow for partial
+ // template specialization) as well as several helper functions.
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 a28272b63e7e..b9ee5558ba8e 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,10 +1,10 @@
---- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2021-09-24 04:26:12 UTC
+--- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/blink/renderer/platform/wtf/stack_util.cc
@@ -18,6 +18,11 @@
extern "C" void* __libc_stack_end; // NOLINT
#endif
-+#if defined(OS_FREEBSD)
++#if defined(OS_BSD)
+#include <sys/signal.h>
+#include <pthread_np.h>
+#endif
@@ -12,3 +12,32 @@
namespace WTF {
size_t GetUnderestimatedStackSize() {
+@@ -62,6 +67,8 @@ size_t GetUnderestimatedStackSize() {
+ // low as 512k.
+ //
+ return 512 * 1024;
++#elif defined(OS_OPENBSD)
++ return 512 * 1024;
+ #elif defined(OS_MAC)
+ // pthread_get_stacksize_np() returns too low a value for the main thread on
+ // OSX 10.9,
+@@ -98,12 +105,18 @@ return Threading::ThreadStackSize();
+
+ void* GetStackStart() {
+ #if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
+ pthread_attr_t attr;
+ int error;
+ #if defined(OS_FREEBSD)
+ pthread_attr_init(&attr);
+ error = pthread_attr_get_np(pthread_self(), &attr);
++#elif defined(OS_OPENBSD)
++ stack_t ss;
++ void *base;
++ error = pthread_stackseg_np(pthread_self(), &ss);
++ base = (void*)((size_t) ss.ss_sp - ss.ss_size);
++ return reinterpret_cast<uint8_t*>(base) + ss.ss_size;
+ #else
+ error = pthread_getattr_np(pthread_self(), &attr);
+ #endif
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc
deleted file mode 100644
index d72a6a931d63..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- third_party/blink/renderer/platform/wtf/threading_pthreads.cc.orig 2021-04-14 18:41:11 UTC
-+++ third_party/blink/renderer/platform/wtf/threading_pthreads.cc
-@@ -50,12 +50,17 @@
- #include <objc/objc-auto.h>
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <sys/syscall.h>
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- #include <unistd.h>
-+#endif
-+
-+#if defined(OS_BSD)
-+#include <sys/signal.h>
-+#include <pthread_np.h>
- #endif
-
- namespace WTF {
diff --git a/www/chromium/files/patch-third__party_boringssl_BUILD.generated.gni b/www/chromium/files/patch-third__party_boringssl_BUILD.generated.gni
new file mode 100644
index 000000000000..2c560f4c783e
--- /dev/null
+++ b/www/chromium/files/patch-third__party_boringssl_BUILD.generated.gni
@@ -0,0 +1,10 @@
+--- third_party/boringssl/BUILD.generated.gni.orig 2022-02-07 13:39:41 UTC
++++ third_party/boringssl/BUILD.generated.gni
+@@ -183,6 +183,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_src_crypto_cpu-aarch64-linux.c b/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
deleted file mode 100644
index 5bfcc6a2bd6b..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
+++ /dev/null
@@ -1,73 +0,0 @@
---- third_party/boringssl/src/crypto/cpu-aarch64-linux.c.orig 2021-04-14 18:42:57 UTC
-+++ third_party/boringssl/src/crypto/cpu-aarch64-linux.c
-@@ -14,49 +14,45 @@
-
- #include <openssl/cpu.h>
-
--#if defined(OPENSSL_AARCH64) && defined(OPENSSL_LINUX) && \
-- !defined(OPENSSL_STATIC_ARMCAP)
-+#if defined(OPENSSL_AARCH64)
-
--#include <sys/auxv.h>
--
- #include <openssl/arm_arch.h>
-
- #include "internal.h"
-
--
- extern uint32_t OPENSSL_armcap_P;
-
--void OPENSSL_cpuid_setup(void) {
-- unsigned long hwcap = getauxval(AT_HWCAP);
-+#include <sys/types.h>
-+#include <machine/armreg.h>
-
-- // See /usr/include/asm/hwcap.h on an aarch64 installation for the source of
-- // these values.
-- static const unsigned long kNEON = 1 << 1;
-- static const unsigned long kAES = 1 << 3;
-- static const unsigned long kPMULL = 1 << 4;
-- static const unsigned long kSHA1 = 1 << 5;
-- static const unsigned long kSHA256 = 1 << 6;
-+#ifndef ID_AA64ISAR0_AES_VAL
-+#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES
-+#endif
-+#ifndef ID_AA64ISAR0_SHA1_VAL
-+#define ID_AA64ISAR0_SHA1_VAL ID_AA64ISAR0_SHA1
-+#endif
-+#ifndef ID_AA64ISAR0_SHA2_VAL
-+#define ID_AA64ISAR0_SHA2_VAL ID_AA64ISAR0_SHA2
-+#endif
-
-- if ((hwcap & kNEON) == 0) {
-- // Matching OpenSSL, if NEON is missing, don't report other features
-- // either.
-- return;
-- }
-+void OPENSSL_cpuid_setup(void) {
-+ uint64_t id_aa64isar0;
-
-+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
-+
- OPENSSL_armcap_P |= ARMV7_NEON;
-
-- if (hwcap & kAES) {
-+ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) >= ID_AA64ISAR0_AES_BASE) {
- OPENSSL_armcap_P |= ARMV8_AES;
- }
-- if (hwcap & kPMULL) {
-+ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) {
- OPENSSL_armcap_P |= ARMV8_PMULL;
- }
-- if (hwcap & kSHA1) {
-+ if (ID_AA64ISAR0_SHA1_VAL(id_aa64isar0) == ID_AA64ISAR0_SHA1_BASE) {
- OPENSSL_armcap_P |= ARMV8_SHA1;
- }
-- if (hwcap & kSHA256) {
-+ if(ID_AA64ISAR0_SHA2_VAL(id_aa64isar0) >= ID_AA64ISAR0_SHA2_BASE) {
- OPENSSL_armcap_P |= ARMV8_SHA256;
- }
- }
--
--#endif // OPENSSL_AARCH64 && !OPENSSL_STATIC_ARMCAP
-+#endif // OPENSSL_AARCH64
diff --git a/www/chromium/files/patch-third__party_boringssl_src_crypto_ex__data.c b/www/chromium/files/patch-third__party_boringssl_src_crypto_ex__data.c
deleted file mode 100644
index 03f417cb2db4..000000000000
--- a/www/chromium/files/patch-third__party_boringssl_src_crypto_ex__data.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/boringssl/src/crypto/ex_data.c.orig 2021-04-14 18:42:57 UTC
-+++ third_party/boringssl/src/crypto/ex_data.c
-@@ -186,7 +186,9 @@ int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int index,
- }
- }
-
-- sk_void_set(ad->sk, index, val);
-+ // expression result unused; should this cast be to 'void'?
-+ // seems it should, feel free to investigate those #def
-+ (void) sk_void_set(ad->sk, index, val);
- return 1;
- }
-
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
new file mode 100644
index 000000000000..893182788c18
--- /dev/null
+++ b/www/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_rand_internal.h
@@ -0,0 +1,12 @@
+--- third_party/boringssl/src/crypto/fipsmodule/rand/internal.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/boringssl/src/crypto/fipsmodule/rand/internal.h
+@@ -27,7 +27,8 @@ extern "C" {
+
+
+ #if !defined(OPENSSL_WINDOWS) && !defined(OPENSSL_FUCHSIA) && \
+- !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE) && !defined(OPENSSL_TRUSTY)
++ !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE) && !defined(OPENSSL_TRUSTY) && \
++ !defined(OPENSSL_ARC4RANDOM)
+ #define OPENSSL_URANDOM
+ #endif
+
diff --git a/www/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
new file mode 100644
index 000000000000..42d35499cc94
--- /dev/null
+++ b/www/chromium/files/patch-third__party_boringssl_src_crypto_rand__extra_arc4random.c
@@ -0,0 +1,36 @@
+--- 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
index 54c0135975b6..77f5256190d9 100644
--- 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
@@ -1,13 +1,12 @@
---- third_party/boringssl/src/crypto/refcount_c11.c.orig 2021-06-10 13:07:35 UTC
+--- 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,10 @@
+@@ -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
new file mode 100644
index 000000000000..9271328ece25
--- /dev/null
+++ b/www/chromium/files/patch-third__party_boringssl_src_include_openssl_base.h
@@ -0,0 +1,14 @@
+--- third_party/boringssl/src/include/openssl/base.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/boringssl/src/include/openssl/base.h
+@@ -153,6 +153,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_cpu.h b/www/chromium/files/patch-third__party_boringssl_src_include_openssl_cpu.h
new file mode 100644
index 000000000000..147fd4d260d8
--- /dev/null
+++ b/www/chromium/files/patch-third__party_boringssl_src_include_openssl_cpu.h
@@ -0,0 +1,11 @@
+--- third_party/boringssl/src/include/openssl/cpu.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/boringssl/src/include/openssl/cpu.h
+@@ -105,7 +105,7 @@ OPENSSL_INLINE const uint32_t *OPENSSL_ia32cap_get(voi
+
+ #if defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
+
+-#if defined(OPENSSL_APPLE)
++#if defined(OPENSSL_APPLE) || defined(OPENSSL_OPENBSD)
+ // iOS builds use the static ARM configuration.
+ #define OPENSSL_STATIC_ARMCAP
+ #endif
diff --git a/www/chromium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h b/www/chromium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h
deleted file mode 100644
index b9a0d2309eca..000000000000
--- a/www/chromium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/breakpad/breakpad/src/common/simple_string_dictionary.h.orig 2021-04-14 18:42:57 UTC
-+++ third_party/breakpad/breakpad/src/common/simple_string_dictionary.h
-@@ -33,7 +33,7 @@
- #include <assert.h>
- #include <string.h>
-
--#include "common/basictypes.h"
-+#include "third_party/breakpad/breakpad/src/common/basictypes.h"
-
- namespace google_breakpad {
-
diff --git a/www/chromium/files/patch-third__party_brotli_common_platform.h b/www/chromium/files/patch-third__party_brotli_common_platform.h
new file mode 100644
index 000000000000..60ccb4e08e5c
--- /dev/null
+++ b/www/chromium/files/patch-third__party_brotli_common_platform.h
@@ -0,0 +1,11 @@
+--- third_party/brotli/common/platform.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/brotli/common/platform.h
+@@ -28,7 +28,7 @@
+ #include <brotli/port.h>
+ #include <brotli/types.h>
+
+-#if defined(OS_LINUX) || defined(OS_CYGWIN) || defined(__EMSCRIPTEN__)
++#if defined(OS_LINUX) || defined(OS_CYGWIN) || defined(__EMSCRIPTEN__) || defined(OS_BSD)
+ #include <endian.h>
+ #elif defined(OS_FREEBSD)
+ #include <machine/endian.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
new file mode 100644
index 000000000000..cad468b3f569
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
@@ -0,0 +1,11 @@
+--- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2022-02-07 13:39:41 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
+ crashpad_is_win = is_win
+- crashpad_is_linux = is_linux || is_chromeos
++ crashpad_is_linux = (is_linux || is_chromeos) && !is_bsd
+ crashpad_is_android = is_android
+ crashpad_is_fuchsia = is_fuchsia
+
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
index fa7635090b45..f2c74a32ab17 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,9 +1,10 @@
---- third_party/crashpad/crashpad/client/BUILD.gn.orig 2021-12-31 00:58:27 UTC
+--- third_party/crashpad/crashpad/client/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ third_party/crashpad/crashpad/client/BUILD.gn
-@@ -52,6 +52,12 @@ crashpad_static_library("client") {
- ]
+@@ -130,6 +130,13 @@ static_library("common") {
+ if (crashpad_is_win) {
+ sources += [ "crash_report_database_win.cc" ]
}
-
++
+ if (crashpad_is_posix) {
+ sources += [
+ "crashpad_client_posix.cc",
@@ -12,4 +13,4 @@
+
if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
sources += [
- "client_argv_handling.cc",
+ "crash_report_database_generic.cc",
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc b/www/chromium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc
index 55a09beec07e..3844bf05eeda 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc
@@ -1,6 +1,6 @@
---- third_party/crashpad/crashpad/client/crashpad_client_posix.cc.orig 2021-04-15 08:13:28 UTC
+--- third_party/crashpad/crashpad/client/crashpad_client_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/crashpad/crashpad/client/crashpad_client_posix.cc
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,40 @@
+// Copyright 2017 The Crashpad Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
@@ -34,7 +34,8 @@
+ const std::map<std::string, std::string>& annotations,
+ const std::vector<std::string>& arguments,
+ bool restartable,
-+ bool asynchronous_start) {
++ bool asynchronous_start,
++ const std::vector<base::FilePath>& attachments) {
+ NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196
+ return false;
+}
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc b/www/chromium/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc
new file mode 100644
index 000000000000..48ccdc304a85
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc
@@ -0,0 +1,13 @@
+--- third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
+@@ -119,6 +119,10 @@ std::string MinidumpMiscInfoDebugBuildString() {
+ static constexpr char kOS[] = "win";
+ #elif defined(OS_FUCHSIA)
+ static constexpr char kOS[] = "fuchsia";
++#elif defined(OS_OPENBSD)
++ static constexpr char kOS[] = "openbsd";
++#elif defined(OS_FREEBSD)
++ static constexpr char kOS[] = "freebsd";
+ #else
+ #error define kOS for this operating system
+ #endif
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h
new file mode 100644
index 000000000000..7277e7be8040
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h
@@ -0,0 +1,20 @@
+--- third_party/crashpad/crashpad/util/misc/address_types.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/crashpad/crashpad/util/misc/address_types.h
+@@ -25,7 +25,7 @@
+ #include <mach/mach_types.h>
+ #elif defined(OS_WIN)
+ #include "util/win/address_types.h"
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ #include "util/linux/address_types.h"
+ #elif defined(OS_FUCHSIA)
+ #include <zircon/types.h>
+@@ -55,7 +55,7 @@ using VMSize = mach_vm_size_t;
+ using VMAddress = WinVMAddress;
+ using VMSize = WinVMSize;
+
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ using VMAddress = LinuxVMAddress;
+ using VMSize = LinuxVMSize;
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
new file mode 100644
index 000000000000..41979d9dd0c2
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h
@@ -0,0 +1,21 @@
+--- third_party/crashpad/crashpad/util/misc/capture_context.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/crashpad/crashpad/util/misc/capture_context.h
+@@ -21,7 +21,8 @@
+ #include <mach/mach.h>
+ #elif defined(OS_WIN)
+ #include <windows.h>
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++ defined(OS_FREEBSD)
+ #include <ucontext.h>
+ #elif defined(OS_FUCHSIA)
+ #include <signal.h>
+@@ -38,7 +39,7 @@ using NativeCPUContext = arm_unified_thread_state;
+ #elif defined(OS_WIN)
+ using NativeCPUContext = CONTEXT;
+ #elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
+- defined(OS_FUCHSIA)
++ defined(OS_FUCHSIA) || defined(OS_BSD)
+ using NativeCPUContext = ucontext_t;
+ #endif // OS_APPLE
+
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc
new file mode 100644
index 000000000000..50408ed31b3a
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc
@@ -0,0 +1,11 @@
+--- third_party/crashpad/crashpad/util/misc/metrics.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/crashpad/crashpad/util/misc/metrics.cc
+@@ -25,7 +25,7 @@
+ #define METRICS_OS_NAME "Win"
+ #elif defined(OS_ANDROID)
+ #define METRICS_OS_NAME "Android"
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #define METRICS_OS_NAME "Linux"
+ #elif defined(OS_FUCHSIA)
+ #define METRICS_OS_NAME "Fuchsia"
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
new file mode 100644
index 000000000000..c5966046234d
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc
@@ -0,0 +1,11 @@
+--- third_party/crashpad/crashpad/util/misc/uuid.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/crashpad/crashpad/util/misc/uuid.cc
+@@ -100,7 +100,7 @@ bool UUID::InitializeWithNew() {
+ InitializeFromBytes(uuid);
+ return true;
+ #elif defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID) || defined(OS_FUCHSIA)
++ defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ // Linux, Android, and Fuchsia do not provide a UUID generator in a
+ // widely-available system library. On Linux and Android, uuid_generate()
+ // from libuuid is not available everywhere.
diff --git a/www/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 b0585d4202da..2d339e682896 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,40 +1,11 @@
---- third_party/crashpad/crashpad/util/posix/close_multiple.cc.orig 2021-07-19 18:45:40 UTC
+--- third_party/crashpad/crashpad/util/posix/close_multiple.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/crashpad/crashpad/util/posix/close_multiple.cc
-@@ -187,11 +187,37 @@ void CloseMultipleNowOrOnExec(int fd, int preserve_fd)
- }
- #endif
-
-+#if defined(OS_BSD)
-+ // If preserve_fd is in the space to be freed, copy it down.
-+ bool copied = false;
-+ if (preserve_fd >= fd) {
-+ if (preserve_fd > fd) {
-+ int rv = dup2(preserve_fd, fd);
-+ if (rv != 0)
-+ PLOG(WARNING) << "dup2";
-+ copied = true;
-+ }
-+ fd++;
-+ }
-+ // Cloexec is only used for MACOS...
-+ closefrom(fd);
-+ // Put it back.
-+ if (copied) {
-+ fd--;
-+ int rv = dup2(fd, preserve_fd);
-+ if (rv != 0)
-+ PLOG(WARNING) << "dup2";
-+ rv = IGNORE_EINTR(close(fd));
-+ if (rv != 0)
-+ PLOG(WARNING) << "close";
-+ }
-+#else
- for (int entry_fd = fd; entry_fd < max_fd; ++entry_fd) {
- if (entry_fd != preserve_fd) {
- CloseNowOrOnExec(entry_fd, true);
- }
- }
-+#endif
- }
-
- } // namespace crashpad
+@@ -72,7 +72,7 @@ void CloseNowOrOnExec(int fd, bool ebadf_ok) {
+ // This is an advantage over looping over all possible file descriptors, because
+ // no attempt needs to be made to close file descriptors that are not open.
+ bool CloseMultipleNowOrOnExecUsingFDDir(int min_fd, int preserve_fd) {
+-#if defined(OS_APPLE)
++#if defined(OS_APPLE) || defined(OS_BSD)
+ static constexpr char kFDDir[] = "/dev/fd";
+ #elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
+ static constexpr char kFDDir[] = "/proc/self/fd";
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc
new file mode 100644
index 000000000000..ed5802c696a0
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc
@@ -0,0 +1,11 @@
+--- third_party/crashpad/crashpad/util/posix/drop_privileges.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/crashpad/crashpad/util/posix/drop_privileges.cc
+@@ -25,7 +25,7 @@ void DropPrivileges() {
+ gid_t gid = getgid();
+ uid_t uid = getuid();
+
+-#if defined(OS_APPLE)
++#if defined(OS_APPLE) || defined(OS_BSD)
+ // Based on the POSIX.1-2008 2013 edition documentation for setreuid() and
+ // setregid(), setreuid() and setregid() alone should be sufficient to drop
+ // privileges. The standard specifies that the saved ID should be set to the
diff --git a/www/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 932c77c6eb76..cad1e5f82aec 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,6 +1,24 @@
---- third_party/crashpad/crashpad/util/posix/signals.cc.orig 2021-04-14 18:41:34 UTC
+--- third_party/crashpad/crashpad/util/posix/signals.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/crashpad/crashpad/util/posix/signals.cc
-@@ -228,8 +228,12 @@ bool Signals::WillSignalReraiseAutonomously(const sigi
+@@ -50,7 +50,7 @@ constexpr int kCrashSignals[] = {
+ #if defined(SIGEMT)
+ SIGEMT,
+ #endif // defined(SIGEMT)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ SIGXCPU,
+ SIGXFSZ,
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+@@ -90,7 +90,7 @@ constexpr int kTerminateSignals[] = {
+ SIGXCPU,
+ SIGXFSZ,
+ #endif // defined(OS_APPLE)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ SIGIO,
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+ };
+@@ -232,8 +232,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
new file mode 100644
index 000000000000..c47ff29b9163
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc
@@ -0,0 +1,20 @@
+--- third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc
+@@ -64,7 +64,7 @@ constexpr const char* kSignalNames[] = {
+ "INFO",
+ "USR1",
+ "USR2",
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ #if defined(ARCH_CPU_MIPS_FAMILY)
+ "HUP",
+ "INT",
+@@ -135,7 +135,7 @@ constexpr const char* kSignalNames[] = {
+ #endif // defined(ARCH_CPU_MIPS_FAMILY)
+ #endif
+ };
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ // NSIG is 64 to account for real-time signals.
+ static_assert(base::size(kSignalNames) == 32, "kSignalNames length");
+ #else
diff --git a/www/chromium/files/patch-third__party_crc32c_BUILD.gn b/www/chromium/files/patch-third__party_crc32c_BUILD.gn
new file mode 100644
index 000000000000..22c22b3f8a03
--- /dev/null
+++ b/www/chromium/files/patch-third__party_crc32c_BUILD.gn
@@ -0,0 +1,11 @@
+--- third_party/crc32c/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ third_party/crc32c/BUILD.gn
+@@ -47,7 +47,7 @@ config("crc32c_config") {
+ }
+
+ # Android added <sys/auxv.h> in API level 18.
+- if (is_linux || is_chromeos || is_android) {
++ if (is_linux || is_chromeos || is_android && !is_bsd) {
+ defines += [
+ "HAVE_STRONG_GETAUXVAL=1",
+ "HAVE_WEAK_GETAUXVAL=1",
diff --git a/www/chromium/files/patch-third__party_dawn_src_common_Platform.h b/www/chromium/files/patch-third__party_dawn_src_common_Platform.h
index e756612aa0ba..41db12be37f4 100644
--- a/www/chromium/files/patch-third__party_dawn_src_common_Platform.h
+++ b/www/chromium/files/patch-third__party_dawn_src_common_Platform.h
@@ -1,14 +1,13 @@
---- third_party/dawn/src/common/Platform.h.orig 2021-07-19 18:47:20 UTC
+--- third_party/dawn/src/common/Platform.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/dawn/src/common/Platform.h
-@@ -53,6 +53,11 @@
- # define DAWN_PLATFORM_EMSCRIPTEN 1
- # define DAWN_PLATFORM_POSIX 1
+@@ -26,6 +26,10 @@
+ # error "Unsupported Windows platform."
+ # endif
-+#elif defined(__FreeBSD__)
-+# define DAWN_PLATFORM_FREEBSD 1
++#elif defined(__OpenBSD__) || defined(__FreeBSD__)
++# define DAWN_PLATFORM_BSD 1
+# define DAWN_PLATFORM_LINUX 1
+# define DAWN_PLATFORM_POSIX 1
-+
- #else
- # error "Unsupported platform."
- #endif
+ #elif defined(__linux__)
+ # define DAWN_PLATFORM_LINUX 1
+ # define DAWN_PLATFORM_POSIX 1
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
new file mode 100644
index 000000000000..ae71cc3a0adf
--- /dev/null
+++ b/www/chromium/files/patch-third__party_dawn_src_dawn__native_vulkan_BackendVk.cpp
@@ -0,0 +1,11 @@
+--- third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp.orig 2022-02-07 13:39:41 UTC
++++ third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp
+@@ -37,7 +37,7 @@ constexpr char kSwiftshaderLibName[] = "libvk_swiftsha
+ #endif
+
+ #if defined(DAWN_PLATFORM_LINUX)
+-# if defined(DAWN_PLATFORM_ANDROID)
++# if defined(DAWN_PLATFORM_ANDROID) || defined(DAWN_PLATFORM_BSD)
+ constexpr char kVulkanLibName[] = "libvulkan.so";
+ # else
+ constexpr char kVulkanLibName[] = "libvulkan.so.1";
diff --git a/www/chromium/files/patch-third__party_dawn_src_include_dawn__native_VulkanBackend.h b/www/chromium/files/patch-third__party_dawn_src_include_dawn__native_VulkanBackend.h
index d16768208eda..f572587d8778 100644
--- a/www/chromium/files/patch-third__party_dawn_src_include_dawn__native_VulkanBackend.h
+++ b/www/chromium/files/patch-third__party_dawn_src_include_dawn__native_VulkanBackend.h
@@ -1,11 +1,11 @@
---- third_party/dawn/src/include/dawn_native/VulkanBackend.h.orig 2021-06-11 10:05:54 UTC
+--- third_party/dawn/src/include/dawn_native/VulkanBackend.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/dawn/src/include/dawn_native/VulkanBackend.h
-@@ -63,7 +63,7 @@ namespace dawn_native { namespace vulkan {
+@@ -69,7 +69,7 @@ namespace dawn_native { namespace vulkan {
};
// Can't use DAWN_PLATFORM_LINUX since header included in both Dawn and Chrome
-#ifdef __linux__
-+#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || 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_ffmpeg_BUILD.gn b/www/chromium/files/patch-third__party_ffmpeg_BUILD.gn
new file mode 100644
index 000000000000..cac1b977b0b2
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_BUILD.gn
@@ -0,0 +1,10 @@
+--- third_party/ffmpeg/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/BUILD.gn
+@@ -349,7 +349,6 @@ target(link_target_type, "ffmpeg_internal") {
+ libs += [
+ "m",
+ "z",
+- "rt",
+ ]
+ }
+ if (is_component_ffmpeg) {
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
new file mode 100644
index 000000000000..afd06806ed04
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h
@@ -0,0 +1,2706 @@
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h
+@@ -0,0 +1,2703 @@
++/* 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-lzo --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/chromium/chromium-git/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 2021
++#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
++#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
++#define CC_IDENT "OpenBSD clang version 11.1.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_M68K 0
++#define ARCH_MIPS 0
++#define ARCH_MIPS64 0
++#define ARCH_PARISC 0
++#define ARCH_PPC 0
++#define ARCH_PPC64 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_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_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_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_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_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_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_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_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 1
++#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_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 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_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 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_OPENSSL 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_LIBPULSE 0
++#define CONFIG_LIBRABBITMQ 0
++#define CONFIG_LIBRAV1E 0
++#define CONFIG_LIBRIST 0
++#define CONFIG_LIBRSVG 0
++#define CONFIG_LIBRTMP 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_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_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_VULKAN 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_V4L2_M2M 0
++#define CONFIG_XVMC 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_LZO 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_MEMORY_POISONING 0
++#define CONFIG_NEON_CLOBBER_TEST 0
++#define CONFIG_OSSFUZZ 0
++#define CONFIG_PIC 1
++#define CONFIG_THUMB 0
++#define CONFIG_VALGRIND_BACKTRACE 0
++#define CONFIG_XMM_CLOBBER_TEST 0
++#define CONFIG_BSFS 1
++#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_DIRAC_PARSE 1
++#define CONFIG_DNN 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_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_MPEGVIDEO 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
++#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_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 1
++#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_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_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_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_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_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_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_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_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_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_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_MPEG1_XVMC_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_MPEG2_XVMC_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_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_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_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_ADELAY_FILTER 0
++#define CONFIG_ADENORM_FILTER 0
++#define CONFIG_ADERIVATIVE_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_AGATE_FILTER 0
++#define CONFIG_AIIR_FILTER 0
++#define CONFIG_AINTEGRAL_FILTER 0
++#define CONFIG_AINTERLEAVE_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_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_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_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_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_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_CHROMABER_VULKAN_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_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_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_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_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_GEQ_FILTER 0
++#define CONFIG_GRADFUN_FILTER 0
++#define CONFIG_GRAPHMONITOR_FILTER 0
++#define CONFIG_GREYEDGE_FILTER 0
++#define CONFIG_HALDCLUT_FILTER 0
++#define CONFIG_HFLIP_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_HUE_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_LENSCORRECTION_FILTER 0
++#define CONFIG_LENSFUN_FILTER 0
++#define CONFIG_LIBVMAF_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_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_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_SCDET_FILTER 0
++#define CONFIG_SCROLL_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_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_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_VECTORSCOPE_FILTER 0
++#define CONFIG_VFLIP_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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
new file mode 100644
index 000000000000..2858eade463b
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm
@@ -0,0 +1,2689 @@
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm
+@@ -0,0 +1,2686 @@
++; 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_M68K 0
++%define ARCH_MIPS 0
++%define ARCH_MIPS64 0
++%define ARCH_PARISC 0
++%define ARCH_PPC 0
++%define ARCH_PPC64 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_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_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 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_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_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_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_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_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 1
++%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 0
++%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_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 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_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 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_OPENSSL 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_LIBPULSE 0
++%define CONFIG_LIBRABBITMQ 0
++%define CONFIG_LIBRAV1E 0
++%define CONFIG_LIBRIST 0
++%define CONFIG_LIBRSVG 0
++%define CONFIG_LIBRTMP 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_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_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_VULKAN 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_V4L2_M2M 0
++%define CONFIG_XVMC 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_LZO 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_MEMORY_POISONING 0
++%define CONFIG_NEON_CLOBBER_TEST 0
++%define CONFIG_OSSFUZZ 0
++%define CONFIG_PIC 1
++%define CONFIG_THUMB 0
++%define CONFIG_VALGRIND_BACKTRACE 0
++%define CONFIG_XMM_CLOBBER_TEST 0
++%define CONFIG_BSFS 1
++%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_DIRAC_PARSE 1
++%define CONFIG_DNN 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_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_MPEGVIDEO 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
++%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_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 1
++%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_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_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_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_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_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_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_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_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_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_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_MPEG1_XVMC_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_MPEG2_XVMC_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_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_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_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_ADELAY_FILTER 0
++%define CONFIG_ADENORM_FILTER 0
++%define CONFIG_ADERIVATIVE_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_AGATE_FILTER 0
++%define CONFIG_AIIR_FILTER 0
++%define CONFIG_AINTEGRAL_FILTER 0
++%define CONFIG_AINTERLEAVE_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_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_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_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_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_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_CHROMABER_VULKAN_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_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_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_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_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_GEQ_FILTER 0
++%define CONFIG_GRADFUN_FILTER 0
++%define CONFIG_GRAPHMONITOR_FILTER 0
++%define CONFIG_GREYEDGE_FILTER 0
++%define CONFIG_HALDCLUT_FILTER 0
++%define CONFIG_HFLIP_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_HUE_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_LENSCORRECTION_FILTER 0
++%define CONFIG_LENSFUN_FILTER 0
++%define CONFIG_LIBVMAF_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_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_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_SCDET_FILTER 0
++%define CONFIG_SCROLL_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_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_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_VECTORSCOPE_FILTER 0
++%define CONFIG_VFLIP_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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
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
new file mode 100644
index 000000000000..fb297338d13f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h
@@ -0,0 +1,2706 @@
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h
+@@ -0,0 +1,2703 @@
++/* 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-lzo --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/chromium/chromium-git/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 2021
++#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
++#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
++#define CC_IDENT "OpenBSD clang version 11.1.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_M68K 0
++#define ARCH_MIPS 0
++#define ARCH_MIPS64 0
++#define ARCH_PARISC 0
++#define ARCH_PPC 0
++#define ARCH_PPC64 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_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_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 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_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_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_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_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_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 1
++#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 0
++#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_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 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_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 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_OPENSSL 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_LIBPULSE 0
++#define CONFIG_LIBRABBITMQ 0
++#define CONFIG_LIBRAV1E 0
++#define CONFIG_LIBRIST 0
++#define CONFIG_LIBRSVG 0
++#define CONFIG_LIBRTMP 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_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_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_VULKAN 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_V4L2_M2M 0
++#define CONFIG_XVMC 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_LZO 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_MEMORY_POISONING 0
++#define CONFIG_NEON_CLOBBER_TEST 0
++#define CONFIG_OSSFUZZ 0
++#define CONFIG_PIC 1
++#define CONFIG_THUMB 0
++#define CONFIG_VALGRIND_BACKTRACE 0
++#define CONFIG_XMM_CLOBBER_TEST 0
++#define CONFIG_BSFS 1
++#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_DIRAC_PARSE 1
++#define CONFIG_DNN 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_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_MPEGVIDEO 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
++#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_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 1
++#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_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_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_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_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_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_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_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_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_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_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_MPEG1_XVMC_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_MPEG2_XVMC_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_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_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_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_ADELAY_FILTER 0
++#define CONFIG_ADENORM_FILTER 0
++#define CONFIG_ADERIVATIVE_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_AGATE_FILTER 0
++#define CONFIG_AIIR_FILTER 0
++#define CONFIG_AINTEGRAL_FILTER 0
++#define CONFIG_AINTERLEAVE_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_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_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_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_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_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_CHROMABER_VULKAN_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_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_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_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_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_GEQ_FILTER 0
++#define CONFIG_GRADFUN_FILTER 0
++#define CONFIG_GRAPHMONITOR_FILTER 0
++#define CONFIG_GREYEDGE_FILTER 0
++#define CONFIG_HALDCLUT_FILTER 0
++#define CONFIG_HFLIP_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_HUE_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_LENSCORRECTION_FILTER 0
++#define CONFIG_LENSFUN_FILTER 0
++#define CONFIG_LIBVMAF_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_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_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_SCDET_FILTER 0
++#define CONFIG_SCROLL_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_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_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_VECTORSCOPE_FILTER 0
++#define CONFIG_VFLIP_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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
new file mode 100644
index 000000000000..93d7ce8a6917
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm
@@ -0,0 +1,2688 @@
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.asm.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.asm
+@@ -0,0 +1,2685 @@
++; 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_M68K 0
++%define ARCH_MIPS 0
++%define ARCH_MIPS64 0
++%define ARCH_PARISC 0
++%define ARCH_PPC 0
++%define ARCH_PPC64 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_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_MSA2 0
++%define HAVE_LOONGSON2 0
++%define HAVE_LOONGSON3 0
++%define HAVE_MMI 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 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_MSA2_EXTERNAL 0
++%define HAVE_LOONGSON2_EXTERNAL 0
++%define HAVE_LOONGSON3_EXTERNAL 0
++%define HAVE_MMI_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_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_MSA2_INLINE 0
++%define HAVE_LOONGSON2_INLINE 0
++%define HAVE_LOONGSON3_INLINE 0
++%define HAVE_MMI_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_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_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 1
++%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_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 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_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 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_OPENSSL 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_LIBPULSE 0
++%define CONFIG_LIBRABBITMQ 0
++%define CONFIG_LIBRAV1E 0
++%define CONFIG_LIBRSVG 0
++%define CONFIG_LIBRTMP 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_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_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_VULKAN 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_V4L2_M2M 0
++%define CONFIG_XVMC 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_AVRESAMPLE 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_LZO 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_MEMORY_POISONING 0
++%define CONFIG_NEON_CLOBBER_TEST 0
++%define CONFIG_OSSFUZZ 0
++%define CONFIG_PIC 1
++%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_DIRAC_PARSE 1
++%define CONFIG_DNN 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_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_MPEGVIDEO 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
++%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_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_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_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_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_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_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_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_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_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_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_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_NVENC_ENCODER 0
++%define CONFIG_NVENC_H264_ENCODER 0
++%define CONFIG_NVENC_HEVC_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_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_MPEG1_XVMC_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_MPEG2_XVMC_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_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_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_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_ADELAY_FILTER 0
++%define CONFIG_ADENORM_FILTER 0
++%define CONFIG_ADERIVATIVE_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_AGATE_FILTER 0
++%define CONFIG_AIIR_FILTER 0
++%define CONFIG_AINTEGRAL_FILTER 0
++%define CONFIG_AINTERLEAVE_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_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_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_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_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_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_CHROMABER_VULKAN_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_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_RESAMPLE_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_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_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_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_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_GEQ_FILTER 0
++%define CONFIG_GRADFUN_FILTER 0
++%define CONFIG_GRAPHMONITOR_FILTER 0
++%define CONFIG_GREYEDGE_FILTER 0
++%define CONFIG_HALDCLUT_FILTER 0
++%define CONFIG_HFLIP_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_HUE_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_LENSCORRECTION_FILTER 0
++%define CONFIG_LENSFUN_FILTER 0
++%define CONFIG_LIBVMAF_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_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_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_SCDET_FILTER 0
++%define CONFIG_SCROLL_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_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_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_VECTORSCOPE_FILTER 0
++%define CONFIG_VFLIP_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_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_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_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_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_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_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_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_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_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_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_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_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_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_SINGLEJPEG_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_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_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_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_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
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
new file mode 100644
index 000000000000..3bd34f781503
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h
@@ -0,0 +1,2705 @@
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.h
+@@ -0,0 +1,2702 @@
++/* 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-lzo --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/ssd/trunk_blink_tot/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' --cc=clang --cxx=clang++" -- elide long configuration string from binary */
++#define FFMPEG_LICENSE "LGPL version 2.1 or later"
++#define CONFIG_THIS_YEAR 2021
++#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
++#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
++#define CC_IDENT "OpenBSD clang version 10.0.1"
++#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_M68K 0
++#define ARCH_MIPS 0
++#define ARCH_MIPS64 0
++#define ARCH_PARISC 0
++#define ARCH_PPC 0
++#define ARCH_PPC64 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_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_MSA2 0
++#define HAVE_LOONGSON2 0
++#define HAVE_LOONGSON3 0
++#define HAVE_MMI 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 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_MSA2_EXTERNAL 0
++#define HAVE_LOONGSON2_EXTERNAL 0
++#define HAVE_LOONGSON3_EXTERNAL 0
++#define HAVE_MMI_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_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_MSA2_INLINE 0
++#define HAVE_LOONGSON2_INLINE 0
++#define HAVE_LOONGSON3_INLINE 0
++#define HAVE_MMI_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_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_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 1
++#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_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 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_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 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_OPENSSL 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_LIBPULSE 0
++#define CONFIG_LIBRABBITMQ 0
++#define CONFIG_LIBRAV1E 0
++#define CONFIG_LIBRSVG 0
++#define CONFIG_LIBRTMP 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_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_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_VULKAN 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_V4L2_M2M 0
++#define CONFIG_XVMC 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_AVRESAMPLE 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_LZO 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_MEMORY_POISONING 0
++#define CONFIG_NEON_CLOBBER_TEST 0
++#define CONFIG_OSSFUZZ 0
++#define CONFIG_PIC 1
++#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_DIRAC_PARSE 1
++#define CONFIG_DNN 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_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_MPEGVIDEO 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
++#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_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_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_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_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_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_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_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_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_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_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_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_NVENC_ENCODER 0
++#define CONFIG_NVENC_H264_ENCODER 0
++#define CONFIG_NVENC_HEVC_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_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_MPEG1_XVMC_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_MPEG2_XVMC_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_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_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_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_ADELAY_FILTER 0
++#define CONFIG_ADENORM_FILTER 0
++#define CONFIG_ADERIVATIVE_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_AGATE_FILTER 0
++#define CONFIG_AIIR_FILTER 0
++#define CONFIG_AINTEGRAL_FILTER 0
++#define CONFIG_AINTERLEAVE_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_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_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_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_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_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_CHROMABER_VULKAN_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_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_RESAMPLE_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_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_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_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_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_GEQ_FILTER 0
++#define CONFIG_GRADFUN_FILTER 0
++#define CONFIG_GRAPHMONITOR_FILTER 0
++#define CONFIG_GREYEDGE_FILTER 0
++#define CONFIG_HALDCLUT_FILTER 0
++#define CONFIG_HFLIP_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_HUE_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_LENSCORRECTION_FILTER 0
++#define CONFIG_LENSFUN_FILTER 0
++#define CONFIG_LIBVMAF_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_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_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_SCDET_FILTER 0
++#define CONFIG_SCROLL_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_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_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_VECTORSCOPE_FILTER 0
++#define CONFIG_VFLIP_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_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_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_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_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_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_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_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_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_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_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_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_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_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_SINGLEJPEG_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_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_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_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_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_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h b/www/chromium/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h
new file mode 100644
index 000000000000..a0d30926495d
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h
@@ -0,0 +1,12 @@
+--- third_party/ffmpeg/libavcodec/x86/cabac.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/libavcodec/x86/cabac.h
+@@ -31,7 +31,8 @@
+
+ #if (defined(__i386) && defined(__clang__) && (__clang_major__<2 || (__clang_major__==2 && __clang_minor__<10)))\
+ || ( !defined(__clang__) && defined(__llvm__) && __GNUC__==4 && __GNUC_MINOR__==2 && __GNUC_PATCHLEVEL__<=1)\
+- || (defined(__INTEL_COMPILER) && defined(_MSC_VER))
++ || (defined(__INTEL_COMPILER) && defined(_MSC_VER)) \
++ || ((defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386))
+ # define BROKEN_COMPILER 1
+ #else
+ # define BROKEN_COMPILER 0
diff --git a/www/chromium/files/patch-third__party_ffmpeg_libavutil_cpu.c b/www/chromium/files/patch-third__party_ffmpeg_libavutil_cpu.c
new file mode 100644
index 000000000000..d82c1ed652cb
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_libavutil_cpu.c
@@ -0,0 +1,14 @@
+--- third_party/ffmpeg/libavutil/cpu.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/libavutil/cpu.c
+@@ -36,10 +36,7 @@
+ #if HAVE_GETPROCESSAFFINITYMASK || HAVE_WINRT
+ #include <windows.h>
+ #endif
+-#if HAVE_SYSCTL
+-#if HAVE_SYS_PARAM_H
+-#include <sys/param.h>
+-#endif
++#if HAVE_SYSCTL && !defined(__OpenBSD__)
+ #include <sys/types.h>
+ #include <sys/sysctl.h>
+ #endif
diff --git a/www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c b/www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c
new file mode 100644
index 000000000000..c4de5ec1608e
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_libavutil_random__seed.c
@@ -0,0 +1,14 @@
+--- third_party/ffmpeg/libavutil/random_seed.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/ffmpeg/libavutil/random_seed.c
+@@ -30,6 +30,11 @@
+ #include <windows.h>
+ #include <bcrypt.h>
+ #endif
++#if HAVE_ARC4RANDOM
++#undef __BSD_VISIBLE
++#define __BSD_VISIBLE 1
++#include <stdlib.h>
++#endif
+ #include <fcntl.h>
+ #include <math.h>
+ #include <time.h>
diff --git a/www/chromium/files/patch-third__party_fontconfig_include_config.h b/www/chromium/files/patch-third__party_fontconfig_include_config.h
new file mode 100644
index 000000000000..7ccdde3742e2
--- /dev/null
+++ b/www/chromium/files/patch-third__party_fontconfig_include_config.h
@@ -0,0 +1,89 @@
+--- 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_src_src_fccompat.c b/www/chromium/files/patch-third__party_fontconfig_src_src_fccompat.c
new file mode 100644
index 000000000000..95474c5028c2
--- /dev/null
+++ b/www/chromium/files/patch-third__party_fontconfig_src_src_fccompat.c
@@ -0,0 +1,13 @@
+--- third_party/fontconfig/src/src/fccompat.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/fontconfig/src/src/fccompat.c
+@@ -169,7 +169,9 @@ FcRandom(void)
+ {
+ int32_t result;
+
+-#if HAVE_RANDOM_R
++#if HAVE_ARC4RANDOM
++ result = arc4random() & 0x7fffffff;
++#elif HAVE_RANDOM_R
+ static struct random_data fcrandbuf;
+ static char statebuf[256];
+ static FcBool initialized = FcFalse;
diff --git a/www/chromium/files/patch-third__party_glfw_src_src_egl__context.c b/www/chromium/files/patch-third__party_glfw_src_src_egl__context.c
new file mode 100644
index 000000000000..a50f6a4f703c
--- /dev/null
+++ b/www/chromium/files/patch-third__party_glfw_src_src_egl__context.c
@@ -0,0 +1,11 @@
+--- third_party/glfw/src/src/egl_context.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/glfw/src/src/egl_context.c
+@@ -712,7 +712,7 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window,
+ #elif defined(_GLFW_WIN32)
+ #elif defined(_GLFW_COCOA)
+ #else
+- "libGL.so.1",
++ "libGL.so",
+ #endif
+ NULL
+ };
diff --git a/www/chromium/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h b/www/chromium/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h
deleted file mode 100644
index 19e2a3ba3ca3..000000000000
--- a/www/chromium/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- third_party/googletest/src/googletest/include/gtest/internal/gtest-port.h.orig 2021-12-31 01:00:50 UTC
-+++ third_party/googletest/src/googletest/include/gtest/internal/gtest-port.h
-@@ -1610,6 +1610,8 @@ class ThreadLocal : public ThreadLocalBase {
- // MutexBase and Mutex implement mutex on pthreads-based platforms.
- class MutexBase {
- public:
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wthread-safety-analysis"
- // Acquires this mutex.
- void Lock() {
- GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_lock(&mutex_));
-@@ -1626,6 +1628,7 @@ class MutexBase {
- has_owner_ = false;
- GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_unlock(&mutex_));
- }
-+#pragma GCC diagnostic pop
-
- // Does nothing if the current thread holds the mutex. Otherwise, crashes
- // with high probability.
diff --git a/www/chromium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc b/www/chromium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc
deleted file mode 100644
index 206ef9a394d2..000000000000
--- a/www/chromium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc
+++ /dev/null
@@ -1,43 +0,0 @@
---- third_party/googletest/src/googletest/src/gtest-port.cc.orig 2021-04-14 18:43:03 UTC
-+++ third_party/googletest/src/googletest/src/gtest-port.cc
-@@ -64,6 +64,11 @@
- # endif
- #endif
-
-+#if GTEST_OS_FREEBSD
-+#include <sys/sysctl.h>
-+#include <sys/user.h>
-+#endif
-+
- #if GTEST_OS_QNX
- # include <devctl.h>
- # include <fcntl.h>
-@@ -138,6 +143,28 @@ size_t GetThreadCount() {
- } else {
- return 0;
- }
-+}
-+
-+#elif GTEST_OS_FREEBSD
-+
-+#define KP_NLWP(kp) (kp.ki_numthreads)
-+
-+// Return the number of threads running in the process, or 0 to indicate that
-+// we cannot detect it.
-+size_t GetThreadCount() {
-+ int mib[] = {
-+ CTL_KERN,
-+ KERN_PROC,
-+ KERN_PROC_PID,
-+ getpid(),
-+ };
-+ u_int miblen = sizeof(mib) / sizeof(mib[0]);
-+ struct kinfo_proc(info);
-+ size_t size = sizeof(info);
-+ if (sysctl(mib, miblen, &info, &size, NULL, 0)) {
-+ return 0;
-+ }
-+ return KP_NLWP(info);
- }
-
- #elif GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD || \
diff --git a/www/chromium/files/patch-third__party_googletest_src_googletest_src_gtest.cc b/www/chromium/files/patch-third__party_googletest_src_googletest_src_gtest.cc
deleted file mode 100644
index 154510d4dfc0..000000000000
--- a/www/chromium/files/patch-third__party_googletest_src_googletest_src_gtest.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/googletest/src/googletest/src/gtest.cc.orig 2021-05-12 22:13:38 UTC
-+++ third_party/googletest/src/googletest/src/gtest.cc
-@@ -110,6 +110,7 @@
-
- #if GTEST_CAN_STREAM_RESULTS_
- # include <arpa/inet.h> // NOLINT
-+# include <sys/socket.h> // NOLINT
- # include <netdb.h> // NOLINT
- # include <sys/socket.h> // NOLINT
- # include <sys/types.h> // NOLINT
diff --git a/www/chromium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni b/www/chromium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni
deleted file mode 100644
index f519d8db2918..000000000000
--- a/www/chromium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/harfbuzz-ng/harfbuzz.gni.orig 2021-04-14 18:41:34 UTC
-+++ third_party/harfbuzz-ng/harfbuzz.gni
-@@ -3,10 +3,11 @@
- # found in the LICENSE file.
-
- declare_args() {
-- # Blink uses a cutting-edge version of Harfbuzz; most Linux distros do not
-- # contain a new enough version of the code to work correctly. However,
-- # ChromeOS chroots (i.e, real ChromeOS builds for devices) do contain a
-- # new enough version of the library, and so this variable exists so that
-- # ChromeOS can build against the system lib and keep binary sizes smaller.
-- use_system_harfbuzz = false
-+ # Blink uses a cutting-edge version of Harfbuzz (version listed in
-+ # third_party/harfbuzz-ng/README.chromium); most Linux distros do not contain
-+ # a new enough version of the code to work correctly. However, ChromeOS
-+ # chroots (i.e. real ChromeOS builds for devices) do contain a new enough
-+ # version of the library, and so this variable exists so that ChromeOS can
-+ # build against the system lib and keep binary sizes smaller.
-+ use_system_harfbuzz = true
- }
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 e7f6fe7e56f9..da61fb1864f7 100644
--- a/www/chromium/files/patch-third__party_leveldatabase_env__chromium.cc
+++ b/www/chromium/files/patch-third__party_leveldatabase_env__chromium.cc
@@ -1,14 +1,12 @@
---- third_party/leveldatabase/env_chromium.cc.orig 2021-07-19 18:45:41 UTC
+--- third_party/leveldatabase/env_chromium.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/leveldatabase/env_chromium.cc
-@@ -38,7 +38,11 @@
- #include "third_party/leveldatabase/chromium_logger.h"
- #include "third_party/leveldatabase/leveldb_chrome.h"
- #include "third_party/leveldatabase/src/include/leveldb/options.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
+@@ -316,7 +316,8 @@ ChromiumWritableFile::ChromiumWritableFile(const std::
- using base::FilePath;
- using base::trace_event::MemoryAllocatorDump;
+ Status ChromiumWritableFile::SyncParent() {
+ TRACE_EVENT0("leveldb", "SyncParent");
+-#if defined(OS_POSIX) || defined(OS_FUCHSIA)
++// pledge violation (directory passed as fd)
++#if (defined(OS_POSIX) || defined(OS_FUCHSIA)) && !defined(OS_OPENBSD)
+ FilePath path = FilePath::FromUTF8Unsafe(parent_dir_);
+ FileErrorOr<base::File> result = filesystem_->OpenFile(
+ path, base::File::FLAG_OPEN | base::File::FLAG_READ);
diff --git a/www/chromium/files/patch-third__party_libgav1_src_src_utils_entropy__decoder.cc b/www/chromium/files/patch-third__party_libgav1_src_src_utils_entropy__decoder.cc
deleted file mode 100644
index 46205fb44dac..000000000000
--- a/www/chromium/files/patch-third__party_libgav1_src_src_utils_entropy__decoder.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/libgav1/src/src/utils/entropy_decoder.cc.orig 2021-04-22 09:28:56 UTC
-+++ third_party/libgav1/src/src/utils/entropy_decoder.cc
-@@ -33,7 +33,7 @@
- #include <arm_neon.h>
- #endif
-
--#if defined(__SSE2__) || defined(LIBGAV1_X86_MSVC)
-+#if (defined(__SSE2__) || defined(LIBGAV1_X86_MSVC)) && !defined(__FreeBSD__)
- #define LIBGAV1_ENTROPY_DECODER_ENABLE_SSE2 1
- #else
- #define LIBGAV1_ENTROPY_DECODER_ENABLE_SSE2 0
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 f9747817a7a7..a3e62caae06b 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,11 +1,12 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h.orig 2021-04-14 18:43:05 UTC
+--- 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
-@@ -56,7 +56,7 @@ template <class T> boost::once_flag Singleton<T>::flag
+@@ -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(__FreeBSD__) && !defined(__OpenBSD__)
++#if !defined(__linux__) && !defined(__APPLE__) && !defined(__OpenBSD__) && \
++ !defined(__FreeBSD__)
namespace i18n {
namespace phonenumbers {
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 9d5d93c380b8..d4937d88891e 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,11 +1,12 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h.orig 2021-04-14 18:43:05 UTC
+--- 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
-@@ -63,7 +63,7 @@ class Lock { (private)
+@@ -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(__FreeBSD__)
++#elif !defined(__linux__) && !defined(__APPLE__) && !defined(__OpenBSD__) && \
++ !defined(__FreeBSD__)
namespace i18n {
namespace phonenumbers {
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 285c4a6626e3..396e8136c4ed 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,19 +1,22 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h.orig 2021-04-14 18:43:05 UTC
+--- 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
-@@ -23,6 +23,7 @@
+@@ -23,7 +23,8 @@
// 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(__FreeBSD__) && !defined(__OpenBSD__) && \
- !defined(I18N_PHONENUMBERS_NO_THREAD_SAFETY)
+- !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
-@@ -31,7 +32,7 @@
+ #endif
+@@ -31,7 +32,8 @@
#endif
#if !defined(NDEBUG) && !defined(I18N_PHONENUMBERS_USE_BOOST) && \
- (defined(__linux__) || defined(__apple__))
-+ (defined(__linux__) || defined(__apple__)) || defined(__FreeBSD__) || defined(__OpenBSD__)
++ (defined(__linux__) || defined(__apple__) || defined(__OpenBSD__) || \
++ defined(__FreeBSD__))
#include <pthread.h>
diff --git a/www/chromium/files/patch-third__party_libpng_pnglibconf.h b/www/chromium/files/patch-third__party_libpng_pnglibconf.h
deleted file mode 100644
index 231a3e3fd444..000000000000
--- a/www/chromium/files/patch-third__party_libpng_pnglibconf.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/libpng/pnglibconf.h.orig 2021-04-14 18:41:34 UTC
-+++ third_party/libpng/pnglibconf.h
-@@ -230,8 +230,11 @@
- * This is necessary to build multiple copies of libpng. We need this while pdfium builds
- * its own copy of libpng.
- */
-+/* Need to disable prefixing to unbundle chromium's libpng. */
-+#if 0
- #define PNG_PREFIX
- #include "pngprefix.h"
-+#endif
- /* end of chromium prefixing */
-
- #endif /* PNGLCONF_H */
diff --git a/www/chromium/files/patch-third__party_libsync_src_include_sync_sync.h b/www/chromium/files/patch-third__party_libsync_src_include_sync_sync.h
new file mode 100644
index 000000000000..a2564e610919
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libsync_src_include_sync_sync.h
@@ -0,0 +1,12 @@
+--- third_party/libsync/src/include/sync/sync.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/libsync/src/include/sync/sync.h
+@@ -22,7 +22,9 @@
+ #include <sys/cdefs.h>
+ #include <stdint.h>
+
++#if !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ #include <linux/types.h>
++#endif
+
+ __BEGIN_DECLS
+
diff --git a/www/chromium/files/patch-third__party_libsync_src_sync.c b/www/chromium/files/patch-third__party_libsync_src_sync.c
new file mode 100644
index 000000000000..06d214903b04
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libsync_src_sync.c
@@ -0,0 +1,25 @@
+--- third_party/libsync/src/sync.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/libsync/src/sync.c
+@@ -17,7 +17,9 @@
+ */
+
+ #include <fcntl.h>
++#if !defined(__OpenBSD__)
+ #include <malloc.h>
++#endif
+ #include <stdint.h>
+ #include <string.h>
+ #include <errno.h>
+@@ -29,6 +31,12 @@
+
+ #include <sync/sync.h>
+
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
++typedef __uint8_t __u8;
++typedef __uint32_t __u32;
++typedef __int32_t __s32;
++#define ETIME ETIMEDOUT
++#endif
+
+ struct sw_sync_create_fence_data {
+ __u32 value;
diff --git a/www/chromium/files/patch-third__party_libusb_BUILD.gn b/www/chromium/files/patch-third__party_libusb_BUILD.gn
new file mode 100644
index 000000000000..aa6756aaaa79
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libusb_BUILD.gn
@@ -0,0 +1,46 @@
+--- third_party/libusb/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ third_party/libusb/BUILD.gn
+@@ -3,7 +3,7 @@
+ # found in the LICENSE file.
+
+ # libusb is only used by //services/device/usb on macOS.
+-assert(is_mac)
++assert(is_mac || is_bsd)
+
+ import("//build/config/chromeos/ui_mode.gni")
+ import("//build/config/features.gni")
+@@ -116,7 +116,7 @@ static_library("libusb") {
+ ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [
+ "src/libusb/os/linux_usbfs.c",
+ "src/libusb/os/linux_usbfs.h",
+@@ -127,6 +127,16 @@ static_library("libusb") {
+ ]
+ }
+
++ if (is_openbsd) {
++ sources += [
++ "src/libusb/os/openbsd_usb.c",
++ ]
++ defines += [
++ "OS_OPENBSD=1",
++ "_GNU_SOURCE=1",
++ ]
++ }
++
+ if (is_chromeos_ash) {
+ defines += [ "USBI_TIMERFD_AVAILABLE" ]
+ }
+@@ -140,7 +150,7 @@ static_library("libusb") {
+ deps += [ "//build/linux/libudev" ]
+ }
+
+- if ((is_linux || is_chromeos) && !use_udev) {
++ if ((is_linux || is_chromeos) && !use_udev && !is_bsd) {
+ sources += [ "src/libusb/os/linux_netlink.c" ]
+ defines += [ "HAVE_LINUX_NETLINK_H" ]
+ }
diff --git a/www/chromium/files/patch-third__party_libusb_src_libusb_core.c b/www/chromium/files/patch-third__party_libusb_src_libusb_core.c
new file mode 100644
index 000000000000..f1cb8df07aa7
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libusb_src_libusb_core.c
@@ -0,0 +1,11 @@
+--- third_party/libusb/src/libusb/core.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/libusb/src/libusb/core.c
+@@ -448,7 +448,7 @@ libusb_free_device_list(list, 1);
+ * which grows when required. it can be freed once discovery has completed,
+ * eliminating the need for a list node in the libusb_device structure
+ * itself. */
+-#define DISCOVERED_DEVICES_SIZE_STEP 8
++#define DISCOVERED_DEVICES_SIZE_STEP 16
+
+ static struct discovered_devs *discovered_devs_alloc(void)
+ {
diff --git a/www/chromium/files/patch-third__party_libxml_linux_config.h b/www/chromium/files/patch-third__party_libxml_linux_config.h
new file mode 100644
index 000000000000..1a0a7f54aec2
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libxml_linux_config.h
@@ -0,0 +1,12 @@
+--- third_party/libxml/linux/config.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/libxml/linux/config.h
+@@ -129,6 +129,9 @@
+ /* Define to 1 if you have the `rand' function. */
+ #define HAVE_RAND 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
new file mode 100644
index 000000000000..a35e291f6462
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libxml_src_dict.c
@@ -0,0 +1,52 @@
+--- third_party/libxml/src/dict.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/libxml/src/dict.c
+@@ -38,8 +38,8 @@
+ * list we will use the BigKey algo as soon as the hash size grows
+ * over MIN_DICT_SIZE so this actually works
+ */
+-#if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME) && \
+- !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
++#if (defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME) && \
++ !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) || defined(HAVE_ARC4RANDOM)
+ #define DICT_RANDOMIZATION
+ #endif
+
+@@ -140,7 +140,7 @@ static xmlRMutexPtr 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
+ */
+@@ -181,7 +181,7 @@ int __xmlInitializeDict(void) {
+ return(0);
+ xmlRMutexLock(xmlDictMutex);
+
+-#ifdef DICT_RANDOMIZATION
++#if defined(DICT_RANDOMIZATION) && !defined(HAVE_ARC4RANDOM)
+ #ifdef HAVE_RAND_R
+ rand_seed = time(NULL);
+ rand_r(& rand_seed);
+@@ -201,13 +201,17 @@ int __xmlRandom(void) {
+ if (xmlDictInitialized == 0)
+ __xmlInitializeDict();
+
++#ifdef HAVE_ARC4RANDOM
++ ret = arc4random();
++#else
+ xmlRMutexLock(xmlDictMutex);
+-#ifdef HAVE_RAND_R
++# ifdef HAVE_RAND_R
+ ret = rand_r(& rand_seed);
+-#else
++# else
+ ret = rand();
+-#endif
++# endif
+ xmlRMutexUnlock(xmlDictMutex);
++#endif
+ return(ret);
+ }
+ #endif
diff --git a/www/chromium/files/patch-third__party_libyuv_include_libyuv_row.h b/www/chromium/files/patch-third__party_libyuv_include_libyuv_row.h
deleted file mode 100644
index bb15676a8e3d..000000000000
--- a/www/chromium/files/patch-third__party_libyuv_include_libyuv_row.h
+++ /dev/null
@@ -1,37 +0,0 @@
---- third_party/libyuv/include/libyuv/row.h.orig 2021-05-12 22:13:41 UTC
-+++ third_party/libyuv/include/libyuv/row.h
-@@ -158,10 +158,14 @@ extern "C" {
- #define HAS_ARGBSHADEROW_SSE2
- #define HAS_ARGBSUBTRACTROW_SSE2
- #define HAS_ARGBUNATTENUATEROW_SSE2
-+#if !(defined(__i386__) && defined(__GNUC__))
- #define HAS_BLENDPLANEROW_SSSE3
-+#endif
- #define HAS_COMPUTECUMULATIVESUMROW_SSE2
- #define HAS_CUMULATIVESUMTOAVERAGEROW_SSE2
-+#if !(defined(__i386__) && defined(__GNUC__))
- #define HAS_INTERPOLATEROW_SSSE3
-+#endif
- #define HAS_RGBCOLORTABLEROW_X86
- #define HAS_SOBELROW_SSE2
- #define HAS_SOBELTOPLANEROW_SSE2
-@@ -209,7 +213,9 @@ extern "C" {
- #define HAS_I422TORGB565ROW_AVX2
- #define HAS_I422TORGBAROW_AVX2
- #define HAS_I444TOARGBROW_AVX2
-+#if !(defined(__i386__) && defined(__GNUC__))
- #define HAS_INTERPOLATEROW_AVX2
-+#endif
- #define HAS_J422TOARGBROW_AVX2
- #define HAS_MERGEUVROW_AVX2
- #define HAS_MIRRORROW_AVX2
-@@ -234,7 +240,9 @@ extern "C" {
- #define HAS_ARGBMULTIPLYROW_AVX2
- #define HAS_ARGBSUBTRACTROW_AVX2
- #define HAS_ARGBUNATTENUATEROW_AVX2
-+#if !(defined(__i386__) && defined(__GNUC__))
- #define HAS_BLENDPLANEROW_AVX2
-+#endif
-
- #if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \
- defined(_MSC_VER)
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
new file mode 100644
index 000000000000..06120ab80f8e
--- /dev/null
+++ b/www/chromium/files/patch-third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc
@@ -0,0 +1,32 @@
+--- 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
new file mode 100644
index 000000000000..f42839c59721
--- /dev/null
+++ b/www/chromium/files/patch-third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc
@@ -0,0 +1,29 @@
+--- 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_nasm_config_config-linux.h b/www/chromium/files/patch-third__party_nasm_config_config-linux.h
index 40a1ec91b76b..ec0874895d15 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,4 +1,4 @@
---- third_party/nasm/config/config-linux.h.orig 2021-04-14 18:43:05 UTC
+--- third_party/nasm/config/config-linux.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/nasm/config/config-linux.h
@@ -139,7 +139,7 @@
#define HAVE_ACCESS 1
@@ -9,6 +9,15 @@
/* 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 @@
#define HAVE_DECL_STRSEP 1
@@ -18,6 +27,44 @@
/* Define to 1 if you have the `faccessat' function. */
#define HAVE_FACCESSAT 1
+@@ -327,16 +327,16 @@
+ #define HAVE_ISASCII 1
+
+ /* Define to 1 if you have the `iscntrl' function. */
+-/* #undef HAVE_ISCNTRL */
++#define HAVE_ISCNTRL 1
+
+ /* Define to 1 if you have the <machine/endian.h> header file. */
+-/* #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 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 HAVE_STDARG_H 1
+
+ /* Define to 1 if stdbool.h conforms to C99. */
+-/* #undef HAVE_STDBOOL_H */
++#define HAVE_STDBOOL_H 1
+
+ /* Define to 1 if your compiler supports C99 extern inline */
+ #define HAVE_STDC_INLINE 1
+@@ -384,7 +384,7 @@
+ #define HAVE_STRING_H 1
+
+ /* Define to 1 if you have the `strlcpy' function. */
+-/* #undef HAVE_STRLCPY */
++#define HAVE_STRLCPY 1
+
+ /* Define to 1 if you have the `strncasecmp' function. */
+ #define HAVE_STRNCASECMP 1
@@ -411,7 +411,7 @@
#define HAVE_SYSCONF 1
@@ -27,3 +74,38 @@
/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1
+@@ -486,13 +486,13 @@
+ /* #undef HAVE__STATI64 */
+
+ /* Define to 1 if you have the `__bswap_16' intrinsic function. */
+-#define HAVE___BSWAP_16 1
++/* #undef HAVE___BSWAP_16 */
+
+ /* Define to 1 if you have the `__bswap_32' intrinsic function. */
+-#define HAVE___BSWAP_32 1
++/* #undef HAVE___BSWAP_32 */
+
+ /* Define to 1 if you have the `__bswap_64' intrinsic function. */
+-#define HAVE___BSWAP_64 1
++/* #undef HAVE___BSWAP_64 */
+
+ /* 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_node.py b/www/chromium/files/patch-third__party_node_node.py
index 412d6e7abb98..f13b8b6b458d 100644
--- a/www/chromium/files/patch-third__party_node_node.py
+++ b/www/chromium/files/patch-third__party_node_node.py
@@ -1,10 +1,11 @@
---- third_party/node/node.py.orig 2021-05-12 22:06:44 UTC
+--- third_party/node/node.py.orig 2022-02-07 13:39:41 UTC
+++ third_party/node/node.py
-@@ -19,6 +19,7 @@ def GetBinaryPath():
- 'node-darwin-arm64', 'bin', 'node'))
+@@ -16,6 +16,8 @@ def GetBinaryPath():
return os_path.join(os_path.dirname(__file__), *{
- 'Darwin': ('mac', 'node-darwin-x64', 'bin', 'node'),
-+ 'FreeBSD': ('freebsd', 'node-freebsd-x64', 'bin', 'node'),
+ 'Darwin': ('mac', darwin_name, 'bin', 'node'),
'Linux': ('linux', 'node-linux-x64', 'bin', 'node'),
++ 'OpenBSD': ('openbsd', 'node-openbsd', 'bin', 'node'),
++ 'FreeBSD': ('freebsd', 'node-freebsd', 'bin', 'node'),
'Windows': ('win', 'node.exe'),
}[platform.system()])
+
diff --git a/www/chromium/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc b/www/chromium/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc
deleted file mode 100644
index bbe07ce6f9a5..000000000000
--- a/www/chromium/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/openscreen/src/platform/impl/udp_socket_posix.cc.orig 2021-04-14 18:43:06 UTC
-+++ third_party/openscreen/src/platform/impl/udp_socket_posix.cc
-@@ -31,7 +31,7 @@ namespace openscreen {
- namespace {
-
- // 64 KB is the maximum possible UDP datagram size.
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- constexpr int kMaxUdpBufferSize = 64 << 10;
- #endif
-
-@@ -381,7 +381,7 @@ bool IsPacketInfo<in6_pktinfo>(cmsghdr* cmh) {
- template <class SockAddrType, class PktInfoType>
- ErrorOr<UdpPacket> ReceiveMessageInternal(int fd) {
- int upper_bound_bytes;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // This should return the exact size of the next message.
- upper_bound_bytes = recv(fd, nullptr, 0, MSG_PEEK | MSG_TRUNC);
- if (upper_bound_bytes == -1) {
-@@ -409,7 +409,7 @@ ErrorOr<UdpPacket> ReceiveMessageInternal(int fd) {
-
- // Although we don't do anything with the control buffer, on Linux
- // it is required for the message to be properly read.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- alignas(alignof(cmsghdr)) uint8_t control_buffer[1024];
- msg.msg_control = control_buffer;
- msg.msg_controllen = sizeof(control_buffer);
diff --git a/www/chromium/files/patch-third__party_opus_BUILD.gn b/www/chromium/files/patch-third__party_opus_BUILD.gn
new file mode 100644
index 000000000000..88625fca9da9
--- /dev/null
+++ b/www/chromium/files/patch-third__party_opus_BUILD.gn
@@ -0,0 +1,10 @@
+--- 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_fxcrt_cfx__datetime.cpp b/www/chromium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp
index a5645a61d0e7..517331df81a0 100644
--- a/www/chromium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp
+++ b/www/chromium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp
@@ -1,11 +1,11 @@
---- third_party/pdfium/core/fxcrt/cfx_datetime.cpp.orig 2021-04-14 18:43:07 UTC
+--- third_party/pdfium/core/fxcrt/cfx_datetime.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/pdfium/core/fxcrt/cfx_datetime.cpp
-@@ -10,7 +10,7 @@
- #include "core/fxcrt/fx_system.h"
+@@ -11,7 +11,7 @@
#include "third_party/base/check.h"
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_APPLE) || defined(OS_ASMJS)
+ #if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_APPLE) || defined(OS_ASMJS)
++ defined(OS_APPLE) || defined(OS_ASMJS) || defined(OS_BSD)
#include <sys/time.h>
#include <time.h>
+ #endif
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 a6c6ec44c069..641669a7c068 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 2021-12-31 01:00:55 UTC
+--- third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/pdfium/core/fxge/cfx_fontmapper.cpp
-@@ -156,13 +156,13 @@ constexpr AltFontFamily kAltFontFamilies[] = {
+@@ -156,7 +156,7 @@ constexpr AltFontFamily kAltFontFamilies[] = {
{"ForteMT", "Forte"},
};
@@ -9,10 +9,3 @@
const char kNarrowFamily[] = "LiberationSansNarrow";
#elif defined(OS_ANDROID)
const char kNarrowFamily[] = "RobotoCondensed";
- #else
- const char kNarrowFamily[] = "ArialNarrow";
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ASMJS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ASMJS) || defined(OS_BSD)
-
- ByteString TT_NormalizeName(ByteString norm) {
- norm.Remove(' ');
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 94c0f8aa3ed2..d0db499d3f63 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,4 +1,4 @@
---- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2021-09-14 01:58:28 UTC
+--- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp
@@ -17,7 +17,7 @@
#include "third_party/base/check.h"
@@ -9,3 +9,15 @@
#error "Included on the wrong platform"
#endif
+@@ -165,9 +165,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())) {
+- pInfo->AddPath("/usr/share/fonts");
+- pInfo->AddPath("/usr/share/X11/fonts/Type1");
+- pInfo->AddPath("/usr/share/X11/fonts/TTF");
++ pInfo->AddPath("/usr/X11R6/lib/X11/fonts/Type1");
++ pInfo->AddPath("/usr/X11R6/lib/X11/fonts/TTF");
+ pInfo->AddPath("/usr/local/share/fonts");
+ }
+ return pInfo;
diff --git a/www/chromium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp b/www/chromium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp
deleted file mode 100644
index d7c4ae533625..000000000000
--- a/www/chromium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
---- third_party/pdfium/fxjs/cjs_publicmethods.cpp.orig 2021-04-14 18:43:07 UTC
-+++ third_party/pdfium/fxjs/cjs_publicmethods.cpp
-@@ -88,6 +88,103 @@ constexpr const wchar_t* kDateFormats[] = {L"m/d",
- constexpr const wchar_t* kTimeFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss",
- L"h:MM:ss tt"};
-
-+#if defined(__FreeBSD__)
-+/*
-+ * cvt.c - IEEE floating point formatting routines for FreeBSD
-+ * from GNU libc-4.6.27
-+ */
-+
-+/*
-+ * ap_ecvt converts to decimal
-+ * the number of digits is specified by ndigit
-+ * decpt is set to the position of the decimal point
-+ * sign is set to 0 for positive, 1 for negative
-+ */
-+
-+#define NDIG 80
-+
-+static char *
-+ ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag)
-+{
-+ register int r2;
-+ double fi, fj;
-+ register char *p, *p1;
-+ static char buf[NDIG];
-+
-+ if (ndigits >= NDIG - 1)
-+ ndigits = NDIG - 2;
-+ r2 = 0;
-+ *sign = 0;
-+ p = &buf[0];
-+ if (arg < 0) {
-+ *sign = 1;
-+ arg = -arg;
-+ }
-+ arg = modf(arg, &fi);
-+ p1 = &buf[NDIG];
-+ /*
-+ * Do integer part
-+ */
-+ if (fi != 0) {
-+ p1 = &buf[NDIG];
-+ while (fi != 0) {
-+ fj = modf(fi / 10, &fi);
-+ *--p1 = (int) ((fj + .03) * 10) + '0';
-+ r2++;
-+ }
-+ while (p1 < &buf[NDIG])
-+ *p++ = *p1++;
-+ }
-+ else if (arg > 0) {
-+ while ((fj = arg * 10) < 1) {
-+ arg = fj;
-+ r2--;
-+ }
-+ }
-+ p1 = &buf[ndigits];
-+ if (eflag == 0)
-+ p1 += r2;
-+ *decpt = r2;
-+ if (p1 < &buf[0]) {
-+ buf[0] = '\0';
-+ return (buf);
-+ }
-+ while (p <= p1 && p < &buf[NDIG]) {
-+ arg *= 10;
-+ arg = modf(arg, &fj);
-+ *p++ = (int) fj + '0';
-+ }
-+ if (p1 >= &buf[NDIG]) {
-+ buf[NDIG - 1] = '\0';
-+ return (buf);
-+ }
-+ p = p1;
-+ *p1 += 5;
-+ while (*p1 > '9') {
-+ *p1 = '0';
-+ if (p1 > buf)
-+ ++ * --p1;
-+ else {
-+ *p1 = '1';
-+ (*decpt)++;
-+ if (eflag == 0) {
-+ if (p > buf)
-+ *p = '0';
-+ p++;
-+ }
-+ }
-+ }
-+ *p = '\0';
-+ return (buf);
-+}
-+
-+static char *
-+ fcvt(double arg, int ndigits, int *decpt, int *sign)
-+{
-+ return (ap_cvt(arg, ndigits, decpt, sign, 0));
-+}
-+#endif // defined(__FreeBSD__)
-+
- template <typename T>
- T StrTrim(const T& str) {
- T result = str;
diff --git a/www/chromium/files/patch-third__party_pdfium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp b/www/chromium/files/patch-third__party_pdfium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp
index 1f1ecb756eb1..576f50efd7b7 100644
--- a/www/chromium/files/patch-third__party_pdfium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp
+++ b/www/chromium/files/patch-third__party_pdfium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp
@@ -1,4 +1,4 @@
---- third_party/pdfium/xfa/fxfa/parser/cxfa_timezoneprovider.cpp.orig 2021-06-09 22:16:18 UTC
+--- third_party/pdfium/xfa/fxfa/parser/cxfa_timezoneprovider.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/pdfium/xfa/fxfa/parser/cxfa_timezoneprovider.cpp
@@ -6,12 +6,16 @@
@@ -11,7 +11,7 @@
#include "build/build_config.h"
static bool g_bProviderTimeZoneSet = false;
-+#if defined(OS_BSD)
++#if defined(OS_FREEBSD)
+static long g_lTimeZoneOffset = 0;
+#endif
@@ -21,7 +21,7 @@
CXFA_TimeZoneProvider::CXFA_TimeZoneProvider() {
if (!g_bProviderTimeZoneSet) {
g_bProviderTimeZoneSet = true;
-+#if defined(OS_BSD)
++#if defined(OS_FREEBSD)
+ time_t now = time(nullptr);
+ struct tm tm = {};
+
@@ -31,7 +31,7 @@
TZSET();
+#endif
}
-+#if defined(OS_BSD)
++#if defined(OS_FREEBSD)
+ tz_minutes_ = static_cast<int8_t>((abs(g_lTimeZoneOffset) % 3600) / 60);
+#else
tz_minutes_ = TIMEZONE / -60;
diff --git a/www/chromium/files/patch-third__party_perfetto_gn_BUILD.gn b/www/chromium/files/patch-third__party_perfetto_gn_BUILD.gn
deleted file mode 100644
index 34e2408def9e..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_gn_BUILD.gn
+++ /dev/null
@@ -1,19 +0,0 @@
---- third_party/perfetto/gn/BUILD.gn.orig 2021-12-14 11:47:11 UTC
-+++ third_party/perfetto/gn/BUILD.gn
-@@ -51,13 +51,15 @@ action("gen_buildflags") {
- # we run the tools/gen_xxx generators.
- if (enable_perfetto_watchdog) {
- perfetto_watchdog = "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() || " +
-- "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX()"
-+ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() || " +
-+ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD()"
- } else {
- perfetto_watchdog = "0"
- }
- if (enable_perfetto_tools) {
- perfetto_local_symbolizer =
- "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() || " +
-+ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() || " +
- "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() ||" +
- "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN()"
- } else {
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 5a2931d48f42..4ff5bff8c746 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,10 +1,10 @@
---- third_party/perfetto/include/perfetto/base/build_config.h.orig 2021-04-14 18:43:06 UTC
+--- 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
@@ -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_FREEBSD() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 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
@@ -12,60 +12,54 @@
#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_FREEBSD() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 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
-@@ -54,6 +56,7 @@
- #elif defined(__linux__)
+@@ -51,9 +53,10 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 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_FREEBSD() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 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
-@@ -61,9 +64,21 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0
-+#elif defined(__FreeBSD__)
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 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
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0
+@@ -64,6 +67,8 @@
#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_WIN() 1
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -74,6 +89,7 @@
+@@ -74,6 +79,8 @@
#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_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -87,6 +103,7 @@
+@@ -87,6 +94,8 @@
#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_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 1
-@@ -94,6 +111,7 @@
+@@ -94,6 +103,8 @@
#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_WIN() 0
#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 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 c7a63c1ac90d..b86a9757f1e5 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,24 +1,22 @@
---- third_party/perfetto/include/perfetto/base/thread_utils.h.orig 2021-12-14 11:47:11 UTC
+--- 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
-@@ -37,6 +37,9 @@ __declspec(dllimport) unsigned long __stdcall GetCurre
+@@ -34,6 +34,7 @@ __declspec(dllimport) unsigned long __stdcall GetCurre
+ #include <sys/syscall.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <pthread.h>
#else
#include <pthread.h>
#endif
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+#include <pthread_np.h>
-+#endif
-
- namespace perfetto {
- namespace base {
-@@ -45,6 +48,11 @@ namespace base {
+@@ -45,6 +46,11 @@ namespace base {
using PlatformThreadId = pid_t;
inline PlatformThreadId GetThreadId() {
return gettid();
+}
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+using PlatformThreadId = pid_t;
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
++using PlatformThreadId = uint64_t;
+inline PlatformThreadId GetThreadId() {
-+ return pthread_getthreadid_np();
++ return reinterpret_cast<uint64_t>(pthread_self());
}
#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
using PlatformThreadId = pid_t;
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 49a2a3621a2f..5f3fc99ad5d7 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,10 +1,10 @@
---- third_party/perfetto/include/perfetto/base/time.h.orig 2021-04-14 18:43:06 UTC
+--- third_party/perfetto/include/perfetto/base/time.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/perfetto/include/perfetto/base/time.h
@@ -142,6 +142,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() {
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
++#if defined(__FreeBSD__)
+ return GetTimeInternalNs(kWallTimeClockSource);
+#else
// Determine if CLOCK_BOOTTIME is available on the first call.
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
new file mode 100644
index 000000000000..7d9883a23e8f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
@@ -0,0 +1,11 @@
+--- 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
+@@ -55,6 +55,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_;
++#else
++ ScopedFile write_fd_;
+ #endif
+ };
+
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 6dc52c7b51f1..26809e2d6898 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,41 +1,15 @@
---- third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig 2021-12-31 01:00:54 UTC
+--- 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
-@@ -24,7 +24,8 @@
+@@ -40,9 +40,10 @@
+ namespace perfetto {
+ namespace base {
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- #include <pthread.h>
- #include <string.h>
- #include <algorithm>
-@@ -42,7 +43,8 @@ namespace base {
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
// Sets the "comm" of the calling thread to the first 15 chars of the given
// string.
inline bool MaybeSetThreadName(const std::string& name) {
-@@ -51,6 +53,9 @@ inline bool MaybeSetThreadName(const std::string& name
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
- return pthread_setname_np(buf) == 0;
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+ pthread_set_name_np(pthread_self(), buf);
-+ return true;
- #else
- return pthread_setname_np(pthread_self(), buf) == 0;
- #endif
-@@ -61,6 +66,8 @@ inline bool GetThreadName(std::string& out_result) {
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
- if (prctl(PR_GET_NAME, buf) != 0)
- return false;
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+ pthread_get_name_np(pthread_self(), buf, sizeof(buf));
- #else
- if (pthread_getname_np(pthread_self(), buf, sizeof(buf)) != 0)
- return false;
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_ctrl__c__handler.cc b/www/chromium/files/patch-third__party_perfetto_src_base_ctrl__c__handler.cc
deleted file mode 100644
index 93ef8ff92fad..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_base_ctrl__c__handler.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/perfetto/src/base/ctrl_c_handler.cc.orig 2021-07-19 18:47:28 UTC
-+++ third_party/perfetto/src/base/ctrl_c_handler.cc
-@@ -50,7 +50,8 @@ void InstallCtrCHandler(CtrlCHandlerFunction handler)
- ::SetConsoleCtrlHandler(trampoline, true);
- #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- // Setup signal handler.
- struct sigaction sa {};
-
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
new file mode 100644
index 000000000000..5ea355851d89
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_event__fd.cc
@@ -0,0 +1,22 @@
+--- third_party/perfetto/src/base/event_fd.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/perfetto/src/base/event_fd.cc
+@@ -22,7 +22,8 @@
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+ #include <Windows.h>
+ #include <synchapi.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() {
+ PERFETTO_DFATAL("EventFd::Clear()");
+ }
+
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#elif (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+
+ EventFd::EventFd() {
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_file__utils.cc b/www/chromium/files/patch-third__party_perfetto_src_base_file__utils.cc
deleted file mode 100644
index e6526603081a..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_base_file__utils.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/perfetto/src/base/file_utils.cc.orig 2021-12-14 11:47:11 UTC
-+++ third_party/perfetto/src/base/file_utils.cc
-@@ -152,8 +152,9 @@ ssize_t WriteAllHandle(PlatformHandle h, const void* b
-
- bool FlushFile(int fd) {
- PERFETTO_DCHECK(fd != 0);
--#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_FREEBSD)
- return !PERFETTO_EINTR(fdatasync(fd));
- #elif PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
- return !PERFETTO_EINTR(_commit(fd));
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
new file mode 100644
index 000000000000..4dc853b70fbc
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_periodic__task.cc
@@ -0,0 +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
+@@ -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)) || \
+ (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) && __ANDROID_API__ >= 19)
+ #include <sys/timerfd.h>
+ #endif
+@@ -34,7 +34,7 @@ namespace base {
+
+ 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)) || \
+ (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) && __ANDROID_API__ >= 19)
+ base::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
new file mode 100644
index 000000000000..14342279adeb
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_string__utils.cc
@@ -0,0 +1,15 @@
+--- third_party/perfetto/src/base/string_utils.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/perfetto/src/base/string_utils.cc
+@@ -36,9 +36,10 @@ 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)
+ 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 c35445a56a82..f38b23a79ca9 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,37 +1,22 @@
---- third_party/perfetto/src/base/subprocess_posix.cc.orig 2021-09-14 01:58:28 UTC
+--- third_party/perfetto/src/base/subprocess_posix.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/perfetto/src/base/subprocess_posix.cc
-@@ -20,7 +20,8 @@
+@@ -35,7 +35,8 @@
+ #include <thread>
+ #include <tuple>
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-
- #include <fcntl.h>
- #include <poll.h>
-@@ -38,6 +39,8 @@
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
#include <sys/prctl.h>
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+#include <sys/procctl.h>
#endif
-
- #include "perfetto/base/logging.h"
-@@ -70,6 +73,9 @@ void __attribute__((noreturn)) ChildProcess(ChildProce
+@@ -64,7 +65,8 @@ struct ChildProcessArgs {
+ // 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) && \
++ !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
// relevant for tests, so that a test failure/crash doesn't leave child
- // processes around that get reparented to init.
- prctl(PR_SET_PDEATHSIG, SIGKILL);
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+ int procctl_value = SIGKILL;
-+ procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &procctl_value);
- #endif
-
- auto die = [args](const char* err) __attribute__((noreturn)) {
-@@ -440,4 +446,4 @@ void Subprocess::KillAndWaitForTermination(int sig_num
- } // namespace base
- } // namespace perfetto
-
--#endif // PERFETTO_OS_LINUX || PERFETTO_OS_ANDROID || PERFETTO_OS_APPLE
-+#endif // PERFETTO_OS_LINUX || PERFETTO_OS_ANDROID || PERFETTO_OS_APPLE || PERFETTO_OS_FREEBSD
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
deleted file mode 100644
index 2351cd83cf4c..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/perfetto/src/base/test/vm_test_utils.cc.orig 2021-07-28 09:44:38 UTC
-+++ third_party/perfetto/src/base/test/vm_test_utils.cc
-@@ -97,7 +97,7 @@ bool IsMapped(void* start, size_t size) {
- ignore_result(page_size);
- return true;
- #else
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- using PageState = char;
- static constexpr PageState kIncoreMask = MINCORE_INCORE;
- #else
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
new file mode 100644
index 000000000000..3cedb601c7a0
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
@@ -0,0 +1,14 @@
+--- 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
+@@ -27,8 +27,9 @@
+ #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)
+ #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 869ea870cc3e..4a11214c1ef5 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,21 +1,26 @@
---- third_party/perfetto/src/base/unix_socket.cc.orig 2021-04-14 18:43:06 UTC
+--- third_party/perfetto/src/base/unix_socket.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/perfetto/src/base/unix_socket.cc
-@@ -41,7 +41,7 @@
+@@ -42,7 +42,7 @@
#include <unistd.h>
#endif
-#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || defined(__FreeBSD__)
#include <sys/ucred.h>
#endif
-@@ -761,7 +761,8 @@ void UnixSocket::ReadPeerCredentialsPosix() {
- PERFETTO_CHECK(res == 0);
- peer_uid_ = user_cred.uid;
- peer_pid_ = user_cred.pid;
--#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- struct xucred user_cred;
+@@ -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) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
++ struct sockpeercred user_cred;
++#else
+ struct ucred user_cred;
++#endif
socklen_t len = sizeof(user_cred);
- int res = getsockopt(sock_raw_.fd(), 0, LOCAL_PEERCRED, &user_cred, &len);
+ int fd = sock_raw_.fd();
+ int res = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &user_cred, &len);
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
deleted file mode 100644
index 2a0ba9afb7c6..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_base_utils.cc
+++ /dev/null
@@ -1,44 +0,0 @@
---- third_party/perfetto/src/base/utils.cc.orig 2021-09-14 01:58:28 UTC
-+++ third_party/perfetto/src/base/utils.cc
-@@ -25,7 +25,8 @@
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- #include <limits.h>
- #include <unistd.h> // For getpagesize() and geteuid() & fork()
- #endif
-@@ -78,8 +79,9 @@ void MaybeReleaseAllocatorMemToOS() {
-
- uint32_t GetSysPageSize() {
- ignore_result(kPageSize); // Just to keep the amalgamated build happy.
--#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_FREEBSD)
- static std::atomic<uint32_t> page_size{0};
- // This function might be called in hot paths. Avoid calling getpagesize() all
- // the times, in many implementations getpagesize() calls sysconf() which is
-@@ -100,7 +102,8 @@ uint32_t GetSysPageSize() {
- uid_t GetCurrentUserId() {
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- return geteuid();
- #else
- // TODO(primiano): On Windows we could hash the current user SID and derive a
-@@ -122,7 +125,8 @@ void SetEnv(const std::string& key, const std::string&
- void Daemonize() {
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- pid_t pid;
- switch (pid = fork()) {
- case -1:
diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_watchdog__posix.cc b/www/chromium/files/patch-third__party_perfetto_src_base_watchdog__posix.cc
deleted file mode 100644
index 3a0ef2942bf8..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_base_watchdog__posix.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/perfetto/src/base/watchdog_posix.cc.orig 2021-12-31 01:00:54 UTC
-+++ third_party/perfetto/src/base/watchdog_posix.cc
-@@ -170,8 +170,9 @@ void Watchdog::Start() {
- } else {
- PERFETTO_DCHECK(!enabled_);
-
--#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_FREEBSD)
- // Kick the thread to start running but only on Android or Linux.
- timer_fd_.reset(
- timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC | TFD_NONBLOCK));
diff --git a/www/chromium/files/patch-third__party_perfetto_src_trace__processor_read__trace.cc b/www/chromium/files/patch-third__party_perfetto_src_trace__processor_read__trace.cc
deleted file mode 100644
index 463bb200768d..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_trace__processor_read__trace.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/perfetto/src/trace_processor/read_trace.cc.orig 2021-04-14 18:43:06 UTC
-+++ third_party/perfetto/src/trace_processor/read_trace.cc
-@@ -33,7 +33,8 @@
- #include "protos/perfetto/trace/trace_packet.pbzero.h"
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- #define PERFETTO_HAS_AIO_H() 1
- #else
- #define PERFETTO_HAS_AIO_H() 0
diff --git a/www/chromium/files/patch-third__party_perfetto_src_trace__processor_trace__processor__shell.cc b/www/chromium/files/patch-third__party_perfetto_src_trace__processor_trace__processor__shell.cc
deleted file mode 100644
index b8c254c59570..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_trace__processor_trace__processor__shell.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- third_party/perfetto/src/trace_processor/trace_processor_shell.cc.orig 2021-12-14 11:47:12 UTC
-+++ third_party/perfetto/src/trace_processor/trace_processor_shell.cc
-@@ -60,7 +60,8 @@
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- #define PERFETTO_HAS_SIGNAL_H() 1
- #else
- #define PERFETTO_HAS_SIGNAL_H() 0
-@@ -108,7 +109,8 @@ std::string GetConfigPath() {
- const char* homedir = getenv("HOME");
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- if (homedir == nullptr)
- homedir = getpwuid(getuid())->pw_dir;
- #elif PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
diff --git a/www/chromium/files/patch-third__party_perfetto_src_traced_service_service.cc b/www/chromium/files/patch-third__party_perfetto_src_traced_service_service.cc
deleted file mode 100644
index 6cf8db5fa9d0..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_traced_service_service.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/perfetto/src/traced/service/service.cc.orig 2021-09-14 01:58:28 UTC
-+++ third_party/perfetto/src/traced/service/service.cc
-@@ -30,7 +30,8 @@
- #include "src/traced/service/builtin_producer.h"
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- #define PERFETTO_SET_SOCKET_PERMISSIONS
- #include <fcntl.h>
- #include <grp.h>
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
index fce56f5b3ad8..f69ad283021e 100644
--- 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
@@ -1,24 +1,12 @@
---- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2021-12-31 01:00:54 UTC
+--- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc
-@@ -42,7 +42,8 @@
+@@ -2990,7 +2990,8 @@ bool TracingServiceImpl::SnapshotClocks(
- #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_FREEBSD)
- #define PERFETTO_HAS_CHMOD
- #include <sys/stat.h>
- #endif
-@@ -2911,8 +2912,9 @@ bool TracingServiceImpl::SnapshotClocks(
-
- TracingSession::ClockSnapshotData new_snapshot_data;
-
--#if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
-- !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
-+#if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && \
- !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL)
+ #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_default__socket.cc b/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_default__socket.cc
deleted file mode 100644
index eb45c4a417ff..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_default__socket.cc
+++ /dev/null
@@ -1,21 +0,0 @@
---- third_party/perfetto/src/tracing/ipc/default_socket.cc.orig 2021-09-14 01:58:28 UTC
-+++ third_party/perfetto/src/tracing/ipc/default_socket.cc
-@@ -26,7 +26,8 @@
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- #include <unistd.h>
- #endif
-
-@@ -38,7 +39,7 @@ const char* kRunPerfettoBaseDir = "/run/perfetto/";
- // On Linux and CrOS, check /run/perfetto/ before using /tmp/ as the socket
- // base directory.
- bool UseRunPerfettoBaseDir() {
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- // Note that the trailing / in |kRunPerfettoBaseDir| ensures we are checking
- // against a directory, not a file.
- int res = PERFETTO_EINTR(access(kRunPerfettoBaseDir, X_OK));
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
deleted file mode 100644
index f5f023f91a4b..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- third_party/perfetto/src/tracing/ipc/memfd.cc.orig 2021-04-14 18:43:07 UTC
-+++ third_party/perfetto/src/tracing/ipc/memfd.cc
-@@ -18,9 +18,10 @@
-
- #include <errno.h>
-
--#define PERFETTO_MEMFD_ENABLED() \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
-+#define PERFETTO_MEMFD_ENABLED() \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-
- #if PERFETTO_MEMFD_ENABLED()
-
diff --git a/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.cc b/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.cc
deleted file mode 100644
index 51a98ca716ed..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- third_party/perfetto/src/tracing/ipc/posix_shared_memory.cc.orig 2021-04-14 18:43:07 UTC
-+++ third_party/perfetto/src/tracing/ipc/posix_shared_memory.cc
-@@ -18,7 +18,8 @@
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-
- #include <fcntl.h>
- #include <stdint.h>
-@@ -132,4 +133,4 @@ std::unique_ptr<SharedMemory> PosixSharedMemory::Facto
-
- } // namespace perfetto
-
--#endif // OS_LINUX || OS_ANDROID || OS_APPLE
-+#endif // OS_LINUX || OS_ANDROID || OS_APPLE || OS_FREEBSD
diff --git a/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.h b/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.h
deleted file mode 100644
index bced7239fef7..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- third_party/perfetto/src/tracing/ipc/posix_shared_memory.h.orig 2021-04-14 18:43:07 UTC
-+++ third_party/perfetto/src/tracing/ipc/posix_shared_memory.h
-@@ -21,7 +21,8 @@
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-
- #include <stddef.h>
-
-@@ -76,5 +77,5 @@ class PosixSharedMemory : public SharedMemory {
-
- } // namespace perfetto
-
--#endif // OS_LINUX || OS_ANDROID || OS_APPLE
-+#endif // OS_LINUX || OS_ANDROID || OS_APPLE || OS_FREEBSD
- #endif // SRC_TRACING_IPC_POSIX_SHARED_MEMORY_H_
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
deleted file mode 100644
index 3df5b2c80c35..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_src_tracing_platform__posix.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- third_party/perfetto/src/tracing/platform_posix.cc.orig 2021-07-19 18:47:29 UTC
-+++ third_party/perfetto/src/tracing/platform_posix.cc
-@@ -18,7 +18,8 @@
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-
- #include "perfetto/ext/base/file_utils.h"
- #include "perfetto/ext/base/thread_task_runner.h"
-@@ -100,7 +101,8 @@ std::string PlatformPosix::GetCurrentProcessName() {
- 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_FREEBSD)
- return std::string(getprogname());
- #else
- return "unknown_producer";
-@@ -116,4 +118,4 @@ Platform* Platform::GetDefaultPlatform() {
- }
-
- } // namespace perfetto
--#endif // OS_LINUX || OS_ANDROID || OS_APPLE
-+#endif // OS_LINUX || OS_ANDROID || OS_APPLE || OS_FREEBSD
diff --git a/www/chromium/files/patch-third__party_perfetto_tools_busy__threads_busy__threads.cc b/www/chromium/files/patch-third__party_perfetto_tools_busy__threads_busy__threads.cc
deleted file mode 100644
index a8b008fbba3b..000000000000
--- a/www/chromium/files/patch-third__party_perfetto_tools_busy__threads_busy__threads.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/perfetto/tools/busy_threads/busy_threads.cc.orig 2021-12-31 01:00:55 UTC
-+++ third_party/perfetto/tools/busy_threads/busy_threads.cc
-@@ -30,7 +30,8 @@
- #define PERFETTO_HAVE_PTHREADS \
- (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE))
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD))
-
- #if PERFETTO_HAVE_PTHREADS
- #include <pthread.h>
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 9a0093f66740..8e1fb1266848 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 2021-04-14 18:41:35 UTC
+--- 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
@@ -118,7 +118,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) || defined(__FreeBSD__)
++#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE)
// 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_protobuf_src_google_protobuf_stubs_strutil.h b/www/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_strutil.h
new file mode 100644
index 000000000000..a23eccf2e501
--- /dev/null
+++ b/www/chromium/files/patch-third__party_protobuf_src_google_protobuf_stubs_strutil.h
@@ -0,0 +1,18 @@
+--- third_party/protobuf/src/google/protobuf/stubs/strutil.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/protobuf/src/google/protobuf/stubs/strutil.h
+@@ -373,13 +373,13 @@ inline uint32 strtou32(const char *nptr, char **endptr
+ inline int64 strto64(const char *nptr, char **endptr, int base) {
+ GOOGLE_COMPILE_ASSERT(sizeof(int64) == sizeof(long long),
+ sizeof_int64_is_not_sizeof_long_long);
+- return strtoll(nptr, endptr, base);
++ return std::strtoll(nptr, endptr, base);
+ }
+
+ inline uint64 strtou64(const char *nptr, char **endptr, int base) {
+ GOOGLE_COMPILE_ASSERT(sizeof(uint64) == sizeof(unsigned long long),
+ sizeof_uint64_is_not_sizeof_long_long);
+- return strtoull(nptr, endptr, base);
++ return std::strtoull(nptr, endptr, base);
+ }
+
+ // ----------------------------------------------------------------------
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 30bf00f3d465..000000000000
--- a/www/chromium/files/patch-third__party_skia_src_core_SkCpu.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
---- third_party/skia/src/core/SkCpu.cpp.orig 2021-04-14 18:43:09 UTC
-+++ third_party/skia/src/core/SkCpu.cpp
-@@ -73,6 +73,23 @@
- 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_gpu_GrAutoLocaleSetter.h b/www/chromium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
index 606c87818717..759f893c712c 100644
--- a/www/chromium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
+++ b/www/chromium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
@@ -1,11 +1,11 @@
---- third_party/skia/src/gpu/GrAutoLocaleSetter.h.orig 2021-04-14 18:43:09 UTC
+--- third_party/skia/src/gpu/GrAutoLocaleSetter.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/skia/src/gpu/GrAutoLocaleSetter.h
@@ -27,7 +27,7 @@
#define HAVE_XLOCALE 0
#endif
-#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION)
-+#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__FreeBSD__)
++#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__OpenBSD__)
#define HAVE_LOCALE_T 0
#else
#define HAVE_LOCALE_T 1
diff --git a/www/chromium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp b/www/chromium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp
deleted file mode 100644
index 24be070e5231..000000000000
--- a/www/chromium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
---- third_party/skia/src/images/SkJpegEncoder.cpp.orig 2021-04-14 18:43:09 UTC
-+++ third_party/skia/src/images/SkJpegEncoder.cpp
-@@ -76,9 +76,14 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr
- return (transform_scanline_proc) nullptr;
- };
-
-+#ifdef JCS_EXTENSIONS
- J_COLOR_SPACE jpegColorType = JCS_EXT_RGBA;
-+#else
-+ J_COLOR_SPACE jpegColorType = JCS_RGB;
-+#endif
- int numComponents = 0;
- switch (srcInfo.colorType()) {
-+#ifdef JCS_EXTENSIONS
- case kRGBA_8888_SkColorType:
- fProc = chooseProc8888();
- jpegColorType = JCS_EXT_RGBA;
-@@ -89,6 +94,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr
- jpegColorType = JCS_EXT_BGRA;
- numComponents = 4;
- break;
-+#endif
- case kRGB_565_SkColorType:
- fProc = transform_scanline_565;
- jpegColorType = JCS_RGB;
-@@ -108,6 +114,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr
- jpegColorType = JCS_GRAYSCALE;
- numComponents = 1;
- break;
-+#ifdef JCS_EXTENSIONS
- case kRGBA_F16_SkColorType:
- if (kUnpremul_SkAlphaType == srcInfo.alphaType() &&
- options.fAlphaOption == SkJpegEncoder::AlphaOption::kBlendOnBlack) {
-@@ -118,6 +125,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr
- jpegColorType = JCS_EXT_RGBA;
- numComponents = 4;
- break;
-+#endif
- default:
- return false;
- }
diff --git a/www/chromium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp b/www/chromium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp
index bb256c8f8f70..1e273267bd29 100644
--- a/www/chromium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp
+++ b/www/chromium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp
@@ -1,11 +1,11 @@
---- third_party/skia/src/ports/SkOSFile_stdio.cpp.orig 2021-12-14 11:47:17 UTC
+--- third_party/skia/src/ports/SkOSFile_stdio.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/skia/src/ports/SkOSFile_stdio.cpp
@@ -130,7 +130,7 @@ void sk_fflush(FILE* f) {
void sk_fsync(FILE* f) {
#if !defined(_WIN32) && !defined(SK_BUILD_FOR_ANDROID) && !defined(__UCLIBC__) \
- && !defined(_NEWLIB_VERSION)
-+ && !defined(_NEWLIB_VERSION) && !defined(__FreeBSD__)
++ && !defined(_NEWLIB_VERSION) && !defined(__OpenBSD__)
int fd = fileno(f);
fsync(fd);
#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
new file mode 100644
index 000000000000..e4e7a5781d0b
--- /dev/null
+++ b/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c
@@ -0,0 +1,23 @@
+--- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/sqlite/src/amalgamation/sqlite3.c
+@@ -40698,7 +40698,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
+ memset(zBuf, 0, nBuf);
+ randomnessPid = osGetpid(0);
+ #if !defined(SQLITE_TEST) && !defined(SQLITE_OMIT_RANDOMNESS)
++#if defined(__OpenBSD__)
+ {
++ arc4random_buf(zBuf, nBuf);
++ }
++#else
++ {
+ int fd, got;
+ fd = robust_open("/dev/urandom", O_RDONLY, 0);
+ if( fd<0 ){
+@@ -40713,6 +40718,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
+ robust_close(0, fd, __LINE__);
+ }
+ }
++#endif
+ #endif
+ return nBuf;
+ }
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp b/www/chromium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp
index 58168c99b134..112979a955fb 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp
@@ -1,12 +1,13 @@
---- third_party/swiftshader/src/Common/Configurator.cpp.orig 2021-04-14 18:43:08 UTC
+--- third_party/swiftshader/src/Common/Configurator.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/Common/Configurator.cpp
-@@ -42,6 +42,9 @@ namespace sw
+@@ -42,6 +42,10 @@ namespace sw
bool Configurator::readFile()
{
-+#if defined(__FreeBSD__)
-+ return false;
-+#endif
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
++ return false;
++#endif
++
#if defined(__unix__)
if(access(path.c_str(), R_OK) != 0)
{
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp b/www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp
index 0bc7f8ee7aa5..787e4df3aaa2 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp
@@ -1,11 +1,11 @@
---- third_party/swiftshader/src/Common/MutexLock.hpp.orig 2021-04-14 18:43:08 UTC
+--- third_party/swiftshader/src/Common/MutexLock.hpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/Common/MutexLock.hpp
@@ -17,7 +17,7 @@
#include "Thread.hpp"
-#if defined(__linux__)
-+#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__)
// Use a pthread mutex on Linux. Since many processes may use SwiftShader
// at the same time it's best to just have the scheduler overhead.
#include <pthread.h>
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp b/www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp
index 9f6c6499745a..92efac121438 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp
@@ -1,11 +1,11 @@
---- third_party/swiftshader/src/Common/SharedLibrary.hpp.orig 2021-04-14 18:43:08 UTC
+--- third_party/swiftshader/src/Common/SharedLibrary.hpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/Common/SharedLibrary.hpp
@@ -97,7 +97,7 @@ void *loadLibrary(const std::string &libraryDirectory,
inline void *getLibraryHandle(const char *path)
{
- #ifdef __ANDROID__
-+ #if defined( __ANDROID__) || defined(__FreeBSD__)
++ #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_Main_SwiftConfig.cpp b/www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
index 15feffc51c9d..b0006bae043f 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
@@ -1,13 +1,13 @@
---- third_party/swiftshader/src/Main/SwiftConfig.cpp.orig 2021-04-14 18:43:08 UTC
+--- third_party/swiftshader/src/Main/SwiftConfig.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/Main/SwiftConfig.cpp
@@ -764,7 +764,11 @@ namespace sw
struct stat status;
int lastModified = ini.getInteger("LastModified", "Time", 0);
-+#if !defined(__FreeBSD__)
++#if !defined(__OpenBSD__) && !defined(__FreeBSD__)
bool noConfig = stat("SwiftShader.ini", &status) != 0;
+#else
-+ bool noConfig = false;
++ bool noConfig = false;
+#endif
newConfig = !noConfig && abs((int)status.st_mtime - lastModified) > 1;
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
index 2542f8c316a7..28f3c078f0c3 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
@@ -1,11 +1,11 @@
---- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig 2021-07-19 18:47:29 UTC
+--- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp
@@ -677,7 +677,7 @@ bool Display::isValidWindow(EGLNativeWindowType window
return status != 0;
}
return false;
- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
++ #elif defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__)
return false; // Non X11 linux is headless only
#elif defined(__APPLE__)
return sw::OSX::IsValidWindow(window);
@@ -14,7 +14,7 @@
return sw::FORMAT_X8R8G8B8;
}
- #elif defined(__linux__) // Non X11 linux is headless only
-+ #elif defined(__linux__) || defined(__FreeBSD__) // Non X11 linux is headless only
++ #elif defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__) // Non X11 linux is headless only
return sw::FORMAT_A8B8G8R8;
#elif defined(__APPLE__)
return sw::FORMAT_A8B8G8R8;
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
index bdbfb7516b6b..df1553e767ec 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
@@ -1,11 +1,11 @@
---- third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp.orig 2021-07-19 18:47:29 UTC
+--- third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp
@@ -349,7 +349,7 @@ bool WindowSurface::checkForResize()
int windowWidth = windowAttributes.width;
int windowHeight = windowAttributes.height;
- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
++ #elif defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__)
// Non X11 linux is headless only
int windowWidth = 100;
int windowHeight = 100;
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp
index 4cf4d7f30ff2..7741d8f63e63 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp
@@ -1,12 +1,12 @@
---- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2021-04-14 18:43:08 UTC
+--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp
@@ -153,7 +153,7 @@ EGLDisplay EGLAPIENTRY GetDisplay(EGLNativeDisplayType
// FIXME: Check if display_id is the default display
}
- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD)) && !defined(__ANDROID__)
- #if defined(USE_X11)
++ #if (defined(__OpenBSD__) || defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
+ #if defined(SWIFTSHADER_USE_X11)
if(!libX11)
#endif // Non X11 linux is headless only
@@ -216,7 +216,7 @@ const char *EGLAPIENTRY QueryString(EGLDisplay dpy, EG
@@ -14,16 +14,16 @@
return success(
"EGL_KHR_client_get_all_proc_addresses "
-#if defined(__linux__) && !defined(__ANDROID__)
-+#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
++#if (defined(__OpenBSD__) || defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
"EGL_KHR_platform_gbm "
#endif
- #if defined(USE_X11)
+ #if defined(SWIFTSHADER_USE_X11)
@@ -1307,7 +1307,7 @@ EGLDisplay EGLAPIENTRY GetPlatformDisplay(EGLenum plat
{
TRACE("(EGLenum platform = 0x%X, void *native_display = %p, const EGLAttrib *attrib_list = %p)", platform, native_display, attrib_list);
- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
++ #if (defined(__OpenBSD__) || defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
switch(platform)
{
- #if defined(USE_X11)
+ #if defined(SWIFTSHADER_USE_X11)
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp
index b6d15811a8b3..5efe370934b8 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp
@@ -1,11 +1,11 @@
---- third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp.orig 2021-12-14 11:47:13 UTC
+--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp
@@ -100,7 +100,7 @@ class LibEGL (private)
#endif
#elif defined(__ANDROID__)
const char *libEGL_lib[] = {"libEGL_swiftshader.so", "libEGL_swiftshader.so"};
- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
++ #elif defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__)
#if defined(__LP64__)
const char *libEGL_lib[] = {"lib64EGL_translator.so", "libEGL.so.1", "libEGL.so", "libEGL_deprecated.so.1", "libEGL_deprecated.so"};
#else
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp
index 76d3e1d458a6..79612f336115 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp
@@ -1,11 +1,11 @@
---- third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp.orig 2021-12-14 11:47:13 UTC
+--- third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp
@@ -286,7 +286,7 @@ class LibGLESv2 (private)
#endif
#elif defined(__ANDROID__)
const char *libGLESv2_lib[] = {"libGLESv2_swiftshader.so", "libGLESv2_swiftshader.so"};
- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
++ #elif defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__)
#if defined(__LP64__)
const char *libGLESv2_lib[] = {"lib64GLES_V2_translator.so", "libGLESv2.so.2", "libGLESv2.so", "libGLESv2_deprecated.so.2", "libGLESv2_deprecated.so"};
#else
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp b/www/chromium/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp
index c86444b303bd..6d183046901d 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp
@@ -1,75 +1,11 @@
---- third_party/swiftshader/src/Reactor/Debug.cpp.orig 2021-04-14 18:43:08 UTC
+--- third_party/swiftshader/src/Reactor/Debug.cpp.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/src/Reactor/Debug.cpp
-@@ -23,16 +23,20 @@
- # include <android/log.h>
- #endif
+@@ -46,7 +46,7 @@ namespace {
--#if defined(__unix__)
-+#if defined(__unix__) && !defined(__FreeBSD__)
- # define PTRACE
- # include <sys/ptrace.h>
- # include <sys/types.h>
- #elif defined(_WIN32) || defined(_WIN64)
- # include <windows.h>
--#elif defined(__APPLE__) || defined(__MACH__)
-+#elif defined(__APPLE__) || defined(__MACH__) || defined(__FreeBSD__)
-+# include <sys/types.h>
- # include <sys/sysctl.h>
- # include <unistd.h>
- #endif
-+#if defined(__FreeBSD__)
-+# include <sys/user.h>
-+#endif
+ bool IsUnderDebugger()
+ {
+-#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__)
++#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ static bool checked = false;
+ static bool res = false;
- #ifdef ERROR
- # undef ERROR // b/127920555
-@@ -68,29 +72,48 @@ bool IsUnderDebugger()
- return res;
- #elif defined(_WIN32) || defined(_WIN64)
- return IsDebuggerPresent() != 0;
--#elif defined(__APPLE__) || defined(__MACH__)
-+#elif defined(__APPLE__) || defined(__MACH__) || defined(__FreeBSD__)
- // Code comes from the Apple Technical Q&A QA1361
-
- // Tell sysctl what info we're requestion. Specifically we're asking for
- // info about this our PID.
- int res = 0;
-+#if defined(__FreeBSD__)
-+ int request[6] = {
-+ CTL_KERN,
-+ KERN_PROC,
-+ KERN_PROC_PID,
-+ getpid(),
-+ sizeof(struct kinfo_proc),
-+ 0
-+ };
-+#else
- int request[4] = {
- CTL_KERN,
- KERN_PROC,
- KERN_PROC_PID,
- getpid()
- };
-+#endif
- struct kinfo_proc info;
- size_t size = sizeof(info);
-
-+#if defined(__FreeBSD__)
-+ info.ki_flag = 0;
-+#else
- info.kp_proc.p_flag = 0;
-+#endif
-
- // Get the info we're requesting, if sysctl fails then info.kp_proc.p_flag will remain 0.
- res = sysctl(request, sizeof(request) / sizeof(*request), &info, &size, NULL, 0);
- ASSERT_MSG(res == 0, "syscl returned %d", res);
-
- // We're being debugged if the P_TRACED flag is set
-+#if defined(__FreeBSD__)
-+ return ((info.ki_flag & P_TRACED) != 0);
-+#else
- return ((info.kp_proc.p_flag & P_TRACED) != 0);
-+#endif
- #else
- return false;
- #endif
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
new file mode 100644
index 000000000000..c419247cebd0
--- /dev/null
+++ b/www/chromium/files/patch-third__party_swiftshader_src_System_SharedLibrary.hpp
@@ -0,0 +1,11 @@
+--- 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_VkSemaphoreExternalLinux.hpp b/www/chromium/files/patch-third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp
new file mode 100644
index 000000000000..8bd770cf38ef
--- /dev/null
+++ b/www/chromium/files/patch-third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp
@@ -0,0 +1,20 @@
+--- third_party/swiftshader/src/Vulkan/VkSemaphoreExternalLinux.hpp.orig 2022-02-07 13:39:41 UTC
++++ third_party/swiftshader/src/Vulkan/VkSemaphoreExternalLinux.hpp
+@@ -49,13 +49,17 @@ class SharedSemaphore (public)
+ {
+ pthread_mutexattr_t mattr;
+ pthread_mutexattr_init(&mattr);
++#if 0
+ pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED);
++#endif
+ pthread_mutex_init(&mutex, &mattr);
+ pthread_mutexattr_destroy(&mattr);
+
+ pthread_condattr_t cattr;
+ pthread_condattr_init(&cattr);
++#if 0
+ pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_SHARED);
++#endif
+ pthread_cond_init(&cond, &cattr);
+ pthread_condattr_destroy(&cattr);
+ }
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp b/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp
new file mode 100644
index 000000000000..302d63f2a0f5
--- /dev/null
+++ b/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp
@@ -0,0 +1,11 @@
+--- third_party/swiftshader/src/WSI/libXCB.cpp.orig 2022-02-07 13:39:41 UTC
++++ third_party/swiftshader/src/WSI/libXCB.cpp
+@@ -42,7 +42,7 @@ LibXcbExports *LibXCB::loadExports()
+ return LibXcbExports(RTLD_DEFAULT);
+ }
+
+- if(void *lib = loadLibrary("libxcb.so.1"))
++ if(void *lib = loadLibrary("libxcb.so"))
+ {
+ return LibXcbExports(lib);
+ }
diff --git a/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h b/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h
index b1a0b512f285..bf0d1cddc5f7 100644
--- a/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h
+++ b/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h
@@ -1,37 +1,39 @@
---- third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h.orig 2021-09-24 04:28:16 UTC
+--- third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h
-@@ -5,24 +5,30 @@
- #include "llvm/Config/llvm-config.h"
+@@ -1,20 +1,19 @@
++/* include/llvm/Config/config.h.cmake corresponding to config.h.in. */
++
+ #ifndef CONFIG_H
+ #define CONFIG_H
- /* For detecting __GLIBC__ usage */
-+#ifndef __FreeBSD__
- #include <features.h>
-+#endif
+ /* Exported configuration */
+ #include "llvm/Config/llvm-config.h"
+-/* For detecting __GLIBC__ usage */
+-#include <features.h>
+-
/* Bug report URL. */
#define BUG_REPORT_URL "https://bugs.llvm.org/"
/* Define to 1 to enable backtraces, and to 0 otherwise. */
- /* #undef ENABLE_BACKTRACES */
+-/* #undef ENABLE_BACKTRACES */
+#define ENABLE_BACKTRACES 1
/* Define to 1 to enable crash overrides, and to 0 otherwise. */
- /* #undef ENABLE_CRASH_OVERRIDES */
+-/* #undef ENABLE_CRASH_OVERRIDES */
+#define ENABLE_CRASH_OVERRIDES 1
/* Define to 1 to enable crash memory dumps, and to 0 otherwise. */
#define LLVM_ENABLE_CRASH_DUMPS 0
-
- /* Define to 1 if you have the `backtrace' function. */
- /* #undef HAVE_BACKTRACE */
-+#define HAVE_BACKTRACE 1
-
+@@ -25,14 +24,14 @@
/* #undef BACKTRACE_HEADER */
-+#define BACKTRACE_HEADER <execinfo.h>
/* Define to 1 if you have the <CrashReporterClient.h> header file. */
- /* #undef HAVE_CRASHREPORTERCLIENT_H */
-@@ -32,7 +38,7 @@
+-/* #undef HAVE_CRASHREPORTERCLIENT_H */
++#undef HAVE_CRASHREPORTERCLIENT_H
+
+ /* can use __crashreporter_info__ */
+ #define HAVE_CRASHREPORTER_INFO 0
/* Define to 1 if you have the declaration of `arc4random', and to 0 if you
don't. */
@@ -40,7 +42,7 @@
/* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you
don't. */
-@@ -56,7 +62,7 @@
+@@ -56,7 +55,7 @@
#define HAVE_DLOPEN 1
/* Define if dladdr() is available on this platform. */
@@ -49,7 +51,7 @@
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
-@@ -95,7 +101,7 @@
+@@ -95,7 +94,7 @@
#define HAVE_ISATTY 1
/* Define to 1 if you have the `edit' library (-ledit). */
@@ -58,36 +60,47 @@
/* Define to 1 if you have the `pfm' library (-lpfm). */
/* #undef HAVE_LIBPFM */
-@@ -114,21 +120,25 @@
+@@ -113,13 +112,13 @@
+ /* #undef HAVE_PTHREAD_SETNAME_NP */
/* Define to 1 if you have the `z' library (-lz). */
- /* #undef HAVE_LIBZ */
+-/* #undef HAVE_LIBZ */
+#define HAVE_LIBZ 1
/* Define to 1 if you have the <link.h> header file. */
- #define HAVE_LINK_H 1
+-#define HAVE_LINK_H 1
++/* #undef HAVE_LINK_H */
/* Define to 1 if you have the `lseek64' function. */
-#define HAVE_LSEEK64 1
-+/* #define HAVE_LSEEK64 1 */
+/* #undef HAVE_LSEEK64 */
/* Define to 1 if you have the <mach/mach.h> header file. */
/* #undef HAVE_MACH_MACH_H */
-
+@@ -127,15 +126,9 @@
/* Define to 1 if you have the `mallctl' function. */
/* #undef HAVE_MALLCTL */
-+#define HAVE_MALLCTL 1
- /* Define to 1 if you have the `mallinfo' function. */
+-/* Define to 1 if you have the `mallinfo' function. */
-#define HAVE_MALLINFO 1
-+/* #define HAVE_MALLINFO 1 */
++/* Define if mallinfo() is available on this platform. */
+/* #undef HAVE_MALLINFO */
- /* Some projects using SwiftShader bypass cmake (eg Chromium via gn) */
- /* so we need to check glibc version for the new API to be safe */
-@@ -146,7 +156,7 @@
- #define HAVE_POSIX_FALLOCATE 1
+-/* Some projects using SwiftShader bypass cmake (eg Chromium via gn) */
+-/* so we need to check glibc version for the new API to be safe */
+-#if defined(__GLIBC__) && __GLIBC_MINOR__ >= 33
+-#define HAVE_MALLINFO2 1
+-#endif
+-
+ /* Define to 1 if you have the <malloc/malloc.h> header file. */
+ /* #undef HAVE_MALLOC_MALLOC_H */
+
+@@ -143,10 +136,10 @@
+ /* #undef HAVE_MALLOC_ZONE_STATISTICS */
+
+ /* Define to 1 if you have the `posix_fallocate' function. */
+-#define HAVE_POSIX_FALLOCATE 1
++/* #undef HAVE_POSIX_FALLOCATE */
/* Define to 1 if you have the `posix_spawn' function. */
-/* #undef HAVE_POSIX_SPAWN */
@@ -95,14 +108,7 @@
/* Define to 1 if you have the `pread' function. */
#define HAVE_PREAD 1
-@@ -164,16 +174,16 @@
- #define HAVE_PTHREAD_RWLOCK_INIT 1
-
- /* Define to 1 if you have the `sbrk' function. */
--#define HAVE_SBRK 1
-+/* #undef HAVE_SBRK */
-
- /* Define to 1 if you have the `setenv' function. */
+@@ -170,10 +163,10 @@
#define HAVE_SETENV 1
/* Define to 1 if you have the `sched_getaffinity' function. */
@@ -115,14 +121,25 @@
/* Define to 1 if you have the `setrlimit' function. */
#define HAVE_SETRLIMIT 1
-@@ -221,13 +231,13 @@
- #define HAVE_SYS_TYPES_H 1
+@@ -191,7 +184,7 @@
+ #define HAVE_STRERROR_R 1
- /* Define if the setupterm() function is supported this platform. */
--/* #undef HAVE_TERMINFO */
-+#define HAVE_TERMINFO 1
+ /* Define to 1 if you have the `sysconf' function. */
+-#define HAVE_SYSCONF 1
++/* #undef HAVE_SYSCONF */
+
+ /* Define to 1 if you have the <sys/ioctl.h> header file. */
+ #define HAVE_SYS_IOCTL_H 1
+@@ -218,7 +211,7 @@
+ #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
+
+ /* Define to 1 if you have the <sys/types.h> header file. */
+-#define HAVE_SYS_TYPES_H 1
++/* #undef HAVE_SYS_TYPES_H */
- /* Define if the xar_open() function is supported this platform. */
+ /* Define if the setupterm() function is supported this platform. */
+ /* #undef HAVE_TERMINFO */
+@@ -227,16 +220,16 @@
/* #undef HAVE_LIBXAR */
/* Define to 1 if you have the <termios.h> header file. */
@@ -131,8 +148,10 @@
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
-@@ -236,7 +246,7 @@
- /* #undef HAVE_VALGRIND_VALGRIND_H */
+
+ /* Define to 1 if you have the <valgrind/valgrind.h> header file. */
+-/* #undef HAVE_VALGRIND_VALGRIND_H */
++/* #define HAVE_VALGRIND_VALGRIND_H 1 */
/* Define to 1 if you have the <zlib.h> header file. */
-/* #undef HAVE_ZLIB_H */
@@ -140,21 +159,55 @@
/* Have host's _alloca */
/* #undef HAVE__ALLOCA */
-@@ -310,7 +320,7 @@
- #elif defined(__arm__)
- #define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-gnueabihf"
- #elif defined(__aarch64__)
+@@ -303,26 +296,10 @@
+
+ /* Target triple LLVM will generate code for by default */
+ /* Doesn't use `cmakedefine` because it is allowed to be empty. */
+-#if defined(__x86_64__)
+-#define LLVM_DEFAULT_TARGET_TRIPLE "x86_64-unknown-linux-gnu"
+-#elif defined(__i386__)
+-#define LLVM_DEFAULT_TARGET_TRIPLE "i686-pc-linux-gnu"
+-#elif defined(__arm__)
+-#define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-gnueabihf"
+-#elif defined(__aarch64__)
-#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-gnu"
-+#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-portbld-freebsd"
- #elif defined(__mips__)
- #define LLVM_DEFAULT_TARGET_TRIPLE "mipsel-linux-gnu"
- #elif defined(__mips64)
-@@ -322,7 +332,7 @@
- #endif
+-#elif defined(__mips__)
+-#define LLVM_DEFAULT_TARGET_TRIPLE "mipsel-linux-gnu"
+-#elif defined(__mips64)
+-#define LLVM_DEFAULT_TARGET_TRIPLE "mips64el-linux-gnuabi64"
+-#elif defined(__powerpc64__)
+-#define LLVM_DEFAULT_TARGET_TRIPLE "powerpc64le-unknown-linux-gnu"
+-#else
+-#error "unknown architecture"
+-#endif
++/* #define LLVM_DEFAULT_TARGET_TRIPLE "amd64-unknown-openbsd6.8" */
/* Define if zlib compression is available */
-#define LLVM_ENABLE_ZLIB 0
-+#define LLVM_ENABLE_ZLIB 1
++/* #define LLVM_ENABLE_ZLIB 1 */
/* Define if overriding target triple is enabled */
/* #undef LLVM_TARGET_TRIPLE_ENV */
+@@ -346,10 +323,10 @@
+ #define PACKAGE_NAME "LLVM"
+
+ /* Define to the full name and version of this package. */
+-#define PACKAGE_STRING "LLVM 10.0.0"
++#define PACKAGE_STRING "LLVM 11.1.0"
+
+ /* Define to the version of this package. */
+-#define PACKAGE_VERSION "10.0.0"
++#define PACKAGE_VERSION "11.1.0"
+
+ /* Define to the vendor of this package. */
+ /* #undef PACKAGE_VENDOR */
+@@ -368,9 +345,6 @@
+
+ /* Whether GlobalISel rule coverage is being collected */
+ #define LLVM_GISEL_COV_ENABLED 0
+-
+-/* Define if we have z3 and want to build it */
+-#define LLVM_WITH_Z3 1
+
+ /* Define to the default GlobalISel coverage file prefix */
+ /* #undef LLVM_GISEL_COV_PREFIX */
diff --git a/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h b/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h
index f5b1056e1fd5..9d934bd8e734 100644
--- a/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h
+++ b/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h
@@ -1,39 +1,47 @@
---- third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h.orig 2021-09-24 04:28:17 UTC
+--- third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h
-@@ -5,7 +5,9 @@
+@@ -5,8 +5,6 @@
#include "llvm/Config/llvm-config.h"
/* For detecting __GLIBC__ usage */
-+#ifndef __FreeBSD__
- #include <features.h>
-+#endif
-
+-#include <features.h>
+-
/* Bug report URL. */
#define BUG_REPORT_URL "http://llvm.org/bugs/"
-@@ -124,7 +126,7 @@
+
+@@ -27,7 +25,7 @@
+
+ /* Define to 1 if you have the declaration of `arc4random', and to 0 if you
+ don't. */
+-#define HAVE_DECL_ARC4RANDOM 0
++#define HAVE_DECL_ARC4RANDOM 1
+
+ /* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you
+ don't. */
+@@ -124,7 +122,7 @@
#define HAVE_LINK_H 1
/* Define to 1 if you have the `lseek64' function. */
-#define HAVE_LSEEK64 1
-+/* #undef HAVE_LSEEK64 */
++/* #define HAVE_LSEEK64 */
/* Define to 1 if you have the <mach/mach.h> header file. */
/* #undef HAVE_MACH_MACH_H */
-@@ -133,7 +135,7 @@
+@@ -133,7 +131,7 @@
/* #undef HAVE_MALLCTL */
/* Define to 1 if you have the `mallinfo' function. */
-#define HAVE_MALLINFO 1
-+/* #undef HAVE_MALLINFO */
++/* #define HAVE_MALLINFO */
/* Some projects using SwiftShader bypass cmake (eg Chromium via gn) */
/* so we need to check glibc version for the new API to be safe */
-@@ -163,7 +165,7 @@
+@@ -163,7 +161,7 @@
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the `posix_fallocate' function. */
-#define HAVE_POSIX_FALLOCATE 1
-+/* #undef HAVE_POSIX_FALLOCATE */
++/* #define HAVE_POSIX_FALLOCATE */
/* Define to 1 if you have the `posix_spawn' function. */
#define HAVE_POSIX_SPAWN 1
diff --git a/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc b/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc
deleted file mode 100644
index 8d1841603a45..000000000000
--- a/www/chromium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig 2021-04-14 18:43:11 UTC
-+++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc
-@@ -35,7 +35,7 @@
- // DragonFlyBSD, OpenBSD, and Bitrig have deprecated <malloc.h> for
- // <stdlib.h> instead. Unix.h includes this for us already.
- #if defined(HAVE_MALLOC_H) && !defined(__DragonFly__) && \
-- !defined(__OpenBSD__) && !defined(__Bitrig__)
-+ !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__Bitrig__)
- #include <malloc.h>
- #endif
- #if defined(HAVE_MALLCTL)
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
new file mode 100644
index 000000000000..c0d94bdde924
--- /dev/null
+++ b/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp
@@ -0,0 +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
+@@ -19,7 +19,7 @@
+
+ #include <cstring>
+
+-#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || 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
new file mode 100644
index 000000000000..b810325ff295
--- /dev/null
+++ b/www/chromium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp
@@ -0,0 +1,11 @@
+--- third_party/swiftshader/third_party/marl/src/thread.cpp.orig 2022-02-07 13:39:41 UTC
++++ third_party/swiftshader/third_party/marl/src/thread.cpp
+@@ -422,7 +422,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__)
+ 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
deleted file mode 100644
index 74bef6fa80bd..000000000000
--- a/www/chromium/files/patch-third__party_test__fonts_fontconfig_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- third_party/test_fonts/fontconfig/BUILD.gn.orig 2022-01-21 17:07:00 UTC
-+++ third_party/test_fonts/fontconfig/BUILD.gn
-@@ -26,7 +26,11 @@ if (is_linux || is_chromeos) {
-
- copy("fonts_conf") {
- sources = [ "fonts.conf" ]
-- outputs = [ "$root_out_dir/etc/fonts/{{source_file_part}}" ]
-+ if (is_bsd) {
-+ outputs = [ "$root_out_dir/usr/local/etc/fonts/{{source_file_part}}" ]
-+ } else {
-+ outputs = [ "$root_out_dir/etc/fonts/{{source_file_part}}" ]
-+ }
- }
-
- if (current_toolchain == host_toolchain) {
diff --git a/www/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
deleted file mode 100644
index 09d88ac59ba9..000000000000
--- a/www/chromium/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/test_fonts/fontconfig/fontconfig_util_linux.cc.orig 2022-01-21 16:58:00 UTC
-+++ third_party/test_fonts/fontconfig/fontconfig_util_linux.cc
-@@ -12,13 +12,26 @@
- #include <climits>
- #include <string>
-
-+#include "build/build_config.h"
-+
-+#if defined(OS_BSD)
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#endif
-+
- namespace test_fonts {
-
- std::string GetSysrootDir() {
- char buf[PATH_MAX + 1];
-+#if defined(OS_BSD)
-+ int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
-+ size_t cb = sizeof(buf);
-+ assert(sysctl(mib, 4, buf, &cb, nullptr, 0) == 0);
-+#else
- auto count = readlink("/proc/self/exe", buf, PATH_MAX);
- assert(count > 0);
- buf[count] = '\0';
-+#endif
- return dirname(buf);
- }
-
diff --git a/www/chromium/files/patch-third__party_tflite_BUILD.gn b/www/chromium/files/patch-third__party_tflite_BUILD.gn
deleted file mode 100644
index bd12a5d59dbb..000000000000
--- a/www/chromium/files/patch-third__party_tflite_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/tflite/BUILD.gn.orig 2022-01-21 17:09:40 UTC
-+++ third_party/tflite/BUILD.gn
-@@ -61,6 +61,10 @@ config("tflite_flags") {
- defines += [ "TFLITE_WITH_RUY" ]
- }
-
-+ if (is_bsd) {
-+ cflags -= [ "-Wno-unused-but-set-variable" ]
-+ }
-+
- if (is_linux || is_chromeos_lacros) {
- defines += [ "GEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK" ]
- }
diff --git a/www/chromium/files/patch-third__party_unrar_src_crypt.cpp b/www/chromium/files/patch-third__party_unrar_src_crypt.cpp
new file mode 100644
index 000000000000..8769300e8988
--- /dev/null
+++ b/www/chromium/files/patch-third__party_unrar_src_crypt.cpp
@@ -0,0 +1,11 @@
+--- third_party/unrar/src/crypt.cpp.orig 2022-02-07 13:39:41 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;
+ CryptReleaseContext(hProvider, 0);
+ }
++#elif defined(__OpenBSD__)
++ arc4random_buf(RndBuf, BufSize);
+ #elif defined(_UNIX)
+ FILE *rndf = fopen("/dev/urandom", "r");
+ if (rndf!=NULL)
diff --git a/www/chromium/files/patch-third__party_usrsctp_BUILD.gn b/www/chromium/files/patch-third__party_usrsctp_BUILD.gn
new file mode 100644
index 000000000000..632dc0c7816b
--- /dev/null
+++ b/www/chromium/files/patch-third__party_usrsctp_BUILD.gn
@@ -0,0 +1,11 @@
+--- third_party/usrsctp/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ third_party/usrsctp/BUILD.gn
+@@ -13,7 +13,7 @@ config("usrsctp_public_config") {
+
+ # This is part of the public config because it's used both by usrsctp and
+ # the client (WebRTC), to determine if the length field needs populating.
+- if (is_mac || is_ios || target_os == "freebsd") {
++ if (is_mac || is_ios || target_os == "freebsd" || target_os == "openbsd") {
+ defines = [ "HAVE_SCONN_LEN" ]
+ }
+ }
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_glslang_src_BUILD.gn b/www/chromium/files/patch-third__party_vulkan-deps_glslang_src_BUILD.gn
deleted file mode 100644
index ea219729aa97..000000000000
--- a/www/chromium/files/patch-third__party_vulkan-deps_glslang_src_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- third_party/vulkan-deps/glslang/src/BUILD.gn.orig 2021-12-31 01:01:00 UTC
-+++ third_party/vulkan-deps/glslang/src/BUILD.gn
-@@ -258,6 +258,12 @@ template("glslang_sources_common") {
- "-Wno-unused-variable",
- ]
- }
-+ if (is_bsd) {
-+ cflags -= [
-+ "-Wno-suggest-destructor-override",
-+ "-Wno-suggest-override",
-+ ]
-+ }
- if (is_win && !is_clang) {
- cflags = [
- "/wd4018", # signed/unsigned mismatch
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
new file mode 100644
index 000000000000..6c6226e5ef99
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_allocation.h
@@ -0,0 +1,14 @@
+--- third_party/vulkan-deps/vulkan-loader/src/loader/allocation.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/vulkan-deps/vulkan-loader/src/loader/allocation.h
+@@ -39,8 +39,8 @@ void loader_device_heap_free(const struct loader_devic
+ void *loader_device_heap_realloc(const struct loader_device *device, void *pMemory, size_t orig_size, size_t size,
+ VkSystemAllocationScope alloc_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)
+-#endif // defined(_WIN32)
+\ No newline at end of file
++#endif // defined(_WIN32)
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
new file mode 100644
index 000000000000..2cfe62e4baf9
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.c
@@ -0,0 +1,27 @@
+--- third_party/vulkan-deps/vulkan-loader/src/loader/get_environment.c.orig 2022-02-07 13:39:41 UTC
++++ third_party/vulkan-deps/vulkan-loader/src/loader/get_environment.c
+@@ -37,7 +37,7 @@
+ #endif // !defined(VULKAN_NON_CMAKE_BUILD)
+
+ // 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(); }
+
+@@ -49,7 +49,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.
+@@ -169,4 +169,4 @@ void loader_free_getenv(char *val, const struct loader
+ (void)inst;
+ }
+
+-#endif
+\ No newline at end of file
++#endif
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
new file mode 100644
index 000000000000..4266fe4fea01
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_get__environment.h
@@ -0,0 +1,16 @@
+--- 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
new file mode 100644
index 000000000000..2970858e97cd
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h
@@ -0,0 +1,29 @@
+--- third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h.orig 2022-02-07 13:39:41 UTC
++++ third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h
+@@ -42,7 +42,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>
+@@ -102,7 +102,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.:
+@@ -195,7 +195,7 @@ static inline char *loader_platform_executable_path(ch
+
+ return buffer;
+ }
+-#elif defined(__Fuchsia__)
++#elif defined(__Fuchsia__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+ static inline char *loader_platform_executable_path(char *buffer, size_t size) { return NULL; }
+ #elif defined(__QNXNTO__)
+
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
new file mode 100644
index 000000000000..658f2ff02c10
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h
@@ -0,0 +1,11 @@
+--- 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
new file mode 100644
index 000000000000..7f89b299948f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h
@@ -0,0 +1,12 @@
+--- 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__memory__allocator_include_vk__mem__alloc.h b/www/chromium/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h
new file mode 100644
index 000000000000..4d081b6bc26c
--- /dev/null
+++ b/www/chromium/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h
@@ -0,0 +1,11 @@
+--- third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.orig 2022-02-07 13:39:41 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__)
diff --git a/www/chromium/files/patch-third__party_webrtc_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_BUILD.gn
index 32e33f6453f7..d235f23fe476 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 2021-12-31 01:00:59 UTC
+--- third_party/webrtc/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ third_party/webrtc/BUILD.gn
-@@ -192,6 +192,9 @@ config("common_inherited_config") {
+@@ -191,6 +191,9 @@ config("common_inherited_config") {
if (is_linux || is_chromeos) {
defines += [ "WEBRTC_LINUX" ]
}
diff --git a/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x__server__pixel__buffer.cc b/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x__server__pixel__buffer.cc
new file mode 100644
index 000000000000..a3a45ddd1670
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_linux_x__server__pixel__buffer.cc
@@ -0,0 +1,16 @@
+--- third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc.orig 2022-02-07 13:39:41 UTC
++++ third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
+@@ -213,6 +213,13 @@ void XServerPixelBuffer::InitShm(const XWindowAttribut
+ Visual* default_visual = attributes.visual;
+ int default_depth = attributes.depth;
+
++#if defined(__OpenBSD__)
++ // pledge(2)
++ RTC_LOG(LS_WARNING) << "Unable to use shmget(2) while using pledge(2). "
++ "Performance may be degraded.";
++ return;
++#endif
++
+ int major, minor;
+ Bool have_pixmaps;
+ if (!XShmQueryVersion(display_, &major, &minor, &have_pixmaps)) {
diff --git a/www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc b/www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
deleted file mode 100644
index 31017f3dd75a..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc.orig 2021-04-14 18:43:11 UTC
-+++ third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc
-@@ -13,6 +13,7 @@
- #include <string.h>
-
- #include <algorithm>
-+#include <cstdlib>
- #include <utility>
-
- #include "absl/algorithm/container.h"
diff --git a/www/chromium/files/patch-third__party_webrtc_modules_video__coding_codecs_h264_h264__decoder__impl.cc b/www/chromium/files/patch-third__party_webrtc_modules_video__coding_codecs_h264_h264__decoder__impl.cc
deleted file mode 100644
index a94f1c1ccb7d..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_modules_video__coding_codecs_h264_h264__decoder__impl.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc.orig 2021-09-24 04:28:18 UTC
-+++ third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
-@@ -87,7 +87,10 @@ int H264DecoderImpl::AVGetBuffer2(AVCodecContext* cont
- int height = av_frame->height;
- // See `lowres`, if used the decoder scales the image by 1/2^(lowres). This
- // has implications on which resolutions are valid, but we don't use it.
-+#if !defined(OS_FREEBSD)
-+ // PR255687: disabled on FreeBSD to prevent crash with Microsoft Teams
- RTC_CHECK_EQ(context->lowres, 0);
-+#endif
- // Adjust the `width` and `height` to values acceptable by the decoder.
- // Without this, FFmpeg may overflow the buffer. If modified, `width` and/or
- // `height` are larger than the actual image and the image has to be cropped
-@@ -211,6 +214,9 @@ bool H264DecoderImpl::Configure(const Settings& settin
- // `get_buffer2` is called with the context, there `opaque` can be used to get
- // a pointer `this`.
- av_context_->opaque = this;
-+
-+ // Initializing |lowres|
-+ av_context_->lowres = 0;
-
- const AVCodec* codec = avcodec_find_decoder(av_context_->codec_id);
- if (!codec) {
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
new file mode 100644
index 000000000000..36c85d267df4
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_BUILD.gn
@@ -0,0 +1,11 @@
+--- third_party/webrtc/rtc_base/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ third_party/webrtc/rtc_base/BUILD.gn
+@@ -1082,7 +1082,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 00c9fb14d5b3..34f01f741435 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,11 +1,11 @@
---- third_party/webrtc/rtc_base/byte_order.h.orig 2021-04-14 18:43:12 UTC
+--- third_party/webrtc/rtc_base/byte_order.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/webrtc/rtc_base/byte_order.h
-@@ -89,7 +89,7 @@
+@@ -88,6 +88,8 @@
+ #error WEBRTC_ARCH_BIG_ENDIAN or WEBRTC_ARCH_LITTLE_ENDIAN must be defined.
#endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN)
- #elif defined(WEBRTC_POSIX)
--#include <endian.h>
++#elif defined(WEBRTC_BSD)
+#include <sys/endian.h>
+ #elif defined(WEBRTC_POSIX)
+ #include <endian.h>
#else
- #error "Missing byte order functions for this arch."
- #endif // defined(WEBRTC_MAC)
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h b/www/chromium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h
deleted file mode 100644
index 0c1ea0821767..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/rtc_base/ifaddrs_converter.h.orig 2021-04-14 18:43:12 UTC
-+++ third_party/webrtc/rtc_base/ifaddrs_converter.h
-@@ -14,6 +14,8 @@
- #if defined(WEBRTC_ANDROID)
- #include "rtc_base/ifaddrs_android.h"
- #else
-+#include <sys/types.h>
-+#include <sys/socket.h>
- #include <ifaddrs.h>
- #endif // WEBRTC_ANDROID
-
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 96a899253600..f015379bbe01 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,12 +1,12 @@
---- third_party/webrtc/rtc_base/ip_address.cc.orig 2021-04-14 18:43:12 UTC
+--- third_party/webrtc/rtc_base/ip_address.cc.orig 2022-02-07 13:39:41 UTC
+++ third_party/webrtc/rtc_base/ip_address.cc
-@@ -11,6 +11,9 @@
+@@ -11,7 +11,8 @@
#if defined(WEBRTC_POSIX)
#include <netinet/in.h>
#include <sys/socket.h>
+-#ifdef OPENBSD
+#if defined(WEBRTC_BSD)
+#include <sys/types.h>
-+#endif
- #ifdef OPENBSD
#include <netinet/in_systm.h>
#endif
+ #ifndef __native_client__
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.h b/www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.h
deleted file mode 100644
index 58a158241131..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_ip__address.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/webrtc/rtc_base/ip_address.h.orig 2021-04-14 18:43:12 UTC
-+++ third_party/webrtc/rtc_base/ip_address.h
-@@ -17,6 +17,10 @@
- #include <netinet/in.h>
- #include <sys/socket.h>
- #endif
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#endif
- #if defined(WEBRTC_WIN)
- #include <winsock2.h>
- #include <ws2tcpip.h>
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
deleted file mode 100644
index 94899d1b2b7d..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_network.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- third_party/webrtc/rtc_base/network.cc.orig 2021-12-14 11:47:22 UTC
-+++ third_party/webrtc/rtc_base/network.cc
-@@ -260,7 +260,12 @@ AdapterType GetAdapterTypeFromName(const char* network
- }
- #endif
-
-+#if defined(WEBRTC_BSD)
-+ // Treat all other network interface names as ethernet on BSD
-+ return ADAPTER_TYPE_ETHERNET;
-+#else
- return ADAPTER_TYPE_UNKNOWN;
-+#endif
- }
-
- NetworkManager::NetworkManager() {}
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_network.h b/www/chromium/files/patch-third__party_webrtc_rtc__base_network.h
deleted file mode 100644
index 126e2c3ab540..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_network.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/webrtc/rtc_base/network.h.orig 2021-12-14 11:47:22 UTC
-+++ third_party/webrtc/rtc_base/network.h
-@@ -31,6 +31,10 @@
- #include "rtc_base/third_party/sigslot/sigslot.h"
- #include "rtc_base/thread_annotations.h"
-
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#endif
-+
- #if defined(WEBRTC_POSIX)
- struct ifaddrs;
- #endif // defined(WEBRTC_POSIX)
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 990ecdc866b4..501e6e0ff138 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,4 +1,4 @@
---- third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2021-04-14 18:43:12 UTC
+--- 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
@@ -51,7 +51,7 @@
#include "rtc_base/synchronization/mutex.h"
@@ -14,7 +14,7 @@
#endif // WEBRTC_POSIX
-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
-+#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) && !defined(WEBRTC_BSD)
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
@@ -36,6 +36,24 @@
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) {
+ int PhysicalSocket::Send(const void* pv, size_t cb) {
+ int sent = DoSend(
+ s_, reinterpret_cast<const char*>(pv), static_cast<int>(cb),
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ // 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,
+ size_t len = addr.ToSockAddrStorage(&saddr);
+ int sent =
+ DoSendTo(s_, static_cast<const char*>(buffer), static_cast<int>(length),
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ // Suppress SIGPIPE. See above for explanation.
+ MSG_NOSIGNAL,
+ #else
@@ -564,7 +564,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
*slevel = IPPROTO_IP;
*sopt = IP_DONTFRAGMENT;
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 6d6a960ce1dd..a8824341be26 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,35 +1,36 @@
---- third_party/webrtc/rtc_base/platform_thread_types.cc.orig 2021-04-14 18:43:12 UTC
+--- 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
-@@ -11,7 +11,11 @@
+@@ -11,7 +11,9 @@
#include "rtc_base/platform_thread_types.h"
#if defined(WEBRTC_LINUX)
-+#if !defined(__FreeBSD__)
++#if !defined(WEBRTC_BSD)
#include <sys/prctl.h>
-+#else
-+#include <pthread_np.h>
+#endif
#include <sys/syscall.h>
#endif
-@@ -37,6 +41,8 @@ PlatformThreadId CurrentThreadId() {
+@@ -37,8 +39,10 @@ PlatformThreadId CurrentThreadId() {
return gettid();
#elif defined(WEBRTC_FUCHSIA)
return zx_thread_self();
-+#elif defined(__FreeBSD__)
-+ return pthread_getthreadid_np();
- #elif defined(WEBRTC_LINUX)
+-#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(__EMSCRIPTEN__)
-@@ -67,6 +73,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons
+ return static_cast<PlatformThreadId>(pthread_self());
+ #else
+@@ -67,6 +71,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons
}
void SetCurrentThreadName(const char* name) {
-+#if !defined(__FreeBSD__)
++#if !defined(WEBRTC_BSD)
#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 +116,7 @@ void SetCurrentThreadName(const char* name) {
+@@ -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);
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h b/www/chromium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
index 920558e61386..e5a7ab18c9c0 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
+++ b/www/chromium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
@@ -1,19 +1,23 @@
---- third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h.orig 2021-04-14 18:43:12 UTC
+--- third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h.orig 2022-02-07 13:39:41 UTC
+++ third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h
-@@ -178,6 +178,8 @@ class multi_threaded_local {
+@@ -178,6 +178,10 @@ class multi_threaded_local {
#endif // _SIGSLOT_HAS_WIN32_THREADS
#ifdef _SIGSLOT_HAS_POSIX_THREADS
++#if defined(OS_FREEBSD)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wthread-safety-analysis"
++#endif
// The multi threading policies only get compiled in if they are enabled.
class multi_threaded_global {
public:
-@@ -201,6 +203,7 @@ class multi_threaded_local {
+@@ -201,6 +205,9 @@ class multi_threaded_local {
private:
pthread_mutex_t m_mutex;
};
++#if defined(OS_FREEBSD)
+#pragma GCC diagnostic pop
++#endif
#endif // _SIGSLOT_HAS_POSIX_THREADS
template <class mt_policy>
diff --git a/www/chromium/files/patch-third__party_zlib_BUILD.gn b/www/chromium/files/patch-third__party_zlib_BUILD.gn
index e389bc5c5aad..8001d8f84d74 100644
--- a/www/chromium/files/patch-third__party_zlib_BUILD.gn
+++ b/www/chromium/files/patch-third__party_zlib_BUILD.gn
@@ -1,15 +1,24 @@
---- third_party/zlib/BUILD.gn.orig 2021-12-14 11:45:38 UTC
+--- third_party/zlib/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ third_party/zlib/BUILD.gn
-@@ -119,6 +119,8 @@ if (use_arm_neon_optimizations) {
+@@ -115,7 +115,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" ]
-+ } else if (is_bsd) {
-+ defines += [ "ARMV8_OS_FREEBSD" ]
- } else if (is_linux || is_chromeos) {
- defines += [ "ARMV8_OS_LINUX" ]
- } else if (is_mac) {
-@@ -396,7 +398,7 @@ static_library("minizip") {
+@@ -136,7 +136,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) {
+@@ -396,7 +396,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
deleted file mode 100644
index 505c92ea836e..000000000000
--- a/www/chromium/files/patch-third__party_zlib_cpu__features.c
+++ /dev/null
@@ -1,48 +0,0 @@
---- third_party/zlib/cpu_features.c.orig 2021-04-14 18:41:36 UTC
-+++ third_party/zlib/cpu_features.c
-@@ -31,11 +31,20 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0;
-
- #ifndef CPU_NO_SIMD
-
--#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA)
-+#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_FREEBSD)
- #include <pthread.h>
- #endif
-
--#if defined(ARMV8_OS_ANDROID)
-+#if defined(ARMV8_OS_FREEBSD)
-+#include <machine/armreg.h>
-+#include <sys/types.h>
-+#ifndef ID_AA64ISAR0_AES_VAL
-+#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES
-+#endif
-+#ifndef ID_AA64ISAR0_CRC32_VAL
-+#define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
-+#endif
-+#elif defined(ARMV8_OS_ANDROID)
- #include <cpu-features.h>
- #elif defined(ARMV8_OS_LINUX)
- #include <asm/hwcap.h>
-@@ -56,7 +65,7 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0;
- static void _cpu_check_features(void);
- #endif
-
--#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS)
-+#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_FREEBSD) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS)
- #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.
-@@ -123,6 +132,13 @@ static void _cpu_check_features(void)
- #elif defined(ARMV8_OS_WINDOWS)
- arm_cpu_enable_crc32 = IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE);
- arm_cpu_enable_pmull = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE);
-+#elif defined(ARMV8_OS_FREEBSD)
-+ uint64_t id_aa64isar0;
-+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
-+ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL)
-+ arm_cpu_enable_pmull = 1;
-+ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE)
-+ arm_cpu_enable_crc32 = 1;
- #endif
- }
- #endif
diff --git a/www/chromium/files/patch-tools_generate__stubs_rules.gni b/www/chromium/files/patch-tools_generate__stubs_rules.gni
new file mode 100644
index 000000000000..eaaeaa37cd1b
--- /dev/null
+++ b/www/chromium/files/patch-tools_generate__stubs_rules.gni
@@ -0,0 +1,10 @@
+--- tools/generate_stubs/rules.gni.orig 2022-02-07 13:39:41 UTC
++++ tools/generate_stubs/rules.gni
+@@ -96,7 +96,6 @@ template("generate_stubs") {
+ "${target_gen_dir}/${invoker.output_name}.cc",
+ "${target_gen_dir}/${invoker.output_name}.h",
+ ]
+- libs = [ "dl" ]
+ include_dirs = [ target_gen_dir ]
+ if (defined(invoker.configs)) {
+ configs += invoker.configs
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
new file mode 100644
index 000000000000..2636120143e8
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_build_build__linux.ninja.template
@@ -0,0 +1,11 @@
+--- tools/gn/build/build_linux.ninja.template.orig 2022-02-07 13:39:41 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
+ 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 c63cb79a0cb3..3487ae989952 100644
--- a/www/chromium/files/patch-tools_gn_build_gen.py
+++ b/www/chromium/files/patch-tools_gn_build_gen.py
@@ -1,24 +1,34 @@
---- tools/gn/build/gen.py.orig 2021-09-24 04:34:58 UTC
+--- tools/gn/build/gen.py.orig 2022-02-07 13:39:41 UTC
+++ tools/gn/build/gen.py
-@@ -91,6 +91,9 @@ class Platform(object):
+@@ -91,6 +91,12 @@ class Platform(object):
def is_solaris(self):
return self._platform == 'solaris'
++ def is_openbsd(self):
++ return self._platform == 'openbsd'
++
+ def is_freebsd(self):
+ return self._platform == 'freebsd'
+
def is_posix(self):
return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku', 'solaris', 'msys', 'netbsd']
-@@ -429,6 +432,11 @@ def WriteGNNinja(path, platform, host, options):
- cflags.append('-Wno-unused-function')
- cflags.append('-D_OPEN_SYS_FILE_EXT')
- cflags.append('-DPATH_MAX=1024')
-+ elif platform.is_freebsd():
-+ cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality'])
-+ ldflags.extend(['-pthread'])
-+ libs.extend(['-lexecinfo', '-lkvm', '-lutil'])
-+ include_dirs += ['/usr/local/include']
+@@ -228,7 +234,7 @@ def WriteGenericNinja(path, static_libraries, executab
+ 'linux': 'build_linux.ninja.template',
+ 'freebsd': 'build_linux.ninja.template',
+ 'aix': 'build_aix.ninja.template',
+- 'openbsd': 'build_openbsd.ninja.template',
++ 'openbsd': 'build_linux.ninja.template',
+ 'haiku': 'build_haiku.ninja.template',
+ 'solaris': 'build_linux.ninja.template',
+ 'netbsd': 'build_linux.ninja.template',
+@@ -432,6 +438,9 @@ def WriteGNNinja(path, platform, host, options):
if platform.is_posix() and not platform.is_haiku():
ldflags.append('-pthread')
++
++ if platform.is_openbsd():
++ libs.append('-lkvm')
+
+ if platform.is_mingw() or platform.is_msys():
+ cflags.extend(['-DUNICODE',
diff --git a/www/chromium/files/patch-tools_gn_src_base_files_scoped__file.cc b/www/chromium/files/patch-tools_gn_src_base_files_scoped__file.cc
deleted file mode 100644
index 2601b4a9b949..000000000000
--- a/www/chromium/files/patch-tools_gn_src_base_files_scoped__file.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/base/files/scoped_file.cc.orig 2021-04-14 18:49:10 UTC
-+++ tools/gn/src/base/files/scoped_file.cc
-@@ -30,7 +30,7 @@ void ScopedFDCloseTraits::Free(int fd) {
- // a single open directory would bypass the entire security model.
- int ret = IGNORE_EINTR(close(fd));
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || \
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
- defined(OS_ANDROID) || defined(OS_BSD)
- // NB: Some file descriptors can return errors from close() e.g. network
- // filesystems such as NFS and Linux input devices. On Linux, macOS, and
diff --git a/www/chromium/files/patch-tools_gn_src_gn_exec__process.cc b/www/chromium/files/patch-tools_gn_src_gn_exec__process.cc
deleted file mode 100644
index c1ca69b75fff..000000000000
--- a/www/chromium/files/patch-tools_gn_src_gn_exec__process.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- tools/gn/src/gn/exec_process.cc.orig 2021-09-24 04:34:58 UTC
-+++ tools/gn/src/gn/exec_process.cc
-@@ -31,6 +31,10 @@
- #include "base/posix/file_descriptor_shuffle.h"
- #endif
-
-+#if defined(OS_BSD)
-+#include <signal.h>
-+#endif
-+
- namespace internal {
-
- #if defined(OS_WIN)
diff --git a/www/chromium/files/patch-tools_gn_src_gn_function__write__file__unittest.cc b/www/chromium/files/patch-tools_gn_src_gn_function__write__file__unittest.cc
deleted file mode 100644
index 30af95ae74b8..000000000000
--- a/www/chromium/files/patch-tools_gn_src_gn_function__write__file__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/gn/function_write_file_unittest.cc.orig 2021-09-24 04:34:58 UTC
-+++ tools/gn/src/gn/function_write_file_unittest.cc
-@@ -13,7 +13,7 @@
- #include "gn/test_with_scope.h"
- #include "util/test/test.h"
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_HAIKU) || defined(OS_MSYS)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_HAIKU) || defined(OS_MSYS) || defined(OS_BSD)
- #include <sys/time.h>
- #elif defined(OS_ZOS)
- #include <utime.h>
diff --git a/www/chromium/files/patch-tools_gn_src_util_exe__path.cc b/www/chromium/files/patch-tools_gn_src_util_exe__path.cc
new file mode 100644
index 000000000000..54f6fb40afea
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_src_util_exe__path.cc
@@ -0,0 +1,90 @@
+--- tools/gn/src/util/exe_path.cc.orig 2022-02-07 13:39:41 UTC
++++ tools/gn/src/util/exe_path.cc
+@@ -15,7 +15,7 @@
+ #include <windows.h>
+
+ #include "base/win/win_util.h"
+-#elif defined(OS_FREEBSD) || defined(OS_NETBSD)
++#elif defined(OS_FREEBSD) || defined(OS_NETBSD) || defined(OS_OPENBSD)
+ #include <limits.h>
+ #include <sys/sysctl.h>
+ #include <sys/types.h>
+@@ -26,6 +26,10 @@
+ #include <stdlib.h>
+ #endif
+
++#if defined(OS_OPENBSD)
++#include <kvm.h>
++#endif
++
+ #if defined(OS_MACOSX)
+
+ base::FilePath GetExePath() {
+@@ -102,6 +106,67 @@ base::FilePath GetExePath() {
+ return base::FilePath();
+ }
+ return base::FilePath(raw);
++}
++
++#elif defined(OS_OPENBSD)
++
++base::FilePath GetExePath() {
++ struct kinfo_file *files;
++ kvm_t *kd = NULL;
++ char errbuf[_POSIX2_LINE_MAX];
++ char **retvalargs;
++#define MAXTOKENS 2
++ char *tokens[MAXTOKENS];
++ static char retval[PATH_MAX];
++ int cnt;
++ size_t len;
++ struct stat sb;
++ pid_t cpid = getpid();
++
++ int mib[] = { CTL_KERN, KERN_PROC_ARGS, cpid, KERN_PROC_ARGV };
++
++ if (sysctl(mib, 4, NULL, &len, NULL, 0) != -1) {
++ retvalargs = static_cast<char**>(malloc(len));
++ if (!retvalargs)
++ goto out;
++
++ if (sysctl(mib, 4, retvalargs, &len, NULL, 0) < 0)
++ goto out;
++
++ char *cr = strdup(retvalargs[0]);
++ free(retvalargs);
++
++ *tokens = strtok(cr, ":");
++ if (tokens[0] == NULL)
++ goto out;
++
++ if (realpath(tokens[0], retval) == NULL)
++ goto out;
++
++ if (stat(retval, &sb) < 0)
++ goto out;
++
++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL)
++ goto out;
++
++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, cpid,
++ sizeof(struct kinfo_file), &cnt)) == NULL) {
++ kvm_close(kd);
++ goto out;
++ }
++
++ 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);
++ return base::FilePath(retval);
++ }
++ }
++ }
++
++out:
++ return base::FilePath();
+ }
+
+ #elif defined(OS_ZOS)
diff --git a/www/chromium/files/patch-tools_gn_src_util_sys__info.cc b/www/chromium/files/patch-tools_gn_src_util_sys__info.cc
deleted file mode 100644
index 300d87efcbaa..000000000000
--- a/www/chromium/files/patch-tools_gn_src_util_sys__info.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/util/sys_info.cc.orig 2021-09-24 04:34:58 UTC
-+++ tools/gn/src/util/sys_info.cc
-@@ -34,6 +34,8 @@ std::string OperatingSystemArchitecture() {
- arch = "x86_64";
- } else if (arch == "amd64") {
- arch = "x86_64";
-+ } else if (arch == "arm64") {
-+ arch = "aarch64";
- } else if (os == "AIX" || os == "OS400") {
- arch = "ppc64";
- } else if (std::string(info.sysname) == "OS/390") {
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
new file mode 100644
index 000000000000..488f666a4aad
--- /dev/null
+++ b/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py
@@ -0,0 +1,11 @@
+--- tools/json_schema_compiler/cpp_bundle_generator.py.orig 2022-02-07 13:39:41 UTC
++++ tools/json_schema_compiler/cpp_bundle_generator.py
+@@ -154,7 +154,7 @@ class CppBundleGenerator(object):
+ # defined(OS_CHROMEOS) && BUILDFLAG(IS_CHROMEOS_LACROS).
+ ifdefs.append('BUILDFLAG(IS_CHROMEOS_LACROS)')
+ elif platform == Platforms.LINUX:
+- ifdefs.append('(defined(OS_LINUX) && !defined(OS_CHROMEOS))')
++ ifdefs.append('(defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)')
+ elif platform == Platforms.MAC:
+ ifdefs.append('defined(OS_MAC)')
+ elif platform == Platforms.WIN:
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 dc5491f03b71..1b7f4e045f47 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,12 +1,10 @@
---- tools/json_schema_compiler/feature_compiler.py.orig 2021-09-24 04:26:37 UTC
+--- tools/json_schema_compiler/feature_compiler.py.orig 2022-02-07 13:39:41 UTC
+++ tools/json_schema_compiler/feature_compiler.py
-@@ -258,7 +258,9 @@ FEATURE_GRAMMAR = ({
- 'platforms': {
- list: {
- 'enum_map': {
-+ 'bsd': 'Feature::LINUX_PLATFORM',
- 'chromeos': 'Feature::CHROMEOS_PLATFORM',
-+ 'freebsd': 'Feature::LINUX_PLATFORM',
- 'lacros': 'Feature::LACROS_PLATFORM',
- 'linux': 'Feature::LINUX_PLATFORM',
+@@ -264,6 +264,7 @@ FEATURE_GRAMMAR = ({
'mac': 'Feature::MACOSX_PLATFORM',
+ 'win': 'Feature::WIN_PLATFORM',
+ 'fuchsia': 'Feature::FUCHSIA_PLATFORM',
++ 'openbsd': 'Feature::LINUX_PLATFORM',
+ }
+ }
+ },
diff --git a/www/chromium/files/patch-tools_json__schema__compiler_model.py b/www/chromium/files/patch-tools_json__schema__compiler_model.py
deleted file mode 100644
index 591568313ae2..000000000000
--- a/www/chromium/files/patch-tools_json__schema__compiler_model.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- tools/json_schema_compiler/model.py.orig 2021-12-14 11:45:38 UTC
-+++ tools/json_schema_compiler/model.py
-@@ -877,6 +877,7 @@ class Platforms(object):
- """Enum of the possible platforms.
- """
- CHROMEOS = _PlatformInfo("chromeos")
-+ FREEBSD = _PlatformInfo("freebsd")
- LACROS = _PlatformInfo("lacros")
- LINUX = _PlatformInfo("linux")
- MAC = _PlatformInfo("mac")
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 dd679de1825a..6985646b6e92 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,4 +1,4 @@
---- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2021-12-14 11:45:38 UTC
+--- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ tools/perf/chrome_telemetry_build/BUILD.gn
@@ -45,7 +45,7 @@ group("telemetry_chrome_test") {
data_deps += [ "//chrome:reorder_imports" ]
@@ -9,3 +9,12 @@
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
# CrOS currently has issues with the locally compiled version of
+@@ -212,7 +212,7 @@ group("telemetry_chrome_test_without_chrome") {
+ ]
+
+ # Cr-Fuchsia doesn't support breakpad.
+- if (!is_win && !is_fuchsia) {
++ if (!is_win && !is_fuchsia && !is_bsd) {
+ data_deps += [
+ # This is defined for Windows, but is unused by Telemetry on
+ # Windows, and including it can have issues when cross-compiling
diff --git a/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py b/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py
new file mode 100644
index 000000000000..d4ecce7f1f7b
--- /dev/null
+++ b/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py
@@ -0,0 +1,15 @@
+--- tools/protoc_wrapper/protoc_wrapper.py.orig 2022-02-07 13:39:41 UTC
++++ tools/protoc_wrapper/protoc_wrapper.py
+@@ -190,7 +190,11 @@ def main(argv):
+ with open(options.descriptor_set_dependency_file, 'rb') as f:
+ dependency_file_data = f.read().decode('utf-8')
+
+- ret = subprocess.call(protoc_cmd)
++ nenv = os.environ.copy()
++ nenv["PATH"] = "${WRKOBJDIR}/bin:" + nenv["PATH"]
++ nenv["LD_LIBRARY_PATH"] = "${WRKSRC}/out/Release"
++
++ ret = subprocess.call(protoc_cmd, env=nenv)
+ if ret != 0:
+ if ret <= -100:
+ # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to
diff --git a/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py b/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py
index c32ead78597e..17377bfe54f4 100644
--- a/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py
+++ b/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py
@@ -1,10 +1,11 @@
---- tools/variations/fieldtrial_to_struct.py.orig 2021-04-14 18:41:37 UTC
+--- tools/variations/fieldtrial_to_struct.py.orig 2022-02-07 13:39:41 UTC
+++ tools/variations/fieldtrial_to_struct.py
-@@ -36,6 +36,7 @@ _platforms = [
- 'android_webview',
- 'chromeos',
- 'chromeos_lacros',
-+ 'freebsd',
- 'fuchsia',
- 'ios',
+@@ -41,6 +41,8 @@ _platforms = [
'linux',
+ 'mac',
+ 'windows',
++ 'openbsd',
++ 'freebsd',
+ ]
+
+ _form_factors = [
diff --git a/www/chromium/files/patch-ui_aura_test_aura__test__helper.cc b/www/chromium/files/patch-ui_aura_test_aura__test__helper.cc
deleted file mode 100644
index f8d309359cbb..000000000000
--- a/www/chromium/files/patch-ui_aura_test_aura__test__helper.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/aura/test/aura_test_helper.cc.orig 2021-12-31 00:58:31 UTC
-+++ ui/aura/test/aura_test_helper.cc
-@@ -30,7 +30,7 @@
- #include "ui/wm/core/default_activation_client.h"
- #include "ui/wm/core/default_screen_position_client.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/platform_window/common/platform_window_defaults.h" // nogncheck
- #endif
-
-@@ -59,7 +59,7 @@ AuraTestHelper::AuraTestHelper(ui::ContextFactory* con
- DCHECK(!g_instance);
- g_instance = this;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- ui::test::EnableTestConfigForPlatformWindows();
- #endif
-
diff --git a/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc b/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc
index 551609f2394f..6ac36dd920cd 100644
--- a/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc
+++ b/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.cc
@@ -1,6 +1,6 @@
---- ui/base/clipboard/clipboard_constants.cc.orig 2021-07-19 18:45:43 UTC
+--- ui/base/clipboard/clipboard_constants.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/base/clipboard/clipboard_constants.cc
-@@ -20,11 +20,11 @@ const char kMimeTypePNG[] = "image/png";
+@@ -20,7 +20,7 @@ const char kMimeTypePNG[] = "image/png";
// Used for image drag & drop from LaCrOS.
const char kMimeTypeOctetStream[] = "application/octet-stream";
@@ -9,8 +9,3 @@
const char kMimeTypeLinuxUtf8String[] = "UTF8_STRING";
const char kMimeTypeLinuxString[] = "STRING";
const char kMimeTypeLinuxText[] = "TEXT";
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
-
- #if !defined(OS_APPLE)
- const char kMimeTypeWebCustomData[] = "chromium/x-web-custom-data";
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 8bb7450ab663..2b6fed13ce93 100644
--- a/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.h
+++ b/www/chromium/files/patch-ui_base_clipboard_clipboard__constants.h
@@ -1,6 +1,6 @@
---- ui/base/clipboard/clipboard_constants.h.orig 2021-07-19 18:45:43 UTC
+--- ui/base/clipboard/clipboard_constants.h.orig 2022-02-07 13:39:41 UTC
+++ ui/base/clipboard/clipboard_constants.h
-@@ -38,14 +38,14 @@ COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES)
+@@ -38,7 +38,7 @@ COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES)
extern const char kMimeTypeOctetStream[];
// Linux-specific MIME type constants (also used in Fuchsia).
@@ -9,11 +9,3 @@
COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES)
extern const char kMimeTypeLinuxUtf8String[];
COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES)
- extern const char kMimeTypeLinuxString[];
- COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES)
- extern const char kMimeTypeLinuxText[];
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
-
- #if !defined(OS_APPLE)
- // TODO(dcheng): This name is temporary. See crbug.com/106449.
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 7803034f0511..3bcd4653b7e0 100644
--- a/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc
+++ b/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc
@@ -1,4 +1,4 @@
---- ui/base/cursor/cursor_factory.cc.orig 2021-07-19 18:45:43 UTC
+--- ui/base/cursor/cursor_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/base/cursor/cursor_factory.cc
@@ -80,7 +80,7 @@ void CursorFactory::ObserveThemeChanges() {
@@ -9,11 +9,3 @@
// Returns a cursor name compatible with either X11 or the FreeDesktop.org
// cursor spec ([1] and [2]), followed by fallbacks that can work as
-@@ -201,6 +201,6 @@ std::vector<std::string> CursorNamesFromType(mojom::Cu
- return {"left_ptr"};
- }
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- } // namespace ui
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 832c1112c529..d2dfa12afad2 100644
--- a/www/chromium/files/patch-ui_base_cursor_cursor__factory.h
+++ b/www/chromium/files/patch-ui_base_cursor_cursor__factory.h
@@ -1,11 +1,11 @@
---- ui/base/cursor/cursor_factory.h.orig 2021-07-19 18:45:43 UTC
+--- ui/base/cursor/cursor_factory.h.orig 2022-02-07 13:39:41 UTC
+++ ui/base/cursor/cursor_factory.h
-@@ -81,7 +81,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR_BASE) CursorFact
+@@ -81,7 +81,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
base::ObserverList<CursorFactoryObserver>::Unchecked observers_;
};
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- COMPONENT_EXPORT(UI_BASE_CURSOR_BASE)
+ COMPONENT_EXPORT(UI_BASE_CURSOR)
std::vector<std::string> CursorNamesFromType(mojom::CursorType type);
#endif
diff --git a/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc b/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
index e365c4bfdb14..0f0bdd44b14c 100644
--- a/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
+++ b/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
@@ -1,4 +1,4 @@
---- ui/base/dragdrop/os_exchange_data_provider_factory.cc.orig 2021-12-14 11:45:39 UTC
+--- ui/base/dragdrop/os_exchange_data_provider_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/base/dragdrop/os_exchange_data_provider_factory.cc
@@ -7,7 +7,7 @@
#include "base/notreached.h"
@@ -6,24 +6,15 @@
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ #include "ui/base/dragdrop/os_exchange_data_provider_factory_ozone.h"
#include "ui/base/dragdrop/os_exchange_data_provider_non_backed.h"
- #include "ui/base/ui_base_features.h"
- #if defined(USE_OZONE)
-@@ -26,7 +26,7 @@ namespace ui {
-
- namespace {
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- std::unique_ptr<OSExchangeDataProvider> CreateProviderForLinux() {
- #if defined(USE_OZONE)
- // The instance can be nullptr in tests that do not instantiate the platform,
-@@ -50,7 +50,7 @@ std::unique_ptr<OSExchangeDataProvider> CreateProvider
+ #elif defined(OS_APPLE)
+@@ -21,7 +21,7 @@ namespace ui {
// static
std::unique_ptr<OSExchangeDataProvider>
OSExchangeDataProviderFactory::CreateProvider() {
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (features::IsUsingOzonePlatform())
- return CreateProviderForLinux();
- #if defined(USE_X11)
+ // The instance can be nullptr in tests that do not instantiate the platform,
+ // or on platforms that do not implement specific drag'n'drop. For them,
+ // falling back to the Aura provider should be fine.
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 dbe1a0edca2a..918d54722083 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,6 +1,6 @@
---- ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2021-12-14 11:45:39 UTC
+--- ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/base/dragdrop/os_exchange_data_provider_non_backed.cc
-@@ -85,14 +85,14 @@ void OSExchangeDataProviderNonBacked::SetPickledData(
+@@ -85,7 +85,7 @@ void OSExchangeDataProviderNonBacked::SetPickledData(
}
bool OSExchangeDataProviderNonBacked::GetString(std::u16string* data) const {
@@ -9,11 +9,3 @@
if (HasFile()) {
// Various Linux file managers both pass a list of file:// URIs and set the
// string representation to the URI. We explicitly don't want to return use
- // this representation.
- return false;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- if ((formats_ & OSExchangeData::STRING) == 0)
- 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 3de55fea4fec..fbc7afade9e9 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 2021-12-16 15:20:25 UTC
+--- ui/base/ime/dummy_text_input_client.h.orig 2022-02-07 13:39:41 UTC
+++ ui/base/ime/dummy_text_input_client.h
-@@ -64,7 +64,7 @@ class DummyTextInputClient : public TextInputClient {
+@@ -63,7 +63,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.h b/www/chromium/files/patch-ui_base_ime_fake__text__input__client.h
index 86a4e063c1c1..1ae72ba1423b 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 2021-12-16 15:20:49 UTC
+--- ui/base/ime/fake_text_input_client.h.orig 2022-02-07 13:39:41 UTC
+++ ui/base/ime/fake_text_input_client.h
-@@ -70,7 +70,7 @@ class FakeTextInputClient : public TextInputClient {
+@@ -69,7 +69,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_resource_resource__bundle.cc b/www/chromium/files/patch-ui_base_resource_resource__bundle.cc
index ece5e49482b8..6413b42700fc 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 2021-12-31 00:58:32 UTC
+--- ui/base/resource/resource_bundle.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/base/resource/resource_bundle.cc
-@@ -867,7 +867,7 @@ void ResourceBundle::ReloadFonts() {
+@@ -849,7 +849,7 @@ void ResourceBundle::ReloadFonts() {
}
ResourceScaleFactor ResourceBundle::GetMaxResourceScaleFactor() const {
diff --git a/www/chromium/files/patch-ui_base_resource_resource__bundle__freebsd.cc b/www/chromium/files/patch-ui_base_resource_resource__bundle__freebsd.cc
deleted file mode 100644
index a27bad6a4e0b..000000000000
--- a/www/chromium/files/patch-ui_base_resource_resource__bundle__freebsd.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- ui/base/resource/resource_bundle_freebsd.cc.orig 2021-04-15 08:13:29 UTC
-+++ ui/base/resource/resource_bundle_freebsd.cc
-@@ -0,0 +1,21 @@
-+// Copyright 2017 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 "ui/base/resource/resource_bundle.h"
-+
-+#include "base/logging.h"
-+#include "base/macros.h"
-+#include "ui/gfx/image/image.h"
-+
-+namespace ui {
-+
-+void ResourceBundle::LoadCommonResources() {
-+ LoadChromeResources();
-+}
-+
-+gfx::Image& ResourceBundle::GetNativeImageNamed(int resource_id) {
-+ return GetImageNamed(resource_id);
-+}
-+
-+} // namespace ui
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 80438ea0d9fa..417428c5a30e 100644
--- a/www/chromium/files/patch-ui_base_ui__base__features.cc
+++ b/www/chromium/files/patch-ui_base_ui__base__features.cc
@@ -1,15 +1,15 @@
---- ui/base/ui_base_features.cc.orig 2021-12-31 00:58:32 UTC
+--- ui/base/ui_base_features.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/base/ui_base_features.cc
-@@ -155,7 +155,7 @@ const base::Feature kExperimentalFlingAnimation {
- "ExperimentalFlingAnimation",
+@@ -154,7 +154,7 @@ const base::Feature kExperimentalFlingAnimation {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
--#if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
-+#if defined(OS_WIN) || defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
- !BUILDFLAG(IS_CHROMEOS_LACROS))
+ #if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+- !BUILDFLAG(IS_CHROMEOS_LACROS))
++ !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
-@@ -252,7 +252,7 @@ bool IsForcedColorsEnabled() {
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -250,7 +250,7 @@ bool IsForcedColorsEnabled() {
// milestones.
const base::Feature kEyeDropper {
"EyeDropper",
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
new file mode 100644
index 000000000000..5686201fe199
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc
@@ -0,0 +1,14 @@
+--- ui/base/x/x11_cursor_loader.cc.orig 2022-02-07 13:39:41 UTC
++++ ui/base/x/x11_cursor_loader.cc
+@@ -138,7 +138,11 @@ std::string CursorPathFromLibXcursor() {
+ void operator()(void* ptr) const { dlclose(ptr); }
+ };
+
++#if defined(OS_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));
++#endif
+ if (!lib)
+ return "";
+
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 25084920ab82..2ac95f9a102a 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,4 +1,4 @@
---- ui/base/x/x11_shm_image_pool.cc.orig 2021-04-14 18:41:37 UTC
+--- ui/base/x/x11_shm_image_pool.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/base/x/x11_shm_image_pool.cc
@@ -16,6 +16,7 @@
#include "base/environment.h"
@@ -23,3 +23,31 @@
}
std::size_t MaxShmSegmentSize() {
+@@ -66,6 +71,9 @@ bool IsRemoteHost(const std::string& name) {
+ }
+
+ bool ShouldUseMitShm(x11::Connection* connection) {
++#if defined(OS_BSD)
++ return false;
++#endif
+ // 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
+ shmctl(state.shmid, IPC_RMID, nullptr);
+ return false;
+ }
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // 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
+ return false;
+ state.shmseg = shmseg;
+ state.shmem_attached_to_server = true;
+-#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ // The Linux-specific shmctl behavior above may not be portable, so we're
+ // forced to do IPC_RMID after the server has attached to the segment.
+ shmctl(state.shmid, IPC_RMID, nullptr);
diff --git a/www/chromium/files/patch-ui_compositor_compositor.cc b/www/chromium/files/patch-ui_compositor_compositor.cc
index 2a8a4b91f448..7ca479040462 100644
--- a/www/chromium/files/patch-ui_compositor_compositor.cc
+++ b/www/chromium/files/patch-ui_compositor_compositor.cc
@@ -1,6 +1,6 @@
---- ui/compositor/compositor.cc.orig 2021-12-31 00:58:32 UTC
+--- ui/compositor/compositor.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/compositor/compositor.cc
-@@ -836,7 +836,7 @@ void Compositor::OnResume() {
+@@ -839,7 +839,7 @@ void Compositor::OnResume() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/chromium/files/patch-ui_compositor_compositor.h b/www/chromium/files/patch-ui_compositor_compositor.h
index 8a02feba1487..4d562c9e823a 100644
--- a/www/chromium/files/patch-ui_compositor_compositor.h
+++ b/www/chromium/files/patch-ui_compositor_compositor.h
@@ -1,6 +1,6 @@
---- ui/compositor/compositor.h.orig 2021-12-31 00:58:32 UTC
+--- ui/compositor/compositor.h.orig 2022-02-07 13:39:41 UTC
+++ ui/compositor/compositor.h
-@@ -389,7 +389,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe
+@@ -388,7 +388,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/chromium/files/patch-ui_compositor_compositor__observer.h b/www/chromium/files/patch-ui_compositor_compositor__observer.h
index 44fd846ac96b..d5c108b83ce3 100644
--- a/www/chromium/files/patch-ui_compositor_compositor__observer.h
+++ b/www/chromium/files/patch-ui_compositor_compositor__observer.h
@@ -1,6 +1,6 @@
---- ui/compositor/compositor_observer.h.orig 2021-04-14 18:41:39 UTC
+--- ui/compositor/compositor_observer.h.orig 2022-02-07 13:39:41 UTC
+++ ui/compositor/compositor_observer.h
-@@ -48,11 +48,11 @@ class COMPOSITOR_EXPORT CompositorObserver {
+@@ -48,7 +48,7 @@ class COMPOSITOR_EXPORT CompositorObserver {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,8 +9,3 @@
// Called when a swap with new size is completed.
virtual void OnCompositingCompleteSwapWithNewSize(ui::Compositor* compositor,
const gfx::Size& size) {}
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Called at the top of the compositor's destructor, to give observers a
- // chance to remove themselves.
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 bf8a6f72d4e7..14f2b2b23566 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,20 +1,10 @@
---- ui/events/devices/x11/device_data_manager_x11.cc.orig 2021-12-14 11:45:39 UTC
+--- 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
-@@ -874,6 +874,9 @@ void DeviceDataManagerX11::SetDisabledKeyboardAllowedK
+@@ -874,6 +874,7 @@ void DeviceDataManagerX11::SetDisabledKeyboardAllowedK
}
void DeviceDataManagerX11::DisableDevice(x11::Input::DeviceId deviceid) {
-+#if defined(OS_BSD)
+ NOTIMPLEMENTED();
-+#else
blocked_devices_.set(static_cast<uint32_t>(deviceid), true);
// TODO(rsadam@): Support blocking touchscreen devices.
std::vector<InputDevice> keyboards = GetKeyboardDevices();
-@@ -883,6 +886,7 @@ void DeviceDataManagerX11::DisableDevice(x11::Input::D
- keyboards.erase(it);
- DeviceDataManager::OnKeyboardDevicesUpdated(keyboards);
- }
-+#endif
- }
-
- void DeviceDataManagerX11::EnableDevice(x11::Input::DeviceId deviceid) {
diff --git a/www/chromium/files/patch-ui_events_event__switches.h b/www/chromium/files/patch-ui_events_event__switches.h
index 14ff05bf7a81..31bd28d23c7c 100644
--- a/www/chromium/files/patch-ui_events_event__switches.h
+++ b/www/chromium/files/patch-ui_events_event__switches.h
@@ -1,6 +1,6 @@
---- ui/events/event_switches.h.orig 2021-04-14 18:41:39 UTC
+--- ui/events/event_switches.h.orig 2022-02-07 13:39:41 UTC
+++ ui/events/event_switches.h
-@@ -13,7 +13,7 @@ namespace switches {
+@@ -12,7 +12,7 @@ namespace switches {
EVENTS_BASE_EXPORT extern const char kCompensateForUnstablePinchZoom[];
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 18b29f18bdf6..c3a890fc9559 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,4 +1,4 @@
---- ui/events/keycodes/dom/keycode_converter.cc.orig 2021-07-19 18:45:44 UTC
+--- ui/events/keycodes/dom/keycode_converter.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/events/keycodes/dom/keycode_converter.cc
@@ -24,7 +24,7 @@ namespace {
#if defined(OS_WIN)
@@ -9,28 +9,3 @@
#define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \
{ usb, xkb, code }
#elif defined(OS_APPLE)
-@@ -148,7 +148,7 @@ int KeycodeConverter::DomCodeToNativeKeycode(DomCode c
- return UsbKeycodeToNativeKeycode(static_cast<uint32_t>(code));
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // static
- DomCode KeycodeConverter::XkbKeycodeToDomCode(uint32_t xkb_keycode) {
- // Currently XKB keycode is the native keycode.
-@@ -163,6 +163,7 @@ uint32_t KeycodeConverter::DomCodeToXkbKeycode(DomCode
- return static_cast<uint32_t>(DomCodeToNativeKeycode(code));
- }
-
-+#if !defined(OS_BSD)
- // static
- DomCode KeycodeConverter::EvdevCodeToDomCode(int evdev_code) {
- // Currently XKB keycode is the native keycode.
-@@ -176,6 +177,7 @@ int KeycodeConverter::DomCodeToEvdevCode(DomCode code)
- // TODO(crbug.com/1135034): Replace with evdev.
- return XkbKeycodeToEvdevCode(DomCodeToXkbKeycode(code));
- }
-+#endif
- #endif
-
- #if defined(OS_CHROMEOS)
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
deleted file mode 100644
index 60cebabf41d6..000000000000
--- a/www/chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h
+++ /dev/null
@@ -1,24 +0,0 @@
---- ui/events/keycodes/dom/keycode_converter.h.orig 2021-07-19 18:45:44 UTC
-+++ ui/events/keycodes/dom/keycode_converter.h
-@@ -63,18 +63,20 @@ class KeycodeConverter {
- // Convert a DomCode into a native keycode.
- static int DomCodeToNativeKeycode(DomCode code);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Convert a XKB keycode into a DomCode.
- static DomCode XkbKeycodeToDomCode(uint32_t xkb_keycode);
-
- // Convert a DomCode into a XKB keycode.
- static uint32_t DomCodeToXkbKeycode(DomCode code);
-
-+#if !defined(OS_BSD)
- // Convert an evdev code into DomCode.
- static DomCode EvdevCodeToDomCode(int evdev_code);
-
- // Convert a DomCode into an evdev code.
- static int DomCodeToEvdevCode(DomCode code);
-+#endif
- #endif
-
- #if defined(OS_CHROMEOS)
diff --git a/www/chromium/files/patch-ui_gfx_BUILD.gn b/www/chromium/files/patch-ui_gfx_BUILD.gn
index 430f8eae6dcf..4bc516901db4 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 2021-12-14 11:45:39 UTC
+--- ui/gfx/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/BUILD.gn
-@@ -595,7 +595,7 @@ source_set("memory_buffer_sources") {
+@@ -583,7 +583,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 19c581bfb41c..d98494bca865 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 2021-04-14 18:41:39 UTC
+--- ui/gfx/canvas_skia.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/canvas_skia.cc
-@@ -209,7 +209,7 @@ void Canvas::DrawStringRectWithFlags(const base::strin
+@@ -209,7 +209,7 @@ void Canvas::DrawStringRectWithFlags(const std::u16str
Range range = StripAcceleratorChars(flags, &adjusted_text);
bool elide_text = ((flags & NO_ELLIPSIS) == 0);
diff --git a/www/chromium/files/patch-ui_gfx_codec_jpeg__codec.cc b/www/chromium/files/patch-ui_gfx_codec_jpeg__codec.cc
deleted file mode 100644
index d28b297f801b..000000000000
--- a/www/chromium/files/patch-ui_gfx_codec_jpeg__codec.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/codec/jpeg_codec.cc.orig 2021-04-14 18:41:39 UTC
-+++ ui/gfx/codec/jpeg_codec.cc
-@@ -208,6 +208,7 @@ bool JPEGCodec::Decode(const unsigned char* input, siz
- case JCS_GRAYSCALE:
- case JCS_RGB:
- case JCS_YCbCr:
-+#ifdef JCS_EXTENSIONS
- // Choose an output colorspace and return if it is an unsupported one.
- // Same as JPEGCodec::Encode(), libjpeg-turbo supports all input formats
- // used by Chromium (i.e. RGBA and BGRA) and we just map the input
-@@ -224,6 +225,9 @@ bool JPEGCodec::Decode(const unsigned char* input, siz
- NOTREACHED() << "Invalid pixel format";
- return false;
- }
-+#else
-+ cinfo.out_color_space = JCS_RGB;
-+#endif
- break;
- case JCS_CMYK:
- case JCS_YCCK:
diff --git a/www/chromium/files/patch-ui_gfx_codec_png__codec.cc b/www/chromium/files/patch-ui_gfx_codec_png__codec.cc
new file mode 100644
index 000000000000..b34adc45f857
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_codec_png__codec.cc
@@ -0,0 +1,11 @@
+--- 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 f6085946be70..f436545d841e 100644
--- a/www/chromium/files/patch-ui_gfx_font__fallback__linux.cc
+++ b/www/chromium/files/patch-ui_gfx_font__fallback__linux.cc
@@ -1,12 +1,10 @@
---- ui/gfx/font_fallback_linux.cc.orig 2021-04-14 18:41:39 UTC
+--- ui/gfx/font_fallback_linux.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/font_fallback_linux.cc
-@@ -24,6 +24,10 @@
+@@ -24,6 +24,8 @@
#include "ui/gfx/linux/fontconfig_util.h"
#include "ui/gfx/platform_font.h"
-+#if defined(OS_BSD)
+#include <unistd.h>
-+#endif
+
namespace gfx {
diff --git a/www/chromium/files/patch-ui_gfx_font__list.cc b/www/chromium/files/patch-ui_gfx_font__list.cc
index ca507486d0c7..6ff242535203 100644
--- a/www/chromium/files/patch-ui_gfx_font__list.cc
+++ b/www/chromium/files/patch-ui_gfx_font__list.cc
@@ -1,6 +1,6 @@
---- ui/gfx/font_list.cc.orig 2021-12-14 11:45:39 UTC
+--- ui/gfx/font_list.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/font_list.cc
-@@ -26,7 +26,7 @@ base::LazyInstance<scoped_refptr<gfx::FontListImpl>>::
+@@ -27,7 +27,7 @@ base::LazyInstance<scoped_refptr<gfx::FontListImpl>>::
bool g_default_impl_initialized = false;
bool IsFontFamilyAvailable(const std::string& family, SkFontMgr* fontManager) {
diff --git a/www/chromium/files/patch-ui_gfx_font__names__testing.cc b/www/chromium/files/patch-ui_gfx_font__names__testing.cc
deleted file mode 100644
index ce6b84fc03e3..000000000000
--- a/www/chromium/files/patch-ui_gfx_font__names__testing.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- ui/gfx/font_names_testing.cc.orig 2021-04-14 18:41:39 UTC
-+++ ui/gfx/font_names_testing.cc
-@@ -22,7 +22,7 @@ Note that we have to support the full range from Jelly
- dessert.
- */
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
- const char kTestFontName[] = "Arimo";
- #elif defined(OS_ANDROID)
- const char kTestFontName[] = "sans-serif";
-@@ -30,7 +30,7 @@ const char kTestFontName[] = "sans-serif";
- const char kTestFontName[] = "Arial";
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
- const char kSymbolFontName[] = "DejaVu Sans";
- #elif defined(OS_ANDROID)
- const char kSymbolFontName[] = "monospace";
-@@ -40,7 +40,7 @@ const char kSymbolFontName[] = "Segoe UI Symbol";
- const char kSymbolFontName[] = "Symbol";
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
- const char kCJKFontName[] = "Noto Sans CJK JP";
- #elif defined(OS_ANDROID)
- const char kCJKFontName[] = "serif";
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 4d1a720215da..9e3468aa90fb 100644
--- a/www/chromium/files/patch-ui_gfx_font__render__params.h
+++ b/www/chromium/files/patch-ui_gfx_font__render__params.h
@@ -1,4 +1,4 @@
---- ui/gfx/font_render_params.h.orig 2021-04-14 18:41:39 UTC
+--- ui/gfx/font_render_params.h.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/font_render_params.h
@@ -109,7 +109,7 @@ GFX_EXPORT FontRenderParams GetFontRenderParams(
const FontRenderParamsQuery& query,
@@ -9,12 +9,12 @@
// Clears GetFontRenderParams()'s cache. Intended to be called by tests that are
// changing Fontconfig's configuration.
GFX_EXPORT void ClearFontRenderParamsCacheForTest();
-@@ -118,7 +118,7 @@ GFX_EXPORT void ClearFontRenderParamsCacheForTest();
- // Gets the device scale factor to query the FontRenderParams.
+@@ -119,7 +119,7 @@ GFX_EXPORT void ClearFontRenderParamsCacheForTest();
GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor();
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID) || defined(OS_FUCHSIA)
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_ANDROID) || defined(OS_FUCHSIA)
++ defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
// Sets the device scale factor for FontRenderParams to decide
// if it should enable subpixel positioning.
+ GFX_EXPORT void SetFontRenderParamsDeviceScaleFactor(
diff --git a/www/chromium/files/patch-ui_gfx_font__util.cc b/www/chromium/files/patch-ui_gfx_font__util.cc
index 22440a5d981e..67aa410b0069 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 2021-04-14 18:41:39 UTC
+--- ui/gfx/font_util.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/font_util.cc
@@ -6,7 +6,7 @@
@@ -9,7 +9,7 @@
#include <fontconfig/fontconfig.h>
#include "ui/gfx/linux/fontconfig_util.h"
#endif
-@@ -24,11 +24,11 @@ void InitializeFonts() {
+@@ -24,7 +24,7 @@ void InitializeFonts() {
// background (resources have not yet been granted to cast) since it prevents
// the long delay the user would have seen on first rendering.
@@ -18,8 +18,3 @@
// Ensures the config is created on this thread.
FcConfig* config = GetGlobalFontConfig();
DCHECK(config);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- gfx::win::InitializeDirectWrite();
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
index 447d4fb57fe5..3d99954b8fbc 100644
--- 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
@@ -1,10 +1,10 @@
---- ui/gfx/linux/client_native_pixmap_dmabuf.cc.orig 2021-07-19 18:45:44 UTC
+--- 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(__FreeBSD__)
++#if !defined(__OpenBSD__) && !defined(__FreeBSD__)
#include <linux/version.h>
+#endif
#include <stddef.h>
@@ -19,7 +19,7 @@
-#else
-#include <linux/types.h>
-
-+#if defined(__FreeBSD__)
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
struct dma_buf_sync {
__u64 flags;
};
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
index 14c7247cba39..0210e48b03df 100644
--- 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
@@ -1,11 +1,11 @@
---- ui/gfx/mojom/buffer_types_mojom_traits.cc.orig 2021-12-31 00:58:32 UTC
+--- ui/gfx/mojom/buffer_types_mojom_traits.cc.orig 2022-02-07 13:39:41 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 defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_BSD)
return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle(
std::move(handle.native_pixmap_handle));
#else
@@ -14,7 +14,7 @@
out->region = std::move(platform_handle->get_shared_memory_handle());
return true;
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_BSD)
case gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag::
NATIVE_PIXMAP_HANDLE:
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 db24ac2c01aa..81f2ca90b50c 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,11 @@
---- ui/gfx/mojom/native_handle_types_mojom_traits.cc.orig 2021-12-31 00:58:32 UTC
+--- ui/gfx/mojom/native_handle_types_mojom_traits.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/mojom/native_handle_types_mojom_traits.cc
-@@ -8,15 +8,15 @@
+@@ -8,11 +8,11 @@
namespace mojo {
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_BSD)
mojo::PlatformHandle StructTraits<
gfx::mojom::NativePixmapPlaneDataView,
gfx::NativePixmapPlane>::buffer_handle(gfx::NativePixmapPlane& plane) {
@@ -14,11 +14,6 @@
return mojo::PlatformHandle(std::move(plane.fd));
#elif defined(OS_FUCHSIA)
return mojo::PlatformHandle(std::move(plane.vmo));
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- bool StructTraits<
@@ -28,7 +28,7 @@ bool StructTraits<
out->size = data.size();
@@ -28,15 +23,6 @@
if (!handle.is_fd())
return false;
out->fd = handle.TakeFD();
-@@ -36,7 +36,7 @@ bool StructTraits<
- if (!handle.is_handle())
- return false;
- out->vmo = zx::vmo(handle.TakeHandle());
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- return true;
- }
@@ -45,7 +45,7 @@ bool StructTraits<
gfx::mojom::NativePixmapHandleDataView,
gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data,
@@ -46,12 +32,3 @@
out->modifier = data.modifier();
#endif
-@@ -58,7 +58,7 @@ bool StructTraits<
-
- return data.ReadPlanes(&out->planes);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
-
- #if defined(OS_WIN)
- bool StructTraits<gfx::mojom::DXGIHandleTokenDataView, gfx::DXGIHandleToken>::
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 34345f15313e..bec2f7bc9f58 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,4 +1,4 @@
---- ui/gfx/mojom/native_handle_types_mojom_traits.h.orig 2021-12-31 00:58:32 UTC
+--- ui/gfx/mojom/native_handle_types_mojom_traits.h.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/mojom/native_handle_types_mojom_traits.h
@@ -15,7 +15,7 @@
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -23,16 +23,7 @@
}
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_CHROMEOS) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
static uint64_t modifier(const gfx::NativePixmapHandle& pixmap_handle) {
return pixmap_handle.modifier;
}
-@@ -77,7 +77,7 @@ struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED
- static bool Read(gfx::mojom::NativePixmapHandleDataView data,
- gfx::NativePixmapHandle* out);
- };
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
-
- #if defined(OS_WIN)
- template <>
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 adfc341ea8d7..57a7276cfea2 100644
--- a/www/chromium/files/patch-ui_gfx_native__pixmap__handle.cc
+++ b/www/chromium/files/patch-ui_gfx_native__pixmap__handle.cc
@@ -1,6 +1,6 @@
---- ui/gfx/native_pixmap_handle.cc.orig 2021-04-14 18:41:39 UTC
+--- ui/gfx/native_pixmap_handle.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/native_pixmap_handle.cc
-@@ -9,11 +9,15 @@
+@@ -9,7 +9,7 @@
#include "base/logging.h"
#include "build/build_config.h"
@@ -9,16 +9,14 @@
#include <drm_fourcc.h>
#include "base/posix/eintr_wrapper.h"
#endif
+@@ -19,9 +19,13 @@
+ #include "base/fuchsia/fuchsia_logging.h"
+ #endif
+#if defined(OS_BSD)
+#include <unistd.h>
+#endif
+
- #if defined(OS_FUCHSIA)
- #include <lib/zx/vmo.h>
- #include "base/fuchsia/fuchsia_logging.h"
-@@ -21,7 +25,7 @@
-
namespace gfx {
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
diff --git a/www/chromium/files/patch-ui_gfx_render__text.cc b/www/chromium/files/patch-ui_gfx_render__text.cc
deleted file mode 100644
index 3595603996b3..000000000000
--- a/www/chromium/files/patch-ui_gfx_render__text.cc
+++ /dev/null
@@ -1,41 +0,0 @@
---- ui/gfx/render_text.cc.orig 2021-12-14 11:45:39 UTC
-+++ ui/gfx/render_text.cc
-@@ -1232,30 +1232,31 @@ void RenderText::SetDisplayOffset(Vector2d offset) {
- const int extra_content = GetContentWidth() - display_rect_.width();
- const int cursor_width = cursor_enabled_ ? 1 : 0;
-
-- int min_offset = 0;
-- int max_offset = 0;
-+ // avoid collisions with vm_map.h on FreeBSD --cmt
-+ int _min_offset = 0;
-+ int _max_offset = 0;
- if (extra_content > 0) {
- switch (GetCurrentHorizontalAlignment()) {
- case ALIGN_LEFT:
-- min_offset = -extra_content;
-+ _min_offset = -extra_content;
- break;
- case ALIGN_RIGHT:
-- max_offset = extra_content;
-+ _max_offset = extra_content;
- break;
- case ALIGN_CENTER:
- // The extra space reserved for cursor at the end of the text is ignored
- // when centering text. So, to calculate the valid range for offset, we
- // exclude that extra space, calculate the range, and add it back to the
- // range (if cursor is enabled).
-- min_offset = -(extra_content - cursor_width + 1) / 2 - cursor_width;
-- max_offset = (extra_content - cursor_width) / 2;
-+ _min_offset = -(extra_content - cursor_width + 1) / 2 - cursor_width;
-+ _max_offset = (extra_content - cursor_width) / 2;
- break;
- default:
- break;
- }
- }
-
-- const int horizontal_offset = base::clamp(offset.x(), min_offset, max_offset);
-+ const int horizontal_offset = base::clamp(offset.x(), _min_offset, _max_offset);
-
- // y-offset is set only when the vertical alignment is ALIGN_TOP.
- // TODO(jongkown.lee): Support other vertical alignments.
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 c408c21731a4..f4a9baaee41a 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,11 +1,11 @@
---- ui/gfx/render_text_api_fuzzer.cc.orig 2021-12-16 15:22:18 UTC
+--- ui/gfx/render_text_api_fuzzer.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gfx/render_text_api_fuzzer.cc
@@ -20,7 +20,7 @@
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
-#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
#include "base/test/test_discardable_memory_allocator.h"
#endif
@@ -14,7 +14,7 @@
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
-#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
// Some platforms require discardable memory to use bitmap fonts.
base::DiscardableMemoryAllocator::SetInstance(
&discardable_memory_allocator);
@@ -23,7 +23,7 @@
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
-#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
-+#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
++#if defined(OS_ANDROID) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
base::TestDiscardableMemoryAllocator discardable_memory_allocator;
#endif
diff --git a/www/chromium/files/patch-ui_gfx_x_gen__xproto.py b/www/chromium/files/patch-ui_gfx_x_gen__xproto.py
deleted file mode 100644
index d905eca0a0ae..000000000000
--- a/www/chromium/files/patch-ui_gfx_x_gen__xproto.py
+++ /dev/null
@@ -1,19 +0,0 @@
---- ui/gfx/x/gen_xproto.py.orig 2021-10-08 06:26:48 UTC
-+++ ui/gfx/x/gen_xproto.py
-@@ -1219,6 +1219,8 @@ class GenXproto(FileWriter):
- self.write('#include <cstring>')
- self.write('#include <vector>')
- self.write()
-+ self.write('#include <unistd.h>')
-+ self.write()
- self.write('#include "base/component_export.h"')
- self.write('#include "base/memory/ref_counted_memory.h"')
- self.write('#include "base/memory/scoped_refptr.h"')
-@@ -1313,6 +1315,7 @@ class GenXproto(FileWriter):
- self.write()
- self.write('#include <xcb/xcb.h>')
- self.write('#include <xcb/xcbext.h>')
-+ self.write('#include <unistd.h>')
- self.write()
- self.write('#include "base/logging.h"')
- self.write('#include "base/posix/eintr_wrapper.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
new file mode 100644
index 000000000000..1f642681f5e7
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_x_xlib__support.cc
@@ -0,0 +1,21 @@
+--- ui/gfx/x/xlib_support.cc.orig 2022-02-07 13:39:41 UTC
++++ ui/gfx/x/xlib_support.cc
+@@ -38,10 +38,18 @@ void InitXlib() {
+ if (xlib_loader->loaded())
+ return;
+
++#if defined(OS_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)
++ CHECK(xlib_xcb_loader->Load("libX11-xcb.so"));
++#else
+ CHECK(xlib_xcb_loader->Load("libX11-xcb.so.1"));
++#endif
+
+ CHECK(xlib_loader->XInitThreads());
+
diff --git a/www/chromium/files/patch-ui_gl_BUILD.gn b/www/chromium/files/patch-ui_gl_BUILD.gn
index 02405e07ab1f..d322121d3adb 100644
--- a/www/chromium/files/patch-ui_gl_BUILD.gn
+++ b/www/chromium/files/patch-ui_gl_BUILD.gn
@@ -1,11 +1,36 @@
---- ui/gl/BUILD.gn.orig 2021-09-14 01:52:23 UTC
+--- ui/gl/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ ui/gl/BUILD.gn
-@@ -229,7 +229,7 @@ component("gl") {
+@@ -162,8 +162,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" ]
+@@ -180,7 +178,6 @@ component("gl") {
+ ]
+ public_deps = [
+ "//base",
+- "//third_party/mesa_headers",
+ "//ui/events/platform",
+ "//ui/gfx",
+ "//ui/gfx/geometry",
+@@ -409,7 +406,6 @@ component("gl") {
+ data_deps += [
+ "//third_party/angle:libEGL",
+ "//third_party/angle:libGLESv2",
+- "//third_party/mesa_headers",
]
- }
+ if (enable_swiftshader) {
+ data_deps += [ "//third_party/swiftshader" ]
+@@ -636,8 +632,6 @@ test("gl_unittests") {
+ "//ui/platform_window",
+ "//ui/platform_window:platform_impls",
+ ]
+-
+- data_deps = [ "//third_party/mesa_headers" ]
-- if (is_posix && !is_fuchsia && !is_mac) {
-+ if (is_posix && !is_fuchsia && !is_mac && !is_bsd) {
- # Windows has USE_EGL but doesn't support base::FileDescriptor.
- # libsync isn't supported or needed on MacOSX.
- # Fuchsia is excluded due to a libsync dependency and because it's
+ # TODO(https://crbug.com/789065): this must be moved to Ozone.
+ if (ozone_platform_x11) {
diff --git a/www/chromium/files/patch-ui_gl_generate__bindings.py b/www/chromium/files/patch-ui_gl_generate__bindings.py
index 833cb2221078..41fbd0985901 100644
--- a/www/chromium/files/patch-ui_gl_generate__bindings.py
+++ b/www/chromium/files/patch-ui_gl_generate__bindings.py
@@ -1,6 +1,6 @@
---- ui/gl/generate_bindings.py.orig 2021-12-14 11:45:40 UTC
+--- ui/gl/generate_bindings.py.orig 2022-02-07 13:39:41 UTC
+++ ui/gl/generate_bindings.py
-@@ -2852,6 +2852,9 @@ GLX_FUNCTIONS = [
+@@ -2868,6 +2868,9 @@ GLX_FUNCTIONS = [
'arguments':
'Display* dpy, GLXDrawable drawable, int32_t* numerator, '
'int32_t* denominator' },
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
index 197725132321..6d3ae1073346 100644
--- a/www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.cc
+++ b/www/chromium/files/patch-ui_gl_gl__bindings__autogen__glx.cc
@@ -1,4 +1,4 @@
---- ui/gl/gl_bindings_autogen_glx.cc.orig 2021-04-14 18:41:39 UTC
+--- 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() {
@@ -9,8 +9,8 @@
ext.b_GLX_EXT_swap_control =
gfx::HasExtension(extensions, "GLX_EXT_swap_control");
ext.b_GLX_EXT_texture_from_pixmap =
-@@ -145,6 +147,11 @@ void DriverGLX::InitializeExtensionBindings() {
- GetGLProcAddress("glXCreateContextAttribsARB"));
+@@ -156,6 +158,11 @@ void DriverGLX::InitializeExtensionBindings() {
+ GetGLProcAddress("glXGetMscRateOML"));
}
+ if (ext.b_GLX_ARB_get_proc_address) {
@@ -18,9 +18,9 @@
+ GetGLProcAddress("glXGetProcAddressARB"));
+ }
+
- if (ext.b_GLX_SGIX_fbconfig) {
- fn.glXGetFBConfigFromVisualSGIXFn =
- reinterpret_cast<glXGetFBConfigFromVisualSGIXProc>(
+ 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);
}
@@ -37,7 +37,7 @@
}
+__GLXextFuncPtr TraceGLXApi::glXGetProcAddressARBFn(const GLubyte* procName) {
-+ TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetProcAddressARB")
++ TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLXAPI::glXGetProcAddressARB")
+ return glx_api_->glXGetProcAddressARBFn(procName);
+}
+
diff --git a/www/chromium/files/patch-ui_gl_gl__features.cc b/www/chromium/files/patch-ui_gl_gl__features.cc
index f74219296778..69e0210476c5 100644
--- a/www/chromium/files/patch-ui_gl_gl__features.cc
+++ b/www/chromium/files/patch-ui_gl_gl__features.cc
@@ -1,12 +1,10 @@
---- ui/gl/gl_features.cc.orig 2021-09-24 04:26:39 UTC
+--- ui/gl/gl_features.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gl/gl_features.cc
-@@ -71,8 +71,8 @@ bool IsDeviceBlocked(const char* field, const std::str
- // Launched on Windows, still experimental on other platforms.
+@@ -72,7 +72,7 @@ bool IsDeviceBlocked(const char* field, const std::str
const base::Feature kDefaultPassthroughCommandDecoder {
"DefaultPassthroughCommandDecoder",
--#if defined(OS_WIN) || defined(OS_FUCHSIA) || \
+ #if defined(OS_WIN) || defined(OS_FUCHSIA) || \
- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
-+#if defined(OS_WIN) || defined(OS_FUCHSIA) || \
+ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \
!defined(CHROMECAST_BUILD))
base::FEATURE_ENABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-ui_gl_gl__fence.cc b/www/chromium/files/patch-ui_gl_gl__fence.cc
deleted file mode 100644
index faa3c9a1a085..000000000000
--- a/www/chromium/files/patch-ui_gl_gl__fence.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/gl_fence.cc.orig 2021-04-14 18:41:39 UTC
-+++ ui/gl/gl_fence.cc
-@@ -18,7 +18,7 @@
- #include "ui/gl/gl_fence_apple.h"
- #endif
-
--#if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_APPLE)
-+#if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD)
- #define USE_GL_FENCE_ANDROID_NATIVE_FENCE_SYNC
- #include "ui/gl/gl_fence_android_native_fence_sync.h"
- #include "ui/gl/gl_surface_egl.h"
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
index 73ae287b43af..1c31b11798ec 100644
--- 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
@@ -1,11 +1,11 @@
---- ui/gl/gl_image_glx_native_pixmap.cc.orig 2021-10-08 13:10:57 UTC
+--- ui/gl/gl_image_glx_native_pixmap.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gl/gl_image_glx_native_pixmap.cc
-@@ -4,6 +4,8 @@
-
- #include "ui/gl/gl_image_glx_native_pixmap.h"
+@@ -14,6 +14,8 @@
+ #include "ui/gl/buffer_format_utils.h"
+ #include "ui/gl/gl_bindings.h"
+#include <unistd.h>
+
- #include "base/posix/eintr_wrapper.h"
- #include "ui/gfx/buffer_types.h"
- #include "ui/gfx/linux/native_pixmap_dmabuf.h"
+ namespace gl {
+
+ namespace {
diff --git a/www/chromium/files/patch-ui_gl_init_gl__factory.cc b/www/chromium/files/patch-ui_gl_init_gl__factory.cc
index 9edf6477fa7d..33ed770024da 100644
--- a/www/chromium/files/patch-ui_gl_init_gl__factory.cc
+++ b/www/chromium/files/patch-ui_gl_init_gl__factory.cc
@@ -1,6 +1,6 @@
---- ui/gl/init/gl_factory.cc.orig 2021-12-14 11:45:40 UTC
+--- ui/gl/init/gl_factory.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gl/init/gl_factory.cc
-@@ -167,7 +167,7 @@ bool InitializeGLOneOffPlatformHelper(bool init_extens
+@@ -171,7 +171,7 @@ bool InitializeGLOneOffPlatformHelper(bool init_extens
} // namespace
GLImplementationParts GetSoftwareGLImplementationForPlatform() {
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 dd1ec4c8c854..76a35b371d4b 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 2021-12-14 11:45:40 UTC
+--- ui/gl/sync_control_vsync_provider.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gl/sync_control_vsync_provider.cc
@@ -11,7 +11,7 @@
#include "base/trace_event/trace_event.h"
@@ -27,12 +27,7 @@
// 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
-@@ -155,11 +155,11 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva
- return true;
- #else
- return false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+@@ -159,7 +159,7 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva
}
bool SyncControlVSyncProvider::SupportGetVSyncParametersIfAvailable() const {
diff --git a/www/chromium/files/patch-ui_gl_sync__control__vsync__provider.h b/www/chromium/files/patch-ui_gl_sync__control__vsync__provider.h
index 9657f803839b..5e359889382c 100644
--- a/www/chromium/files/patch-ui_gl_sync__control__vsync__provider.h
+++ b/www/chromium/files/patch-ui_gl_sync__control__vsync__provider.h
@@ -1,6 +1,6 @@
---- ui/gl/sync_control_vsync_provider.h.orig 2021-12-14 11:45:40 UTC
+--- ui/gl/sync_control_vsync_provider.h.orig 2022-02-07 13:39:41 UTC
+++ ui/gl/sync_control_vsync_provider.h
-@@ -30,11 +30,11 @@ class SyncControlVSyncProvider : public gfx::VSyncProv
+@@ -30,7 +30,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv
bool SupportGetVSyncParametersIfAvailable() const override;
static constexpr bool IsSupported() {
@@ -9,11 +9,6 @@
return true;
#else
return false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- protected:
@@ -45,7 +45,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv
virtual bool GetMscRate(int32_t* numerator, int32_t* denominator) = 0;
@@ -23,12 +18,3 @@
base::TimeTicks last_timebase_;
uint64_t last_media_stream_counter_ = 0;
base::TimeDelta last_good_interval_;
-@@ -56,7 +56,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv
- // from configuration change (monitor reconfiguration, moving windows
- // between monitors, suspend and resume, etc.).
- base::queue<base::TimeDelta> last_computed_intervals_;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- };
-
- } // namespace gl
diff --git a/www/chromium/files/patch-ui_gl_test_gl__surface__test__support.cc b/www/chromium/files/patch-ui_gl_test_gl__surface__test__support.cc
deleted file mode 100644
index 215cf64c9b09..000000000000
--- a/www/chromium/files/patch-ui_gl_test_gl__surface__test__support.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gl/test/gl_surface_test_support.cc.orig 2021-09-24 18:58:09 UTC
-+++ ui/gl/test/gl_surface_test_support.cc
-@@ -14,7 +14,7 @@
- #include "ui/gl/gl_switches.h"
- #include "ui/gl/init/gl_factory.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/platform_window/common/platform_window_defaults.h" // nogncheck
- #endif
-
-@@ -43,7 +43,7 @@ void InitializeOneOffHelper(bool init_extensions) {
- }
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- ui::test::EnableTestConfigForPlatformWindows();
- #endif
-
diff --git a/www/chromium/files/patch-ui_gtk_gtk__compat.cc b/www/chromium/files/patch-ui_gtk_gtk__compat.cc
new file mode 100644
index 000000000000..7d11b98dac2c
--- /dev/null
+++ b/www/chromium/files/patch-ui_gtk_gtk__compat.cc
@@ -0,0 +1,50 @@
+--- ui/gtk/gtk_compat.cc.orig 2022-02-07 13:39:41 UTC
++++ ui/gtk/gtk_compat.cc
+@@ -62,27 +62,47 @@ auto DlCast(void* symbol) {
+ }
+
+ void* GetLibGio() {
++#if defined(OS_BSD)
++ static void* libgio = DlOpen("libgio-2.0.so");
++#else
+ static void* libgio = DlOpen("libgio-2.0.so.0");
++#endif
+ return libgio;
+ }
+
+ void* GetLibGdkPixbuf() {
++#if defined(OS_BSD)
++ static void* libgdk_pixbuf = DlOpen("libgdk_pixbuf-2.0.so");
++#else
+ static void* libgdk_pixbuf = DlOpen("libgdk_pixbuf-2.0.so.0");
++#endif
+ return libgdk_pixbuf;
+ }
+
+ void* GetLibGdk3() {
++#if defined(OS_BSD)
++ static void* libgdk3 = DlOpen("libgdk-3.so");
++#else
+ static void* libgdk3 = DlOpen("libgdk-3.so.0");
++#endif
+ return libgdk3;
+ }
+
+ void* GetLibGtk3(bool check = true) {
++#if defined(OS_BSD)
++ static void* libgtk3 = DlOpen("libgtk-3.so", check);
++#else
+ static void* libgtk3 = DlOpen("libgtk-3.so.0", check);
++#endif
+ return libgtk3;
+ }
+
+ void* GetLibGtk4(bool check = true) {
++#if defined(OS_BSD)
++ static void* libgtk4 = DlOpen("libgtk-4.so", check);
++#else
+ static void* libgtk4 = DlOpen("libgtk-4.so.1", check);
++#endif
+ return libgtk4;
+ }
+
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 103fe0614121..712cde2c0e3e 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 2021-12-14 11:45:40 UTC
+--- ui/gtk/printing/print_dialog_gtk.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/gtk/printing/print_dialog_gtk.cc
-@@ -394,7 +394,7 @@ void PrintDialogGtk::ShowDialog(
- // Since we only generate PDF, only show printers that support PDF.
- // TODO(thestig) Add more capabilities to support?
+@@ -395,7 +395,7 @@ void PrintDialogGtk::ShowDialog(
GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>(
-- GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET |
-+ GTK_PRINT_CAPABILITY_GENERATE_PS | GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET |
+ 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_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_),
diff --git a/www/chromium/files/patch-ui_ozone_common_egl__util.cc b/www/chromium/files/patch-ui_ozone_common_egl__util.cc
new file mode 100644
index 000000000000..d52a8edb363e
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_common_egl__util.cc
@@ -0,0 +1,14 @@
+--- ui/ozone/common/egl_util.cc.orig 2022-02-07 13:39:41 UTC
++++ ui/ozone/common/egl_util.cc
+@@ -36,9 +36,9 @@ const base::FilePath::CharType kDefaultGlesSoname[] =
+ FILE_PATH_LITERAL("libGLESv2.so");
+ #else // !defined(OS_FUCHSIA)
+ const base::FilePath::CharType kDefaultEglSoname[] =
+- FILE_PATH_LITERAL("libEGL.so.1");
++ FILE_PATH_LITERAL("libEGL.so");
+ const base::FilePath::CharType kDefaultGlesSoname[] =
+- FILE_PATH_LITERAL("libGLESv2.so.2");
++ FILE_PATH_LITERAL("libGLESv2.so");
+ #endif
+ const base::FilePath::CharType kAngleEglSoname[] =
+ FILE_PATH_LITERAL("libEGL.so");
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
index 4c40bb3c8ed5..23c48fd6eab2 100644
--- 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
@@ -1,6 +1,6 @@
---- ui/ozone/platform/x11/ozone_platform_x11.cc.orig 2021-12-16 15:22:38 UTC
+--- ui/ozone/platform/x11/ozone_platform_x11.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/ozone/platform/x11/ozone_platform_x11.cc
-@@ -211,7 +211,7 @@ class OzonePlatformX11 : public OzonePlatform,
+@@ -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;
diff --git a/www/chromium/files/patch-ui_ozone_public_ozone__platform.h b/www/chromium/files/patch-ui_ozone_public_ozone__platform.h
index 12eff81634e6..a4129cc27031 100644
--- a/www/chromium/files/patch-ui_ozone_public_ozone__platform.h
+++ b/www/chromium/files/patch-ui_ozone_public_ozone__platform.h
@@ -1,6 +1,6 @@
---- ui/ozone/public/ozone_platform.h.orig 2021-12-31 00:58:32 UTC
+--- ui/ozone/public/ozone_platform.h.orig 2022-02-07 13:39:41 UTC
+++ ui/ozone/public/ozone_platform.h
-@@ -156,7 +156,7 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
+@@ -155,7 +155,7 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
// back via gpu extra info.
bool fetch_buffer_formats_for_gmb_on_gpu = false;
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 b44f412b9d49..0176530403dc 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 2021-12-31 00:58:32 UTC
+--- ui/platform_window/platform_window_init_properties.h.orig 2022-02-07 13:39:41 UTC
+++ ui/platform_window/platform_window_init_properties.h
-@@ -52,7 +52,7 @@ class WorkspaceExtensionDelegate;
+@@ -53,7 +53,7 @@ class WorkspaceExtensionDelegate;
class ScenicWindowDelegate;
#endif
@@ -9,7 +9,7 @@
class X11ExtensionDelegate;
#endif
-@@ -111,7 +111,7 @@ struct COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindo
+@@ -112,7 +112,7 @@ struct COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindo
PlatformWindowShadowType shadow_type = PlatformWindowShadowType::kDefault;
diff --git a/www/chromium/files/patch-ui_strings_app__locale__settings.grd b/www/chromium/files/patch-ui_strings_app__locale__settings.grd
new file mode 100644
index 000000000000..017255cc27f8
--- /dev/null
+++ b/www/chromium/files/patch-ui_strings_app__locale__settings.grd
@@ -0,0 +1,11 @@
+--- ui/strings/app_locale_settings.grd.orig 2022-02-07 13:39:41 UTC
++++ ui/strings/app_locale_settings.grd
+@@ -223,7 +223,7 @@
+ 75%
+ </message>
+ </if>
+- <if expr="(is_linux or is_android or is_bsd or is_fuchsia) and not (chromeos or lacros)">
++ <if expr="(is_posix or is_android or is_bsd or is_fuchsia) and not (chromeos or lacros)">
+ <!-- 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_views_controls_textfield_textfield.h b/www/chromium/files/patch-ui_views_controls_textfield_textfield.h
index 7de45de4dfbb..f58938e0880e 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,6 @@
---- ui/views/controls/textfield/textfield.h.orig 2021-12-16 15:24:13 UTC
+--- ui/views/controls/textfield/textfield.h.orig 2022-02-07 13:39:41 UTC
+++ ui/views/controls/textfield/textfield.h
-@@ -442,7 +442,7 @@ class VIEWS_EXPORT Textfield : public View,
+@@ -443,7 +443,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_examples_widget__example.cc b/www/chromium/files/patch-ui_views_examples_widget__example.cc
index ba9ac106285b..8c1d239908b8 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 2021-04-14 18:41:39 UTC
+--- ui/views/examples/widget_example.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/views/examples/widget_example.cc
-@@ -50,7 +50,7 @@ void WidgetExample::CreateExampleView(View* container)
+@@ -49,7 +49,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_test_widget__test__aura.cc b/www/chromium/files/patch-ui_views_test_widget__test__aura.cc
deleted file mode 100644
index 090d50512f6e..000000000000
--- a/www/chromium/files/patch-ui_views_test_widget__test__aura.cc
+++ /dev/null
@@ -1,32 +0,0 @@
---- ui/views/test/widget_test_aura.cc.orig 2021-12-14 11:45:40 UTC
-+++ ui/views/test/widget_test_aura.cc
-@@ -15,7 +15,7 @@
- #include "ui/views/widget/widget.h"
- #include "ui/wm/core/shadow_controller.h"
-
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
- BUILDFLAG(ENABLE_DESKTOP_AURA)
- #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
- #endif
-@@ -70,7 +70,7 @@ BOOL CALLBACK FindAllWindowsCallback(HWND hwnd, LPARAM
-
- std::vector<aura::Window*> GetAllTopLevelWindows() {
- std::vector<aura::Window*> roots;
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
- BUILDFLAG(ENABLE_DESKTOP_AURA)
- roots = DesktopWindowTreeHostLinux::GetAllOpenWindows();
- #elif defined(OS_WIN)
-@@ -126,9 +126,9 @@ gfx::Size WidgetTest::GetNativeWidgetMinimumContentSiz
- return widget->GetNativeWindow()->delegate()->GetMinimumSize();
- // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
- // of lacros-chrome is complete.
--#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
- return widget->GetNativeWindow()->delegate()->GetMinimumSize();
--#endif // OS_LINUX && !OS_CHROMEOS
-+#endif // (OS_LINUX || OS_BSD) && !OS_CHROMEOS
- NOTREACHED();
- return gfx::Size();
- }
diff --git a/www/chromium/files/patch-ui_views_views__delegate.h b/www/chromium/files/patch-ui_views_views__delegate.h
index caca4ce121c9..9cd81d3c7ea7 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 2021-12-14 11:45:40 UTC
+--- ui/views/views_delegate.h.orig 2022-02-07 13:39:41 UTC
+++ ui/views/views_delegate.h
-@@ -140,7 +140,7 @@ class VIEWS_EXPORT ViewsDelegate {
+@@ -139,7 +139,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__window__tree__host__platform.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
index 35d333f559b1..b5e8f9a14e2c 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 2021-12-31 00:58:32 UTC
+--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
-@@ -911,7 +911,7 @@ display::Display DesktopWindowTreeHostPlatform::GetDis
+@@ -910,7 +910,7 @@ display::Display DesktopWindowTreeHostPlatform::GetDis
// DesktopWindowTreeHost:
// Linux subclasses this host and adds some Linux specific bits.
diff --git a/www/chromium/files/patch-ui_views_widget_native__widget__aura.cc b/www/chromium/files/patch-ui_views_widget_native__widget__aura.cc
index fc8199d27090..d4a75cefed5e 100644
--- a/www/chromium/files/patch-ui_views_widget_native__widget__aura.cc
+++ b/www/chromium/files/patch-ui_views_widget_native__widget__aura.cc
@@ -1,4 +1,4 @@
---- ui/views/widget/native_widget_aura.cc.orig 2021-12-14 11:45:40 UTC
+--- ui/views/widget/native_widget_aura.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/views/widget/native_widget_aura.cc
@@ -69,7 +69,7 @@
#endif
@@ -9,7 +9,7 @@
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
#endif
-@@ -1141,7 +1141,7 @@ void NativeWidgetAura::SetInitialFocus(ui::WindowShowS
+@@ -1159,7 +1159,7 @@ void NativeWidgetAura::SetInitialFocus(ui::WindowShowS
namespace {
#if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
@@ -18,7 +18,7 @@
void CloseWindow(aura::Window* window) {
if (window) {
Widget* widget = Widget::GetWidgetForNativeView(window);
-@@ -1172,7 +1172,7 @@ void Widget::CloseAllSecondaryWidgets() {
+@@ -1190,7 +1190,7 @@ void Widget::CloseAllSecondaryWidgets() {
#endif
#if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
diff --git a/www/chromium/files/patch-ui_views_widget_widget.cc b/www/chromium/files/patch-ui_views_widget_widget.cc
index 3efb3a181091..41ee8e7c9cf2 100644
--- a/www/chromium/files/patch-ui_views_widget_widget.cc
+++ b/www/chromium/files/patch-ui_views_widget_widget.cc
@@ -1,6 +1,6 @@
---- ui/views/widget/widget.cc.orig 2021-12-31 00:58:32 UTC
+--- ui/views/widget/widget.cc.orig 2022-02-07 13:39:41 UTC
+++ ui/views/widget/widget.cc
-@@ -51,7 +51,7 @@
+@@ -50,7 +50,7 @@
#include "ui/views/window/custom_frame_view.h"
#include "ui/views/window/dialog_delegate.h"
@@ -9,7 +9,7 @@
#include "ui/views/linux_ui/linux_ui.h"
#endif
-@@ -1788,7 +1788,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const
+@@ -1780,7 +1780,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const
parent_)
return parent_->GetNativeTheme();
diff --git a/www/chromium/files/patch-ui_webui_resources_js_cr.js b/www/chromium/files/patch-ui_webui_resources_js_cr.js
index adddca1edade..294291d69d23 100644
--- a/www/chromium/files/patch-ui_webui_resources_js_cr.js
+++ b/www/chromium/files/patch-ui_webui_resources_js_cr.js
@@ -1,14 +1,14 @@
---- ui/webui/resources/js/cr.js.orig 2021-04-14 18:41:39 UTC
+--- ui/webui/resources/js/cr.js.orig 2022-02-07 13:39:41 UTC
+++ ui/webui/resources/js/cr.js
-@@ -450,6 +450,11 @@ var cr = cr || function(global) {
- get isMac() {
- return /Mac/.test(navigator.platform);
+@@ -441,6 +441,11 @@ var cr = cr || function(global) {
+ return returnValue;
},
-+
+
+ /** Whether this is on *BSD. */
+ get isBSD() {
+ return /BSD/.test(navigator.userAgent);
+ },
-
- /** Whether this is on the Windows platform or not. */
- get isWindows() {
++
+ /** 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 4d218ffa5220..73b4439524b6 100644
--- a/www/chromium/files/patch-v8_BUILD.gn
+++ b/www/chromium/files/patch-v8_BUILD.gn
@@ -1,27 +1,45 @@
---- v8/BUILD.gn.orig 2021-12-31 01:01:02 UTC
+--- v8/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+++ v8/BUILD.gn
-@@ -5090,9 +5090,15 @@ v8_component("v8_libbase") {
+@@ -1181,6 +1181,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" ]
+ }
+
+ # TODO(jochen): Support v8_enable_prof on Windows.
+@@ -5094,7 +5102,7 @@ v8_component("v8_libbase") {
}
}
- if (is_linux || is_chromeos) {
-+ if (is_bsd) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [
"src/base/debug/stack_trace_posix.cc",
-+ "src/base/platform/platform-freebsd.cc",
+ "src/base/platform/platform-linux.cc",
+@@ -5104,6 +5112,18 @@ v8_component("v8_libbase") {
+ "dl",
+ "rt",
+ ]
++ } else if (is_openbsd) {
++ sources += [
++ "src/base/debug/stack_trace_posix.cc",
++ "src/base/platform/platform-openbsd.cc",
+ ]
-+ libs = [ "rt", "execinfo" ]
-+ } else if (is_linux || is_chromeos) {
++ libs = [ "execinfo" ]
++ } else if (is_freebsd) {
+ sources += [
+ "src/base/debug/stack_trace_posix.cc",
- "src/base/platform/platform-linux.cc",
- ]
-
-@@ -5655,6 +5661,7 @@ if (current_toolchain == v8_generator_toolchain) {
- "src/interpreter/bytecodes.cc",
- "src/interpreter/bytecodes.h",
- ]
-+ libs = ["execinfo"]
-
- configs = [ ":internal_config" ]
-
++ "src/base/platform/platform-freebsd.cc",
++ ]
++ libs = [ "execinfo" ]
+ } else if (current_os == "aix") {
+ sources += [
+ "src/base/debug/stack_trace_posix.cc",
diff --git a/www/chromium/files/patch-v8_include_v8config.h b/www/chromium/files/patch-v8_include_v8config.h
index 8ac2f092c33b..687b2fd71f34 100644
--- a/www/chromium/files/patch-v8_include_v8config.h
+++ b/www/chromium/files/patch-v8_include_v8config.h
@@ -1,21 +1,37 @@
---- v8/include/v8config.h.orig 2021-09-24 04:28:21 UTC
+--- v8/include/v8config.h.orig 2022-02-07 13:39:41 UTC
+++ v8/include/v8config.h
-@@ -338,7 +338,18 @@ path. Add it with -I<path> to the command line
+@@ -181,6 +181,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_MACOSX) \
+ && !defined(V8_TARGET_OS_WIN)
+ # error No known target OS defined.
+@@ -192,6 +194,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_MACOSX) \
+ || defined(V8_TARGET_OS_WIN)
+ # error A target OS is defined but V8_HAVE_TARGET_OS is unset.
+@@ -212,6 +216,16 @@ path. Add it with -I<path> to the command line
- # define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
-
-+// Work around Clang bug present in 9.0.1, at least.
-+//
-+// Clang stores alignment as a 32-bit unsigned integer, but V8 only uses
-+// V8_ASSUME_ALIGNED() for a 4GB (2^32) alignment
-+// (kPtrComprIsolateRootAlignment). As such, the alignment overflows and
-+// becomes zero, triggering an internal Clang assertion that alignment must not
-+// be zero.
-+#if 0
- # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
-+#else
-+# define V8_HAS_BUILTIN_ASSUME_ALIGNED 0
+ #ifdef V8_OS_LINUX
+ # define V8_TARGET_OS_LINUX
++#endif
++
++#ifdef V8_OS_OPENBSD
++# define V8_TARGET_OS_OPENBSD
++# define V8_TARGET_OS_BSD
+#endif
- # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
- # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
- # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
++
++#ifdef V8_OS_FREEBSD
++# define V8_TARGET_OS_OPENBSD
++# define V8_TARGET_OS_BSD
+ #endif
+
+ #ifdef V8_OS_MACOSX
diff --git a/www/chromium/files/patch-v8_src_api_api.cc b/www/chromium/files/patch-v8_src_api_api.cc
index 9519aca7b828..696e87d3f221 100644
--- a/www/chromium/files/patch-v8_src_api_api.cc
+++ b/www/chromium/files/patch-v8_src_api_api.cc
@@ -1,11 +1,20 @@
---- v8/src/api/api.cc.orig 2021-12-31 01:01:02 UTC
+--- v8/src/api/api.cc.orig 2022-02-07 13:39:41 UTC
+++ v8/src/api/api.cc
-@@ -6054,7 +6054,7 @@ bool v8::V8::Initialize(const int build_config) {
+@@ -140,7 +140,7 @@
+ #include "src/wasm/wasm-serialization.h"
+ #endif // V8_ENABLE_WEBASSEMBLY
+
+-#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD
++#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD || V8_OS_OPENBSD
+ #include <signal.h>
+ #include "include/v8-wasm-trap-handler-posix.h"
+ #include "src/trap-handler/handler-inside-posix.h"
+@@ -6126,7 +6126,7 @@ bool v8::V8::Initialize(const int build_config) {
return true;
}
-#if V8_OS_LINUX || V8_OS_MACOSX
-+#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD
++#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD || V8_OS_OPENBSD
bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info,
void* context) {
#if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED
diff --git a/www/chromium/files/patch-v8_src_base_atomicops.h b/www/chromium/files/patch-v8_src_base_atomicops.h
new file mode 100644
index 000000000000..488d69659274
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_base_atomicops.h
@@ -0,0 +1,33 @@
+--- v8/src/base/atomicops.h.orig 2022-02-07 13:39:41 UTC
++++ v8/src/base/atomicops.h
+@@ -57,10 +57,10 @@ using Atomic64 = SbAtomic64;
+ using Atomic8 = char;
+ using Atomic16 = int16_t;
+ using Atomic32 = int32_t;
+-#if defined(V8_HOST_ARCH_64_BIT)
++#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD)
+ // We need to be able to go between Atomic64 and AtomicWord implicitly. This
+ // means Atomic64 and AtomicWord should be the same type on 64-bit.
+-#if defined(__ILP32__)
++#if defined(__ILP32__) && !defined(V8_OS_OPENBSD)
+ using Atomic64 = int64_t;
+ #else
+ using Atomic64 = intptr_t;
+@@ -241,7 +241,7 @@ inline Atomic32 Acquire_Load(volatile const Atomic32*
+ std::memory_order_acquire);
+ }
+
+-#if defined(V8_HOST_ARCH_64_BIT)
++#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD)
+
+ inline Atomic64 Relaxed_CompareAndSwap(volatile Atomic64* ptr,
+ Atomic64 old_value, Atomic64 new_value) {
+@@ -441,7 +441,7 @@ inline int Relaxed_Memcmp(volatile const Atomic8* s1,
+
+ // On some platforms we need additional declarations to make
+ // AtomicWord compatible with our other Atomic* types.
+-#if defined(V8_OS_MACOSX) || defined(V8_OS_OPENBSD) || defined(V8_OS_AIX)
++#if defined(V8_OS_MACOSX) || defined(V8_OS_AIX)
+ #include "src/base/atomicops_internals_atomicword_compat.h"
+ #endif
+
diff --git a/www/chromium/files/patch-v8_src_base_cpu.cc b/www/chromium/files/patch-v8_src_base_cpu.cc
deleted file mode 100644
index 525e9d717e98..000000000000
--- a/www/chromium/files/patch-v8_src_base_cpu.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- v8/src/base/cpu.cc.orig 2021-12-31 01:01:02 UTC
-+++ v8/src/base/cpu.cc
-@@ -575,6 +575,7 @@ CPU::CPU()
-
- #if V8_OS_LINUX
-
-+#if V8_OS_LINUX
- CPUInfo cpu_info;
-
- // Extract implementor from the "CPU implementer" field.
-@@ -608,6 +609,7 @@ CPU::CPU()
- }
- delete[] part;
- }
-+#endif
-
- // Extract architecture from the "CPU Architecture" field.
- // The list is well-known, unlike the the output of
diff --git a/www/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc b/www/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc
index 774cad1f74ab..5f462761158a 100644
--- a/www/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc
+++ b/www/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc
@@ -1,13 +1,32 @@
---- v8/src/base/platform/platform-freebsd.cc.orig 2021-04-14 18:43:14 UTC
+--- v8/src/base/platform/platform-freebsd.cc.orig 2022-02-07 13:39:41 UTC
+++ v8/src/base/platform/platform-freebsd.cc
-@@ -82,8 +82,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
+@@ -43,14 +43,10 @@ TimezoneCache* OS::CreateTimezoneCache() {
+ return new PosixDefaultTimezoneCache();
+ }
+
+-static unsigned StringToLong(char* buffer) {
+- return static_cast<unsigned>(strtol(buffer, nullptr, 16));
+-}
+-
+ std::vector<OS::SharedLibraryAddress> OS::GetSharedLibraryAddresses() {
+ std::vector<SharedLibraryAddress> result;
+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid()};
+- size_t miblen = sizeof(mib) / sizeof(mib[0]);
++ unsigned int miblen = sizeof(mib) / sizeof(mib[0]);
+ size_t buffer_size;
+ if (sysctl(mib, miblen, nullptr, &buffer_size, nullptr, 0) == 0) {
+ // Overallocate the buffer by 1/3 to account for concurrent
+@@ -82,8 +78,13 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
lib_name = std::string(path);
}
result.push_back(SharedLibraryAddress(
-- lib_name, reinterpret_cast<uintptr_t>(map->kve_start),
-- reinterpret_cast<uintptr_t>(map->kve_end)));
++#if defined(__i386__) || defined(OS_FREEBSD)
+ lib_name, static_cast<uintptr_t>(map->kve_start),
+ static_cast<uintptr_t>(map->kve_end)));
++#else
+ lib_name, reinterpret_cast<uintptr_t>(map->kve_start),
+ reinterpret_cast<uintptr_t>(map->kve_end)));
++#endif
}
start += ssize;
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
new file mode 100644
index 000000000000..5cdd12fb9b50
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc
@@ -0,0 +1,28 @@
+--- v8/src/base/platform/platform-openbsd.cc.orig 2022-02-07 13:39:41 UTC
++++ v8/src/base/platform/platform-openbsd.cc
+@@ -6,6 +6,7 @@
+ // POSIX-compatible parts, the implementation is in platform-posix.cc.
+
+ #include <pthread.h>
++#include <pthread_np.h>
+ #include <semaphore.h>
+ #include <signal.h>
+ #include <stdlib.h>
+@@ -121,6 +122,17 @@ void OS::SignalCodeMovingGC() {
+ }
+
+ void OS::AdjustSchedulingParams() {}
++
++// static
++Stack::StackSlot Stack::GetStackStart() {
++ stack_t ss;
++ void *base;
++ if (pthread_stackseg_np(pthread_self(), &ss) != 0)
++ return nullptr;
++
++ base = (void*)((size_t) ss.ss_sp - ss.ss_size);
++ return reinterpret_cast<uint8_t*>(base) + ss.ss_size;
++}
+
+ std::vector<OS::MemoryRange> OS::GetFreeMemoryRangesWithin(
+ 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 86112ef30394..fec14de82660 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,24 +1,53 @@
---- v8/src/base/platform/platform-posix.cc.orig 2021-12-14 11:47:21 UTC
+--- v8/src/base/platform/platform-posix.cc.orig 2022-02-07 13:39:41 UTC
+++ v8/src/base/platform/platform-posix.cc
-@@ -511,7 +511,7 @@ bool OS::DecommitPages(void* address, size_t size) {
+@@ -65,7 +65,7 @@
+ #include <sys/syscall.h>
+ #endif
+
+-#if V8_OS_FREEBSD || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_SOLARIS
++#if V8_OS_FREEBSD || V8_OS_MACOSX || V8_OS_BSD || V8_OS_SOLARIS
+ #define MAP_ANONYMOUS MAP_ANON
+ #endif
+
+@@ -285,8 +285,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
+ }
+ }
+
++#if V8_OS_OPENBSD
++// Allow OpenBSD's mmap to select a random address on OpenBSD
+ // static
+ void* OS::GetRandomMmapAddr() {
++ return nullptr;
++}
++#else
++// static
++void* OS::GetRandomMmapAddr() {
+ uintptr_t raw_addr;
+ {
+ MutexGuard guard(rng_mutex.Pointer());
+@@ -377,6 +384,7 @@ void* OS::GetRandomMmapAddr() {
+ #endif
+ return reinterpret_cast<void*>(raw_addr);
+ }
++#endif
+
+ // TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files.
+ #if !V8_OS_CYGWIN && !V8_OS_FUCHSIA
+@@ -547,7 +555,7 @@ bool OS::FreeAddressSpaceReservation(AddressSpaceReser
// static
bool OS::HasLazyCommits() {
-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX
-+#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD
++#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_BSD
return true;
#else
// TODO(bbudge) Return true for all POSIX platforms.
-@@ -650,6 +650,12 @@ int OS::GetCurrentThreadId() {
- return static_cast<int>(syscall(__NR_gettid));
- #elif V8_OS_ANDROID
- return static_cast<int>(gettid());
-+#elif V8_OS_DRAGONFLYBSD || defined(__DragonFly__)
-+ return static_cast<int>(lwp_gettid());
-+#elif V8_OS_FREEBSD
-+ return static_cast<int>(pthread_getthreadid_np());
-+#elif V8_OS_NETBSD
-+ return static_cast<int>(_lwp_self());
- #elif V8_OS_AIX
- return static_cast<int>(thread_self());
- #elif V8_OS_FUCHSIA
+@@ -1140,7 +1148,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_MACOSX) && !defined(_AIX) && \
+- !defined(V8_OS_SOLARIS)
++ !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD)
+
+ // static
+ Stack::StackSlot Stack::GetStackStart() {
diff --git a/www/chromium/files/patch-v8_src_base_sys-info.cc b/www/chromium/files/patch-v8_src_base_sys-info.cc
new file mode 100644
index 000000000000..d3c532c9289f
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_base_sys-info.cc
@@ -0,0 +1,11 @@
+--- v8/src/base/sys-info.cc.orig 2022-02-07 13:39:41 UTC
++++ v8/src/base/sys-info.cc
+@@ -38,7 +38,7 @@ namespace base {
+ // static
+ int SysInfo::NumberOfProcessors() {
+ #if V8_OS_OPENBSD
+- int mib[2] = {CTL_HW, HW_NCPU};
++ int mib[2] = {CTL_HW, HW_NCPUONLINE};
+ int ncpu = 0;
+ size_t len = sizeof(ncpu);
+ if (sysctl(mib, arraysize(mib), &ncpu, &len, nullptr, 0) != 0) {
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
new file mode 100644
index 000000000000..39e1c7d0ec79
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_compiler_backend_ia32_instruction-selector-ia32.cc
@@ -0,0 +1,20 @@
+--- v8/src/compiler/backend/ia32/instruction-selector-ia32.cc.orig 2022-02-07 13:39:41 UTC
++++ v8/src/compiler/backend/ia32/instruction-selector-ia32.cc
+@@ -3019,6 +3019,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;
+
+@@ -3072,6 +3073,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_d8_d8.cc b/www/chromium/files/patch-v8_src_d8_d8.cc
deleted file mode 100644
index a6fce03fa3fd..000000000000
--- a/www/chromium/files/patch-v8_src_d8_d8.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- v8/src/d8/d8.cc.orig 2021-12-14 11:47:21 UTC
-+++ v8/src/d8/d8.cc
-@@ -78,7 +78,7 @@
- #include "unicode/locid.h"
- #endif // V8_INTL_SUPPORT
-
--#ifdef V8_OS_LINUX
-+#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
- #include <sys/mman.h> // For MultiMappedAllocator.
- #endif
-
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 afa1e84e4333..22b7555f190e 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 2021-06-11 10:18:03 UTC
+--- v8/src/diagnostics/perf-jit.cc.orig 2022-02-07 13:39:41 UTC
+++ v8/src/diagnostics/perf-jit.cc
@@ -30,7 +30,7 @@
#include "src/common/assert-scope.h"
// Only compile the {PerfJitLogger} on Linux.
-#if V8_OS_LINUX
-+#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
++#if defined(V8_OS_LINUX) || defined(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 607d499085d0..998045c944ed 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 2021-06-11 10:18:30 UTC
+--- v8/src/diagnostics/perf-jit.h.orig 2022-02-07 13:39:41 UTC
+++ v8/src/diagnostics/perf-jit.h
@@ -31,7 +31,7 @@
#include "include/v8config.h"
// {PerfJitLogger} is only implemented on Linux.
-#if V8_OS_LINUX
-+#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
++#if defined(V8_OS_LINUX) || defined(V8_OS_BSD)
#include "src/logging/log.h"
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
new file mode 100644
index 000000000000..b9a2f91e9856
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc
@@ -0,0 +1,26 @@
+--- v8/src/trap-handler/handler-inside-posix.cc.orig 2022-02-07 13:39:41 UTC
++++ v8/src/trap-handler/handler-inside-posix.cc
+@@ -53,6 +53,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
++#elif V8_OS_OPENBSD
++#define CONTEXT_REG(reg, REG) &uc->sc_##reg
+ #else
+ #error "Unsupported platform."
+ #endif
+@@ -62,8 +64,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 &&
+- info->si_code != SI_QUEUE && info->si_code != SI_TIMER &&
+- info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ;
++ info->si_code != SI_QUEUE && info->si_code != SI_TIMER
++#ifdef V8_OS_OPENBSD
++ ;
++#else
++ && info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ;
++#endif
+ }
+
+ class UnmaskOobSignalScope {
diff --git a/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h
new file mode 100644
index 000000000000..fc737fc64793
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h
@@ -0,0 +1,11 @@
+--- v8/src/trap-handler/handler-inside-posix.h.orig 2022-02-07 13:39:41 UTC
++++ v8/src/trap-handler/handler-inside-posix.h
+@@ -13,7 +13,7 @@ namespace v8 {
+ namespace internal {
+ namespace trap_handler {
+
+-#if V8_OS_LINUX || V8_OS_FREEBSD
++#if V8_OS_LINUX || V8_OS_FREEBSD || V8_OS_OPENBSD
+ constexpr int kOobSignal = SIGSEGV;
+ #elif V8_OS_MACOSX
+ constexpr int kOobSignal = SIGBUS;
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
new file mode 100644
index 000000000000..4e357cfd419f
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h
@@ -0,0 +1,11 @@
+--- v8/src/trap-handler/trap-handler.h.orig 2022-02-07 13:39:41 UTC
++++ v8/src/trap-handler/trap-handler.h
+@@ -20,7 +20,7 @@ namespace 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_MACOSX || \
+- 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_MACOSX
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
new file mode 100644
index 000000000000..fd178c8c2f4d
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h
@@ -0,0 +1,101 @@
+--- v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h.orig 2022-02-07 13:39:41 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());
+@@ -939,7 +939,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,
+@@ -952,7 +952,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,
+@@ -964,7 +964,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,
+@@ -977,7 +977,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,
+@@ -990,7 +990,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,
+@@ -1003,7 +1003,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) {
+@@ -1017,7 +1017,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
new file mode 100644
index 000000000000..514638c4b108
--- /dev/null
+++ b/www/chromium/files/patch-v8_tools_run.py
@@ -0,0 +1,11 @@
+--- v8/tools/run.py.orig 2022-02-07 13:39:41 UTC
++++ v8/tools/run.py
+@@ -11,7 +11,7 @@ from __future__ import print_function
+ import subprocess
+ import sys
+
+-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.
diff --git a/www/chromium/files/patch-weblayer_BUILD.gn b/www/chromium/files/patch-weblayer_BUILD.gn
deleted file mode 100644
index fe117badbe5a..000000000000
--- a/www/chromium/files/patch-weblayer_BUILD.gn
+++ /dev/null
@@ -1,17 +0,0 @@
---- weblayer/BUILD.gn.orig 2021-12-31 00:58:32 UTC
-+++ weblayer/BUILD.gn
-@@ -791,6 +791,14 @@ source_set("weblayer_lib_base") {
- ]
- }
-
-+ if (is_bsd) {
-+ deps -= [
-+ "//components/crash/content/browser",
-+ "//components/crash/core/app",
-+ "//components/crash/core/common",
-+ ]
-+ }
-+
- if (toolkit_views) {
- deps += [ "//ui/views" ]
- }
diff --git a/www/chromium/files/patch-weblayer_app_content__main__delegate__impl.cc b/www/chromium/files/patch-weblayer_app_content__main__delegate__impl.cc
deleted file mode 100644
index a18f49a2df07..000000000000
--- a/www/chromium/files/patch-weblayer_app_content__main__delegate__impl.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- weblayer/app/content_main_delegate_impl.cc.orig 2021-12-31 00:58:32 UTC
-+++ weblayer/app/content_main_delegate_impl.cc
-@@ -252,8 +252,8 @@ ContentMainDelegateImpl::CreateVariationsIdsProvider()
- void ContentMainDelegateImpl::PreSandboxStartup() {
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
--#if defined(ARCH_CPU_ARM_FAMILY) && \
-- (defined(OS_ANDROID) || defined(OS_LINUX) || \
-+#if defined(ARCH_CPU_ARM_FAMILY) && \
-+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) \
- BUILDFLAG(IS_CHROMEOS_LACROS))
- // Create an instance of the CPU class to parse /proc/cpuinfo and cache
- // cpu_brand info.
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
index 0e25421128bb..f8b0730ae1eb 100644
--- a/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc
+++ b/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc
@@ -1,6 +1,6 @@
---- weblayer/browser/content_browser_client_impl.cc.orig 2021-12-31 00:58:32 UTC
+--- weblayer/browser/content_browser_client_impl.cc.orig 2022-02-07 13:39:41 UTC
+++ weblayer/browser/content_browser_client_impl.cc
-@@ -154,7 +154,7 @@
+@@ -152,7 +152,7 @@
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
@@ -9,7 +9,7 @@
#include "content/public/common/content_descriptors.h"
#endif
-@@ -494,7 +494,7 @@ void ContentBrowserClientImpl::OnNetworkServiceCreated
+@@ -492,7 +492,7 @@ void ContentBrowserClientImpl::OnNetworkServiceCreated
embedder_support::GetUserAgent());
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
@@ -18,7 +18,7 @@
network::mojom::CryptConfigPtr config = network::mojom::CryptConfig::New();
content::GetNetworkService()->SetCryptConfig(std::move(config));
#endif
-@@ -1005,7 +1005,7 @@ SafeBrowsingService* ContentBrowserClientImpl::GetSafe
+@@ -998,7 +998,7 @@ SafeBrowsingService* ContentBrowserClientImpl::GetSafe
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
@@ -27,12 +27,3 @@
void ContentBrowserClientImpl::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
-@@ -1039,7 +1039,7 @@ void ContentBrowserClientImpl::GetAdditionalMappedFile
- mappings->Share(kCrashDumpSignal, crash_signal_fd);
- #endif // defined(OS_ANDROID)
- }
--#endif // defined(OS_LINUX)|| defined(OS_ANDROID)
-+#endif // defined(OS_LINUX)|| defined(OS_ANDROID) || defined(OS_BSD)
-
- void ContentBrowserClientImpl::AppendExtraCommandLineSwitches(
- base::CommandLine* command_line,
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
new file mode 100644
index 000000000000..963aea521d3b
--- /dev/null
+++ b/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.h
@@ -0,0 +1,11 @@
+--- weblayer/browser/content_browser_client_impl.h.orig 2022-02-07 13:39:41 UTC
++++ weblayer/browser/content_browser_client_impl.h
+@@ -178,7 +178,7 @@ class ContentBrowserClientImpl : public content::Conte
+ override;
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_ANDROID) || defined(OS_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
index e9ebeb7d1fea..b7e010126799 100644
--- a/www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc
+++ b/www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc
@@ -1,6 +1,6 @@
---- weblayer/browser/system_network_context_manager.cc.orig 2021-12-14 11:45:40 UTC
+--- weblayer/browser/system_network_context_manager.cc.orig 2022-02-07 13:39:41 UTC
+++ weblayer/browser/system_network_context_manager.cc
-@@ -69,10 +69,10 @@ void SystemNetworkContextManager::ConfigureDefaultNetw
+@@ -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.
@@ -8,8 +8,4 @@
+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_WIN) || defined(OS_BSD)
// We're not configuring the cookie encryption on these platforms yet.
network_context_params->enable_encrypted_cookies = false;
--#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ||
-+#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || deined(OS_BSD) ||
- // defined(OS_WIN)
- }
-
+ #endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ||
diff --git a/www/chromium/files/sandbox_freebsd.cc b/www/chromium/files/sandbox_freebsd.cc
deleted file mode 100644
index 483cf1b32ee6..000000000000
--- a/www/chromium/files/sandbox_freebsd.cc
+++ /dev/null
@@ -1,87 +0,0 @@
-// 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/freebsd/sandbox_freebsd.h"
-
-#include <string>
-
-#include "base/logging.h"
-#include "base/memory/singleton.h"
-#include "sandbox/policy/switches.h"
-#include "sandbox/policy/mojom/sandbox.mojom.h"
-
-namespace sandbox {
-namespace policy {
-
-SandboxFreeBSD::SandboxFreeBSD()
- : initialize_sandbox_ran_(false) {
-}
-
-SandboxFreeBSD::~SandboxFreeBSD() {
-}
-
-// static
-SandboxFreeBSD* SandboxFreeBSD::GetInstance() {
- SandboxFreeBSD* instance = base::Singleton<SandboxFreeBSD>::get();
- CHECK(instance);
- return instance;
-}
-
-// static
-std::string SandboxFreeBSD::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";
-#if BUILDFLAG(ENABLE_PRINTING)
- case sandbox::mojom::Sandbox::kPrintBackend:
- return "Print Backend";
-#endif
- case sandbox::mojom::Sandbox::kAudio:
- return "Audio";
- case sandbox::mojom::Sandbox::kSpeechRecognition:
- return "Speech Recognition";
- case sandbox::mojom::Sandbox::kService:
- return "Service";
- default:
- return "Unknown";
- }
-}
-
-bool SandboxFreeBSD::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type) {
- DCHECK(!initialize_sandbox_ran_);
- initialize_sandbox_ran_ = true;
-
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
-
- if (command_line->HasSwitch(switches::kNoSandbox))
- return true;
-
- const std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType);
-
- VLOG(1) << "SandboxFreeBSD::InitializeSandbox: process_type="
- << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type);
-
- return true;
-}
-
-bool SandboxFreeBSD::IsSandboxed() {
- return false;
-}
-
-} // namespace policy
-} // namespace sandbox
diff --git a/www/chromium/files/sandbox_freebsd.h b/www/chromium/files/sandbox_freebsd.h
deleted file mode 100644
index 5b2bacfa04a8..000000000000
--- a/www/chromium/files/sandbox_freebsd.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-#ifndef SANDBOX_POLICY_FREEBSD_SANDBOX_FREEBSD_H_
-#define SANDBOX_POLICY_FREEBSD_SANDBOX_FREEBSD_H_
-
-#include "base/macros.h"
-#include "base/memory/singleton.h"
-#include "sandbox/policy/export.h"
-#include "sandbox/policy/sandbox_type.h"
-
-namespace sandbox {
-namespace policy {
-
-// A singleton class to represent and change our sandboxing state for the
-// capsicum sandbox on FreeBSD.
-class SANDBOX_POLICY_EXPORT SandboxFreeBSD {
-public:
- // Get our singleton instance.
- static SandboxFreeBSD* GetInstance();
-
- // Get a description for a sandbox type.
- static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type);
-
- // Initializing the Capsicum sandbox.
- bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type);
-
- // Testing whether the sandbox is enabled.
- bool IsSandboxed();
-
-private:
- friend struct base::DefaultSingletonTraits<SandboxFreeBSD>;
-
- SandboxFreeBSD();
- ~SandboxFreeBSD();
-
- bool initialize_sandbox_ran_; // InitializeSandbox() was called.
-
- DISALLOW_COPY_AND_ASSIGN(SandboxFreeBSD);
-};
-
-} // namespace policy
-} // namespace sandbox
-
-#endif // SANDBOX_POLICY_FREBSD_SANDBOX_FREEBSD_H_
diff --git a/www/chromium/files/sndio_input.cc b/www/chromium/files/sndio_input.cc
deleted file mode 100644
index d0604dcc8792..000000000000
--- a/www/chromium/files/sndio_input.cc
+++ /dev/null
@@ -1,201 +0,0 @@
-// 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 "base/macros.h"
-#include "base/message_loop/message_pump.h"
-#include "media/base/audio_timestamp_helper.h"
-#include "media/audio/openbsd/audio_manager_openbsd.h"
-#include "media/audio/audio_manager.h"
-#include "media/audio/sndio/sndio_input.h"
-
-namespace media {
-
-static const SampleFormat kSampleFormat = kSampleFormatS16;
-
-void SndioAudioInputStream::OnMoveCallback(void *arg, int delta)
-{
- SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
-
- self->hw_delay += delta;
-}
-
-void *SndioAudioInputStream::ThreadEntry(void *arg) {
- SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
-
- self->ThreadLoop();
- return NULL;
-}
-
-SndioAudioInputStream::SndioAudioInputStream(AudioManagerBase* manager,
- const std::string& device_name,
- const AudioParameters& params)
- : manager(manager),
- params(params),
- audio_bus(AudioBus::Create(params)),
- state(kClosed) {
-}
-
-SndioAudioInputStream::~SndioAudioInputStream() {
- if (state != kClosed)
- Close();
-}
-
-AudioInputStream::OpenOutcome SndioAudioInputStream::Open() {
- struct sio_par par;
- int sig;
-
- if (state != kClosed)
- return OpenOutcome::kFailed;
-
- if (params.format() != AudioParameters::AUDIO_PCM_LINEAR &&
- params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) {
- LOG(WARNING) << "Unsupported audio format.";
- return OpenOutcome::kFailed;
- }
-
- sio_initpar(&par);
- par.rate = params.sample_rate();
- par.rchan = params.channels();
- par.bits = SampleFormatToBitsPerChannel(kSampleFormat);
- par.bps = par.bits / 8;
- par.sig = sig = par.bits != 8 ? 1 : 0;
- par.le = SIO_LE_NATIVE;
- par.appbufsz = params.frames_per_buffer();
-
- hdl = sio_open(SIO_DEVANY, SIO_REC, 0);
-
- if (hdl == NULL) {
- LOG(ERROR) << "Couldn't open audio device.";
- return OpenOutcome::kFailed;
- }
-
- if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
- LOG(ERROR) << "Couldn't set audio parameters.";
- goto bad_close;
- }
-
- if (par.rate != (unsigned int)params.sample_rate() ||
- par.rchan != (unsigned int)params.channels() ||
- par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) ||
- par.sig != (unsigned int)sig ||
- (par.bps > 1 && par.le != SIO_LE_NATIVE) ||
- (par.bits != par.bps * 8)) {
- LOG(ERROR) << "Unsupported audio parameters.";
- goto bad_close;
- }
- state = kStopped;
- buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)];
- sio_onmove(hdl, &OnMoveCallback, this);
- return OpenOutcome::kSuccess;
-bad_close:
- sio_close(hdl);
- return OpenOutcome::kFailed;
-}
-
-void SndioAudioInputStream::Start(AudioInputCallback* cb) {
-
- StartAgc();
-
- state = kRunning;
- hw_delay = 0;
- callback = cb;
- sio_start(hdl);
- if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) {
- LOG(ERROR) << "Failed to create real-time thread for recording.";
- sio_stop(hdl);
- state = kStopped;
- }
-}
-
-void SndioAudioInputStream::Stop() {
-
- if (state == kStopped)
- return;
-
- state = kStopWait;
- pthread_join(thread, NULL);
- sio_stop(hdl);
- state = kStopped;
-
- StopAgc();
-}
-
-void SndioAudioInputStream::Close() {
-
- if (state == kClosed)
- return;
-
- if (state == kRunning)
- Stop();
-
- state = kClosed;
- delete [] buffer;
- sio_close(hdl);
-
- manager->ReleaseInputStream(this);
-}
-
-double SndioAudioInputStream::GetMaxVolume() {
- // Not supported
- return 0.0;
-}
-
-void SndioAudioInputStream::SetVolume(double volume) {
- // Not supported. Do nothing.
-}
-
-double SndioAudioInputStream::GetVolume() {
- // Not supported.
- return 0.0;
-}
-
-bool SndioAudioInputStream::IsMuted() {
- // Not supported.
- return false;
-}
-
-void SndioAudioInputStream::SetOutputDeviceForAec(
- const std::string& output_device_id) {
- // Not supported.
-}
-
-void SndioAudioInputStream::ThreadLoop(void) {
- size_t todo, n;
- char *data;
- unsigned int nframes;
- double normalized_volume = 0.0;
-
- nframes = audio_bus->frames();
-
- while (state == kRunning && !sio_eof(hdl)) {
-
- GetAgcVolume(&normalized_volume);
-
- // read one block
- todo = nframes * params.GetBytesPerFrame(kSampleFormat);
- data = buffer;
- while (todo > 0) {
- n = sio_read(hdl, data, todo);
- if (n == 0)
- return; // unrecoverable I/O error
- todo -= n;
- data += n;
- }
- hw_delay -= nframes;
-
- // convert frames count to TimeDelta
- const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay,
- params.sample_rate());
-
- // push into bus
- audio_bus->FromInterleaved<SignedInt16SampleTypeTraits>(reinterpret_cast<int16_t*>(buffer), nframes);
-
- // invoke callback
- callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.);
- }
-}
-
-} // namespace media
diff --git a/www/chromium/files/sndio_input.h b/www/chromium/files/sndio_input.h
deleted file mode 100644
index 2d57ebef8d7f..000000000000
--- a/www/chromium/files/sndio_input.h
+++ /dev/null
@@ -1,91 +0,0 @@
-// 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.
-
-#ifndef MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
-#define MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
-
-#include <stdint.h>
-#include <string>
-#include <sndio.h>
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
-#include "base/time/time.h"
-#include "media/audio/agc_audio_stream.h"
-#include "media/audio/audio_io.h"
-#include "media/audio/audio_device_description.h"
-#include "media/base/audio_parameters.h"
-
-namespace media {
-
-class AudioManagerBase;
-
-// Implementation of AudioOutputStream using sndio(7)
-class SndioAudioInputStream : public AgcAudioStream<AudioInputStream> {
- public:
- // Pass this to the constructor if you want to attempt auto-selection
- // of the audio recording device.
- static const char kAutoSelectDevice[];
-
- // Create a PCM Output stream for the SNDIO device identified by
- // |device_name|. If unsure of what to use for |device_name|, use
- // |kAutoSelectDevice|.
- SndioAudioInputStream(AudioManagerBase* audio_manager,
- const std::string& device_name,
- const AudioParameters& params);
-
- ~SndioAudioInputStream() override;
-
- // Implementation of AudioInputStream.
- OpenOutcome Open() override;
- void Start(AudioInputCallback* callback) override;
- void Stop() override;
- void Close() override;
- double GetMaxVolume() override;
- void SetVolume(double volume) override;
- double GetVolume() override;
- bool IsMuted() override;
- void SetOutputDeviceForAec(const std::string& output_device_id) override;
-
- private:
-
- enum StreamState {
- kClosed, // Not opened yet
- kStopped, // Device opened, but not started yet
- kRunning, // Started, device playing
- kStopWait // Stopping, waiting for the real-time thread to exit
- };
-
- // C-style call-backs
- static void OnMoveCallback(void *arg, int delta);
- static void* ThreadEntry(void *arg);
-
- // Continuously moves data from the device to the consumer
- void ThreadLoop();
- // Our creator, the audio manager needs to be notified when we close.
- AudioManagerBase* manager;
- // Parameters of the source
- AudioParameters params;
- // We store data here for consumer
- std::unique_ptr<AudioBus> audio_bus;
- // Call-back that consumes recorded data
- AudioInputCallback* callback; // Valid during a recording session.
- // Handle of the audio device
- struct sio_hdl* hdl;
- // Current state of the stream
- enum StreamState state;
- // High priority thread running ThreadLoop()
- pthread_t thread;
- // Number of frames buffered in the hardware
- int hw_delay;
- // Temporary buffer where data is stored sndio-compatible format
- char* buffer;
-
- DISALLOW_COPY_AND_ASSIGN(SndioAudioInputStream);
-};
-
-} // namespace media
-
-#endif // MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
diff --git a/www/chromium/files/sndio_output.cc b/www/chromium/files/sndio_output.cc
deleted file mode 100644
index c42d6bdc09e9..000000000000
--- a/www/chromium/files/sndio_output.cc
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/logging.h"
-#include "base/time/time.h"
-#include "base/time/default_tick_clock.h"
-#include "media/audio/audio_manager_base.h"
-#include "media/base/audio_timestamp_helper.h"
-#include "media/audio/sndio/sndio_output.h"
-
-namespace media {
-
-static const SampleFormat kSampleFormat = kSampleFormatS16;
-
-void SndioAudioOutputStream::OnMoveCallback(void *arg, int delta) {
- SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
-
- self->hw_delay -= delta;
-}
-
-void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) {
- SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
-
- self->vol = vol;
-}
-
-void *SndioAudioOutputStream::ThreadEntry(void *arg) {
- SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
-
- self->ThreadLoop();
- return NULL;
-}
-
-SndioAudioOutputStream::SndioAudioOutputStream(const AudioParameters& params,
- AudioManagerBase* manager)
- : manager(manager),
- params(params),
- audio_bus(AudioBus::Create(params)),
- state(kClosed),
- mutex(PTHREAD_MUTEX_INITIALIZER) {
-}
-
-SndioAudioOutputStream::~SndioAudioOutputStream() {
- if (state != kClosed)
- Close();
-}
-
-bool SndioAudioOutputStream::Open() {
- struct sio_par par;
- int sig;
-
- if (params.format() != AudioParameters::AUDIO_PCM_LINEAR &&
- params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) {
- LOG(WARNING) << "Unsupported audio format.";
- return false;
- }
- sio_initpar(&par);
- par.rate = params.sample_rate();
- par.pchan = params.channels();
- par.bits = SampleFormatToBitsPerChannel(kSampleFormat);
- par.bps = par.bits / 8;
- par.sig = sig = par.bits != 8 ? 1 : 0;
- par.le = SIO_LE_NATIVE;
- par.appbufsz = params.frames_per_buffer();
-
- hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0);
- if (hdl == NULL) {
- LOG(ERROR) << "Couldn't open audio device.";
- return false;
- }
- if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
- LOG(ERROR) << "Couldn't set audio parameters.";
- goto bad_close;
- }
- if (par.rate != (unsigned int)params.sample_rate() ||
- par.pchan != (unsigned int)params.channels() ||
- par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) ||
- par.sig != (unsigned int)sig ||
- (par.bps > 1 && par.le != SIO_LE_NATIVE) ||
- (par.bits != par.bps * 8)) {
- LOG(ERROR) << "Unsupported audio parameters.";
- goto bad_close;
- }
- state = kStopped;
- volpending = 0;
- vol = 0;
- buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)];
- sio_onmove(hdl, &OnMoveCallback, this);
- sio_onvol(hdl, &OnVolCallback, this);
- return true;
- bad_close:
- sio_close(hdl);
- return false;
-}
-
-void SndioAudioOutputStream::Close() {
- if (state == kClosed)
- return;
- if (state == kRunning)
- Stop();
- state = kClosed;
- delete [] buffer;
- sio_close(hdl);
- manager->ReleaseOutputStream(this); // Calls the destructor
-}
-
-void SndioAudioOutputStream::Start(AudioSourceCallback* callback) {
- state = kRunning;
- hw_delay = 0;
- source = callback;
- sio_start(hdl);
- if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) {
- LOG(ERROR) << "Failed to create real-time thread.";
- sio_stop(hdl);
- state = kStopped;
- }
-}
-
-void SndioAudioOutputStream::Stop() {
- if (state == kStopped)
- return;
- state = kStopWait;
- pthread_join(thread, NULL);
- sio_stop(hdl);
- state = kStopped;
-}
-
-void SndioAudioOutputStream::SetVolume(double v) {
- pthread_mutex_lock(&mutex);
- vol = v * SIO_MAXVOL;
- volpending = 1;
- pthread_mutex_unlock(&mutex);
-}
-
-void SndioAudioOutputStream::GetVolume(double* v) {
- pthread_mutex_lock(&mutex);
- *v = vol * (1. / SIO_MAXVOL);
- pthread_mutex_unlock(&mutex);
-}
-
-// This stream is always used with sub second buffer sizes, where it's
-// sufficient to simply always flush upon Start().
-void SndioAudioOutputStream::Flush() {}
-
-void SndioAudioOutputStream::ThreadLoop(void) {
- int avail, count, result;
-
- while (state == kRunning) {
- // Update volume if needed
- pthread_mutex_lock(&mutex);
- if (volpending) {
- volpending = 0;
- sio_setvol(hdl, vol);
- }
- pthread_mutex_unlock(&mutex);
-
- // 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());
- audio_bus->ToInterleaved<SignedInt16SampleTypeTraits>(count, reinterpret_cast<int16_t*>(buffer));
- if (count == 0) {
- // We have to submit something to the device
- count = audio_bus->frames();
- memset(buffer, 0, count * params.GetBytesPerFrame(kSampleFormat));
- LOG(WARNING) << "No data to play, running empty cycle.";
- }
-
- // Submit data to the device
- avail = count * params.GetBytesPerFrame(kSampleFormat);
- result = sio_write(hdl, buffer, avail);
- if (result == 0) {
- LOG(WARNING) << "Audio device disconnected.";
- break;
- }
-
- // Update hardware pointer
- hw_delay += count;
- }
-}
-
-} // namespace media
diff --git a/www/chromium/files/sndio_output.h b/www/chromium/files/sndio_output.h
deleted file mode 100644
index ead220ca96e7..000000000000
--- a/www/chromium/files/sndio_output.h
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_
-#define MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_
-
-#include <pthread.h>
-#include <sndio.h>
-
-#include "base/time/tick_clock.h"
-#include "base/time/time.h"
-#include "media/audio/audio_io.h"
-
-namespace media {
-
-class AudioManagerBase;
-
-// Implementation of AudioOutputStream using sndio(7)
-class SndioAudioOutputStream : public AudioOutputStream {
- public:
- // The manager is creating this object
- SndioAudioOutputStream(const AudioParameters& params,
- AudioManagerBase* manager);
- virtual ~SndioAudioOutputStream();
-
- // Implementation of AudioOutputStream.
- bool Open() override;
- void Close() override;
- void Start(AudioSourceCallback* callback) override;
- void Stop() override;
- void SetVolume(double volume) override;
- void GetVolume(double* volume) override;
- void Flush() override;
-
- friend void sndio_onmove(void *arg, int delta);
- friend void sndio_onvol(void *arg, unsigned int vol);
- friend void *sndio_threadstart(void *arg);
-
- private:
- enum StreamState {
- kClosed, // Not opened yet
- kStopped, // Device opened, but not started yet
- kRunning, // Started, device playing
- kStopWait // Stopping, waiting for the real-time thread to exit
- };
-
- // C-style call-backs
- static void OnMoveCallback(void *arg, int delta);
- static void OnVolCallback(void *arg, unsigned int vol);
- static void* ThreadEntry(void *arg);
-
- // Continuously moves data from the producer to the device
- void ThreadLoop(void);
-
- // Our creator, the audio manager needs to be notified when we close.
- AudioManagerBase* manager;
- // Parameters of the source
- AudioParameters params;
- // Source stores data here
- std::unique_ptr<AudioBus> audio_bus;
- // Call-back that produces data to play
- AudioSourceCallback* source;
- // Handle of the audio device
- struct sio_hdl* hdl;
- // Current state of the stream
- enum StreamState state;
- // High priority thread running ThreadLoop()
- pthread_t thread;
- // Protects vol, volpending and hw_delay
- pthread_mutex_t mutex;
- // Current volume in the 0..SIO_MAXVOL range
- int vol;
- // Set to 1 if volumes must be refreshed in the realtime thread
- int volpending;
- // Number of frames buffered in the hardware
- int hw_delay;
- // Temporary buffer where data is stored sndio-compatible format
- char* buffer;
-
- DISALLOW_COPY_AND_ASSIGN(SndioAudioOutputStream);
-};
-
-} // namespace media
-
-#endif // MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_