aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos J. Puga Medina <cpm@FreeBSD.org>2019-01-07 19:47:18 +0000
committerCarlos J. Puga Medina <cpm@FreeBSD.org>2019-01-07 19:47:18 +0000
commitab34cf48c6364f23214d9242e83eefd174f7f820 (patch)
treece7704d873ee687272322780c46fc9ddee28a619
parent8b8ed1280fd0f67a28315ef6868ea74d951179ee (diff)
downloadports-ab34cf48c6364f23214d9242e83eefd174f7f820.tar.gz
ports-ab34cf48c6364f23214d9242e83eefd174f7f820.zip
www/chromium: Update to 71.0.3578.98
Changelog: https://chromium.googlesource.com/chromium/src/+log/68.0.3440.106..71.0.3578.98?pretty=fuller&n=10000 PR: 233990 Submitted by: Matthias Wolf <freebsd@rheinwolf.de> Reported by: nikolaibitinit@gmail.com Reviewed by: rene, cpm Approved by: rene, cpm MFH: 2019Q1 Security: http://vuxml.freebsd.org/freebsd/546d4dd4-10ea-11e9-b407-080027ef1a23.html Security: http://vuxml.freebsd.org/freebsd/720590df-10eb-11e9-b407-080027ef1a23.html
Notes
Notes: svn path=/head/; revision=489612
-rw-r--r--www/chromium/Makefile21
-rw-r--r--www/chromium/Makefile.tests1
-rw-r--r--www/chromium/distinfo10
-rw-r--r--www/chromium/files/patch-base_BUILD.gn23
-rw-r--r--www/chromium/files/patch-base_allocator_partition_allocator_partition_alloc_unittest.cc20
-rw-r--r--www/chromium/files/patch-base_posix_can__lower__nice__to.cc20
-rw-r--r--www/chromium/files/patch-base_process_process__metrics.cc11
-rw-r--r--www/chromium/files/patch-base_process_process__posix.cc67
-rw-r--r--www/chromium/files/patch-base_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc12
-rw-r--r--www/chromium/files/patch-base_task_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc12
-rw-r--r--www/chromium/files/patch-base_test_generate__fontconfig__caches.cc17
-rw-r--r--www/chromium/files/patch-build_config_BUILDCONFIG.gn37
-rw-r--r--www/chromium/files/patch-build_config_compiler_BUILD.gn56
-rw-r--r--www/chromium/files/patch-build_config_sysroot.gni15
-rw-r--r--www/chromium/files/patch-build_linux_chrome.map29
-rw-r--r--www/chromium/files/patch-build_linux_unbundle_ffmpeg.gn22
-rw-r--r--www/chromium/files/patch-build_linux_unbundle_libwebp.gn41
-rw-r--r--www/chromium/files/patch-build_toolchain_gcc_toolchain.gni (renamed from www/chromium/files/extra-patch-llvm-base)0
-rw-r--r--www/chromium/files/patch-cc_BUILD.gn13
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main.cc15
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main__delegate.cc38
-rw-r--r--www/chromium/files/patch-chrome_app_generated__resources.grd30
-rw-r--r--www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc19
-rw-r--r--www/chromium/files/patch-chrome_browser_about__flags.cc105
-rw-r--r--www/chromium/files/patch-chrome_browser_apps_platform_apps_api_music_manager_private_device__id__linux.cc (renamed from www/chromium/files/patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc)26
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main.cc21
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc30
-rw-r--r--www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h18
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__commands.cc28
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_flag__descriptions.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_flag__descriptions.h32
-rw-r--r--www/chromium/files/patch-chrome_browser_media_router_providers_wired_display_wired_display_media_route_provider.cc17
-rw-r--r--www/chromium/files/patch-chrome_browser_notifications_message__center__notification__manager.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc18
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__window.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_libgtkui_nav_button_provider_gtk3.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar_button.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_web_applications_extensions_web_app_extension_shortcut.cc11
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__features.cc35
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__features.h25
-rw-r--r--www/chromium/files/patch-chrome_common_extensions_api_BUILD.gn11
-rw-r--r--www/chromium/files/patch-chrome_common_extensions_api_api__sources.gni11
-rw-r--r--www/chromium/files/patch-chrome_common_extensions_chrome__extensions__client.cc14
-rw-r--r--www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc37
-rw-r--r--www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h12
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.cc75
-rw-r--r--www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.h57
-rw-r--r--www/chromium/files/patch-components_autofill_strings.grdp28
-rw-r--r--www/chromium/files/patch-components_crash_content_app_BUILD.gn9
-rw-r--r--www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc28
-rw-r--r--www/chromium/files/patch-components_download_quarantine_test_support_linux.cc20
-rw-r--r--www/chromium/files/patch-components_drive_drive__api__util.cc14
-rw-r--r--www/chromium/files/patch-components_json__schema_json__schema__validator.cc14
-rw-r--r--www/chromium/files/patch-components_os__crypt_os__crypt.h51
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password_reuse_defines.h11
-rw-r--r--www/chromium/files/patch-content_app_content_main_runner_impl.cc17
-rw-r--r--www/chromium/files/patch-content_browser_BUILD.gn8
-rw-r--r--www/chromium/files/patch-content_browser_background_fetch_background_fetch_context.cc12
-rw-r--r--www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc29
-rw-r--r--www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h47
-rw-r--r--www/chromium/files/patch-content_browser_webui_web_ui_data_source_impl.cc69
-rw-r--r--www/chromium/files/patch-content_browser_webui_web_ui_data_source_impl.h25
-rw-r--r--www/chromium/files/patch-content_browser_webui_web_ui_impl.cc14
-rw-r--r--www/chromium/files/patch-content_browser_webui_web_ui_impl.h11
-rw-r--r--www/chromium/files/patch-content_common_view__messages.h11
-rw-r--r--www/chromium/files/patch-content_gpu_gpu__main.cc20
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc29
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h20
-rw-r--r--www/chromium/files/patch-content_public_browser_web_ui.h19
-rw-r--r--www/chromium/files/patch-content_public_browser_web_ui_data_source.h51
-rw-r--r--www/chromium/files/patch-content_public_common_common__param__traits__macros.h11
-rw-r--r--www/chromium/files/patch-content_renderer_input_input_event_prediction.cc12
-rw-r--r--www/chromium/files/patch-content_renderer_render__thread__impl.cc28
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc36
-rw-r--r--www/chromium/files/patch-content_renderer_renderer_main.cc20
-rw-r--r--www/chromium/files/patch-content_renderer_webscrollbarbehavior__impl__aura.cc20
-rw-r--r--www/chromium/files/patch-extensions_common_image__util.cc8
-rw-r--r--www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc11
-rw-r--r--www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc10
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h8
-rw-r--r--www/chromium/files/patch-headless_lib_headless__macros.h12
-rw-r--r--www/chromium/files/patch-media_base_scopedfd__helper.h19
-rw-r--r--www/chromium/files/patch-media_base_video__frame.cc22
-rw-r--r--www/chromium/files/patch-media_base_video__frame.h30
-rw-r--r--www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc20
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc32
-rw-r--r--www/chromium/files/patch-media_capture_video_linux_video__capture__device__linux.cc64
-rw-r--r--www/chromium/files/patch-media_capture_video_video__capture__device__factory.cc30
-rw-r--r--www/chromium/files/patch-net_base_address__tracker__linux.cc23
-rw-r--r--www/chromium/files/patch-net_features.gni8
-rw-r--r--www/chromium/files/patch-net_socket_udp__socket__posix.cc66
-rw-r--r--www/chromium/files/patch-sandbox_BUILD.gn11
-rw-r--r--www/chromium/files/patch-services_audio_BUILD.gn11
-rw-r--r--www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc (renamed from www/chromium/files/patch-device_geolocation_location__arbitrator.cc)6
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc94
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h13
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc6
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__freebsd.h4
-rw-r--r--www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor.cc8
-rw-r--r--www/chromium/files/patch-services_network_network__service.cc20
-rw-r--r--www/chromium/files/patch-services_network_network__service.h11
-rw-r--r--www/chromium/files/patch-services_network_network_sandbox_hook_linux.cc8
-rw-r--r--www/chromium/files/patch-services_network_public_cpp_cors_cors_legacy.cc11
-rw-r--r--www/chromium/files/patch-services_network_public_cpp_cors_cors_legacy.h10
-rw-r--r--www/chromium/files/patch-services_service__manager_public_cpp_standalone__service_BUILD.gn12
-rw-r--r--www/chromium/files/patch-services_service__manager_runner_host_BUILD.gn12
-rw-r--r--www/chromium/files/patch-third__party_angle_BUILD.gn10
-rw-r--r--www/chromium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c (renamed from www/chromium/files/patch-third__party_angle_third_party_vulkan-validation-layers_src_loader_loader.c)6
-rw-r--r--www/chromium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h11
-rw-r--r--www/chromium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h (renamed from www/chromium/files/patch-third__party_angle_third_party_vulkan-validation-layers_src_loader_vk_loader_platform.h)4
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__face.cc20
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_wtf_threading.cc29
-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_googletest_src_googletest_test_googletest-port__test.cc (renamed from www/chromium/files/patch-third_party_googletest_src_googletest_test_gtest-port_test.cc)9
-rw-r--r--www/chromium/files/patch-third__party_mesa_BUILD.gn13
-rw-r--r--www/chromium/files/patch-third__party_pdfium_fxjs_JS_Define.cpp15
-rw-r--r--www/chromium/files/patch-third__party_pdfium_fxjs_js__define.cpp22
-rw-r--r--www/chromium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp (renamed from www/chromium/files/patch-third__party_pdfium_xfa_fgas_font_cfgas_fontmgr.cpp)9
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_base_event.h14
-rw-r--r--www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h20
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_base_unix__socket.cc12
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc12
-rw-r--r--www/chromium/files/patch-third__party_skia_src_opts_SkRasterPipeline_opts.h16
-rw-r--r--www/chromium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h11
-rw-r--r--www/chromium/files/patch-third__party_sqlite_BUILD.gn32
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp47
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp20
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp40
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp10
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp10
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp10
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_httpcommon.cc11
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc28
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_bindings_core_v8_v8_script_runner.cc11
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_core_xml_parser_xml_document_parser.cc23
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc15
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.h30
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_image-decoders_jpeg_jpeg_image_decoder.cc12
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_image-encoders_image_encoder.cc20
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_image-encoders_image_encoder.h11
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_wtf_byte_swap.h24
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_wtf_compiler.h13
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_wtf_threading_pthreads.cc25
-rw-r--r--www/chromium/files/patch-third_party_crashpad_crashpad_util_posix_symbolic_constants_posix.cc14
-rw-r--r--www/chromium/files/patch-third_party_perfetto_src_base_unix_task_runner.cc11
-rw-r--r--www/chromium/files/patch-third_party_perfetto_src_tracing_core_service_impl.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_args.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_base_files_file__posix.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py95
-rw-r--r--www/chromium/files/patch-tools_gn_build_gen.py50
-rw-r--r--www/chromium/files/patch-tools_gn_tools_gn_args.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_tools_gn_exec_process.cc13
-rw-r--r--www/chromium/files/patch-tools_gn_util_exe__path.cc33
-rw-r--r--www/chromium/files/patch-tools_gn_util_semaphore.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_util_semaphore.h20
-rw-r--r--www/chromium/files/patch-tools_gn_util_ticks.cc38
-rw-r--r--www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py21
-rw-r--r--www/chromium/files/patch-ui_base_ui__base__features.cc20
-rw-r--r--www/chromium/files/patch-ui_base_ui__base__features.h14
-rw-r--r--www/chromium/files/patch-ui_gfx_font__list.cc6
-rw-r--r--www/chromium/files/patch-ui_gfx_font__render__params.h10
-rw-r--r--www/chromium/files/patch-ui_gfx_gpu_memory_buffer.cc11
-rw-r--r--www/chromium/files/patch-ui_gfx_gpu_memory_buffer.h10
-rw-r--r--www/chromium/files/patch-ui_gl_BUILD.gn27
-rw-r--r--www/chromium/files/patch-ui_gl_gl_bindings_autogen_glx.cc20
-rw-r--r--www/chromium/files/patch-ui_gl_gl_fence.cc12
-rw-r--r--www/chromium/files/patch-ui_gl_gl_implementation.cc11
-rw-r--r--www/chromium/files/patch-ui_message__center_views_message__view__factory.cc11
-rw-r--r--www/chromium/files/patch-ui_message_center_public_cpp_message_center_constants.h11
-rw-r--r--www/chromium/files/patch-ui_message_center_views_message_popup_view.cc (renamed from www/chromium/files/patch-ui_message__center_views_toast__contents__view.cc)8
-rw-r--r--www/chromium/files/patch-ui_views_bubble_bubble__dialog__delegate.cc11
-rw-r--r--www/chromium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc11
-rw-r--r--www/chromium/files/patch-ui_views_mus_aura__init.cc29
-rw-r--r--www/chromium/files/patch-ui_views_mus_aura__init.h11
-rw-r--r--www/chromium/files/patch-ui_views_widget_desktop_aura_desktop_screen_x11.cc18
-rw-r--r--www/chromium/files/patch-ui_views_window_frame_background.cc12
-rw-r--r--www/chromium/pkg-plist5
188 files changed, 1849 insertions, 2056 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index 4b6c80c9053c..6c21667e2d69 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= chromium
-PORTVERSION= 68.0.3440.106
-PORTREVISION= 7
+PORTVERSION= 71.0.3578.98
CATEGORIES?= www
MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \
LOCAL/cpm/chromium/:fonts
@@ -25,6 +24,7 @@ BUILD_DEPENDS+= gperf:devel/gperf \
ffmpeg>=3.2.2,1:multimedia/ffmpeg \
flock:sysutils/flock \
node:www/node \
+ ${LOCALBASE}/bin/ar:devel/binutils \
${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
${LOCALBASE}/share/usbids/usb.ids:misc/usbids \
${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR}
@@ -32,6 +32,7 @@ BUILD_DEPENDS+= gperf:devel/gperf \
.if !defined(GN_ONLY)
LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
+ libatspi.so:accessibility/at-spi2-core \
libspeechd.so:accessibility/speech-dispatcher \
libsnappy.so:archivers/snappy \
libFLAC.so:audio/flac \
@@ -72,11 +73,12 @@ ONLY_FOR_ARCHS= aarch64 amd64 i386
USES= compiler:c++14-lang localbase:ldflags ninja pkgconfig \
python:2.7,build shebangfix tar:xz
.else
-USES= bison cpe desktop-file-utils gnome jpeg localbase:ldflags \
+USES= bison cpe desktop-file-utils dos2unix gl gnome jpeg localbase:ldflags \
ninja perl5 pkgconfig python:2.7,build shebangfix tar:xz
.endif
MAKE_ARGS= -C out/${BUILDTYPE}
BINARY_ALIAS= python=${PYTHON_CMD}
+DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
.if !defined(GN_ONLY)
CPE_VENDOR= google
@@ -107,6 +109,7 @@ GN_ARGS+= clang_use_chrome_plugins=false \
enable_remoting=false \
fieldtrial_testing_like_official_build=true \
is_clang=true \
+ jumbo_file_merge_limit=8 \
toolkit_views=true \
treat_warnings_as_errors=false \
use_allocator="none" \
@@ -115,7 +118,7 @@ GN_ARGS+= clang_use_chrome_plugins=false \
use_bundled_fontconfig=false \
use_custom_libcxx=false \
use_gnome_keyring=false \
- use_gtk3=true \
+ use_jumbo_build=true \
use_lld=true \
use_sysroot=false \
use_system_freetype=true \
@@ -125,7 +128,7 @@ GN_ARGS+= clang_use_chrome_plugins=false \
extra_ldflags="${LDFLAGS}"
# TODO: investigate building with these options:
# use_system_minigbm
-GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild
+GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles
# FreeBSD Chromium Api Key
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
@@ -206,13 +209,13 @@ TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} \
# swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only
.if ${ARCH} == aarch64
-PLIST_SUB+= NOT_AARCH64="@comment "
+PLIST_SUB+= NOT_AARCH64="@comment "
.else
PLIST_SUB+= NOT_AARCH64=""
.endif
-BUILD_DEPENDS+= ${LOCALBASE}/bin/ar:devel/binutils
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-llvm-base
+# Allow relocations against read-only segments (override lld default)
+LDFLAGS_i386= -Wl,-znotext
# TODO: -isystem, would be just as ugly as this approach, but more reliably
# build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set.
@@ -266,6 +269,7 @@ do-configure:
.endif
do-test-TEST-on:
+ cd ${WRKSRC}/out/${BUILDTYPE}/gn_build && ./gn_unittests
.for t in ${TEST_TARGETS}
cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \
./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE}
@@ -276,7 +280,6 @@ do-install:
@${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \
${STAGEDIR}${MANPREFIX}/man/man1/chrome.1
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.service ${STAGEDIR}${DATADIR}
.for s in 22 24 48 64 128 256
@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps
${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \
diff --git a/www/chromium/Makefile.tests b/www/chromium/Makefile.tests
index 0089706a0030..23e30f89a6ff 100644
--- a/www/chromium/Makefile.tests
+++ b/www/chromium/Makefile.tests
@@ -2,7 +2,6 @@
TEST_TARGETS= base_unittests \
chromedriver_unittests \
crypto_unittests \
- gn_unittests \
headless_unittests \
printing_unittests \
url_unittests
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index 6004ba62cc2a..f62894744139 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1534764533
-SHA256 (chromium-68.0.3440.106.tar.xz) = 7021040635a0a0d47f699bdb22e3ef5c91482e4f51b428d1de3016da95f0e698
-SIZE (chromium-68.0.3440.106.tar.xz) = 630289544
-SHA256 (chromium-68.0.3440.106-testdata.tar.xz) = 2a736b339f7cbf9fd26901666f17f53b51f7191ed2f64ea65fb8afe638a1633b
-SIZE (chromium-68.0.3440.106-testdata.tar.xz) = 310263984
+TIMESTAMP = 1544905827
+SHA256 (chromium-71.0.3578.98.tar.xz) = 1c56a9e30825774c83d568d194e9585625c6e90f81ee0ef09760fcedc86b9d45
+SIZE (chromium-71.0.3578.98.tar.xz) = 633860888
+SHA256 (chromium-71.0.3578.98-testdata.tar.xz) = 5559bc92d6fbf17e88828dbeb94015d2f7998a12e2d0fe27a33096f7c16b434f
+SIZE (chromium-71.0.3578.98-testdata.tar.xz) = 350636612
SHA256 (test_fonts.tar.xz) = cf9cbe3b7f1c4c42d426bddc65ec178d333ad7e205a36fe0a606a3c0c545ece1
SIZE (test_fonts.tar.xz) = 200040
diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn
index 725a7d08b332..c655ae27d7f5 100644
--- a/www/chromium/files/patch-base_BUILD.gn
+++ b/www/chromium/files/patch-base_BUILD.gn
@@ -1,15 +1,15 @@
---- base/BUILD.gn.orig 2017-12-15 02:04:05.000000000 +0100
-+++ base/BUILD.gn 2017-12-30 01:18:00.438461000 +0100
-@@ -1125,7 +1125,7 @@
+--- base/BUILD.gn.orig 2018-12-03 21:16:32.000000000 +0100
++++ base/BUILD.gn 2018-12-05 13:50:51.133919000 +0100
+@@ -1182,7 +1182,7 @@
# Needed for <atomic> if using newer C++ library than sysroot, except if
# building inside the cros_sdk environment - use host_toolchain as a
# more robust check for this.
- if (!use_sysroot && (is_android || (is_linux && !is_chromecast)) &&
+ if (!use_sysroot && (is_android || (is_linux && !is_chromecast) && !is_clang) &&
host_toolchain != "//build/toolchain/cros:host") {
- libs = [ "atomic" ]
+ libs += [ "atomic" ]
}
-@@ -1151,7 +1151,7 @@
+@@ -1208,7 +1208,7 @@
"allocator/allocator_shim_override_glibc_weak_symbols.h",
]
deps += [ "//base/allocator:tcmalloc" ]
@@ -18,16 +18,7 @@
sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ]
} else if (is_android && use_allocator == "none") {
sources += [
-@@ -1539,7 +1539,7 @@
- "//base/third_party/xdg_user_dirs",
- ]
- } else {
-- # Non-Linux.
-+ # Non-Linux/BSD.
- sources -= [
- "nix/mime_util_xdg.cc",
- "nix/mime_util_xdg.h",
-@@ -1555,6 +1555,33 @@
+@@ -1740,6 +1740,33 @@
}
}
@@ -61,7 +52,7 @@
# iOS
if (is_ios) {
set_sources_assignment_filter([])
-@@ -2389,6 +2416,12 @@
+@@ -2753,6 +2780,12 @@
]
set_sources_assignment_filter(sources_assignment_filter)
}
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
index 3f1f612dabad..c4e9d624c6af 100644
--- 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
@@ -1,11 +1,11 @@
---- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2018-08-23 19:18:25.616099000 +0200
-+++ base/allocator/partition_allocator/partition_alloc_unittest.cc 2018-08-23 19:34:45.738651000 +0200
-@@ -1297,7 +1297,7 @@
- // not provide a working setrlimit().
- #if !defined(ARCH_CPU_64_BITS) || \
- (defined(OS_POSIX) && \
-- !(defined(OS_FUCHSIA) || defined(OS_MACOSX) || defined(OS_ANDROID)))
-+ !(defined(OS_FUCHSIA) || defined(OS_MACOSX) || defined(OS_ANDROID) || defined(OS_BSD)))
+--- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2018-12-04 10:27:52.648233000 +0100
++++ base/allocator/partition_allocator/partition_alloc_unittest.cc 2018-12-04 10:31:38.008927000 +0100
+@@ -1324,7 +1324,7 @@
+ #if !defined(OS_WIN) && \
+ (!defined(ARCH_CPU_64_BITS) || \
+ (defined(OS_POSIX) && \
+- !(defined(OS_FUCHSIA) || defined(OS_MACOSX) || defined(OS_ANDROID))))
++ !(defined(OS_FUCHSIA) || defined(OS_MACOSX) || defined(OS_ANDROID) || defined(OS_BSD))))
- // This is defined as a separate test class because RepeatedReturnNull
- // test exhausts the process memory, and breaks any test in the same
+ // 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
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
new file mode 100644
index 000000000000..bf4cad6851c7
--- /dev/null
+++ b/www/chromium/files/patch-base_posix_can__lower__nice__to.cc
@@ -0,0 +1,20 @@
+--- base/posix/can_lower_nice_to.cc.orig 2018-12-12 22:56:01.000000000 +0100
++++ base/posix/can_lower_nice_to.cc 2018-12-16 00:34:34.602103000 +0100
+@@ -31,6 +31,9 @@
+ if (geteuid() == 0)
+ return true;
+
++#if defined(OS_BSD)
++ return false;
++#else
+ // 2. Skip checking the CAP_SYS_NICE permission because it would require
+ // libcap.so.
+
+@@ -54,6 +57,7 @@
+ // And lowering niceness to |nice_value| is allowed if it is greater than or
+ // equal to the limit:
+ return nice_value >= lowest_nice_allowed;
++#endif
+ }
+
+ } // namespace internal
diff --git a/www/chromium/files/patch-base_process_process__metrics.cc b/www/chromium/files/patch-base_process_process__metrics.cc
deleted file mode 100644
index 5f45b9680278..000000000000
--- a/www/chromium/files/patch-base_process_process__metrics.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/process_metrics.cc.orig 2017-12-23 21:01:02.481980000 +0100
-+++ base/process/process_metrics.cc 2017-12-23 21:01:15.848759000 +0100
-@@ -10,7 +10,7 @@
- #include "base/values.h"
- #include "build/build_config.h"
-
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- namespace {
- int CalculateEventsPerSecond(uint64_t event_count,
- uint64_t* last_event_count,
diff --git a/www/chromium/files/patch-base_process_process__posix.cc b/www/chromium/files/patch-base_process_process__posix.cc
deleted file mode 100644
index 637d67b75b51..000000000000
--- a/www/chromium/files/patch-base_process_process__posix.cc
+++ /dev/null
@@ -1,67 +0,0 @@
---- base/process/process_posix.cc.orig 2017-12-15 02:04:05.000000000 +0100
-+++ base/process/process_posix.cc 2017-12-23 21:14:03.546283000 +0100
-@@ -22,8 +22,17 @@
- #include <sys/event.h>
- #endif
-
-+#if defined(OS_BSD)
-+#include <sys/types.h>
-+#include <sys/event.h>
-+#include <sys/time.h>
-+#endif
-+
- namespace {
-
-+const int kBackgroundPriority = 5;
-+const int kForegroundPriority = 0;
-+
- #if !defined(OS_NACL_NONSFI)
-
- bool WaitpidWithTimeout(base::ProcessHandle handle,
-@@ -263,12 +272,10 @@
- return Process(handle);
- }
-
--#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_AIX)
- // static
- bool Process::CanBackgroundProcesses() {
-- return false;
-+ return true;
- }
--#endif // !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_AIX)
-
- // static
- void Process::TerminateCurrentProcessImmediately(int exit_code) {
-@@ -372,21 +379,23 @@
- return WaitForExitWithTimeoutImpl(Handle(), exit_code, timeout);
- }
-
--#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_AIX)
- bool Process::IsProcessBackgrounded() const {
- // See SetProcessBackgrounded().
- DCHECK(IsValid());
-- return false;
-+ return GetPriority() == kBackgroundPriority;
- }
-
--bool Process::SetProcessBackgrounded(bool value) {
-- // Not implemented for POSIX systems other than Linux and Mac. With POSIX, if
-- // we were to lower the process priority we wouldn't be able to raise it back
-- // to its initial priority.
-- NOTIMPLEMENTED();
-- return false;
-+bool Process::SetProcessBackgrounded(bool background) {
-+ DCHECK(IsValid());
-+
-+ if (!CanBackgroundProcesses())
-+ return false;
-+
-+ int priority = background ? kBackgroundPriority : kForegroundPriority;
-+ int result = setpriority(PRIO_PROCESS, process_, priority);
-+ DPCHECK(result == 0);
-+ return result == 0;
- }
--#endif // !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_AIX)
-
- int Process::GetPriority() const {
- DCHECK(IsValid());
diff --git a/www/chromium/files/patch-base_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc b/www/chromium/files/patch-base_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc
deleted file mode 100644
index f697f76df2af..000000000000
--- a/www/chromium/files/patch-base_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc.orig 2018-08-31 05:44:39.768079000 +0200
-+++ base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc 2018-08-31 05:45:55.842704000 +0200
-@@ -301,6 +301,9 @@
- EXPECT_EQ(ThreadPriority::NORMAL, thread_priority_normal);
- }
-
-+#if defined(OS_BSD)
-+#define ThreadNamesSet DISABLED_ThreadNamesSet
-+#endif
- TEST_P(TaskSchedulerSingleThreadTaskRunnerManagerCommonTest, ThreadNamesSet) {
- constexpr TaskTraits foo_traits = {TaskPriority::BACKGROUND,
- TaskShutdownBehavior::BLOCK_SHUTDOWN};
diff --git a/www/chromium/files/patch-base_task_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc b/www/chromium/files/patch-base_task_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc
new file mode 100644
index 000000000000..9dc1b91d8f19
--- /dev/null
+++ b/www/chromium/files/patch-base_task_task_scheduler_scheduler_single_thread_task_runner_manager_unittest.cc
@@ -0,0 +1,12 @@
+--- base/task/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc.orig 2018-12-12 22:56:01.000000000 +0100
++++ base/task/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc 2018-12-16 01:43:12.295373000 +0100
+@@ -295,6 +295,9 @@
+ EXPECT_EQ(ThreadPriority::NORMAL, thread_priority_normal);
+ }
+
++#if defined(OS_BSD)
++#define ThreadNamesSet DISABLED_ThreadNamesSet
++#endif
+ TEST_P(TaskSchedulerSingleThreadTaskRunnerManagerCommonTest, ThreadNamesSet) {
+ constexpr TaskTraits foo_traits = {TaskPriority::BEST_EFFORT,
+ TaskShutdownBehavior::BLOCK_SHUTDOWN};
diff --git a/www/chromium/files/patch-base_test_generate__fontconfig__caches.cc b/www/chromium/files/patch-base_test_generate__fontconfig__caches.cc
new file mode 100644
index 000000000000..8e9a6e2d76a8
--- /dev/null
+++ b/www/chromium/files/patch-base_test_generate__fontconfig__caches.cc
@@ -0,0 +1,17 @@
+--- base/test/generate_fontconfig_caches.cc.orig 2018-12-16 02:19:42.000000000 +0100
++++ base/test/generate_fontconfig_caches.cc 2018-12-16 02:19:45.432130000 +0100
+@@ -57,7 +57,14 @@
+ base::TearDownFontconfig();
+
+ // Check existence of intended fontconfig cache file.
++#if defined(OS_BSD)
++ // Our version of fontconfig is too old to respect .uuid files in font directories,
++ // so we check for the CACHEDIR.TAG file instead
+ CHECK(base::PathExists(
++ fontconfig_caches.Append("CACHEDIR.TAG")));
++#else
++ CHECK(base::PathExists(
+ fontconfig_caches.Append(base::StrCat({uuid, "-le64.cache-7"}))));
++#endif
+ return 0;
+ }
diff --git a/www/chromium/files/patch-build_config_BUILDCONFIG.gn b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
index 0711b1f39370..008ca4bb47a4 100644
--- a/www/chromium/files/patch-build_config_BUILDCONFIG.gn
+++ b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
@@ -1,5 +1,5 @@
---- build/config/BUILDCONFIG.gn.orig 2018-08-01 00:08:26.000000000 +0200
-+++ build/config/BUILDCONFIG.gn 2018-08-04 13:56:21.383564000 +0200
+--- build/config/BUILDCONFIG.gn.orig 2018-12-12 22:56:02.000000000 +0100
++++ build/config/BUILDCONFIG.gn 2018-12-15 22:33:58.610110000 +0100
@@ -131,10 +131,10 @@
is_official_build = false
@@ -33,31 +33,31 @@
# See comments in build/toolchain/cros/BUILD.gn about board compiles.
if (is_clang) {
_default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-@@ -300,6 +300,7 @@
+@@ -301,6 +301,7 @@
is_nacl = false
is_posix = false
is_win = true
+ is_bsd = false
} else if (current_os == "mac") {
+ is_aix = false
is_android = false
- is_chromeos = false
-@@ -310,6 +311,7 @@
+@@ -312,6 +313,7 @@
is_nacl = false
is_posix = true
is_win = false
+ is_bsd = false
} else if (current_os == "android") {
+ is_aix = false
is_android = true
- is_chromeos = false
-@@ -320,6 +322,7 @@
+@@ -323,6 +325,7 @@
is_nacl = false
is_posix = true
is_win = false
+ is_bsd = false
} else if (current_os == "chromeos") {
+ is_aix = false
is_android = false
- is_chromeos = true
-@@ -330,6 +333,7 @@
+@@ -334,6 +337,7 @@
is_nacl = false
is_posix = true
is_win = false
@@ -65,44 +65,45 @@
} else if (current_os == "nacl") {
# current_os == "nacl" will be passed by the nacl toolchain definition.
# It is not set by default or on the command line. We treat is as a
-@@ -343,6 +347,7 @@
+@@ -348,6 +352,7 @@
is_nacl = true
is_posix = true
is_win = false
+ is_bsd = false
} else if (current_os == "fuchsia") {
+ is_aix = false
is_android = false
- is_chromeos = false
-@@ -353,6 +358,7 @@
+@@ -359,6 +364,7 @@
is_nacl = false
is_posix = false
is_win = false
+ is_bsd = false
} else if (current_os == "ios") {
+ is_aix = false
is_android = false
- is_chromeos = false
-@@ -363,6 +369,7 @@
+@@ -370,6 +376,7 @@
is_nacl = false
is_posix = true
is_win = false
+ is_bsd = false
} else if (current_os == "linux") {
+ is_aix = false
is_android = false
- is_chromeos = false
-@@ -373,6 +380,7 @@
+@@ -381,6 +388,7 @@
is_nacl = false
is_posix = true
is_win = false
+ is_bsd = false
} else if (current_os == "aix") {
+ is_aix = true
is_android = false
- is_chromeos = false
-@@ -383,6 +391,18 @@
+@@ -392,6 +400,19 @@
is_nacl = false
is_posix = true
is_win = false
+ is_bsd = false
+} else if (current_os == "bsd") {
++ is_aix = false
+ is_android = false
+ is_chromeos = false
+ is_fuchsia = false
diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn
index d37f7f2daa12..a9d34f242adf 100644
--- a/www/chromium/files/patch-build_config_compiler_BUILD.gn
+++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn
@@ -1,6 +1,6 @@
---- build/config/compiler/BUILD.gn.orig 2018-08-01 00:08:26.000000000 +0200
-+++ build/config/compiler/BUILD.gn 2018-08-05 04:12:50.165240000 +0200
-@@ -51,7 +51,7 @@
+--- build/config/compiler/BUILD.gn.orig 2018-12-12 22:56:02.000000000 +0100
++++ build/config/compiler/BUILD.gn 2018-12-16 01:04:15.942884000 +0100
+@@ -53,7 +53,7 @@
# only two architectures that are currently checked in). Turn this off when
# you are using a custom toolchain and need to control -B in cflags.
linux_use_bundled_binutils =
@@ -9,7 +9,7 @@
(current_cpu == "x64" || current_cpu == "x86")
binutils_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin",
root_build_dir)
-@@ -266,7 +266,7 @@
+@@ -274,7 +274,7 @@
# Linker warnings.
if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") &&
!(is_android && use_order_profiling) && !is_mac && !is_ios &&
@@ -18,11 +18,14 @@
# TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580
# TODO(lizeb,pasko): Fix link errors when linking with order_profiling=1
# crbug.com/485542
-@@ -380,12 +380,6 @@
+@@ -391,15 +391,6 @@
"-Wl,-z,now",
"-Wl,-z,relro",
]
-- if (!using_sanitizer) {
+-
+- # Compiler instrumentation can introduce dependencies in DSOs to symbols in
+- # the executable they are loaded into, so they are unresolved at link-time.
+- if (!using_sanitizer && !is_safestack) {
- ldflags += [
- "-Wl,-z,defs",
- "-Wl,--as-needed",
@@ -31,16 +34,16 @@
}
# Linux-specific compiler flags setup.
-@@ -489,7 +483,7 @@
+@@ -502,7 +493,7 @@
+ }
}
- if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
-- target_os != "chromeos") {
-+ target_os != "chromeos" && !is_bsd) {
+- if (is_clang && !is_nacl && !use_xcode_clang) {
++ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) {
cflags += [
# TODO(hans): Remove this once Clang generates better optimized debug info
# by default. https://crbug.com/765793
-@@ -734,7 +728,7 @@
+@@ -793,7 +784,7 @@
cflags += [ "-mtune=$arm_tune" ]
}
} else if (current_cpu == "arm64") {
@@ -49,18 +52,21 @@
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
}
-@@ -1415,10 +1409,6 @@
-
- # TODO(hans): https://crbug.com/766891
- "-Wno-null-pointer-arithmetic",
+@@ -1498,13 +1489,6 @@
+ cflags += [
+ # TODO(thakis): https://crbug.com/753973
+ "-Wno-enum-compare-switch",
-
-- # Ignore warnings about MSVC optimization pragmas.
-- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
-- "-Wno-ignored-pragma-optimize",
- ]
- } else if (use_xcode_clang) {
- cflags += [
-@@ -1594,7 +1584,7 @@
+- # Ignore warnings about MSVC optimization pragmas.
+- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
+- "-Wno-ignored-pragma-optimize",
+-
+- # TODO(hans): https://crbug.com/890307
+- "-Wno-defaulted-function-deleted",
+ ]
+ }
+ }
+@@ -1691,7 +1675,7 @@
# Mac and iOS use the mac-specific "libtool" command, not ar, which doesn't
# have a "thin archive" mode (it does accept -T, but it means truncating
# archive names to 16 characters, which is not what we want).
@@ -69,7 +75,7 @@
arflags = [ "-T" ]
}
}
-@@ -2119,7 +2109,7 @@
+@@ -2264,7 +2248,7 @@
# [1] crrev.com/a81d5ade0b043208e06ad71a38bcf9c348a1a52f
cflags += [ "-gdwarf-3" ]
}
@@ -78,10 +84,10 @@
}
if (use_debug_fission && !is_nacl && !is_android) {
# NOTE: Some Chrome OS builds globally set |use_debug_fission| to true,
-@@ -2139,7 +2129,7 @@
+@@ -2284,7 +2268,7 @@
# 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.
- if (!is_mac && !is_ios && !is_nacl && target_cpu != "x86" &&
+ if (!is_mac && !is_ios && !is_nacl && current_cpu != "x86" &&
- (use_gold || use_lld)) {
+ (use_gold || use_lld) && !is_bsd) {
if (is_clang) {
diff --git a/www/chromium/files/patch-build_config_sysroot.gni b/www/chromium/files/patch-build_config_sysroot.gni
new file mode 100644
index 000000000000..04c1d2026514
--- /dev/null
+++ b/www/chromium/files/patch-build_config_sysroot.gni
@@ -0,0 +1,15 @@
+--- build/config/sysroot.gni.orig 2018-12-12 22:56:02.000000000 +0100
++++ build/config/sysroot.gni 2018-12-15 22:15:59.771804000 +0100
+@@ -15,9 +15,10 @@
+ # The absolute path to directory containing linux sysroot images
+ target_sysroot_dir = "//build/linux"
+
+- 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 (current_os == target_os && current_cpu == target_cpu &&
diff --git a/www/chromium/files/patch-build_linux_chrome.map b/www/chromium/files/patch-build_linux_chrome.map
new file mode 100644
index 000000000000..59d983b7963f
--- /dev/null
+++ b/www/chromium/files/patch-build_linux_chrome.map
@@ -0,0 +1,29 @@
+--- build/linux/chrome.map.orig 2018-08-08 19:10:32 UTC
++++ build/linux/chrome.map
+@@ -1,4 +1,7 @@
+ {
++local:
++ *;
++
+ global:
+ __bss_start;
+ __data_start;
+@@ -20,6 +23,10 @@ global:
+ # Program entry point.
+ _start;
+
++ # FreeBSD specific variables.
++ __progname;
++ environ;
++
+ # Memory allocation symbols. We want chrome and any libraries to
+ # share the same heap, so it is correct to export these symbols.
+ calloc;
+@@ -81,7 +88,4 @@ global:
+ localtime64;
+ localtime64_r;
+ localtime_r;
+-
+-local:
+- *;
+ };
diff --git a/www/chromium/files/patch-build_linux_unbundle_ffmpeg.gn b/www/chromium/files/patch-build_linux_unbundle_ffmpeg.gn
deleted file mode 100644
index 54b990f5fc64..000000000000
--- a/www/chromium/files/patch-build_linux_unbundle_ffmpeg.gn
+++ /dev/null
@@ -1,22 +0,0 @@
---- build/linux/unbundle/ffmpeg.gn.orig 2018-07-20 01:03:59.604084000 +0200
-+++ build/linux/unbundle/ffmpeg.gn 2018-07-20 01:04:45.406745000 +0200
-@@ -14,8 +14,8 @@
- ]
- }
-
--buildflag_header("ffmpeg_buildflags") {
-- header = "ffmpeg_buildflags.h"
-+buildflag_header("ffmpeg_features") {
-+ header = "ffmpeg_features.h"
- flags = [ "USE_SYSTEM_FFMPEG=true" ]
- }
-
-@@ -30,7 +30,7 @@
-
- source_set("ffmpeg") {
- deps = [
-- ":ffmpeg_buildflags",
-+ ":ffmpeg_features",
- ":ffmpeg_shim",
- ]
- public_configs = [ ":system_ffmpeg" ]
diff --git a/www/chromium/files/patch-build_linux_unbundle_libwebp.gn b/www/chromium/files/patch-build_linux_unbundle_libwebp.gn
deleted file mode 100644
index 34193f75fda6..000000000000
--- a/www/chromium/files/patch-build_linux_unbundle_libwebp.gn
+++ /dev/null
@@ -1,41 +0,0 @@
---- build/linux/unbundle/libwebp.gn.orig 2018-08-13 22:43:49.456935000 +0200
-+++ build/linux/unbundle/libwebp.gn 2018-08-13 22:48:47.151901000 +0200
-@@ -2,12 +2,34 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
-
-+import("//build/config/linux/pkg_config.gni")
-+import("//build/shim_headers.gni")
-+
-+pkg_config("system_libwebp") {
-+ packages = [
-+ "libwebp",
-+ "libwebpdemux",
-+ "libwebpmux",
-+ ]
-+}
-+
-+shim_headers("libwebp_shim") {
-+ root_path = "src"
-+ headers = [
-+ "webp/decode.h",
-+ "webp/demux.h",
-+ "webp/encode.h",
-+ "webp/mux.h",
-+ "webp/mux_types.h",
-+ "webp/types.h",
-+ ]
-+}
-+
- source_set("libwebp_webp") {
-- libs = [
-- "webp",
-- "webpdemux",
-- "webpmux",
-+ deps = [
-+ ":libwebp_shim",
- ]
-+ public_configs = [ ":system_libwebp" ]
- }
-
- group("libwebp") {
diff --git a/www/chromium/files/extra-patch-llvm-base b/www/chromium/files/patch-build_toolchain_gcc_toolchain.gni
index 9a32190d6ad9..9a32190d6ad9 100644
--- a/www/chromium/files/extra-patch-llvm-base
+++ b/www/chromium/files/patch-build_toolchain_gcc_toolchain.gni
diff --git a/www/chromium/files/patch-cc_BUILD.gn b/www/chromium/files/patch-cc_BUILD.gn
index 4e40dedebb20..479bb03e0142 100644
--- a/www/chromium/files/patch-cc_BUILD.gn
+++ b/www/chromium/files/patch-cc_BUILD.gn
@@ -1,22 +1,21 @@
---- cc/BUILD.gn.orig 2017-12-30 06:26:13.722587000 +0100
-+++ cc/BUILD.gn 2017-12-30 06:26:46.042197000 +0100
-@@ -541,7 +541,7 @@
+--- cc/BUILD.gn.orig 2018-11-19 19:55:02.000000000 +0100
++++ cc/BUILD.gn 2018-12-04 13:07:27.981323000 +0100
+@@ -551,7 +551,7 @@
"//ui/gl:test_support",
"//ui/latency",
]
- if (!is_android) {
+ if (!is_android && !is_bsd) {
data_deps = [
- "//third_party/mesa:osmesa",
+ "//third_party/mesa_headers",
]
-@@ -717,10 +717,6 @@
+@@ -751,9 +751,6 @@
"//ui/gfx/geometry",
"//ui/gl",
"//ui/gl:test_support",
- ]
--
- data_deps = [
-- "//third_party/mesa:osmesa",
+- "//third_party/mesa_headers",
]
}
diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc
index ea26c9429517..48d20e66bc65 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main.cc
@@ -1,19 +1,16 @@
---- chrome/app/chrome_main.cc.orig 2017-09-05 21:05:12.000000000 +0200
-+++ chrome/app/chrome_main.cc 2017-09-06 17:23:42.720920000 +0200
-@@ -99,14 +99,14 @@
- ALLOW_UNUSED_LOCAL(command_line);
+--- chrome/app/chrome_main.cc.orig 2018-12-03 21:16:35.000000000 +0100
++++ chrome/app/chrome_main.cc 2018-12-05 14:12:24.772160000 +0100
+@@ -93,11 +93,11 @@
+ #endif
// Chrome-specific process modes.
-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
if (command_line->HasSwitch(switches::kHeadless)) {
- #if defined(OS_MACOSX)
- SetUpBundleOverrides();
- #endif
return headless::HeadlessShellMain(params);
}
-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- #if BUILDFLAG(ENABLE_OOP_HEAP_PROFILING)
- #if !defined(OS_WIN) || defined(COMPONENT_BUILD) || \
+ int rv = content::ContentMain(params);
+
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 e4fd91ff05ba..4b3bbf0de890 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,6 @@
---- chrome/app/chrome_main_delegate.cc.orig 2018-02-24 16:25:09.000000000 +0100
-+++ chrome/app/chrome_main_delegate.cc 2018-03-03 20:07:40.484969000 +0100
-@@ -98,7 +98,7 @@
+--- chrome/app/chrome_main_delegate.cc.orig 2018-12-12 22:56:02.000000000 +0100
++++ chrome/app/chrome_main_delegate.cc 2019-01-04 00:08:47.109460000 +0100
+@@ -99,7 +99,7 @@
#include "chrome/app/shutdown_signal_handlers_posix.h"
#endif
@@ -18,7 +18,7 @@
#include "base/environment.h"
#endif
-@@ -238,7 +238,7 @@
+@@ -233,7 +233,7 @@
#endif // defined(OS_WIN)
@@ -27,7 +27,7 @@
void AdjustLinuxOOMScore(const std::string& process_type) {
// Browsers and zygotes should still be killable, but killed last.
const int kZygoteScore = 0;
-@@ -407,7 +407,7 @@
+@@ -401,7 +401,7 @@
std::string process_type =
command_line->GetSwitchValueASCII(switches::kProcessType);
@@ -36,7 +36,7 @@
// On Linux, Chrome does not support running multiple copies under different
// DISPLAYs, so the profile directory can be specified in the environment to
// support the virtual desktop use-case.
-@@ -581,7 +581,7 @@
+@@ -595,7 +595,7 @@
#if defined(OS_CHROMEOS)
chromeos::RegisterPathProvider();
#endif
@@ -45,34 +45,16 @@
nacl::RegisterPathProvider();
#endif
-@@ -603,7 +603,7 @@
- std::string format_str =
- command_line.GetSwitchValueASCII(switches::kDiagnosticsFormat);
- if (format_str == "machine") {
-- format = diagnostics::DiagnosticsWriter::MACHINE;
-+ format = diagnostics::DiagnosticsWriter::THEMACHINE;
- } else if (format_str == "log") {
- format = diagnostics::DiagnosticsWriter::LOG;
- } else {
-@@ -653,7 +653,7 @@
- std::string format_str =
- command_line.GetSwitchValueASCII(switches::kDiagnosticsFormat);
- if (format_str == "machine") {
-- format = diagnostics::DiagnosticsWriter::MACHINE;
-+ format = diagnostics::DiagnosticsWriter::THEMACHINE;
- } else if (format_str == "human") {
- format = diagnostics::DiagnosticsWriter::HUMAN;
- } else {
-@@ -915,7 +915,7 @@
+@@ -912,7 +912,7 @@
InitializePDF();
#endif
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
// Zygote needs to call InitCrashReporter() in RunZygote().
- if (process_type != switches::kZygoteProcess) {
+ if (process_type != service_manager::switches::kZygoteProcess) {
#if defined(OS_ANDROID)
-@@ -931,7 +931,7 @@
+@@ -928,7 +928,7 @@
breakpad::InitCrashReporter(process_type);
#endif // defined(OS_ANDROID)
}
@@ -81,7 +63,7 @@
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
-@@ -941,7 +941,7 @@
+@@ -938,7 +938,7 @@
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.
diff --git a/www/chromium/files/patch-chrome_app_generated__resources.grd b/www/chromium/files/patch-chrome_app_generated__resources.grd
index 2dba7ca4b3b7..5867c9799fbb 100644
--- a/www/chromium/files/patch-chrome_app_generated__resources.grd
+++ b/www/chromium/files/patch-chrome_app_generated__resources.grd
@@ -1,24 +1,24 @@
---- chrome/app/generated_resources.grd.orig 2018-02-24 16:25:09.000000000 +0100
-+++ chrome/app/generated_resources.grd 2018-03-03 20:22:12.855371000 +0100
-@@ -6919,7 +6919,7 @@
- Google Payments
- </message>
+--- chrome/app/generated_resources.grd.orig 2018-11-19 19:55:02.000000000 +0100
++++ chrome/app/generated_resources.grd 2018-12-04 14:09:27.327735000 +0100
+@@ -5265,7 +5265,7 @@
+ </message>
+ </if>
-- <if expr="not is_linux or chromeos">
-+ <if expr="not is_posix or chromeos">
- <message name="IDS_THEMES_GROUP_NAME" desc="The title of the themes group">
- Themes
+- <if expr="is_win or (is_linux and not chromeos)">
++ <if expr="is_win or (is_posix and not chromeos)">
+ <message name="IDS_QUIT_ACCELERATOR_TUTORIAL" desc="Instructions for how the user should quit using keyboard shortcuts.">
+ Press |<ph name="ACCELERATOR1">$1<ex>Ctrl</ex></ph>|+|<ph name="ACCELERATOR2">$2<ex>Shift</ex></ph>| followed by |<ph name="ACCELERATOR3">$3<ex>Q</ex></ph>| to exit
</message>
-@@ -6927,7 +6927,7 @@
- <message name="IDS_THEMES_RESET_BUTTON" desc="The button to reset your theme">
- Reset to default theme
+@@ -6117,7 +6117,7 @@
+ Google Pay
</message>
+
- <if expr="is_linux and not chromeos">
+ <if expr="is_posix and not chromeos">
- <message name="IDS_THEMES_GTK_BUTTON" desc="The button to choose GTK colors and icons as the current theme.">
- Use GTK+ theme
+ <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>
-@@ -8076,7 +8076,7 @@
+@@ -6942,7 +6942,7 @@
Set as default
</message>
diff --git a/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc b/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
index 92e2227dce8e..805470cff3d6 100644
--- a/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
+++ b/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
@@ -1,22 +1,15 @@
---- chrome/app/shutdown_signal_handlers_posix.cc.orig 2017-06-05 19:03:01 UTC
-+++ chrome/app/shutdown_signal_handlers_posix.cc
-@@ -183,6 +183,11 @@ void InstallShutdownSignalHandlers(
+--- chrome/app/shutdown_signal_handlers_posix.cc.orig 2018-12-03 21:16:37.000000000 +0100
++++ chrome/app/shutdown_signal_handlers_posix.cc 2018-12-05 14:20:17.094777000 +0100
+@@ -183,7 +183,11 @@
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,
+ // we request the default pthread stack size by specifying 0 here.
+ const size_t kShutdownDetectorThreadStackSize = 0;
-+#else
- #if !defined(ADDRESS_SANITIZER) && !defined(KEEP_SHADOW_STACKS)
++#elif !defined(ADDRESS_SANITIZER)
const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2;
#else
-@@ -190,6 +195,7 @@ void InstallShutdownSignalHandlers(
- // shadow stacks) bloat 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, shutdown_callback, task_runner);
+ // ASan instrumentation bloats the stack frames, so we need to increase the
diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc
index 33681069d558..182401891ecb 100644
--- a/www/chromium/files/patch-chrome_browser_about__flags.cc
+++ b/www/chromium/files/patch-chrome_browser_about__flags.cc
@@ -1,15 +1,45 @@
---- chrome/browser/about_flags.cc.orig 2018-08-01 00:08:29.000000000 +0200
-+++ chrome/browser/about_flags.cc 2018-08-04 14:12:27.193526000 +0200
-@@ -2408,7 +2408,7 @@
- flag_descriptions::kEnableMaterialDesignExtensionsDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(features::kMaterialDesignExtensions)},
- #endif // ENABLE_EXTENSIONS
+--- chrome/browser/about_flags.cc.orig 2018-12-12 22:56:02.000000000 +0100
++++ chrome/browser/about_flags.cc 2018-12-28 16:40:37.628497000 +0100
+@@ -884,7 +884,7 @@
+ {"(Black on GoogleYellow050)", kAutofillPreviewStyleBlackOnYellow050,
+ base::size(kAutofillPreviewStyleBlackOnYellow050), nullptr}};
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ const FeatureEntry::FeatureParam kAutofillPrimaryInfoStyleMedium[] = {
+ {autofill::kAutofillForcedFontWeightParameterName,
+ autofill::kAutofillForcedFontWeightParameterMedium},
+@@ -2609,12 +2609,12 @@
+ {"force-text-direction", flag_descriptions::kForceTextDirectionName,
+ flag_descriptions::kForceTextDirectionDescription, kOsAll,
+ MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
-#if defined(OS_WIN) || defined(OS_LINUX)
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
{"enable-input-ime-api", flag_descriptions::kEnableInputImeApiName,
flag_descriptions::kEnableInputImeApiDescription, kOsWin | kOsLinux,
ENABLE_DISABLE_VALUE_TYPE(switches::kEnableInputImeAPI,
-@@ -3024,7 +3024,7 @@
+ switches::kDisableInputImeAPI)},
+-#endif // OS_WIN || OS_LINUX
++#endif // OS_WIN || OS_LINUX || OS_BSD
+ {"enable-origin-trials", flag_descriptions::kOriginTrialsName,
+ flag_descriptions::kOriginTrialsDescription, kOsAll,
+ FEATURE_VALUE_TYPE(features::kOriginTrials)},
+@@ -2813,12 +2813,12 @@
+ FEATURE_VALUE_TYPE(
+ password_manager::features::kPasswordsKeyboardAccessory)},
+ #endif // OS_ANDROID
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ {"passwords-migrate-linux-to-login-db",
+ flag_descriptions::kPasswordsMigrateLinuxToLoginDBName,
+ flag_descriptions::kPasswordsMigrateLinuxToLoginDBDescription, kOsLinux,
+ FEATURE_VALUE_TYPE(password_manager::features::kMigrateLinuxToLoginDB)},
+-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ #if defined(OS_CHROMEOS)
+ {"enable-experimental-accessibility-features",
+ flag_descriptions::kExperimentalAccessibilityFeaturesName,
+@@ -3225,7 +3225,7 @@
flag_descriptions::kLeftToRightUrlsDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kLeftToRightUrls)},
@@ -18,3 +48,64 @@
{"omnibox-new-answer-layout",
flag_descriptions::kOmniboxNewAnswerLayoutName,
flag_descriptions::kOmniboxNewAnswerLayoutDescription, kOsDesktop,
+@@ -3257,7 +3257,7 @@
+ flag_descriptions::kOmniboxDriveSuggestionsName,
+ flag_descriptions::kOmniboxDriveSuggestionsDescriptions, kOsDesktop,
+ FEATURE_VALUE_TYPE(omnibox::kDocumentProvider)},
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+ #if defined(OS_ANDROID)
+ {"enable-custom-feedback-ui",
+@@ -3566,13 +3566,13 @@
+ flag_descriptions::kClickToOpenPDFDescription, kOsAll,
+ FEATURE_VALUE_TYPE(features::kClickToOpenPDFPlaceholder)},
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ {"direct-manipulation-stylus",
+ flag_descriptions::kDirectManipulationStylusName,
+ flag_descriptions::kDirectManipulationStylusDescription,
+ kOsWin | kOsMac | kOsLinux,
+ FEATURE_VALUE_TYPE(features::kDirectManipulationStylus)},
+-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+
+ #if defined(OS_ANDROID)
+ {"third-party-doodles", flag_descriptions::kThirdPartyDoodlesName,
+@@ -4021,7 +4021,7 @@
+ flag_descriptions::kAutofillCacheQueryResponsesDescription, kOsAll,
+ FEATURE_VALUE_TYPE(autofill::features::kAutofillCacheQueryResponses)},
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ {"autofill-primary-info-style",
+ flag_descriptions::kAutofillPrimaryInfoStyleExperimentName,
+ flag_descriptions::kAutofillPrimaryInfoStyleExperimentDescription,
+@@ -4030,7 +4030,7 @@
+ autofill::kAutofillPrimaryInfoStyleExperiment,
+ kAutofillPrimaryInfoStyleVariations,
+ "AutofillPrimaryInfoStyleExperiment")},
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+ {"autofill-enable-company-name",
+ flag_descriptions::kAutofillEnableCompanyNameName,
+@@ -4082,7 +4082,7 @@
+ FEATURE_VALUE_TYPE(ash::features::kOverviewSwipeToClose)},
+ #endif // OS_CHROMEOS
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ {"ntp-backgrounds", flag_descriptions::kNtpBackgroundsName,
+ flag_descriptions::kNtpBackgroundsDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(features::kNtpBackgrounds)},
+@@ -4098,7 +4098,7 @@
+ {"ntp-ui-md", flag_descriptions::kNtpUIMdName,
+ flag_descriptions::kNtpUIMdDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(features::kNtpUIMd)},
+-#endif // OS_WIN || OS_MACOSX || OS_LINUX
++#endif // OS_WIN || OS_MACOSX || OS_LINUX || defined(OS_BSD)
+
+ #if defined(OS_ANDROID)
+ {"enable-display-cutout-api", flag_descriptions::kDisplayCutoutAPIName,
diff --git a/www/chromium/files/patch-chrome_browser_extensions_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 f8ed5105f6ea..8ded81833cff 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_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,17 +1,18 @@
---- chrome/browser/extensions/api/music_manager_private/device_id_linux.cc.orig 2017-04-19 19:06:29 UTC
-+++ chrome/browser/extensions/api/music_manager_private/device_id_linux.cc
-@@ -4,6 +4,10 @@
+--- chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc.orig 2018-12-05 14:44:06.182927000 +0100
++++ chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc 2018-12-05 15:28:09.650594000 +0100
+@@ -4,6 +4,11 @@
- #include "chrome/browser/extensions/api/music_manager_private/device_id.h"
+ #include "chrome/browser/apps/platform_apps/api/music_manager_private/device_id.h"
+#if defined(OS_FREEBSD)
+#include <sys/types.h>
+#include <net/if_dl.h>
+#endif
++
#include <ifaddrs.h>
#include <net/if.h>
#include <stddef.h>
-@@ -105,11 +109,33 @@ class MacAddressProcessor {
+@@ -104,9 +109,36 @@
const char* const prefixes[],
size_t prefixes_count) {
const int MAC_LENGTH = 6;
@@ -22,13 +23,15 @@
+#endif
memset(&ifinfo, 0, sizeof(ifinfo));
-- strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1);
-
++
+#if defined(OS_FREEBSD)
+ 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 &&
@@ -40,17 +43,18 @@
+ }
+
+ 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);
- int result = ioctl(sd, SIOCGIFHWADDR, &ifinfo);
- close(sd);
-@@ -119,11 +145,17 @@ class MacAddressProcessor {
+@@ -118,11 +150,18 @@
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;
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
deleted file mode 100644
index bae35a6d02aa..000000000000
--- a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/browser_process_impl.cc.orig 2018-06-13 00:10:04.000000000 +0200
-+++ chrome/browser/browser_process_impl.cc 2018-07-14 13:27:02.197056000 +0200
-@@ -180,7 +180,7 @@
- #include "chrome/browser/media/webrtc/webrtc_log_uploader.h"
- #endif
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- #include "chrome/browser/resource_coordinator/tab_manager.h"
- #endif
-
-@@ -856,7 +856,7 @@
-
- resource_coordinator::TabManager* BrowserProcessImpl::GetTabManager() {
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- if (!tab_manager_) {
- tab_manager_ = std::make_unique<resource_coordinator::TabManager>();
- tab_lifecycle_unit_source_ =
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.h b/www/chromium/files/patch-chrome_browser_browser__process__impl.h
deleted file mode 100644
index 3e96886b6a57..000000000000
--- a/www/chromium/files/patch-chrome_browser_browser__process__impl.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/browser_process_impl.h.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/browser_process_impl.h
-@@ -343,7 +343,7 @@ class BrowserProcessImpl : public BrowserProcess,
-
- std::unique_ptr<ChromeDeviceClient> device_client_;
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- // Any change to this #ifdef must be reflected as well in
- // chrome/browser/memory/tab_manager_browsertest.cc
- std::unique_ptr<memory::TabManager> tab_manager_;
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 b94d601d1cb5..e1be471e0789 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
@@ -1,6 +1,6 @@
---- chrome/browser/chrome_browser_main.cc.orig 2018-06-13 00:10:04.000000000 +0200
-+++ chrome/browser/chrome_browser_main.cc 2018-07-14 13:55:52.288113000 +0200
-@@ -211,7 +211,7 @@
+--- chrome/browser/chrome_browser_main.cc.orig 2018-11-19 19:55:03.000000000 +0100
++++ chrome/browser/chrome_browser_main.cc 2018-12-04 14:28:26.209004000 +0100
+@@ -214,7 +214,7 @@
#include "chromeos/settings/cros_settings_names.h"
#endif // defined(OS_CHROMEOS)
@@ -9,7 +9,7 @@
#include "chrome/browser/first_run/upgrade_util_linux.h"
#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-@@ -251,7 +251,7 @@
+@@ -255,7 +255,7 @@
#endif // defined(OS_WIN)
#if defined(OS_WIN) || defined(OS_MACOSX) || \
@@ -18,7 +18,7 @@
#include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h"
#endif
-@@ -1342,10 +1342,10 @@
+@@ -1279,10 +1279,10 @@
}
#endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
@@ -31,7 +31,7 @@
#if defined(OS_MACOSX)
// Get the Keychain API to register for distributed notifications on the main
-@@ -1369,7 +1369,7 @@
+@@ -1306,7 +1306,7 @@
}
#if defined(OS_WIN) || defined(OS_MACOSX) || \
@@ -40,12 +40,3 @@
metrics::DesktopSessionDurationTracker::Initialize();
#endif
metrics::RendererUptimeTracker::Initialize();
-@@ -1514,7 +1514,7 @@
-
- // Start the tab manager here so that we give the most amount of time for the
- // other services to start up before we start adjusting the oom priority.
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- g_browser_process->GetTabManager()->Start();
- #endif
-
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc
index 4f69e8b88b40..c177b0adfdaf 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,6 +1,6 @@
---- chrome/browser/chrome_browser_main_linux.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/chrome_browser_main_linux.cc
-@@ -77,12 +77,14 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() {
+--- chrome/browser/chrome_browser_main_linux.cc.orig 2018-12-03 21:16:38.000000000 +0100
++++ chrome/browser/chrome_browser_main_linux.cc 2018-12-05 14:26:26.555958000 +0100
+@@ -90,12 +90,14 @@
void ChromeBrowserMainPartsLinux::PostProfileInit() {
ChromeBrowserMainPartsPosix::PostProfileInit();
@@ -13,15 +13,15 @@
void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() {
-#if !defined(OS_CHROMEOS)
+#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
- bluez::DBusThreadManagerLinux::Initialize();
- bluez::BluezDBusManager::Initialize(
- bluez::DBusThreadManagerLinux::Get()->GetSystemBus(), false);
-@@ -92,7 +94,7 @@ void ChromeBrowserMainPartsLinux::PostMainMessageLoopS
+ bluez::BluezDBusThreadManager::Initialize();
+ bluez::BluezDBusManager::Initialize();
+ #endif
+@@ -104,7 +106,7 @@
}
void ChromeBrowserMainPartsLinux::PostDestroyThreads() {
-#if !defined(OS_CHROMEOS)
+#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
bluez::BluezDBusManager::Shutdown();
- bluez::DBusThreadManagerLinux::Shutdown();
+ bluez::BluezDBusThreadManager::Shutdown();
#endif
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 a6c69517104f..c18cbf87c3f1 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,7 +1,7 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2018-08-01 00:08:29.000000000 +0200
-+++ chrome/browser/chrome_content_browser_client.cc 2018-08-04 14:22:56.785429000 +0200
-@@ -309,7 +309,7 @@
- #include "chromeos/chromeos_switches.h"
+--- chrome/browser/chrome_content_browser_client.cc.orig 2018-12-03 21:16:38.000000000 +0100
++++ chrome/browser/chrome_content_browser_client.cc 2018-12-05 14:32:20.666302000 +0100
+@@ -348,7 +348,7 @@
+ #include "chromeos/services/secure_channel/secure_channel_service.h"
#include "components/user_manager/user_manager.h"
#include "services/service_manager/public/mojom/interface_provider_spec.mojom.h"
-#elif defined(OS_LINUX)
@@ -9,8 +9,8 @@
#include "chrome/browser/chrome_browser_main_linux.h"
#elif defined(OS_ANDROID)
#include "base/android/application_status_listener.h"
-@@ -347,7 +347,7 @@
- #include "chrome/common/importer/profile_import.mojom.h"
+@@ -391,7 +391,7 @@
+ #include "components/services/patch/public/interfaces/constants.mojom.h"
#endif
-#if defined(OS_LINUX) || defined(OS_WIN)
@@ -18,7 +18,7 @@
#include "chrome/browser/webshare/share_service_impl.h"
#endif
-@@ -361,7 +361,7 @@
+@@ -413,7 +413,7 @@
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h"
#endif
@@ -27,16 +27,16 @@
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
#endif
-@@ -1061,7 +1061,7 @@
+@@ -1099,7 +1099,7 @@
#elif defined(OS_CHROMEOS)
main_parts = new chromeos::ChromeBrowserMainPartsChromeos(
- parameters, std::move(service_manifest_data_pack_));
+ parameters, chrome_feature_list_creator_);
-#elif defined(OS_LINUX)
+#elif defined(OS_LINUX) || defined(OS_BSD)
- main_parts = new ChromeBrowserMainPartsLinux(
- parameters, std::move(service_manifest_data_pack_));
+ main_parts =
+ new ChromeBrowserMainPartsLinux(parameters, chrome_feature_list_creator_);
#elif defined(OS_ANDROID)
-@@ -1081,7 +1081,7 @@
+@@ -1119,7 +1119,7 @@
// Construct additional browser parts. Stages are called in the order in
// which they are added.
#if defined(TOOLKIT_VIEWS)
@@ -45,7 +45,7 @@
main_parts->AddParts(new ChromeBrowserMainExtraPartsViewsLinux());
#else
main_parts->AddParts(new ChromeBrowserMainExtraPartsViews());
-@@ -1823,7 +1823,7 @@
+@@ -1897,7 +1897,7 @@
command_line->AppendSwitchASCII(switches::kMetricsClientID,
client_info->client_id);
}
@@ -54,7 +54,7 @@
if (breakpad::IsCrashReporterEnabled()) {
std::string switch_value;
std::unique_ptr<metrics::ClientInfo> client_info =
-@@ -3177,7 +3177,7 @@
+@@ -3411,7 +3411,7 @@
}
}
@@ -63,7 +63,7 @@
void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
-@@ -3892,7 +3892,7 @@
+@@ -4249,7 +4249,7 @@
#if defined(OS_ANDROID)
frame_interfaces_parameterized_->AddInterface(base::Bind(
&ForwardToJavaWebContentsRegistry<blink::mojom::ShareService>));
diff --git a/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.cc b/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.cc
deleted file mode 100644
index 6d9ed48a481d..000000000000
--- a/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/diagnostics/diagnostics_writer.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/diagnostics/diagnostics_writer.cc
-@@ -263,7 +263,7 @@ bool DiagnosticsWriter::WriteResult(bool success,
- console_->SetColor(color);
- console_->Write(base::ASCIIToUTF16(result));
- }
-- if (format_ == MACHINE) {
-+ if (format_ == THEMACHINE) {
- return WriteInfoLine(base::StringPrintf(
- "%03d %s (%s)", outcome_code, id.c_str(), extra.c_str()));
- } else {
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 3958b67b58f6..603a75e140e4 100644
--- a/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
+++ b/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
@@ -1,11 +1,11 @@
---- chrome/browser/diagnostics/diagnostics_writer.h.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/diagnostics/diagnostics_writer.h
-@@ -19,7 +19,7 @@ class DiagnosticsWriter : public DiagnosticsModel::Obs
+--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2019-01-03 21:12:30.399407000 +0100
++++ chrome/browser/diagnostics/diagnostics_writer.h 2019-01-03 21:12:49.905049000 +0100
+@@ -15,6 +15,8 @@
+ // Console base class used internally.
+ class SimpleConsole;
+
++#undef MACHINE
++
+ class DiagnosticsWriter : public DiagnosticsModel::Observer {
public:
// The type of formatting done by this writer.
- enum FormatType {
-- MACHINE,
-+ THEMACHINE,
- LOG,
- HUMAN
- };
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 4533799135cf..caeb17150ff7 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__commands.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__commands.cc
@@ -1,33 +1,15 @@
---- chrome/browser/download/download_commands.cc.orig 2018-06-13 00:10:05.000000000 +0200
-+++ chrome/browser/download/download_commands.cc 2018-07-14 14:30:03.853964000 +0200
-@@ -249,7 +249,7 @@
- return download_item_->GetOpenWhenComplete() ||
- download_crx_util::IsExtensionDownload(*download_item_);
- case ALWAYS_OPEN_TYPE:
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- if (CanOpenPdfInSystemViewer()) {
- DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(
- content::DownloadItemUtils::GetBrowserContext(download_item_));
-@@ -293,7 +293,7 @@
- bool is_checked = IsCommandChecked(ALWAYS_OPEN_TYPE);
- DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(
- content::DownloadItemUtils::GetBrowserContext(download_item_));
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- if (CanOpenPdfInSystemViewer()) {
- prefs->SetShouldOpenPdfInSystemReader(!is_checked);
- DownloadItemModel(download_item_)
-@@ -408,7 +408,7 @@
+--- chrome/browser/download/download_commands.cc.orig 2018-12-03 21:16:39.000000000 +0100
++++ chrome/browser/download/download_commands.cc 2018-12-05 14:35:24.756358000 +0100
+@@ -220,7 +220,7 @@
return browser_displayer.browser();
}
-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
bool DownloadCommands::IsDownloadPdf() const {
- base::FilePath path = download_item_->GetTargetFilePath();
+ base::FilePath path = model_->GetTargetFilePath();
return path.MatchesExtension(FILE_PATH_LITERAL(".pdf"));
-@@ -425,7 +425,7 @@
+@@ -237,7 +237,7 @@
return IsDownloadPdf() &&
(IsAdobeReaderDefaultPDFViewer() ? is_adobe_pdf_reader_up_to_date
: true);
diff --git a/www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc b/www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc
index 59f781693e6f..a96a6fb37a6a 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc
@@ -1,11 +1,11 @@
---- chrome/browser/extensions/bookmark_app_helper.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/extensions/bookmark_app_helper.cc
-@@ -721,7 +721,7 @@ void BookmarkAppHelper::FinishInstallation(const Exten
- #if !defined(OS_MACOSX)
- #if !defined(USE_ASH)
- web_app::ShortcutLocations creation_locations;
+--- chrome/browser/extensions/bookmark_app_helper.cc.orig 2018-11-19 19:55:03.000000000 +0100
++++ chrome/browser/extensions/bookmark_app_helper.cc 2018-12-04 14:45:16.963992000 +0100
+@@ -597,7 +597,7 @@
+ if (create_shortcuts_) {
+ #if !defined(OS_CHROMEOS)
+ web_app::ShortcutLocations creation_locations;
-#if defined(OS_LINUX) || defined(OS_WIN)
+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- creation_locations.on_desktop = true;
+ creation_locations.on_desktop = true;
#else
- creation_locations.on_desktop = false;
+ creation_locations.on_desktop = false;
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 4afa130ca4a5..519e0cda310c 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc
@@ -1,15 +1,15 @@
---- chrome/browser/extensions/external_provider_impl.cc.orig 2018-03-20 23:05:17.000000000 +0100
-+++ chrome/browser/extensions/external_provider_impl.cc 2018-03-24 13:22:20.011401000 +0100
-@@ -689,7 +689,7 @@
- Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD,
- oem_extension_creation_flags));
+--- chrome/browser/extensions/external_provider_impl.cc.orig 2018-11-19 19:55:03.000000000 +0100
++++ chrome/browser/extensions/external_provider_impl.cc 2018-12-04 15:09:57.567637000 +0100
+@@ -711,7 +711,7 @@
+ provider_list->push_back(std::move(demo_apps_provider));
}
+
-#elif defined(OS_LINUX)
+#elif defined(OS_LINUX) || defined(OS_BSD)
if (!profile->IsLegacySupervised()) {
provider_list->push_back(std::make_unique<ExternalProviderImpl>(
service,
-@@ -717,7 +717,7 @@
+@@ -739,7 +739,7 @@
bundled_extension_creation_flags));
// Define a per-user source of external extensions.
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
index 7d0d2e62f76c..a2bcb198d861 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
@@ -1,6 +1,6 @@
---- chrome/browser/flag_descriptions.cc.orig 2017-12-15 02:04:09.000000000 +0100
-+++ chrome/browser/flag_descriptions.cc 2017-12-24 01:21:43.685723000 +0100
-@@ -2643,7 +2643,7 @@
+--- chrome/browser/flag_descriptions.cc.orig 2018-12-12 22:56:03.000000000 +0100
++++ chrome/browser/flag_descriptions.cc 2018-12-28 16:55:56.434650000 +0100
+@@ -3555,13 +3555,13 @@
// Random platform combinations -----------------------------------------------
@@ -9,3 +9,26 @@
const char kEnableInputImeApiName[] = "Enable Input IME API";
const char kEnableInputImeApiDescription[] =
+ "Enable the use of chrome.input.ime API.";
+
+-#endif // defined(OS_WIN) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+
+ #if defined(OS_WIN) || defined(OS_MACOSX)
+
+@@ -3574,13 +3574,13 @@
+
+ #endif // defined(OS_WIN) || defined(OS_MACOSX)
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+
+ const char kDirectManipulationStylusName[] = "Direct Manipulation Stylus";
+ const char kDirectManipulationStylusDescription[] =
+ "If enabled, Chrome will scroll web pages on stylus drag.";
+
+-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+
+ const char kExperimentalUiName[] = "Use all upcoming UI features";
+ const char kExperimentalUiDescription[] = "Use all upcoming UI features.";
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h
index ad0807412561..9f158272b478 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h
@@ -1,20 +1,32 @@
---- chrome/browser/flag_descriptions.h.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/flag_descriptions.h
-@@ -1754,7 +1754,7 @@ extern const char kForceUiDirectionLtr[];
- // Name for the option to force right-to-left UI direction mode.
- extern const char kForceUiDirectionRtl[];
+--- chrome/browser/flag_descriptions.h.orig 2018-12-12 22:56:03.000000000 +0100
++++ chrome/browser/flag_descriptions.h 2018-12-28 16:55:56.425688000 +0100
+@@ -2167,12 +2167,12 @@
+
+ // Random platform combinations -----------------------------------------------
-#if defined(OS_WIN) || defined(OS_LINUX)
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- // Name of the flag to enable che chrome.input.ime API.
extern const char kEnableInputImeApiName[];
-@@ -1762,7 +1762,7 @@ extern const char kEnableInputImeApiName[];
- // Description of the flag to enable the chrome.input.ime API.
extern const char kEnableInputImeApiDescription[];
-#endif // defined(OS_WIN) || defined(OS_LINUX)
+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- // Enables grouping websites by domain on chrome://history.
- extern const char kEnableGroupedHistoryName[];
+ extern const char kExperimentalUiName[];
+ extern const char kExperimentalUiDescription[];
+@@ -2184,12 +2184,12 @@
+
+ #endif // defined(OS_WIN) || defined(OS_MACOSX)
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+
+ extern const char kDirectManipulationStylusName[];
+ extern const char kDirectManipulationStylusDescription[];
+
+-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+
+ // Feature flags --------------------------------------------------------------
+
diff --git a/www/chromium/files/patch-chrome_browser_media_router_providers_wired_display_wired_display_media_route_provider.cc b/www/chromium/files/patch-chrome_browser_media_router_providers_wired_display_wired_display_media_route_provider.cc
index 6d25ec73df5d..99cc4aa5ab7b 100644
--- a/www/chromium/files/patch-chrome_browser_media_router_providers_wired_display_wired_display_media_route_provider.cc
+++ b/www/chromium/files/patch-chrome_browser_media_router_providers_wired_display_wired_display_media_route_provider.cc
@@ -1,20 +1,21 @@
---- chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc.orig 2018-07-21 15:25:50.187627000 +0200
-+++ chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc 2018-07-21 15:28:47.631030000 +0200
-@@ -111,6 +111,11 @@
+--- chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc.orig 2018-12-12 22:56:03.000000000 +0100
++++ chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc 2018-12-16 14:00:18.522246000 +0100
+@@ -111,6 +111,12 @@
bool incognito,
CreateRouteCallback callback) {
DCHECK(!base::ContainsKey(presentations_, presentation_id));
+#if defined(OS_BSD) // XXX
-+ std::move(callback).Run(base::nullopt, std::string("Not implemented"),
++ std::move(callback).Run(base::nullopt, nullptr,
++ std::string("Not implemented"),
+ RouteRequestResult::UNKNOWN_ERROR);
+ return;
+#else
base::Optional<Display> display = GetDisplayBySinkId(sink_id);
if (!display) {
- std::move(callback).Run(base::nullopt, std::string("Display not found"),
-@@ -135,6 +140,7 @@
- presentation.receiver()->Start(presentation_id, GURL(media_source));
- std::move(callback).Run(route, base::nullopt, RouteRequestResult::OK);
+ std::move(callback).Run(base::nullopt, nullptr,
+@@ -137,6 +143,7 @@
+ std::move(callback).Run(route, nullptr, base::nullopt,
+ RouteRequestResult::OK);
NotifyRouteObservers();
+#endif
}
diff --git a/www/chromium/files/patch-chrome_browser_notifications_message__center__notification__manager.cc b/www/chromium/files/patch-chrome_browser_notifications_message__center__notification__manager.cc
deleted file mode 100644
index 8ab783c9e90e..000000000000
--- a/www/chromium/files/patch-chrome_browser_notifications_message__center__notification__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/notifications/message_center_notification_manager.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/notifications/message_center_notification_manager.cc
-@@ -62,7 +62,7 @@ MessageCenterNotificationManager::MessageCenterNotific
- base::MakeUnique<FullscreenNotificationBlocker>(message_center));
-
- #if defined(OS_WIN) || defined(OS_MACOSX) \
-- || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // On Windows, Linux and Mac, the notification manager owns the tray icon and
- // views.Other platforms have global ownership and Create will return NULL.
- tray_.reset(message_center::CreateMessageCenterTray());
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 7f72ec7b56ee..ebfa980b3013 100644
--- a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc
+++ b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc
@@ -1,7 +1,7 @@
---- chrome/browser/renderer_preferences_util.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/renderer_preferences_util.cc
+--- chrome/browser/renderer_preferences_util.cc.orig 2018-12-03 21:16:40.000000000 +0100
++++ chrome/browser/renderer_preferences_util.cc 2018-12-05 15:36:58.307704000 +0100
@@ -20,7 +20,7 @@
- #include "third_party/WebKit/public/public_features.h"
+ #include "third_party/blink/public/public_buildflags.h"
#include "third_party/skia/include/core/SkColor.h"
-#if defined(OS_LINUX) || defined(OS_ANDROID)
@@ -18,8 +18,8 @@
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
#include "ui/views/linux_ui/linux_ui.h"
-@@ -134,7 +134,7 @@ void UpdateFromSystemSettings(content::RendererPrefere
- prefs->caret_blink_interval = interval.InSecondsF();
+@@ -131,7 +131,7 @@
+ prefs->caret_blink_interval = interval;
#endif
-#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
@@ -27,12 +27,12 @@
views::LinuxUI* linux_ui = views::LinuxUI::instance();
if (linux_ui) {
if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) {
-@@ -156,7 +156,7 @@ void UpdateFromSystemSettings(content::RendererPrefere
+@@ -150,7 +150,7 @@
}
#endif
-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_WIN)
+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_WIN) || defined(OS_BSD)
- CR_DEFINE_STATIC_LOCAL(const gfx::FontRenderParams, params,
- (gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), NULL)));
- prefs->should_antialias_text = params.antialiasing;
+ static const base::NoDestructor<gfx::FontRenderParams> params(
+ gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), nullptr));
+ prefs->should_antialias_text = params->antialiasing;
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
new file mode 100644
index 000000000000..4bbb4fb97139
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/browser_view_prefs.cc.orig 2018-12-30 03:14:18.095305000 +0100
++++ chrome/browser/ui/browser_view_prefs.cc 2018-12-30 03:14:37.732345000 +0100
+@@ -34,7 +34,7 @@
+
+ void RegisterBrowserViewProfilePrefs(
+ user_prefs::PrefRegistrySyncable* registry) {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ bool custom_frame_pref_default = false;
+ #if defined(USE_X11)
+ custom_frame_pref_default = ui::GetCustomFramePrefDefault();
+@@ -45,7 +45,7 @@
+ #endif
+ registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame,
+ custom_frame_pref_default);
+-#endif // OS_LINUX && !OS_CHROMEOS
++#endif // (OS_LINUX && !OS_CHROMEOS) || defined(OS_BSD)
+ }
+
+ void MigrateBrowserTabStripPrefs(PrefService* prefs) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__window.h b/www/chromium/files/patch-chrome_browser_ui_browser__window.h
new file mode 100644
index 000000000000..55a2e90e78e4
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_browser__window.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/browser_window.h.orig 2018-12-12 22:56:03.000000000 +0100
++++ chrome/browser/ui/browser_window.h 2018-12-16 14:18:41.738945000 +0100
+@@ -405,7 +405,7 @@
+ bool is_source_keyboard) = 0;
+
+ #if defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) || \
+- defined(OS_LINUX)
++ defined(OS_LINUX) || defined(OS_BSD)
+ virtual void ShowHatsBubbleFromAppMenuButton() = 0;
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_ui_libgtkui_nav_button_provider_gtk3.h b/www/chromium/files/patch-chrome_browser_ui_libgtkui_nav_button_provider_gtk3.h
deleted file mode 100644
index 6da3546262c7..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_libgtkui_nav_button_provider_gtk3.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/libgtkui/nav_button_provider_gtk3.h.orig 2018-02-11 02:34:07.340548000 +0100
-+++ chrome/browser/ui/libgtkui/nav_button_provider_gtk3.h 2018-02-11 02:32:04.747163000 +0100
-@@ -31,7 +31,7 @@
-
- private:
- std::map<chrome::FrameButtonDisplayType,
-- gfx::ImageSkia[views::Button::STATE_COUNT]>
-+ std::array<gfx::ImageSkia, views::Button::STATE_COUNT>>
- button_images_;
- std::map<chrome::FrameButtonDisplayType, gfx::Insets> button_margins_;
- gfx::Insets top_area_spacing_;
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
deleted file mode 100644
index 9e8a71c5932e..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2017-09-05 21:05:14.000000000 +0200
-+++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc 2017-09-06 18:35:55.806325000 +0200
-@@ -19,7 +19,7 @@
- #include "ui/gfx/image/image_skia.h"
- #include "ui/views/widget/widget.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "chrome/browser/shell_integration_linux.h"
- #endif
-
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar_button.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar_button.cc
deleted file mode 100644
index fd6a9e1d46ce..000000000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar_button.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/views/profiles/avatar_button.cc.orig 2018-06-13 00:10:08.000000000 +0200
-+++ chrome/browser/ui/views/profiles/avatar_button.cc 2018-07-18 22:53:21.770071000 +0200
-@@ -250,7 +250,7 @@
- } else if (apply_ink_drop) {
- SetInkDropMode(InkDropMode::ON);
- SetFocusPainter(nullptr);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- set_ink_drop_base_color(SK_ColorWHITE);
- SetBorder(std::make_unique<AvatarButtonThemedBorder>());
- generic_avatar_ =
-@@ -544,7 +544,7 @@
- #endif
- }
- bool AvatarButton::ShouldApplyInkDrop() const {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- DCHECK_EQ(AvatarButtonStyle::THEMED, button_style_);
- return true;
- #elif defined(OS_MACOSX)
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 84bae6590480..58a159e270a0 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,8 +1,8 @@
---- chrome/browser/ui/webui/about_ui.cc.orig 2018-02-24 16:25:10.000000000 +0100
-+++ chrome/browser/ui/webui/about_ui.cc 2018-03-03 22:12:29.265266000 +0100
-@@ -390,7 +390,7 @@
- DISALLOW_COPY_AND_ASSIGN(AboutDnsHandler);
- };
+--- chrome/browser/ui/webui/about_ui.cc.orig 2018-11-19 19:55:04.000000000 +0100
++++ chrome/browser/ui/webui/about_ui.cc 2018-12-04 17:47:53.178444000 +0100
+@@ -393,7 +393,7 @@
+ return html;
+ }
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
+#if defined(OS_LINUX) || defined(OS_BSD)
@@ -10,9 +10,9 @@
std::string data;
AppendHeader(&data, 0,
@@ -448,7 +448,7 @@
- } else if (source_name_ == chrome::kChromeUIDNSHost) {
- AboutDnsHandler::Start(profile(), callback);
- return;
+ .GetRawDataResource(idr)
+ .as_string();
+ }
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
+#if defined(OS_LINUX) || defined(OS_BSD)
} else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) {
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc
deleted file mode 100644
index 8b92939d0ac9..000000000000
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/web_applications/web_app.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/browser/web_applications/web_app.cc
-@@ -58,7 +58,7 @@ namespace {
- #if defined(OS_MACOSX)
- const int kDesiredSizes[] = {16, 32, 128, 256, 512};
- const size_t kNumDesiredSizes = arraysize(kDesiredSizes);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- // 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 kDesiredSizes[] = {16, 32, 48, 128, 256, 512};
-@@ -501,7 +501,7 @@ void GetIconsInfo(const WebApplicationInfo& app_info,
- }
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- std::string GetWMClassFromAppName(std::string app_name) {
- base::i18n::ReplaceIllegalCharactersInPath(&app_name, '_');
- base::TrimString(app_name, "_", &app_name);
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app.h b/www/chromium/files/patch-chrome_browser_web__applications_web__app.h
deleted file mode 100644
index d389a6909393..000000000000
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/web_applications/web_app.h.orig 2017-06-05 19:03:03 UTC
-+++ chrome/browser/web_applications/web_app.h
-@@ -206,7 +206,7 @@ typedef std::vector<WebApplicationInfo::IconInfo> Icon
- void GetIconsInfo(const WebApplicationInfo& app_info, IconInfoList* icons);
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
- // Windows that correspond to web apps need to have a deterministic (and
- // different) WMClass than normal chrome windows so the window manager groups
- // them as a separate application.
diff --git a/www/chromium/files/patch-chrome_browser_web_applications_extensions_web_app_extension_shortcut.cc b/www/chromium/files/patch-chrome_browser_web_applications_extensions_web_app_extension_shortcut.cc
new file mode 100644
index 000000000000..39fe18258967
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web_applications_extensions_web_app_extension_shortcut.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/extensions/web_app_extension_shortcut.cc.orig 2018-12-04 19:15:58.107791000 +0100
++++ chrome/browser/web_applications/extensions/web_app_extension_shortcut.cc 2018-12-04 19:16:47.545127000 +0100
+@@ -38,7 +38,7 @@
+ #if defined(OS_MACOSX)
+ const int kDesiredSizes[] = {16, 32, 128, 256, 512};
+ const size_t kNumDesiredSizes = base::size(kDesiredSizes);
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ // 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 kDesiredSizes[] = {16, 32, 48, 128, 256, 512};
diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc
index c4adbdd17ffb..cae6621ecb32 100644
--- a/www/chromium/files/patch-chrome_common_chrome__features.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__features.cc
@@ -1,6 +1,6 @@
---- chrome/common/chrome_features.cc.orig 2018-08-01 00:08:33.000000000 +0200
-+++ chrome/common/chrome_features.cc 2018-08-05 16:46:49.046411000 +0200
-@@ -85,7 +85,7 @@
+--- chrome/common/chrome_features.cc.orig 2018-12-03 21:16:43.000000000 +0100
++++ chrome/common/chrome_features.cc 2018-12-05 16:12:25.391529000 +0100
+@@ -91,13 +91,13 @@
base::FEATURE_ENABLED_BY_DEFAULT};
#endif // defined(OS_WIN) || defined(OS_MACOSX)
@@ -9,8 +9,15 @@
// 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.
-@@ -142,7 +142,7 @@
- base::FEATURE_ENABLED_BY_DEFAULT};
+ const base::Feature kBackgroundModeAllowRestart{
+ "BackgroundModeAllowRestart", base::FEATURE_DISABLED_BY_DEFAULT};
+-#endif // defined(OS_WIN) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+
+ // Enables or disables whether permission prompts are automatically blocked
+ // after the user has explicitly dismissed them too many times.
+@@ -152,7 +152,7 @@
+ "ThirdPartyModulesBlocking", base::FEATURE_DISABLED_BY_DEFAULT};
#endif
-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
@@ -18,12 +25,12 @@
// Enables the dual certificate verification trial feature.
// https://crbug.com/649026
const base::Feature kCertDualVerificationTrialFeature{
-@@ -367,7 +367,7 @@
- "AcknowledgeNtpOverrideOnDeactivate", base::FEATURE_DISABLED_BY_DEFAULT};
- #endif
-
--#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_WIN) || ((defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS))
- const base::Feature kWarnBeforeQuitting{"WarnBeforeQuitting",
- base::FEATURE_DISABLED_BY_DEFAULT};
- #endif
+@@ -201,7 +201,7 @@
+ // Enables or disables windowing related features for desktop PWAs.
+ const base::Feature kDesktopPWAWindowing {
+ "DesktopPWAWindowing",
+-#if defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_LINUX)
++#if defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ 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 12669ebbd2ad..64987c1dcac6 100644
--- a/www/chromium/files/patch-chrome_common_chrome__features.h
+++ b/www/chromium/files/patch-chrome_common_chrome__features.h
@@ -1,29 +1,24 @@
---- chrome/common/chrome_features.h.orig 2018-08-01 00:08:33.000000000 +0200
-+++ chrome/common/chrome_features.h 2018-08-05 16:48:04.662112000 +0200
-@@ -52,7 +52,7 @@
+--- chrome/common/chrome_features.h.orig 2018-12-03 21:16:43.000000000 +0100
++++ chrome/common/chrome_features.h 2018-12-05 16:20:22.595072000 +0100
+@@ -65,10 +65,10 @@
extern const base::Feature kAutomaticTabDiscarding;
#endif // defined(OS_WIN) || defined(OS_MACOSX)
-#if defined(OS_WIN) || defined(OS_LINUX)
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kBackgroundModeAllowRestart;
- #endif // defined(OS_WIN) || defined(OS_LINUX)
+-#endif // defined(OS_WIN) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
-@@ -76,7 +76,7 @@
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ extern const base::Feature kBlockPromptsIfDismissedOften;
+@@ -90,7 +90,7 @@
extern const base::Feature kTabStripKeyboardFocus;
#endif // defined(OS_MACOSX)
-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCertDualVerificationTrialFeature;
#endif
-
-@@ -204,7 +204,7 @@
- extern const base::Feature kAcknowledgeNtpOverrideOnDeactivate;
- #endif
-
--#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_WIN) || ((defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS))
- extern const base::Feature kWarnBeforeQuitting;
- #endif
-
diff --git a/www/chromium/files/patch-chrome_common_extensions_api_BUILD.gn b/www/chromium/files/patch-chrome_common_extensions_api_BUILD.gn
deleted file mode 100644
index 3cea587cc338..000000000000
--- a/www/chromium/files/patch-chrome_common_extensions_api_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/extensions/api/BUILD.gn.orig 2017-06-05 19:03:03 UTC
-+++ chrome/common/extensions/api/BUILD.gn
-@@ -121,7 +121,7 @@ if (is_chromeos) {
- "wallpaper.json",
- "wallpaper_private.json",
- ]
--} else if (is_linux || is_win) {
-+} else if (is_linux || is_bsd || is_win) {
- schema_sources += [ "input_ime.json" ]
- }
- if (enable_service_discovery) {
diff --git a/www/chromium/files/patch-chrome_common_extensions_api_api__sources.gni b/www/chromium/files/patch-chrome_common_extensions_api_api__sources.gni
new file mode 100644
index 000000000000..eaed2b5deee7
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_extensions_api_api__sources.gni
@@ -0,0 +1,11 @@
+--- chrome/common/extensions/api/api_sources.gni.orig 2018-12-05 16:27:03.671155000 +0100
++++ chrome/common/extensions/api/api_sources.gni 2018-12-05 16:27:49.125255000 +0100
+@@ -113,7 +113,7 @@
+ "wallpaper.json",
+ "wallpaper_private.json",
+ ]
+-} else if (is_linux || is_win) {
++} else if (is_linux || is_bsd || is_win) {
+ schema_sources_ += [ "input_ime.json" ]
+ }
+
diff --git a/www/chromium/files/patch-chrome_common_extensions_chrome__extensions__client.cc b/www/chromium/files/patch-chrome_common_extensions_chrome__extensions__client.cc
deleted file mode 100644
index a432dae92139..000000000000
--- a/www/chromium/files/patch-chrome_common_extensions_chrome__extensions__client.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/common/extensions/chrome_extensions_client.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/common/extensions/chrome_extensions_client.cc
-@@ -97,7 +97,10 @@ ChromeChannelForHistogram GetChromeChannelForHistogram
- static base::LazyInstance<ChromeExtensionsClient>::DestructorAtExit g_client =
- LAZY_INSTANCE_INITIALIZER;
-
--ChromeExtensionsClient::ChromeExtensionsClient() {}
-+ChromeExtensionsClient::ChromeExtensionsClient()
-+ : chrome_api_permissions_(ChromeAPIPermissions()),
-+ extensions_api_permissions_(ExtensionsAPIPermissions()) {
-+}
-
- ChromeExtensionsClient::~ChromeExtensionsClient() {
- }
diff --git a/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc b/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
index 4f930773b716..3e76316b0018 100644
--- a/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
+++ b/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
@@ -1,38 +1,29 @@
---- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/renderer/pepper/pepper_flash_font_file_host.cc
-@@ -14,7 +14,7 @@
+--- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig 2018-12-03 21:16:44.000000000 +0100
++++ chrome/renderer/pepper/pepper_flash_font_file_host.cc 2018-12-13 18:20:56.573572000 +0100
+@@ -15,7 +15,7 @@
#include "ppapi/proxy/ppapi_messages.h"
#include "ppapi/proxy/serialized_structs.h"
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "content/public/child/child_process_sandbox_support_linux.h"
+ #include "components/services/font/public/cpp/font_loader.h"
#include "content/public/common/common_sandbox_support_linux.h"
#elif defined(OS_WIN)
-@@ -28,7 +28,7 @@ PepperFlashFontFileHost::PepperFlashFontFileHost(
+@@ -29,7 +29,7 @@
const ppapi::proxy::SerializedFontDescription& description,
PP_PrivateFontCharset charset)
: ResourceHost(host->GetPpapiHost(), instance, resource) {
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
+-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- fd_.reset(content::MatchFontWithFallback(
- description.face,
- description.weight >= PP_BROWSERFONT_TRUSTED_WEIGHT_BOLD,
-@@ -45,7 +45,7 @@ PepperFlashFontFileHost::PepperFlashFontFileHost(
- sk_sp<SkFontMgr> font_mgr(SkFontMgr::RefDefault());
- typeface_ = sk_sp<SkTypeface>(
- font_mgr->matchFamilyStyle(description.face.c_str(), style));
--#endif // defined(OS_LINUX) || defined(OS_OPENBSD)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- PepperFlashFontFileHost::~PepperFlashFontFileHost() {}
-@@ -64,7 +64,7 @@ bool PepperFlashFontFileHost::GetFontData(uint32_t tab
+ // The global SkFontConfigInterface is configured and initialized with a
+ // SkFontconfigInterface compatible font_service::FontLoader in
+ // RendererBlinkPlatformImpl (called from RenderThreadImpl::Init) at startup
+@@ -74,7 +74,7 @@
void* buffer,
size_t* length) {
bool result = false;
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
+-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- int fd = fd_.get();
- if (fd != -1)
- result = content::GetFontTable(fd, table, 0 /* offset */,
+ if (font_file_.IsValid()) {
+ result = content::GetFontTable(font_file_.GetPlatformFile(), table,
+ 0 /* offset */,
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 3c3263e4f493..1007670f896b 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,20 +1,20 @@
---- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig 2017-06-05 19:03:03 UTC
-+++ chrome/renderer/pepper/pepper_flash_font_file_host.h
+--- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig 2018-12-13 18:23:18.267950000 +0100
++++ chrome/renderer/pepper/pepper_flash_font_file_host.h 2018-12-13 18:24:04.656797000 +0100
@@ -14,7 +14,7 @@
#include "ppapi/c/private/pp_private_font_charset.h"
#include "ppapi/host/resource_host.h"
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/files/scoped_file.h"
+ #include "base/files/file.h"
#elif defined(OS_WIN)
#include "third_party/skia/include/core/SkRefCnt.h"
-@@ -50,7 +50,7 @@ class PepperFlashFontFileHost : public ppapi::host::Re
+@@ -50,7 +50,7 @@
uint32_t table);
bool GetFontData(uint32_t table, void* buffer, size_t* length);
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
+-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- base::ScopedFD fd_;
+ base::File font_file_;
#elif defined(OS_WIN)
sk_sp<SkTypeface> typeface_;
diff --git a/www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.cc b/www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.cc
index be73f8b9e594..22ffa2be465a 100644
--- a/www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.cc
+++ b/www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.cc
@@ -1,6 +1,46 @@
---- components/autofill/core/browser/autofill_experiments.cc.orig 2017-06-05 19:03:05 UTC
-+++ components/autofill/core/browser/autofill_experiments.cc
-@@ -153,7 +153,7 @@ unsigned int GetPopupMargin() {
+--- components/autofill/core/browser/autofill_experiments.cc.orig 2018-12-12 22:56:05.000000000 +0100
++++ components/autofill/core/browser/autofill_experiments.cc 2018-12-28 16:48:40.407244000 +0100
+@@ -27,7 +27,7 @@
+
+ namespace autofill {
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ namespace {
+ // Returns the font weight corresponding to the value of param
+ // kAutofillForcedFontWeightParameterName, or kDefault if the param is not
+@@ -45,9 +45,9 @@
+ return ForcedFontWeight::kDefault;
+ }
+ } // namespace
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ const base::Feature kAutofillDropdownLayoutExperiment{
+ "AutofillDropdownLayout", base::FEATURE_DISABLED_BY_DEFAULT};
+ const char kAutofillDropdownLayoutParameterName[] = "variant";
+@@ -55,15 +55,15 @@
+ const char kAutofillDropdownLayoutParameterTrailingIcon[] = "trailing-icon";
+ const char kAutofillDropdownLayoutParameterTwoLinesLeadingIcon[] =
+ "two-lines-leading-icon";
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ const base::Feature kAutofillPrimaryInfoStyleExperiment{
+ "AutofillPrimaryInfoStyleExperiment", base::FEATURE_DISABLED_BY_DEFAULT};
+ const char kAutofillForcedFontWeightParameterName[] = "font_weight";
+ const char kAutofillForcedFontWeightParameterMedium[] = "medium";
+ const char kAutofillForcedFontWeightParameterBold[] = "bold";
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+ bool IsCreditCardUploadEnabled(const PrefService* pref_service,
+ const syncer::SyncService* sync_service,
+@@ -152,7 +152,7 @@
}
bool OfferStoreUnmaskedCards() {
@@ -9,3 +49,32 @@
// The checkbox can be forced on with a flag, but by default we don't store
// on Linux due to lack of system keychain integration. See crbug.com/162735
return base::CommandLine::ForCurrentProcess()->HasSwitch(
+@@ -185,7 +185,7 @@
+ features::kAutofillGetPaymentsIdentityFromSync);
+ }
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ ForcedFontWeight GetForcedFontWeight() {
+ if (!base::FeatureList::IsEnabled(kAutofillPrimaryInfoStyleExperiment))
+ return ForcedFontWeight::kDefault;
+@@ -194,9 +194,9 @@
+ static ForcedFontWeight font_weight_from_param = GetFontWeightFromParam();
+ return font_weight_from_param;
+ }
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ ForcedPopupLayoutState GetForcedPopupLayoutState() {
+ if (!base::FeatureList::IsEnabled(
+ autofill::kAutofillDropdownLayoutExperiment))
+@@ -220,6 +220,6 @@
+ NOTREACHED();
+ return ForcedPopupLayoutState::kDefault;
+ }
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+ } // namespace autofill
diff --git a/www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.h b/www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.h
new file mode 100644
index 000000000000..e35e43ab520f
--- /dev/null
+++ b/www/chromium/files/patch-components_autofill_core_browser_autofill__experiments.h
@@ -0,0 +1,57 @@
+--- components/autofill/core/browser/autofill_experiments.h.orig 2018-12-28 16:46:01.899706000 +0100
++++ components/autofill/core/browser/autofill_experiments.h 2018-12-28 16:46:45.873415000 +0100
+@@ -23,20 +23,20 @@
+ namespace autofill {
+
+ // Parameterized Features (grouped with parameter name and options)
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ extern const base::Feature kAutofillDropdownLayoutExperiment;
+ extern const char kAutofillDropdownLayoutParameterName[];
+ extern const char kAutofillDropdownLayoutParameterLeadingIcon[];
+ extern const char kAutofillDropdownLayoutParameterTrailingIcon[];
+ extern const char kAutofillDropdownLayoutParameterTwoLinesLeadingIcon[];
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ extern const base::Feature kAutofillPrimaryInfoStyleExperiment;
+ extern const char kAutofillForcedFontWeightParameterName[];
+ extern const char kAutofillForcedFontWeightParameterMedium[];
+ extern const char kAutofillForcedFontWeightParameterBold[];
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+ // Returns true if uploading credit cards to Wallet servers is enabled. This
+ // requires the appropriate flags and user settings to be true and the user to
+@@ -66,7 +66,7 @@
+ // Returns whether the account of the active signed-in user should be used.
+ bool ShouldUseActiveSignedInAccount();
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ enum class ForcedFontWeight {
+ kDefault, // No change to the font weight.
+ kMedium,
+@@ -78,9 +78,9 @@
+ // kAutofillPrimaryInfoStyleExperiment is disabled or if the corresponding
+ // feature param is invalid.
+ ForcedFontWeight GetForcedFontWeight();
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+ enum class ForcedPopupLayoutState {
+ kDefault, // No popup layout forced by experiment.
+ kLeadingIcon, // Experiment forces leading (left in LTR) icon layout.
+@@ -94,7 +94,7 @@
+ // if the experiment param matches kAutofillDropdownLayoutParameterLeadingIcon
+ // or kAutofillDropdownLayoutParameterTrailingIcon, respectively.
+ ForcedPopupLayoutState GetForcedPopupLayoutState();
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+ } // namespace autofill
+
diff --git a/www/chromium/files/patch-components_autofill_strings.grdp b/www/chromium/files/patch-components_autofill_strings.grdp
index 0afe7db3c296..fa67b3b21bde 100644
--- a/www/chromium/files/patch-components_autofill_strings.grdp
+++ b/www/chromium/files/patch-components_autofill_strings.grdp
@@ -1,29 +1,11 @@
---- components/autofill_strings.grdp.orig 2018-08-01 00:08:37.000000000 +0200
-+++ components/autofill_strings.grdp 2018-08-04 17:51:10.986958000 +0200
-@@ -195,7 +195,7 @@
- <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_CONFIRM" desc="Text to show for the Autofill upload save credit card prompt accept button when more information (e.g., CVC) was needed in order to save the card and was entered.">
- Confirm
+--- components/autofill_strings.grdp.orig 2018-12-03 21:16:48.000000000 +0100
++++ components/autofill_strings.grdp 2018-12-13 18:27:15.969729000 +0100
+@@ -198,7 +198,7 @@
+ <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_LOCAL" desc="Title text for the Autofill save card prompt when the card is to be saved locally. The prompt can be either a bubble or an infobar.">
+ Save card?
</message>
- <if expr="is_linux and not chromeos">
+ <if expr="is_posix and not chromeos">
<then>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar.">
Do you want to save this card to your Google Account?
-@@ -213,7 +213,7 @@
- <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar.">
- Pay quickly on sites and apps across devices using cards you have saved with Google.
- </message>
-- <if expr="is_linux and not chromeos">
-+ <if expr="is_posix and not chromeos">
- <then>
- <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_V2" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, according to June 2017 UI guidelines. The prompt will be shown in a bubble below the omnibox.">
- To pay faster next time, save this card to your Google Account.
-@@ -225,7 +225,7 @@
- </message>
- </else>
- </if>
-- <if expr="is_linux and not chromeos">
-+ <if expr="is_posix and not chromeos">
- <then>
- <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_V3" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, according to April 2018 UI guidelines. The prompt will be shown in a bubble below the omnibox.">
- To pay faster next time, save your card and billing address to your Google Account.
diff --git a/www/chromium/files/patch-components_crash_content_app_BUILD.gn b/www/chromium/files/patch-components_crash_content_app_BUILD.gn
index c1fdab0f9c7e..f289a62c9280 100644
--- a/www/chromium/files/patch-components_crash_content_app_BUILD.gn
+++ b/www/chromium/files/patch-components_crash_content_app_BUILD.gn
@@ -1,5 +1,5 @@
---- components/crash/content/app/BUILD.gn.orig 2018-06-13 00:10:13.000000000 +0200
-+++ components/crash/content/app/BUILD.gn 2018-07-18 23:31:26.635837000 +0200
+--- components/crash/content/app/BUILD.gn.orig 2018-12-03 21:16:48.000000000 +0100
++++ components/crash/content/app/BUILD.gn 2018-12-13 18:52:20.920947000 +0100
@@ -36,7 +36,7 @@
sources += [ "crashpad.cc" ]
}
@@ -9,11 +9,12 @@
# Want these files on both Linux and Android.
set_sources_assignment_filter([])
sources += [
-@@ -73,7 +73,6 @@
+@@ -73,8 +73,6 @@
"//content/public/common:content_descriptors",
"//content/public/common:result_codes",
"//sandbox",
- "//third_party/breakpad:client",
+- "//third_party/crashpad/crashpad/snapshot",
]
+ }
- # Clang's -mstackrealign doesn't work well with
diff --git a/www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc b/www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc
index a9ad97c67ce8..cb164c4458c0 100644
--- a/www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc
+++ b/www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc
@@ -1,5 +1,5 @@
---- components/download/quarantine/quarantine_linux.cc.orig 2018-07-19 22:21:43.332341000 +0200
-+++ components/download/quarantine/quarantine_linux.cc 2018-07-19 22:24:04.361819000 +0200
+--- components/download/quarantine/quarantine_linux.cc.orig 2018-12-03 21:16:48.000000000 +0100
++++ components/download/quarantine/quarantine_linux.cc 2018-12-13 18:59:24.718194000 +0100
@@ -2,11 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -15,11 +15,11 @@
+#endif
#include "base/files/file_path.h"
- #include "base/files/file_util.h"
-@@ -29,17 +33,20 @@
+ #include "base/logging.h"
+@@ -24,12 +28,14 @@
size_t value_size,
int flags) {
- base::AssertBlockingAllowed();
+ base::ScopedBlockingCall scoped_blocking_call(base::BlockingType::MAY_BLOCK);
+#if !defined(OS_BSD)
int result = setxattr(path, name, value, value_size, flags);
if (result) {
@@ -27,23 +27,7 @@
<< path;
return false;
}
-+#endif
++#endif // defined(OS_BSD)
return true;
}
- std::string GetExtendedFileAttribute(const char* path, const char* name) {
- base::AssertBlockingAllowed();
-+#if !defined(OS_BSD)
- ssize_t len = getxattr(path, name, nullptr, 0);
- if (len <= 0)
- return std::string();
-@@ -49,6 +56,9 @@
- if (len < static_cast<ssize_t>(buffer.size()))
- return std::string();
- return std::string(buffer.begin(), buffer.end());
-+#else
-+ return std::string();
-+#endif
- }
-
- } // namespace
diff --git a/www/chromium/files/patch-components_download_quarantine_test_support_linux.cc b/www/chromium/files/patch-components_download_quarantine_test_support_linux.cc
new file mode 100644
index 000000000000..d6961733ca10
--- /dev/null
+++ b/www/chromium/files/patch-components_download_quarantine_test_support_linux.cc
@@ -0,0 +1,20 @@
+--- components/download/quarantine/test_support_linux.cc.orig 2018-12-13 19:01:53.437126000 +0100
++++ components/download/quarantine/test_support_linux.cc 2018-12-13 19:02:49.728978000 +0100
+@@ -22,6 +22,7 @@
+
+ std::string GetExtendedFileAttribute(const char* path, const char* name) {
+ base::AssertBlockingAllowed();
++#if !defined(OS_BSD)
+ ssize_t len = getxattr(path, name, nullptr, 0);
+ if (len <= 0)
+ return std::string();
+@@ -31,6 +32,9 @@
+ if (len < static_cast<ssize_t>(buffer.size()))
+ return std::string();
+ return std::string(buffer.begin(), buffer.end());
++#else
++ return std::string();
++#endif // !defined(OS_BSD)
+ }
+
+ } // namespace
diff --git a/www/chromium/files/patch-components_drive_drive__api__util.cc b/www/chromium/files/patch-components_drive_drive__api__util.cc
deleted file mode 100644
index cbd71400a515..000000000000
--- a/www/chromium/files/patch-components_drive_drive__api__util.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/drive/drive_api_util.cc.orig 2017-04-19 19:06:32 UTC
-+++ components/drive/drive_api_util.cc
-@@ -22,7 +22,11 @@
- #include "google_apis/drive/drive_api_parser.h"
- #include "net/base/escape.h"
- #include "net/base/net_errors.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "url/gurl.h"
-
- namespace drive {
diff --git a/www/chromium/files/patch-components_json__schema_json__schema__validator.cc b/www/chromium/files/patch-components_json__schema_json__schema__validator.cc
deleted file mode 100644
index 1df9422f6c1e..000000000000
--- a/www/chromium/files/patch-components_json__schema_json__schema__validator.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/json_schema/json_schema_validator.cc.orig 2017-04-19 19:06:32 UTC
-+++ components/json_schema/json_schema_validator.cc
-@@ -20,7 +20,11 @@
- #include "base/strings/stringprintf.h"
- #include "base/values.h"
- #include "components/json_schema/json_schema_constants.h"
-+#if defined(OS_BSD)
-+#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_os__crypt_os__crypt.h b/www/chromium/files/patch-components_os__crypt_os__crypt.h
index 95fb43e24e2e..a6f21221f7fe 100644
--- a/www/chromium/files/patch-components_os__crypt_os__crypt.h
+++ b/www/chromium/files/patch-components_os__crypt_os__crypt.h
@@ -1,47 +1,48 @@
---- components/os_crypt/os_crypt.h.orig 2017-09-05 21:05:17.000000000 +0200
-+++ components/os_crypt/os_crypt.h 2017-09-06 19:12:09.251431000 +0200
-@@ -14,9 +14,9 @@
+--- components/os_crypt/os_crypt.h.orig 2018-12-03 21:16:50.000000000 +0100
++++ components/os_crypt/os_crypt.h 2018-12-13 20:06:45.446679000 +0100
+@@ -15,9 +15,9 @@
#include "base/strings/string16.h"
#include "build/build_config.h"
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
class KeyStorageLinux;
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
-+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
+-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- namespace os_crypt {
- struct Config;
-@@ -28,13 +28,13 @@
+ #if defined(OS_MACOSX) && !defined(OS_IOS)
+ class PrefRegistrySimple;
+@@ -34,13 +34,13 @@
// true for Linux, if a password management tool is available.
class OSCrypt {
public:
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
// Set the configuration of OSCrypt.
- static void SetConfig(std::unique_ptr<os_crypt::Config> config);
-
- // Returns true iff the real secret key (not hardcoded one) is available.
- static bool IsEncryptionAvailable();
+ static COMPONENT_EXPORT(OS_CRYPT) void SetConfig(
+ std::unique_ptr<os_crypt::Config> config);
-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Encrypt a string16. The output (second argument) is really an array of
- // bytes, but we're passing it back as a std::string.
-@@ -67,7 +67,7 @@
+-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ // 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
+@@ -112,7 +112,7 @@
DISALLOW_IMPLICIT_CONSTRUCTORS(OSCrypt);
};
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
// 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.
-@@ -80,6 +80,6 @@
+@@ -127,6 +127,6 @@
// Clears any caching and most lazy initialisations performed by the production
// code. Should be used after any test which required a password.
- void ClearCacheForTesting();
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
-+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
+ COMPONENT_EXPORT(OS_CRYPT) void ClearCacheForTesting();
+-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
#endif // COMPONENTS_OS_CRYPT_OS_CRYPT_H_
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password_reuse_defines.h b/www/chromium/files/patch-components_password__manager_core_browser_password_reuse_defines.h
deleted file mode 100644
index d2a4470cdc91..000000000000
--- a/www/chromium/files/patch-components_password__manager_core_browser_password_reuse_defines.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/password_manager/core/browser/password_reuse_defines.h.orig 2018-03-20 23:05:22.000000000 +0100
-+++ components/password_manager/core/browser/password_reuse_defines.h 2018-03-24 13:50:16.794379000 +0100
-@@ -6,7 +6,7 @@
- #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_PASSWORD_REUSE_DEFINES_H_
-
- #if defined(OS_WIN) || (defined(OS_MACOSX) && !defined(OS_IOS)) || \
-- defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Enable the detection when the sync password is typed not on the sync domain.
- #define SYNC_PASSWORD_REUSE_DETECTION_ENABLED
- #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 5026d5aeaae8..49f03c90bd0a 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,6 @@
---- content/app/content_main_runner_impl.cc.orig 2018-08-01 00:08:43.000000000 +0200
-+++ content/app/content_main_runner_impl.cc 2018-08-04 18:50:49.262605000 +0200
-@@ -83,10 +83,10 @@
+--- content/app/content_main_runner_impl.cc.orig 2018-12-03 21:16:54.000000000 +0100
++++ content/app/content_main_runner_impl.cc 2018-12-13 20:19:01.539883000 +0100
+@@ -90,10 +90,10 @@
#include "base/posix/global_descriptors.h"
#include "content/public/common/content_descriptors.h"
@@ -13,16 +13,7 @@
#include "sandbox/linux/services/libc_interceptor.h"
#include "services/service_manager/zygote/zygote_main.h"
#endif
-@@ -150,7 +150,7 @@
- namespace content {
- extern int GpuMain(const content::MainFunctionParams&);
- #if BUILDFLAG(ENABLE_PLUGINS)
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- extern int PluginMain(const content::MainFunctionParams&);
- #endif
- extern int PpapiPluginMain(const MainFunctionParams&);
-@@ -722,11 +722,11 @@
+@@ -627,11 +627,11 @@
base::GlobalDescriptors::kBaseDescriptor);
#endif // !OS_ANDROID
diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn
index 698caaac8c56..ec12325d5faf 100644
--- a/www/chromium/files/patch-content_browser_BUILD.gn
+++ b/www/chromium/files/patch-content_browser_BUILD.gn
@@ -1,9 +1,9 @@
---- content/browser/BUILD.gn.orig 2018-08-01 00:08:43.000000000 +0200
-+++ content/browser/BUILD.gn 2018-08-04 21:53:48.299617000 +0200
-@@ -1802,11 +1802,6 @@
- "tracing/cros_tracing_agent.cc",
+--- content/browser/BUILD.gn.orig 2018-12-13 20:37:36.820277000 +0100
++++ content/browser/BUILD.gn 2018-12-13 20:38:05.546755000 +0100
+@@ -1889,11 +1889,6 @@
"tracing/cros_tracing_agent.h",
]
+ deps += [ "//chromeos/resources" ]
- } else {
- sources += [
- "memory/memory_monitor_linux.cc",
diff --git a/www/chromium/files/patch-content_browser_background_fetch_background_fetch_context.cc b/www/chromium/files/patch-content_browser_background_fetch_background_fetch_context.cc
deleted file mode 100644
index 3e6df5544b5e..000000000000
--- a/www/chromium/files/patch-content_browser_background_fetch_background_fetch_context.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- content/browser/background_fetch/background_fetch_context.cc.orig 2018-08-06 00:37:02.712040000 +0200
-+++ content/browser/background_fetch/background_fetch_context.cc 2018-08-06 01:03:47.477355000 +0200
-@@ -218,7 +218,8 @@
-
- scheduler_->AddJobController(controller.get());
-
-- job_controllers_.insert({unique_id, std::move(controller)});
-+ auto pair = std::make_pair(unique_id, std::move(controller));
-+ job_controllers_.insert(std::move(pair));
- std::move(done_closure).Run();
- }
-
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
new file mode 100644
index 000000000000..785985154db1
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
@@ -0,0 +1,29 @@
+--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2018-12-12 22:56:07.000000000 +0100
++++ content/browser/scheduler/responsiveness/native_event_observer.cc 2018-12-29 17:27:50.449973000 +0100
+@@ -17,7 +17,7 @@
+
+ #include "ui/events/platform/platform_event_source.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "ui/aura/env.h"
+ #include "ui/events/event.h"
+ #endif
+@@ -29,7 +29,7 @@
+ namespace content {
+ namespace responsiveness {
+
+-#if defined(OS_WIN) || (defined(OS_LINUX) && defined(USE_X11))
++#if defined(OS_WIN) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_X11))
+
+ namespace {
+
+@@ -64,7 +64,7 @@
+ DeregisterObserver();
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void NativeEventObserver::RegisterObserver() {
+ aura::Env::GetInstance()->AddWindowEventDispatcherObserver(this);
+ }
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
new file mode 100644
index 000000000000..da769ebf4840
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
@@ -0,0 +1,47 @@
+--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2018-12-12 22:56:07.000000000 +0100
++++ content/browser/scheduler/responsiveness/native_event_observer.h 2018-12-30 00:51:50.166518000 +0100
+@@ -15,7 +15,7 @@
+ #include "content/public/browser/native_event_processor_observer_mac.h"
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "ui/aura/window_event_dispatcher_observer.h"
+ #endif
+
+@@ -40,7 +40,7 @@
+ class CONTENT_EXPORT NativeEventObserver
+ #if defined(OS_MACOSX)
+ : public NativeEventProcessorObserver
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ : public aura::WindowEventDispatcherObserver
+ #elif defined(OS_WIN)
+ : public base::MessagePumpForUI::Observer
+@@ -60,7 +60,7 @@
+ NativeEventObserver(WillRunEventCallback will_run_event_callback,
+ DidRunEventCallback did_run_event_callback);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ ~NativeEventObserver() override;
+ #else
+ virtual ~NativeEventObserver();
+@@ -73,7 +73,7 @@
+ void WillRunNativeEvent(const void* opaque_identifier) override;
+ void DidRunNativeEvent(const void* opaque_identifier,
+ base::TimeTicks creation_time) override;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ // aura::WindowEventDispatcherObserver overrides:
+ void OnWindowEventDispatcherStartedProcessing(
+ aura::WindowEventDispatcher* dispatcher,
+@@ -90,7 +90,7 @@
+ void RegisterObserver();
+ void DeregisterObserver();
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ struct EventInfo {
+ const void* unique_id;
+ base::TimeTicks creation_time;
diff --git a/www/chromium/files/patch-content_browser_webui_web_ui_data_source_impl.cc b/www/chromium/files/patch-content_browser_webui_web_ui_data_source_impl.cc
deleted file mode 100644
index 384527871162..000000000000
--- a/www/chromium/files/patch-content_browser_webui_web_ui_data_source_impl.cc
+++ /dev/null
@@ -1,69 +0,0 @@
---- content/browser/webui/web_ui_data_source_impl.cc.orig 2018-07-19 22:40:51.613006000 +0200
-+++ content/browser/webui/web_ui_data_source_impl.cc 2018-07-19 22:47:18.163395000 +0200
-@@ -112,24 +112,24 @@
- WebUIDataSourceImpl::~WebUIDataSourceImpl() {
- }
-
--void WebUIDataSourceImpl::AddString(base::StringPiece name,
-+void WebUIDataSourceImpl::AddString(const std::string& name,
- const base::string16& value) {
- // TODO(dschuyler): Share only one copy of these strings.
- localized_strings_.SetKey(name, base::Value(value));
-- replacements_[name.as_string()] = base::UTF16ToUTF8(value);
-+ replacements_[name] = base::UTF16ToUTF8(value);
- }
-
--void WebUIDataSourceImpl::AddString(base::StringPiece name,
-+void WebUIDataSourceImpl::AddString(const std::string& name,
- const std::string& value) {
- localized_strings_.SetKey(name, base::Value(value));
-- replacements_[name.as_string()] = value;
-+ replacements_[name] = value;
- }
-
--void WebUIDataSourceImpl::AddLocalizedString(base::StringPiece name, int ids) {
-+void WebUIDataSourceImpl::AddLocalizedString(const std::string& name, int ids) {
- std::string utf8_str =
- base::UTF16ToUTF8(GetContentClient()->GetLocalizedString(ids));
- localized_strings_.SetKey(name, base::Value(utf8_str));
-- replacements_[name.as_string()] = utf8_str;
-+ replacements_[name] = utf8_str;
- }
-
- void WebUIDataSourceImpl::AddLocalizedStrings(
-@@ -139,7 +139,7 @@
- &replacements_);
- }
-
--void WebUIDataSourceImpl::AddBoolean(base::StringPiece name, bool value) {
-+void WebUIDataSourceImpl::AddBoolean(const std::string& name, bool value) {
- localized_strings_.SetBoolean(name, value);
- // TODO(dschuyler): Change name of |localized_strings_| to |load_time_data_|
- // or similar. These values haven't been found as strings for
-@@ -148,21 +148,21 @@
- // replacements.
- }
-
--void WebUIDataSourceImpl::AddInteger(base::StringPiece name, int32_t value) {
-+void WebUIDataSourceImpl::AddInteger(const std::string& name, int32_t value) {
- localized_strings_.SetInteger(name, value);
- }
-
--void WebUIDataSourceImpl::SetJsonPath(base::StringPiece path) {
-+void WebUIDataSourceImpl::SetJsonPath(const std::string& path) {
- DCHECK(json_path_.empty());
- DCHECK(!path.empty());
-
-- json_path_ = path.as_string();
-+ json_path_ = path;
- excluded_paths_.insert(json_path_);
- }
-
--void WebUIDataSourceImpl::AddResourcePath(base::StringPiece path,
-+void WebUIDataSourceImpl::AddResourcePath(const std::string &path,
- int resource_id) {
-- path_to_idr_map_[path.as_string()] = resource_id;
-+ path_to_idr_map_[path] = resource_id;
- }
-
- void WebUIDataSourceImpl::SetDefaultResource(int resource_id) {
diff --git a/www/chromium/files/patch-content_browser_webui_web_ui_data_source_impl.h b/www/chromium/files/patch-content_browser_webui_web_ui_data_source_impl.h
deleted file mode 100644
index a1f1441e3a7b..000000000000
--- a/www/chromium/files/patch-content_browser_webui_web_ui_data_source_impl.h
+++ /dev/null
@@ -1,25 +0,0 @@
---- content/browser/webui/web_ui_data_source_impl.h.orig 2018-07-19 22:41:03.715788000 +0200
-+++ content/browser/webui/web_ui_data_source_impl.h 2018-07-19 22:49:20.849552000 +0200
-@@ -30,15 +30,15 @@
- public WebUIDataSource {
- public:
- // WebUIDataSource implementation:
-- void AddString(base::StringPiece name, const base::string16& value) override;
-- void AddString(base::StringPiece name, const std::string& value) override;
-- void AddLocalizedString(base::StringPiece name, int ids) override;
-+ void AddString(const std::string& name, const base::string16& value) override;
-+ void AddString(const std::string& name, const std::string& value) override;
-+ void AddLocalizedString(const std::string& name, int ids) override;
- void AddLocalizedStrings(
- const base::DictionaryValue& localized_strings) override;
-- void AddBoolean(base::StringPiece name, bool value) override;
-- void AddInteger(base::StringPiece name, int32_t value) override;
-- void SetJsonPath(base::StringPiece path) override;
-- void AddResourcePath(base::StringPiece path, int resource_id) override;
-+ void AddBoolean(const std::string& name, bool value) override;
-+ void AddInteger(const std::string& name, int32_t value) override;
-+ void SetJsonPath(const std::string& path) override;
-+ void AddResourcePath(const std::string& path, int resource_id) override;
- void SetDefaultResource(int resource_id) override;
- void SetRequestFilter(
- const WebUIDataSource::HandleRequestCallback& callback) override;
diff --git a/www/chromium/files/patch-content_browser_webui_web_ui_impl.cc b/www/chromium/files/patch-content_browser_webui_web_ui_impl.cc
deleted file mode 100644
index 5f95a35d8bab..000000000000
--- a/www/chromium/files/patch-content_browser_webui_web_ui_impl.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- content/browser/webui/web_ui_impl.cc.orig 2018-07-19 22:41:18.526274000 +0200
-+++ content/browser/webui/web_ui_impl.cc 2018-07-19 22:50:47.735965000 +0200
-@@ -247,9 +247,9 @@
- ExecuteJavascript(GetJavascriptCall(function_name, args));
- }
-
--void WebUIImpl::RegisterMessageCallback(base::StringPiece message,
-+void WebUIImpl::RegisterMessageCallback(const std::string &message,
- const MessageCallback& callback) {
-- message_callbacks_.emplace(message, callback);
-+ message_callbacks_.insert(std::make_pair(message, callback));
- }
-
- void WebUIImpl::ProcessWebUIMessage(const GURL& source_url,
diff --git a/www/chromium/files/patch-content_browser_webui_web_ui_impl.h b/www/chromium/files/patch-content_browser_webui_web_ui_impl.h
deleted file mode 100644
index 3fdc1a8d2d00..000000000000
--- a/www/chromium/files/patch-content_browser_webui_web_ui_impl.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/webui/web_ui_impl.h.orig 2018-07-19 22:41:27.362717000 +0200
-+++ content/browser/webui/web_ui_impl.h 2018-07-19 22:51:17.719203000 +0200
-@@ -52,7 +52,7 @@
- int GetBindings() const override;
- void SetBindings(int bindings) override;
- void AddMessageHandler(std::unique_ptr<WebUIMessageHandler> handler) override;
-- void RegisterMessageCallback(base::StringPiece message,
-+ void RegisterMessageCallback(const std::string& message,
- const MessageCallback& callback) override;
- void ProcessWebUIMessage(const GURL& source_url,
- const std::string& message,
diff --git a/www/chromium/files/patch-content_common_view__messages.h b/www/chromium/files/patch-content_common_view__messages.h
deleted file mode 100644
index e70a51653ac4..000000000000
--- a/www/chromium/files/patch-content_common_view__messages.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/common/view_messages.h.orig 2017-06-05 19:03:07 UTC
-+++ content/common/view_messages.h
-@@ -245,7 +245,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::RendererPreferences)
- IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed)
- IPC_STRUCT_TRAITS_MEMBER(use_video_overlay_for_embedded_encrypted_video)
- IPC_STRUCT_TRAITS_MEMBER(network_contry_iso)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(system_font_family_name)
- #endif
- #if defined(OS_WIN)
diff --git a/www/chromium/files/patch-content_gpu_gpu__main.cc b/www/chromium/files/patch-content_gpu_gpu__main.cc
index ad458367a988..6785369f664a 100644
--- a/www/chromium/files/patch-content_gpu_gpu__main.cc
+++ b/www/chromium/files/patch-content_gpu_gpu__main.cc
@@ -1,15 +1,15 @@
---- content/gpu/gpu_main.cc.orig 2018-02-24 16:25:14.000000000 +0100
-+++ content/gpu/gpu_main.cc 2018-03-04 01:23:12.209864000 +0100
-@@ -76,7 +76,7 @@
- #include "ui/gfx/x/x11_switches.h" // nogncheck
+--- content/gpu/gpu_main.cc.orig 2018-12-03 21:16:56.000000000 +0100
++++ content/gpu/gpu_main.cc 2018-12-13 21:10:56.227630000 +0100
+@@ -77,7 +77,7 @@
+ #include "ui/gfx/x/x11_switches.h" // nogncheck
#endif
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "content/common/font_config_ipc_linux.h"
#include "content/gpu/gpu_sandbox_hook_linux.h"
- #include "content/public/common/common_sandbox_support_linux.h"
-@@ -102,7 +102,7 @@
+ #include "content/public/common/sandbox_init.h"
+ #include "services/service_manager/sandbox/linux/sandbox_linux.h"
+@@ -110,7 +110,7 @@
namespace {
@@ -18,7 +18,7 @@
bool StartSandboxLinux(gpu::GpuWatchdogThread*,
const gpu::GPUInfo*,
const gpu::GpuPreferences&);
-@@ -163,7 +163,7 @@
+@@ -171,7 +171,7 @@
bool EnsureSandboxInitialized(gpu::GpuWatchdogThread* watchdog_thread,
const gpu::GPUInfo* gpu_info,
const gpu::GpuPreferences& gpu_prefs) override {
@@ -27,7 +27,7 @@
return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs);
#elif defined(OS_WIN)
return StartSandboxWindows(sandbox_info_);
-@@ -340,7 +340,7 @@
+@@ -361,7 +361,7 @@
namespace {
@@ -36,7 +36,7 @@
bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread,
const gpu::GPUInfo* gpu_info,
const gpu::GpuPreferences& gpu_prefs) {
-@@ -378,7 +378,7 @@
+@@ -396,7 +396,7 @@
return res;
}
diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
new file mode 100644
index 000000000000..b6f57f8b006d
--- /dev/null
+++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
@@ -0,0 +1,29 @@
+--- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2018-12-29 00:39:49.705019000 +0100
++++ content/ppapi_plugin/ppapi_blink_platform_impl.cc 2018-12-29 00:41:23.442527000 +0100
+@@ -40,7 +40,7 @@
+
+ class PpapiBlinkPlatformImpl::SandboxSupport : public WebSandboxSupport {
+ public:
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ explicit SandboxSupport(sk_sp<font_service::FontLoader> font_loader)
+ : font_loader_(std::move(font_loader)) {}
+ #endif
+@@ -48,7 +48,7 @@
+
+ #if defined(OS_MACOSX)
+ bool LoadFont(CTFontRef srcFont, CGFontRef* out, uint32_t* fontID) override;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ SandboxSupport();
+ void GetFallbackFontForCharacter(
+ WebUChar32 character,
+@@ -140,7 +140,7 @@
+ #endif // !defined(OS_ANDROID) && !defined(OS_WIN)
+
+ PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ font_loader_ =
+ sk_make_sp<font_service::FontLoader>(ChildThread::Get()->GetConnector());
+ SkFontConfigInterface::SetGlobal(font_loader_);
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
new file mode 100644
index 000000000000..8d5c0dd793b1
--- /dev/null
+++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
@@ -0,0 +1,20 @@
+--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2018-12-29 00:40:09.590096000 +0100
++++ content/ppapi_plugin/ppapi_blink_platform_impl.h 2018-12-29 00:41:23.439801000 +0100
+@@ -13,7 +13,7 @@
+ #include "build/build_config.h"
+ #include "content/child/blink_platform_impl.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "components/services/font/public/cpp/font_loader.h"
+ #include "third_party/skia/include/core/SkRefCnt.h"
+ #endif
+@@ -47,7 +47,7 @@
+ std::unique_ptr<SandboxSupport> sandbox_support_;
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ sk_sp<font_service::FontLoader> font_loader_;
+ #endif
+
diff --git a/www/chromium/files/patch-content_public_browser_web_ui.h b/www/chromium/files/patch-content_public_browser_web_ui.h
deleted file mode 100644
index 900db61288d8..000000000000
--- a/www/chromium/files/patch-content_public_browser_web_ui.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- content/public/browser/web_ui.h.orig 2018-07-20 15:49:47.533832000 +0200
-+++ content/public/browser/web_ui.h 2018-07-20 15:50:46.750401000 +0200
-@@ -9,7 +9,6 @@
-
- #include "base/callback.h"
- #include "base/strings/string16.h"
--#include "base/strings/string_piece.h"
- #include "content/common/content_export.h"
- #include "ui/base/page_transition_types.h"
-
-@@ -73,7 +72,7 @@
- // Used by WebUIMessageHandlers. If the given message is already registered,
- // the call has no effect.
- using MessageCallback = base::RepeatingCallback<void(const base::ListValue*)>;
-- virtual void RegisterMessageCallback(base::StringPiece message,
-+ virtual void RegisterMessageCallback(const std::string& message,
- const MessageCallback& callback) = 0;
-
- // This is only needed if an embedder overrides handling of a WebUIMessage and
diff --git a/www/chromium/files/patch-content_public_browser_web_ui_data_source.h b/www/chromium/files/patch-content_public_browser_web_ui_data_source.h
deleted file mode 100644
index 7451607d73ad..000000000000
--- a/www/chromium/files/patch-content_public_browser_web_ui_data_source.h
+++ /dev/null
@@ -1,51 +0,0 @@
---- content/public/browser/web_ui_data_source.h.orig 2018-07-20 15:50:02.520469000 +0200
-+++ content/public/browser/web_ui_data_source.h 2018-07-20 15:53:16.811577000 +0200
-@@ -13,7 +13,6 @@
-
- #include "base/callback.h"
- #include "base/strings/string16.h"
--#include "base/strings/string_piece.h"
- #include "content/common/content_export.h"
-
- namespace base {
-@@ -45,33 +44,33 @@
- std::unique_ptr<base::DictionaryValue> update);
-
- // Adds a string keyed to its name to our dictionary.
-- virtual void AddString(base::StringPiece name,
-+ virtual void AddString(const std::string& name,
- const base::string16& value) = 0;
-
- // Adds a string keyed to its name to our dictionary.
-- virtual void AddString(base::StringPiece name, const std::string& value) = 0;
-+ virtual void AddString(const std::string& name, const std::string& value) = 0;
-
- // Adds a localized string with resource |ids| keyed to its name to our
- // dictionary.
-- virtual void AddLocalizedString(base::StringPiece name, int ids) = 0;
-+ virtual void AddLocalizedString(const std::string& name, int ids) = 0;
-
- // Add strings from |localized_strings| to our dictionary.
- virtual void AddLocalizedStrings(
- const base::DictionaryValue& localized_strings) = 0;
-
- // Adds a boolean keyed to its name to our dictionary.
-- virtual void AddBoolean(base::StringPiece name, bool value) = 0;
-+ virtual void AddBoolean(const std::string& name, bool value) = 0;
-
- // Adds a signed 32-bit integer keyed to its name to our dictionary. Larger
- // integers may not be exactly representable in JavaScript. See
- // MAX_SAFE_INTEGER in /v8/src/globals.h.
-- virtual void AddInteger(base::StringPiece name, int32_t value) = 0;
-+ virtual void AddInteger(const std::string& name, int32_t value) = 0;
-
- // Sets the path which will return the JSON strings.
-- virtual void SetJsonPath(base::StringPiece path) = 0;
-+ virtual void SetJsonPath(const std::string& path) = 0;
-
- // Adds a mapping between a path name and a resource to return.
-- virtual void AddResourcePath(base::StringPiece path, int resource_id) = 0;
-+ virtual void AddResourcePath(const std::string& path, int resource_id) = 0;
-
- // Sets the resource to returned when no other paths match.
- virtual void SetDefaultResource(int resource_id) = 0;
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
new file mode 100644
index 000000000000..605c82522197
--- /dev/null
+++ b/www/chromium/files/patch-content_public_common_common__param__traits__macros.h
@@ -0,0 +1,11 @@
+--- content/public/common/common_param_traits_macros.h.orig 2018-12-13 21:04:53.822520000 +0100
++++ content/public/common/common_param_traits_macros.h 2018-12-13 21:05:25.292903000 +0100
+@@ -321,7 +321,7 @@
+ IPC_STRUCT_TRAITS_MEMBER(disable_client_blocked_error_page)
+ IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed)
+ IPC_STRUCT_TRAITS_MEMBER(network_contry_iso)
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ IPC_STRUCT_TRAITS_MEMBER(system_font_family_name)
+ #endif
+ #if defined(OS_WIN)
diff --git a/www/chromium/files/patch-content_renderer_input_input_event_prediction.cc b/www/chromium/files/patch-content_renderer_input_input_event_prediction.cc
deleted file mode 100644
index 26e848597c76..000000000000
--- a/www/chromium/files/patch-content_renderer_input_input_event_prediction.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- content/renderer/input/input_event_prediction.cc.orig 2018-08-06 10:06:45.824140000 +0200
-+++ content/renderer/input/input_event_prediction.cc 2018-08-06 10:09:29.835896000 +0200
-@@ -119,7 +119,8 @@
- if (predictor != pointer_id_predictor_map_.end()) {
- predictor->second->Update(data);
- } else {
-- pointer_id_predictor_map_.insert({event.id, SetUpPredictor()});
-+ auto pair = std::make_pair(event.id, SetUpPredictor());
-+ pointer_id_predictor_map_.insert(std::move(pair));
- pointer_id_predictor_map_[event.id]->Update(data);
- }
- }
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 8ef7609e8c05..ca77db2f8590 100644
--- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc
+++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc
@@ -1,7 +1,7 @@
---- content/renderer/render_thread_impl.cc.orig 2018-08-01 00:08:45.000000000 +0200
-+++ content/renderer/render_thread_impl.cc 2018-08-04 19:38:18.130085000 +0200
-@@ -199,12 +199,21 @@
- #include "content/common/external_ipc_dumper.h"
+--- content/renderer/render_thread_impl.cc.orig 2018-12-03 21:16:57.000000000 +0100
++++ content/renderer/render_thread_impl.cc 2018-12-13 21:23:23.111245000 +0100
+@@ -192,12 +192,21 @@
+ #include "mojo/public/cpp/bindings/message_dumper.h"
#endif
+#if !defined(OS_BSD)
@@ -22,7 +22,7 @@
using base::ThreadRestrictions;
using blink::WebDocument;
using blink::WebFrame;
-@@ -1002,7 +1011,7 @@
+@@ -932,7 +941,7 @@
DCHECK(parsed_num_raster_threads) << string_value;
DCHECK_GT(num_raster_threads, 0);
@@ -31,7 +31,7 @@
categorized_worker_pool_->SetBackgroundingCallback(
main_thread_scheduler_->DefaultTaskRunner(),
base::BindOnce(
-@@ -1043,7 +1052,7 @@
+@@ -973,7 +982,7 @@
GetConnector()->BindInterface(mojom::kBrowserServiceName,
mojo::MakeRequest(&storage_partition_service_));
@@ -40,16 +40,7 @@
render_message_filter()->SetThreadPriority(
ChildProcess::current()->io_thread_id(), base::ThreadPriority::DISPLAY);
#endif
-@@ -1248,7 +1257,7 @@
- false));
- GetContentClient()->renderer()->PostCompositorThreadCreated(
- compositor_task_runner_.get());
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- render_message_filter()->SetThreadPriority(compositor_thread_->ThreadId(),
- base::ThreadPriority::DISPLAY);
- #endif
-@@ -1485,7 +1494,7 @@
+@@ -1331,11 +1340,11 @@
gpu::kGpuFeatureStatusEnabled);
const bool enable_gpu_memory_buffers =
!is_gpu_compositing_disabled_ &&
@@ -58,3 +49,8 @@
!cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames);
#else
cmd_line->HasSwitch(switches::kEnableGpuMemoryBufferVideoFrames);
+-#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN)
++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ const bool enable_media_stream_gpu_memory_buffers =
+ enable_gpu_memory_buffers &&
+ base::FeatureList::IsEnabled(
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 86bea927e1d2..3e1206027bee 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,6 +1,6 @@
---- content/renderer/renderer_blink_platform_impl.cc.orig 2018-06-13 00:10:17.000000000 +0200
-+++ content/renderer/renderer_blink_platform_impl.cc 2018-07-19 13:00:02.053483000 +0200
-@@ -136,7 +136,7 @@
+--- content/renderer/renderer_blink_platform_impl.cc.orig 2018-12-03 21:16:57.000000000 +0100
++++ content/renderer/renderer_blink_platform_impl.cc 2018-12-13 21:57:40.197655000 +0100
+@@ -119,7 +119,7 @@
#if defined(OS_POSIX)
#include "base/file_descriptor_posix.h"
@@ -9,34 +9,34 @@
#include <map>
#include <string>
-@@ -249,7 +249,7 @@
- scoped_refptr<mojom::ThreadSafeFileUtilitiesHostPtr> file_utilities_host_;
- };
+@@ -197,7 +197,7 @@
+
+ //------------------------------------------------------------------------------
-#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA)
+#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
class RendererBlinkPlatformImpl::SandboxSupport
: public blink::WebSandboxSupport {
public:
-@@ -293,7 +293,7 @@
- default_task_runner_(main_thread_scheduler->DefaultTaskRunner()),
- web_scrollbar_behavior_(new WebScrollbarBehaviorImpl),
- main_thread_scheduler_(main_thread_scheduler) {
+@@ -268,7 +268,7 @@
+ connector_ = service_manager::Connector::Create(&request);
+ }
+
-#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA)
+#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
if (g_sandbox_enabled && sandboxEnabled()) {
- sandbox_support_.reset(new RendererBlinkPlatformImpl::SandboxSupport);
- } else {
-@@ -341,7 +341,7 @@
+ #if defined(OS_MACOSX)
+ sandbox_support_.reset(new RendererBlinkPlatformImpl::SandboxSupport());
+@@ -297,7 +297,7 @@
}
void RendererBlinkPlatformImpl::Shutdown() {
-#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA)
+#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
- // SandboxSupport contains a map of WebFallbackFont objects, which hold
+ // SandboxSupport contains a map of OutOfProcessFont objects, which hold
// WebStrings and WebVectors, which become invalidated when blink is shut
// down. Hence, we need to clear that map now, just before blink::shutdown()
-@@ -449,7 +449,7 @@
+@@ -391,7 +391,7 @@
}
blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
@@ -45,12 +45,12 @@
// These platforms do not require sandbox support.
return NULL;
#else
-@@ -657,7 +657,7 @@
+@@ -591,7 +591,7 @@
return content::LoadFont(src_font, out, font_id);
}
--#elif defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_FUCHSIA)
-+#elif defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+-#elif defined(OS_POSIX) && !defined(OS_ANDROID)
++#elif defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_BSD)
void RendererBlinkPlatformImpl::SandboxSupport::GetFallbackFontForCharacter(
blink::WebUChar32 character,
diff --git a/www/chromium/files/patch-content_renderer_renderer_main.cc b/www/chromium/files/patch-content_renderer_renderer_main.cc
deleted file mode 100644
index 163e6d46450c..000000000000
--- a/www/chromium/files/patch-content_renderer_renderer_main.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/renderer/renderer_main.cc.orig 2018-08-01 00:08:45.000000000 +0200
-+++ content/renderer/renderer_main.cc 2018-08-04 19:44:52.562529000 +0200
-@@ -218,7 +218,7 @@
- InitializeWebRtcModule();
-
- {
--#if defined(OS_WIN) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD)
- // TODO(markus): Check if it is OK to unconditionally move this
- // instruction down.
- auto render_process = RenderProcessImpl::Create();
-@@ -228,7 +228,7 @@
- bool run_loop = true;
- if (!no_sandbox)
- run_loop = platform.EnableSandbox();
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- auto render_process = RenderProcessImpl::Create();
- RenderThreadImpl::Create(std::move(main_message_loop),
- std::move(main_thread_scheduler));
diff --git a/www/chromium/files/patch-content_renderer_webscrollbarbehavior__impl__aura.cc b/www/chromium/files/patch-content_renderer_webscrollbarbehavior__impl__aura.cc
deleted file mode 100644
index 661be8d4d4d4..000000000000
--- a/www/chromium/files/patch-content_renderer_webscrollbarbehavior__impl__aura.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/renderer/webscrollbarbehavior_impl_aura.cc.orig 2017-06-05 19:03:07 UTC
-+++ content/renderer/webscrollbarbehavior_impl_aura.cc
-@@ -14,7 +14,7 @@ bool WebScrollbarBehaviorImpl::ShouldCenterOnThumb(
- blink::WebPointerProperties::Button mouseButton,
- bool shiftKeyPressed,
- bool altKeyPressed) {
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- if (mouseButton == blink::WebPointerProperties::Button::kMiddle)
- return true;
- #endif
-@@ -29,7 +29,7 @@ bool WebScrollbarBehaviorImpl::ShouldSnapBackToDragOri
- // Disable snapback on desktop Linux to better integrate with the desktop
- // behavior. Typically, Linux apps do not implement scrollbar snapback (this is
- // true for at least GTK and QT apps).
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- return false;
- #endif
-
diff --git a/www/chromium/files/patch-extensions_common_image__util.cc b/www/chromium/files/patch-extensions_common_image__util.cc
index 823b32ff5d40..574969936fe4 100644
--- a/www/chromium/files/patch-extensions_common_image__util.cc
+++ b/www/chromium/files/patch-extensions_common_image__util.cc
@@ -1,6 +1,6 @@
---- extensions/common/image_util.cc.orig 2017-04-19 19:06:34 UTC
-+++ extensions/common/image_util.cc
-@@ -11,7 +11,11 @@
+--- extensions/common/image_util.cc.orig 2018-12-03 21:16:58.000000000 +0100
++++ extensions/common/image_util.cc 2018-12-13 23:08:46.488425000 +0100
+@@ -13,7 +13,11 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
@@ -9,6 +9,6 @@
+#else
#include "third_party/re2/src/re2/re2.h"
+#endif
+ #include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/utils/SkParse.h"
- #include "ui/gfx/color_utils.h"
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
new file mode 100644
index 000000000000..4668b644548d
--- /dev/null
+++ b/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc
@@ -0,0 +1,11 @@
+--- extensions/renderer/bindings/api_binding_util.cc.orig 2018-12-12 22:56:08.000000000 +0100
++++ extensions/renderer/bindings/api_binding_util.cc 2018-12-30 03:38:04.191665000 +0100
+@@ -129,6 +129,8 @@
+ return "mac";
+ #elif defined(OS_WIN)
+ return "win";
++#elif defined(OS_BSD)
++ return "bsd";
+ #else
+ NOTREACHED();
+ return std::string();
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
index bb49bb75a31e..aa81909679fd 100644
--- a/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc
@@ -1,14 +1,14 @@
---- gpu/command_buffer/service/program_manager.cc.orig 2017-04-19 19:06:34 UTC
-+++ gpu/command_buffer/service/program_manager.cc
-@@ -31,7 +31,11 @@
+--- gpu/command_buffer/service/program_manager.cc.orig 2018-12-03 21:16:59.000000000 +0100
++++ gpu/command_buffer/service/program_manager.cc 2018-12-13 23:16:40.689817000 +0100
+@@ -30,7 +30,11 @@
#include "gpu/command_buffer/service/program_cache.h"
- #include "gpu/command_buffer/service/progress_reporter.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"
- using base::TimeDelta;
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h
index 39afba760057..626c7c1a749a 100644
--- a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h
+++ b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h
@@ -1,9 +1,9 @@
---- headless/lib/browser/headless_content_browser_client.h.orig 2017-09-05 21:05:20.000000000 +0200
-+++ headless/lib/browser/headless_content_browser_client.h 2017-09-06 20:33:27.212197000 +0200
-@@ -30,7 +30,7 @@
+--- headless/lib/browser/headless_content_browser_client.h.orig 2018-12-03 21:16:59.000000000 +0100
++++ headless/lib/browser/headless_content_browser_client.h 2018-12-13 23:21:30.880956000 +0100
+@@ -32,7 +32,7 @@
content::BrowserContext* context,
content::StoragePartition* partition,
- storage::OptionalQuotaSettingsCallback callback) override;
+ ::storage::OptionalQuotaSettingsCallback callback) override;
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
void GetAdditionalMappedFilesForChildProcess(
diff --git a/www/chromium/files/patch-headless_lib_headless__macros.h b/www/chromium/files/patch-headless_lib_headless__macros.h
index 952fc745b5fa..d585fe4707f6 100644
--- a/www/chromium/files/patch-headless_lib_headless__macros.h
+++ b/www/chromium/files/patch-headless_lib_headless__macros.h
@@ -1,13 +1,13 @@
---- headless/lib/headless_macros.h.orig 2017-12-15 02:04:19.000000000 +0100
-+++ headless/lib/headless_macros.h 2017-12-24 16:44:30.147915000 +0100
+--- headless/lib/headless_macros.h.orig 2018-12-03 21:16:59.000000000 +0100
++++ headless/lib/headless_macros.h 2018-12-13 23:26:22.473345000 +0100
@@ -7,8 +7,8 @@
#include "build/build_config.h"
--#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_FUCHSIA)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+-#if defined(OS_POSIX) && !defined(OS_MACOSX)
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
#define HEADLESS_USE_BREAKPAD
--#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_FUCHSIA)
-+#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+-#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
++#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
#endif // HEADLESS_LIB_HEADLESS_MACROS_H_
diff --git a/www/chromium/files/patch-media_base_scopedfd__helper.h b/www/chromium/files/patch-media_base_scopedfd__helper.h
new file mode 100644
index 000000000000..1eb615153dfb
--- /dev/null
+++ b/www/chromium/files/patch-media_base_scopedfd__helper.h
@@ -0,0 +1,19 @@
+--- media/base/scopedfd_helper.h.orig 2018-12-12 22:56:08.000000000 +0100
++++ media/base/scopedfd_helper.h 2018-12-16 13:21:03.268137000 +0100
+@@ -14,14 +14,14 @@
+ // since the only current user is V4L2 we are limiting the scope to OS_LINUX so
+ // the binary size does not inflate on non-using systems. Feel free to adapt
+ // this and BUILD.gn as our needs evolve.
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+
+ // Return a new vector containing duplicates of |fds|, or an empty vector in
+ // case of error.
+ MEDIA_EXPORT std::vector<base::ScopedFD> DuplicateFDs(
+ const std::vector<base::ScopedFD>& fds);
+
+-#endif // OS_LINUX
++#endif // OS_LINUX || 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 a94e47a3e1bc..bb97df4e5e46 100644
--- a/www/chromium/files/patch-media_base_video__frame.cc
+++ b/www/chromium/files/patch-media_base_video__frame.cc
@@ -1,6 +1,6 @@
---- media/base/video_frame.cc.orig 2017-06-05 19:03:08 UTC
-+++ media/base/video_frame.cc
-@@ -53,7 +53,7 @@ static std::string StorageTypeToString(
+--- media/base/video_frame.cc.orig 2018-12-03 21:17:03.000000000 +0100
++++ media/base/video_frame.cc 2018-12-13 23:34:19.884280000 +0100
+@@ -66,7 +66,7 @@
return "OWNED_MEMORY";
case VideoFrame::STORAGE_SHMEM:
return "SHMEM";
@@ -9,7 +9,7 @@
case VideoFrame::STORAGE_DMABUFS:
return "DMABUFS";
#endif
-@@ -69,7 +69,7 @@ static std::string StorageTypeToString(
+@@ -82,7 +82,7 @@
// static
static bool IsStorageTypeMappable(VideoFrame::StorageType storage_type) {
return
@@ -18,7 +18,7 @@
// This is not strictly needed but makes explicit that, at VideoFrame
// level, DmaBufs are not mappable from userspace.
storage_type != VideoFrame::STORAGE_DMABUFS &&
-@@ -324,7 +324,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalYuva
+@@ -379,7 +379,7 @@
return frame;
}
@@ -26,8 +26,8 @@
+#if defined(OS_LINUX) || defined(OS_BSD)
// static
scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs(
- VideoPixelFormat format,
-@@ -436,7 +436,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame(
+ const VideoFrameLayout& layout,
+@@ -502,7 +502,7 @@
wrapping_frame->data_[i] = frame->data(i);
}
@@ -35,13 +35,13 @@
+#if defined(OS_LINUX) || defined(OS_BSD)
// If there are any |dmabuf_fds_| plugged in, we should duplicate them.
if (frame->storage_type() == STORAGE_DMABUFS) {
- std::vector<int> original_fds;
-@@ -722,7 +722,7 @@ size_t VideoFrame::shared_memory_offset() const {
+ wrapping_frame->dmabuf_fds_ = DuplicateFDs(frame->dmabuf_fds_);
+@@ -839,7 +839,7 @@
return shared_memory_offset_;
}
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- int VideoFrame::DmabufFd(size_t plane) const {
+ const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const {
DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
- DCHECK(IsValidPlane(plane, format_));
+
diff --git a/www/chromium/files/patch-media_base_video__frame.h b/www/chromium/files/patch-media_base_video__frame.h
index 2bd9d6142dcf..83e9b9c48720 100644
--- a/www/chromium/files/patch-media_base_video__frame.h
+++ b/www/chromium/files/patch-media_base_video__frame.h
@@ -1,6 +1,6 @@
---- media/base/video_frame.h.orig 2017-06-05 19:03:08 UTC
-+++ media/base/video_frame.h
-@@ -62,7 +62,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+--- media/base/video_frame.h.orig 2018-12-03 21:17:03.000000000 +0100
++++ media/base/video_frame.h 2018-12-13 23:50:03.082947000 +0100
+@@ -72,7 +72,7 @@
STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers.
STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer.
STORAGE_SHMEM = 4, // Pixels are backed by Shared Memory.
@@ -9,30 +9,30 @@
// 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
-@@ -188,7 +188,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -238,7 +238,7 @@
uint8_t* a_data,
base::TimeDelta timestamp);
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
// Wraps provided dmabufs
- // (https://www.kernel.org/doc/Documentation/dma-buf-sharing.txt) with a
- // VideoFrame. The dmabuf fds are dup()ed on creation, so that the VideoFrame
-@@ -338,7 +338,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+ // (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
+@@ -415,7 +415,7 @@
// Returns the offset into the shared memory where the frame data begins.
size_t shared_memory_offset() const;
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- // Returns backing DmaBuf file descriptor for given |plane|, if present, or
- // -1 if not.
- int DmabufFd(size_t plane) const;
-@@ -531,7 +531,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
- base::SharedMemoryHandle shared_memory_handle_;
+ // 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
+@@ -625,7 +625,7 @@
+ // memory.
size_t shared_memory_offset_;
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- // Dmabufs for each plane. If set, this frame has DmaBuf backing in some way.
- base::ScopedFD dmabuf_fds_[kMaxPlanes];
- #endif
+ // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either
+ // equal or less than the number of planes of the frame. If it is less, then
+ // the memory area represented by the last FD contains the remaining planes.
diff --git a/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc
new file mode 100644
index 000000000000..3011b127ee76
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc
@@ -0,0 +1,20 @@
+--- media/capture/video/create_video_capture_device_factory.cc.orig 2018-12-12 22:56:08.000000000 +0100
++++ media/capture/video/create_video_capture_device_factory.cc 2018-12-30 23:29:59.281943000 +0100
+@@ -10,7 +10,7 @@
+ #include "media/capture/video/fake_video_capture_device_factory.h"
+ #include "media/capture/video/file_video_capture_device_factory.h"
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ #include "media/capture/video/linux/video_capture_device_factory_linux.h"
+ #elif defined(OS_CHROMEOS)
+ #include "media/capture/video/chromeos/public/cros_features.h"
+@@ -33,7 +33,7 @@
+ std::unique_ptr<VideoCaptureDeviceFactory>
+ CreatePlatformSpecificVideoCaptureDeviceFactory(
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ return std::make_unique<VideoCaptureDeviceFactoryLinux>(ui_task_runner);
+ #elif defined(OS_CHROMEOS)
+ // On Chrome OS we have to support two use cases:
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..86ee20273b28
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc
@@ -0,0 +1,32 @@
+--- media/capture/video/linux/video_capture_device_factory_linux.cc.orig 2018-12-30 23:33:57.000000000 +0100
++++ media/capture/video/linux/video_capture_device_factory_linux.cc 2018-12-30 23:35:38.475055000 +0100
+@@ -259,6 +259,7 @@
+ if (!(capabilities & V4L2_CAP_VIDEO_CAPTURE))
+ return false;
+
++#if !defined(OS_FREEBSD)
+ const std::vector<uint32_t>& usable_fourccs =
+ VideoCaptureDeviceLinux::GetListOfUsableFourCCs(false);
+ v4l2_fmtdesc fmtdesc = {};
+@@ -267,6 +268,7 @@
+ if (base::ContainsValue(usable_fourccs, fmtdesc.pixelformat))
+ return true;
+ }
++#endif
+
+ DVLOG(1) << "No usable formats found";
+ return false;
+@@ -312,9 +314,13 @@
+ v4l2_format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+ for (; DoIoctl(fd, VIDIOC_ENUM_FMT, &v4l2_format) == 0; ++v4l2_format.index) {
+ VideoCaptureFormat supported_format;
++#if !defined(OS_FREEBSD)
+ supported_format.pixel_format =
+ VideoCaptureDeviceLinux::V4l2FourCcToChromiumPixelFormat(
+ v4l2_format.pixelformat);
++#else
++ supported_format.pixel_format = PIXEL_FORMAT_UNKNOWN;
++#endif
+
+ if (supported_format.pixel_format == PIXEL_FORMAT_UNKNOWN)
+ continue;
diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__linux.cc b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__linux.cc
index 29627ff02d06..77fd04dc3e38 100644
--- a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__linux.cc
+++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__linux.cc
@@ -1,62 +1,60 @@
---- media/capture/video/linux/video_capture_device_linux.cc.orig 2017-06-05 19:03:08 UTC
-+++ media/capture/video/linux/video_capture_device_linux.cc
-@@ -21,6 +21,7 @@
+--- media/capture/video/linux/video_capture_device_linux.cc.orig 2018-12-13 23:54:05.391105000 +0100
++++ media/capture/video/linux/video_capture_device_linux.cc 2018-12-14 00:02:46.685774000 +0100
+@@ -37,6 +37,7 @@
- namespace media {
+ } // namespace
+#if !defined(OS_FREEBSD)
// Translates Video4Linux pixel formats to Chromium pixel formats.
// static
VideoPixelFormat VideoCaptureDeviceLinux::V4l2FourCcToChromiumPixelFormat(
-@@ -34,6 +35,7 @@ std::list<uint32_t> VideoCaptureDeviceLinux::GetListOf
+@@ -50,6 +51,7 @@
bool favour_mjpeg) {
return V4L2CaptureDelegate::GetListOfUsableFourCcs(favour_mjpeg);
}
+#endif // !defined(OS_FREEBSD)
VideoCaptureDeviceLinux::VideoCaptureDeviceLinux(
- const VideoCaptureDeviceDescriptor& device_descriptor)
-@@ -47,6 +49,7 @@ VideoCaptureDeviceLinux::~VideoCaptureDeviceLinux() {
- v4l2_thread_.Stop();
- }
-
-+#if !defined(OS_FREEBSD)
+ scoped_refptr<V4L2CaptureDevice> v4l2,
+@@ -68,6 +70,7 @@
void VideoCaptureDeviceLinux::AllocateAndStart(
const VideoCaptureParams& params,
std::unique_ptr<VideoCaptureDevice::Client> client) {
-@@ -74,7 +77,13 @@ void VideoCaptureDeviceLinux::AllocateAndStart(
- v4l2_thread_.task_runner()->PostTask(FROM_HERE, request);
++#if !defined(OS_FREEBSD)
+ DCHECK(!capture_impl_);
+ if (v4l2_thread_.IsRunning())
+ return; // Wrong state.
+@@ -95,9 +98,11 @@
+ for (auto& request : photo_requests_queue_)
+ v4l2_thread_.task_runner()->PostTask(FROM_HERE, std::move(request));
photo_requests_queue_.clear();
- }
-+#else // !defined(OS_FREEBSD)
-+void VideoCaptureDeviceLinux::AllocateAndStart(
-+ const VideoCaptureParams& params,
-+ std::unique_ptr<VideoCaptureDevice::Client> client) {}
+#endif // !defined(OS_FREEBSD)
+ }
-+#if !defined(OS_FREEBSD)
void VideoCaptureDeviceLinux::StopAndDeAllocate() {
++#if !defined(OS_FREEBSD)
if (!v4l2_thread_.IsRunning())
return; // Wrong state.
-@@ -123,7 +132,11 @@ void VideoCaptureDeviceLinux::SetPhotoOptions(
- }
- v4l2_thread_.task_runner()->PostTask(FROM_HERE, std::move(functor));
- }
-+#else // !defined(OS_FREEBSD)
-+void VideoCaptureDeviceLinux::StopAndDeAllocate() {}
+ v4l2_thread_.task_runner()->PostTask(
+@@ -107,6 +112,7 @@
+ v4l2_thread_.Stop();
+
+ capture_impl_ = nullptr;
+#endif // !defined(OS_FREEBSD)
+ }
+
+ void VideoCaptureDeviceLinux::TakePhoto(TakePhotoCallback callback) {
+@@ -149,11 +155,13 @@
+ }
-+#if !defined(OS_FREEBSD)
void VideoCaptureDeviceLinux::SetRotation(int rotation) {
++#if !defined(OS_FREEBSD)
if (v4l2_thread_.IsRunning()) {
v4l2_thread_.task_runner()->PostTask(
-@@ -131,6 +144,9 @@ void VideoCaptureDeviceLinux::SetRotation(int rotation
- base::Bind(&V4L2CaptureDelegate::SetRotation, capture_impl_, rotation));
+ FROM_HERE, base::BindOnce(&V4L2CaptureDelegate::SetRotation,
+ capture_impl_->GetWeakPtr(), rotation));
}
- }
-+#else // !defined(OS_FREEBSD)
-+void VideoCaptureDeviceLinux::SetRotation(int rotation) {}
+#endif // !defined(OS_FREEBSD)
+ }
- // static
- int VideoCaptureDeviceLinux::TranslatePowerLineFrequencyToV4L2(
+ } // namespace media
diff --git a/www/chromium/files/patch-media_capture_video_video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_video__capture__device__factory.cc
deleted file mode 100644
index ec4a0d78e064..000000000000
--- a/www/chromium/files/patch-media_capture_video_video__capture__device__factory.cc
+++ /dev/null
@@ -1,30 +0,0 @@
---- media/capture/video/video_capture_device_factory.cc.orig 2018-06-13 00:10:20.000000000 +0200
-+++ media/capture/video/video_capture_device_factory.cc 2018-07-20 21:26:51.824846000 +0200
-@@ -21,6 +21,10 @@
- gpu::GpuMemoryBufferManager* gpu_buffer_manager,
- MojoJpegDecodeAcceleratorFactoryCB jda_factory,
- MojoJpegEncodeAcceleratorFactoryCB jea_factory) {
-+#if defined(OS_BSD)
-+ return std::unique_ptr<VideoCaptureDeviceFactory>(
-+ new media::FakeVideoCaptureDeviceFactory());
-+#else
- const base::CommandLine* command_line =
- base::CommandLine::ForCurrentProcess();
- // Use a Fake or File Video Device Factory if the command line flags are
-@@ -47,6 +51,7 @@
- std::move(jda_factory),
- std::move(jea_factory)));
- }
-+#endif
- }
-
- VideoCaptureDeviceFactory::VideoCaptureDeviceFactory() {
-@@ -56,7 +61,7 @@
- VideoCaptureDeviceFactory::~VideoCaptureDeviceFactory() = default;
-
- #if !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_ANDROID) && \
-- !defined(OS_WIN)
-+ !defined(OS_WIN) && !defined(OS_BSD)
- // static
- VideoCaptureDeviceFactory*
- VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory(
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 e89537c7c685..86ae3a56c25d 100644
--- a/www/chromium/files/patch-net_base_address__tracker__linux.cc
+++ b/www/chromium/files/patch-net_base_address__tracker__linux.cc
@@ -1,6 +1,6 @@
---- net/base/address_tracker_linux.cc.orig 2018-08-01 00:08:53.000000000 +0200
-+++ net/base/address_tracker_linux.cc 2018-08-04 20:12:48.684622000 +0200
-@@ -20,96 +20,10 @@
+--- net/base/address_tracker_linux.cc.orig 2018-12-03 21:17:06.000000000 +0100
++++ net/base/address_tracker_linux.cc 2018-12-14 00:19:15.361979000 +0100
+@@ -22,96 +22,10 @@
namespace net {
namespace internal {
@@ -99,7 +99,7 @@
}
AddressTrackerLinux::AddressTrackerLinux()
-@@ -152,93 +66,8 @@
+@@ -154,93 +68,8 @@
}
void AddressTrackerLinux::Init() {
@@ -195,7 +195,7 @@
}
void AddressTrackerLinux::AbortAndForceOnline() {
-@@ -249,25 +78,6 @@
+@@ -251,25 +80,6 @@
connection_type_initialized_cv_.Broadcast();
}
@@ -221,7 +221,7 @@
NetworkChangeNotifier::ConnectionType
AddressTrackerLinux::GetCurrentConnectionType() {
// http://crbug.com/125097
-@@ -318,102 +128,7 @@
+@@ -328,102 +138,7 @@
bool* address_changed,
bool* link_changed,
bool* tunnel_changed) {
@@ -257,7 +257,7 @@
- msg->ifa_flags |= IFA_F_DEPRECATED;
- // Only indicate change if the address is new or ifaddrmsg info has
- // changed.
-- AddressMap::iterator it = address_map_.find(address);
+- auto it = address_map_.find(address);
- if (it == address_map_.end()) {
- address_map_.insert(it, std::make_pair(address, *msg));
- *address_changed = true;
@@ -325,7 +325,7 @@
}
void AddressTrackerLinux::OnFileCanReadWithoutBlocking(int fd) {
-@@ -450,34 +165,7 @@
+@@ -460,31 +175,7 @@
}
void AddressTrackerLinux::UpdateCurrentConnectionType() {
@@ -333,12 +333,9 @@
- std::unordered_set<int> online_links = GetOnlineLinks();
-
- // Strip out tunnel interfaces from online_links
-- for (std::unordered_set<int>::const_iterator it = online_links.begin();
-- it != online_links.end();) {
+- for (auto it = online_links.cbegin(); it != online_links.cend();) {
- if (IsTunnelInterface(*it)) {
-- std::unordered_set<int>::const_iterator tunnel_it = it;
-- ++it;
-- online_links.erase(*tunnel_it);
+- it = online_links.erase(it);
- } else {
- ++it;
- }
diff --git a/www/chromium/files/patch-net_features.gni b/www/chromium/files/patch-net_features.gni
index 3c963c1c28eb..f7f9025f7f40 100644
--- a/www/chromium/files/patch-net_features.gni
+++ b/www/chromium/files/patch-net_features.gni
@@ -1,11 +1,11 @@
---- net/features.gni.orig 2017-09-08 22:18:41.065160000 +0200
-+++ net/features.gni 2017-09-08 22:18:51.191168000 +0200
+--- net/features.gni.orig 2018-12-03 21:17:07.000000000 +0100
++++ net/features.gni 2018-12-14 00:32:48.565388000 +0100
@@ -27,7 +27,7 @@
disable_brotli_filter = false
# Multicast DNS.
-- enable_mdns = is_win || is_linux
-+ enable_mdns = is_win || is_linux || is_bsd
+- enable_mdns = is_win || is_linux || is_fuchsia
++ enable_mdns = is_win || is_linux || is_fuchsia || is_bsd
# Reporting not used on iOS.
enable_reporting = !is_ios
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 fb35e85c930a..08bc09c9f636 100644
--- a/www/chromium/files/patch-net_socket_udp__socket__posix.cc
+++ b/www/chromium/files/patch-net_socket_udp__socket__posix.cc
@@ -1,15 +1,24 @@
---- net/socket/udp_socket_posix.cc.orig 2018-06-13 00:10:23.000000000 +0200
-+++ net/socket/udp_socket_posix.cc 2018-07-20 14:49:13.507247000 +0200
-@@ -72,7 +72,7 @@
+--- net/socket/udp_socket_posix.cc.orig 2018-12-03 21:17:07.000000000 +0100
++++ net/socket/udp_socket_posix.cc 2018-12-14 00:43:45.072257000 +0100
+@@ -68,7 +68,7 @@
const base::TimeDelta kActivityMonitorMsThreshold =
base::TimeDelta::FromMilliseconds(100);
--#if defined(OS_MACOSX) || defined(OS_FUCHSIA)
-+#if defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD)
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_BSD)
+ // When enabling multicast using setsockopt(IP_MULTICAST_IF) MacOS
+ // requires passing IPv4 address instead of interface index. This function
+ // resolves IPv4 address by interface index. The |address| is returned in
+@@ -97,7 +97,7 @@
+ return OK;
+ }
- // When enabling multicast using setsockopt(IP_MULTICAST_IF) MacOS and Fuchsia
- // require passing IPv4 address instead of interface index. This function
-@@ -656,7 +656,7 @@
+-#endif // OS_MACOSX
++#endif // OS_MACOSX || OS_BSD
+
+ #if defined(OS_MACOSX) && !defined(OS_IOS)
+
+@@ -632,13 +632,13 @@
}
void UDPSocketPosix::SetMsgConfirm(bool confirm) {
@@ -18,7 +27,14 @@
if (confirm) {
sendto_flags_ |= MSG_CONFIRM;
} else {
-@@ -677,13 +677,16 @@
+ sendto_flags_ &= ~MSG_CONFIRM;
+ }
+-#endif // !defined(OS_MACOSX) && !defined(OS_IOS)
++#endif // !defined(OS_MACOSX) && !defined(OS_IOS) && !defined(OS_BSD)
+ }
+
+ int UDPSocketPosix::AllowAddressReuse() {
+@@ -653,17 +653,20 @@
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
int value = broadcast ? 1 : 0;
int rv;
@@ -36,25 +52,31 @@
rv = setsockopt(socket_, SOL_SOCKET, SO_REUSEPORT, &value, sizeof(value));
if (rv != 0)
return MapSystemError(errno);
-@@ -925,19 +928,24 @@
+-#endif // defined(OS_MACOSX)
++#endif // defined(OS_MACOSX) || defined(OS_BSD)
+ rv = setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &value, sizeof(value));
+
+ return rv == 0 ? OK : MapSystemError(errno);
+@@ -901,19 +904,24 @@
if (multicast_interface_ != 0) {
switch (addr_family_) {
case AF_INET: {
--#if defined(OS_MACOSX) || defined(OS_FUCHSIA)
-+#if defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- ip_mreq mreq;
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_BSD)
+ ip_mreq mreq = {};
int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
&mreq.imr_interface.s_addr);
if (error != OK)
return error;
--#else // defined(OS_MACOSX) || defined(OS_FUCHSIA)
-+#else // defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- ip_mreqn mreq;
+-#else // defined(OS_MACOSX)
++#else // defined(OS_MACOSX) || defined(OS_BSD)
+ ip_mreqn mreq = {};
mreq.imr_ifindex = multicast_interface_;
mreq.imr_address.s_addr = htonl(INADDR_ANY);
- #endif // !defined(OS_MACOSX) && !defined(OS_FUCHSIA)
+-#endif // !defined(OS_MACOSX)
++#endif // !defined(OS_MACOSX) || defined(OS_BSD)
int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF,
-+#if defined(OS_BSD)
++#ifdef defined(OS_BSD)
+ reinterpret_cast<const char*>(&mreq.imr_interface.s_addr),
+ sizeof(mreq.imr_interface.s_addr));
+#else
@@ -63,12 +85,12 @@
if (rv)
return MapSystemError(errno);
break;
-@@ -999,7 +1007,7 @@
+@@ -975,7 +983,7 @@
if (addr_family_ != AF_INET)
return ERR_ADDRESS_INVALID;
--#if defined(OS_MACOSX) || defined(OS_FUCHSIA)
-+#if defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- ip_mreq mreq;
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_BSD)
+ ip_mreq mreq = {};
int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
&mreq.imr_interface.s_addr);
diff --git a/www/chromium/files/patch-sandbox_BUILD.gn b/www/chromium/files/patch-sandbox_BUILD.gn
deleted file mode 100644
index 70f637ed927f..000000000000
--- a/www/chromium/files/patch-sandbox_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- sandbox/BUILD.gn.orig 2017-08-02 15:41:12.498502000 +0200
-+++ sandbox/BUILD.gn 2017-08-02 15:42:43.975385000 +0200
-@@ -24,7 +24,7 @@
- "//sandbox/mac:sandbox",
- "//sandbox/mac:seatbelt",
- ]
-- } else if (is_linux || is_android) {
-+ } else if ((is_linux && !is_bsd) || is_android) {
- public_deps = [
- "//sandbox/linux:sandbox",
- ]
diff --git a/www/chromium/files/patch-services_audio_BUILD.gn b/www/chromium/files/patch-services_audio_BUILD.gn
new file mode 100644
index 000000000000..85139ac6dc44
--- /dev/null
+++ b/www/chromium/files/patch-services_audio_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/audio/BUILD.gn.orig 2018-12-12 22:56:10.000000000 +0100
++++ services/audio/BUILD.gn 2018-12-29 17:36:28.236514000 +0100
+@@ -104,7 +104,7 @@
+ "//services/service_manager/sandbox:sandbox",
+ ]
+
+- if (is_linux) {
++ if ((is_linux) && (!is_bsd)) {
+ sources += [
+ "audio_sandbox_hook_linux.cc",
+ "audio_sandbox_hook_linux.h",
diff --git a/www/chromium/files/patch-device_geolocation_location__arbitrator.cc b/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc
index 873d77eb2e4c..a1935ee61989 100644
--- a/www/chromium/files/patch-device_geolocation_location__arbitrator.cc
+++ b/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc
@@ -1,6 +1,6 @@
---- device/geolocation/location_arbitrator.cc.orig 2017-12-15 02:04:18.000000000 +0100
-+++ device/geolocation/location_arbitrator.cc 2017-12-24 15:54:40.400280000 +0100
-@@ -173,7 +173,7 @@
+--- services/device/geolocation/location_arbitrator.cc.orig 2018-12-13 22:21:38.804321000 +0100
++++ services/device/geolocation/location_arbitrator.cc 2018-12-13 22:22:16.348629000 +0100
+@@ -164,7 +164,7 @@
std::unique_ptr<LocationProvider>
LocationArbitrator::NewSystemLocationProvider() {
#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
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 a8979b0c82cf..ec39808adad4 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 2018-07-20 13:47:11.556393000 +0200
-+++ services/device/hid/hid_connection_freebsd.cc 2018-07-20 15:22:57.210103000 +0200
-@@ -0,0 +1,277 @@
+--- services/device/hid/hid_connection_freebsd.cc.orig 2018-12-27 21:14:54.188404000 +0100
++++ services/device/hid/hid_connection_freebsd.cc 2018-12-29 17:34:19.982594000 +0100
+@@ -0,0 +1,191 @@
+// 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.
@@ -17,7 +17,7 @@
+#include "base/posix/eintr_wrapper.h"
+#include "base/single_thread_task_runner.h"
+#include "base/strings/stringprintf.h"
-+#include "base/task_scheduler/post_task.h"
++#include "base/task/post_task.h"
+#include "base/threading/thread_restrictions.h"
+#include "base/threading/thread_task_runner_handle.h"
+#include "components/device_event_log/device_event_log.h"
@@ -46,10 +46,6 @@
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::AssertBlockingAllowed();
-+
-+ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
-+ fd_.get(), base::Bind(&BlockingTaskHelper::OnFileCanReadWithoutBlocking,
-+ base::Unretained(this)));
+ }
+
+ void Write(scoped_refptr<base::RefCountedBytes> buffer,
@@ -126,49 +122,12 @@
+ }
+
+ 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_) {
-+ // FreeBSD 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(&HidConnectionFreeBSD::ProcessInputReport,
-+ connection_, buffer, bytes_read));
-+ }
-+
+ SEQUENCE_CHECKER(sequence_checker_);
+ base::ScopedFD fd_;
+ size_t report_buffer_size_;
+ bool has_report_id_;
+ base::WeakPtr<HidConnectionFreeBSD> connection_;
+ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_;
-+ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
+
+ DISALLOW_COPY_AND_ASSIGN(BlockingTaskHelper);
+};
@@ -195,18 +154,6 @@
+ // 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());
-+
-+ while (!pending_reads_.empty()) {
-+ std::move(pending_reads_.front().callback).Run(false, NULL, 0);
-+ pending_reads_.pop();
-+ }
-+}
-+
-+void HidConnectionFreeBSD::PlatformRead(ReadCallback callback) {
-+ PendingHidRead pending_read;
-+ pending_read.callback = std::move(callback);
-+ pending_reads_.push(std::move(pending_read));
-+ ProcessReadQueue();
+}
+
+void HidConnectionFreeBSD::PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer,
@@ -244,37 +191,4 @@
+ base::Unretained(helper_.get()), buffer, std::move(callback)));
+}
+
-+void HidConnectionFreeBSD::ProcessInputReport(
-+ scoped_refptr<base::RefCountedBytes> buffer,
-+ size_t size) {
-+ DCHECK(thread_checker().CalledOnValidThread());
-+ DCHECK_GE(size, 1u);
-+
-+ uint8_t report_id = buffer->data()[0];
-+ if (IsReportIdProtected(report_id))
-+ return;
-+
-+ PendingHidReport report;
-+ report.buffer = buffer;
-+ report.size = size;
-+ pending_reports_.push(report);
-+ ProcessReadQueue();
-+}
-+
-+void HidConnectionFreeBSD::ProcessReadQueue() {
-+ DCHECK(thread_checker().CalledOnValidThread());
-+
-+ // Hold a reference to |this| to prevent a callback from freeing this object
-+ // during the loop.
-+ scoped_refptr<HidConnectionFreeBSD> self(this);
-+ while (pending_reads_.size() && pending_reports_.size()) {
-+ PendingHidRead read = std::move(pending_reads_.front());
-+ PendingHidReport report = std::move(pending_reports_.front());
-+
-+ pending_reads_.pop();
-+ pending_reports_.pop();
-+ std::move(read.callback).Run(true, std::move(report.buffer), report.size);
-+ }
-+}
-+
+} // namespace device
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 2392d9d50aa7..276eb4ccd8bf 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,6 +1,6 @@
---- services/device/hid/hid_connection_freebsd.h.orig 2018-03-26 19:51:55.337385000 -0700
-+++ services/device/hid/hid_connection_freebsd.h 2018-03-26 22:46:52.914490000 -0700
-@@ -0,0 +1,77 @@
+--- services/device/hid/hid_connection_freebsd.h.orig 2018-12-27 21:14:54.190483000 +0100
++++ services/device/hid/hid_connection_freebsd.h 2018-12-28 15:27:41.475526000 +0100
+@@ -0,0 +1,70 @@
+// 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.
@@ -11,8 +11,6 @@
+#include <stddef.h>
+#include <stdint.h>
+
-+#include <queue>
-+
+#include "base/files/scoped_file.h"
+#include "base/macros.h"
+#include "base/memory/ptr_util.h"
@@ -46,7 +44,6 @@
+
+ // HidConnection implementation.
+ void PlatformClose() override;
-+ void PlatformRead(ReadCallback callback) override;
+ void PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) override;
+ void PlatformGetFeatureReport(uint8_t report_id,
@@ -55,7 +52,6 @@
+ WriteCallback callback) override;
+ void ProcessInputReport(scoped_refptr<base::RefCountedBytes> buffer,
+ size_t size);
-+ void ProcessReadQueue();
+
+ // |helper_| lives on the sequence to which |blocking_task_runner_| posts
+ // tasks so all calls must be posted there including this object's
@@ -63,9 +59,6 @@
+ std::unique_ptr<BlockingTaskHelper> helper_;
+
+ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
-+
-+ std::queue<PendingHidReport> pending_reports_;
-+ std::queue<PendingHidRead> pending_reads_;
+ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
+
+ SEQUENCE_CHECKER(sequence_checker_);
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 f499827a6642..d4249f71f4c4 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,5 +1,5 @@
---- services/device/hid/hid_service_freebsd.cc.orig 2018-07-20 13:47:11.569682000 +0200
-+++ services/device/hid/hid_service_freebsd.cc 2018-07-20 15:20:19.980971000 +0200
+--- services/device/hid/hid_service_freebsd.cc.orig 2018-12-27 21:14:54.193271000 +0100
++++ services/device/hid/hid_service_freebsd.cc 2018-12-28 15:20:01.597855000 +0100
@@ -0,0 +1,371 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
@@ -29,7 +29,7 @@
+#include "base/strings/sys_string_conversions.h"
+#include "base/strings/string_util.h"
+#include "base/strings/string_split.h"
-+#include "base/task_scheduler/post_task.h"
++#include "base/task/post_task.h"
+#include "base/threading/thread_restrictions.h"
+#include "base/threading/thread_task_runner_handle.h"
+#include "components/device_event_log/device_event_log.h"
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 cd813a1e7b2e..0d92a4cff6bc 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,5 +1,5 @@
---- services/device/hid/hid_service_freebsd.h.orig 2018-03-04 05:38:54.468408000 +0100
-+++ services/device/hid/hid_service_freebsd.h 2018-03-04 08:35:47.483290000 +0100
+--- services/device/hid/hid_service_freebsd.h.orig 2018-12-27 21:14:54.195603000 +0100
++++ services/device/hid/hid_service_freebsd.h 2018-12-27 21:14:54.195893000 +0100
@@ -0,0 +1,48 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
diff --git a/www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor.cc b/www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor.cc
index 86452c411db5..1527d9ee5540 100644
--- a/www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor.cc
+++ b/www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor.cc
@@ -1,11 +1,11 @@
---- services/device/time_zone_monitor/time_zone_monitor.cc.orig 2017-09-05 21:05:23.000000000 +0200
-+++ services/device/time_zone_monitor/time_zone_monitor.cc 2017-09-06 21:23:20.120961000 +0200
+--- services/device/time_zone_monitor/time_zone_monitor.cc.orig 2018-12-03 21:17:09.000000000 +0100
++++ services/device/time_zone_monitor/time_zone_monitor.cc 2018-12-14 00:48:16.376188000 +0100
@@ -41,7 +41,7 @@
#else
std::unique_ptr<icu::TimeZone> new_zone(icu::TimeZone::detectHostTimeZone());
#endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
+-#if defined(OS_LINUX) && !defined(IS_CHROMECAST)
++#if (defined(OS_LINUX) && !defined(IS_CHROMECAST)) || defined(OS_BSD)
// We get here multiple times on Linux per a single tz change, but
// want to update the ICU default zone and notify renderer only once.
std::unique_ptr<icu::TimeZone> current_zone(icu::TimeZone::createDefault());
diff --git a/www/chromium/files/patch-services_network_network__service.cc b/www/chromium/files/patch-services_network_network__service.cc
new file mode 100644
index 000000000000..30df442cbf13
--- /dev/null
+++ b/www/chromium/files/patch-services_network_network__service.cc
@@ -0,0 +1,20 @@
+--- services/network/network_service.cc.orig 2018-12-28 15:43:28.594049000 +0100
++++ services/network/network_service.cc 2018-12-28 15:46:00.776342000 +0100
+@@ -53,7 +53,7 @@
+ #include "third_party/boringssl/src/include/openssl/cpu.h"
+ #endif
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(IS_CHROMECAST)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(IS_CHROMECAST)) || defined(OS_BSD)
+ #include "components/os_crypt/key_storage_config_linux.h"
+ #endif
+
+@@ -449,7 +449,7 @@
+ crl_set_distributor_->OnNewCRLSet(crl_set);
+ }
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ void NetworkService::SetCryptConfig(mojom::CryptConfigPtr crypt_config) {
+ #if !defined(IS_CHROMECAST)
+ DCHECK(!os_crypt_config_set_);
diff --git a/www/chromium/files/patch-services_network_network__service.h b/www/chromium/files/patch-services_network_network__service.h
new file mode 100644
index 000000000000..62c1ea0ddf31
--- /dev/null
+++ b/www/chromium/files/patch-services_network_network__service.h
@@ -0,0 +1,11 @@
+--- services/network/network_service.h.orig 2018-12-28 15:42:09.726485000 +0100
++++ services/network/network_service.h 2018-12-28 15:43:21.875987000 +0100
+@@ -148,7 +148,7 @@
+ mojom::NetworkService::GetTotalNetworkUsagesCallback callback) override;
+ void UpdateSignedTreeHead(const net::ct::SignedTreeHead& sth) override;
+ void UpdateCRLSet(base::span<const uint8_t> crl_set) override;
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ void SetCryptConfig(mojom::CryptConfigPtr crypt_config) override;
+ #endif
+ #if defined(OS_MACOSX) && !defined(OS_IOS)
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 4c47c759fa2b..8a2861bf19b9 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,5 +1,5 @@
---- services/network/network_sandbox_hook_linux.cc.orig 2018-07-20 00:26:50.262722000 +0200
-+++ services/network/network_sandbox_hook_linux.cc 2018-07-20 00:17:37.945110000 +0200
+--- services/network/network_sandbox_hook_linux.cc.orig 2018-12-03 21:17:09.000000000 +0100
++++ services/network/network_sandbox_hook_linux.cc 2018-12-14 00:53:22.847706000 +0100
@@ -14,6 +14,7 @@
namespace network {
@@ -11,8 +11,8 @@
@@ -32,6 +33,7 @@
service_manager::SandboxLinux::PreSandboxHook(), options);
- instance->EngageNamespaceSandbox(false /* from_zygote */);
-+#endif
+ instance->EngageNamespaceSandboxIfPossible();
++#endif // defined(OS_BSD)
return true;
}
diff --git a/www/chromium/files/patch-services_network_public_cpp_cors_cors_legacy.cc b/www/chromium/files/patch-services_network_public_cpp_cors_cors_legacy.cc
deleted file mode 100644
index 0f3a0e89f7ca..000000000000
--- a/www/chromium/files/patch-services_network_public_cpp_cors_cors_legacy.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/network/public/cpp/cors/cors_legacy.cc.orig 2018-08-15 14:32:14.128925000 +0200
-+++ services/network/public/cpp/cors/cors_legacy.cc 2018-08-15 14:32:27.135579000 +0200
-@@ -5,8 +5,6 @@
- #include "services/network/public/cpp/cors/cors_legacy.h"
-
- #include <algorithm>
--#include <string>
--#include <vector>
-
- #include "url/gurl.h"
- #include "url/url_util.h"
diff --git a/www/chromium/files/patch-services_network_public_cpp_cors_cors_legacy.h b/www/chromium/files/patch-services_network_public_cpp_cors_cors_legacy.h
deleted file mode 100644
index a1a560c47f6c..000000000000
--- a/www/chromium/files/patch-services_network_public_cpp_cors_cors_legacy.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- services/network/public/cpp/cors/cors_legacy.h.orig 2018-08-15 14:32:05.126217000 +0200
-+++ services/network/public/cpp/cors/cors_legacy.h 2018-08-15 14:32:40.328286000 +0200
-@@ -5,6 +5,7 @@
- #ifndef SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
- #define SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
-
-+#include <string>
- #include <vector>
-
- #include "base/component_export.h"
diff --git a/www/chromium/files/patch-services_service__manager_public_cpp_standalone__service_BUILD.gn b/www/chromium/files/patch-services_service__manager_public_cpp_standalone__service_BUILD.gn
index d772a1652ebe..87a8dacdd84f 100644
--- a/www/chromium/files/patch-services_service__manager_public_cpp_standalone__service_BUILD.gn
+++ b/www/chromium/files/patch-services_service__manager_public_cpp_standalone__service_BUILD.gn
@@ -1,11 +1,11 @@
---- services/service_manager/public/cpp/standalone_service/BUILD.gn.orig 2018-02-24 16:25:18.000000000 +0100
-+++ services/service_manager/public/cpp/standalone_service/BUILD.gn 2018-03-04 03:48:04.087144000 +0100
-@@ -24,7 +24,7 @@
- "//services/service_manager/public/interfaces",
+--- services/service_manager/public/cpp/standalone_service/BUILD.gn.orig 2018-12-03 21:17:09.000000000 +0100
++++ services/service_manager/public/cpp/standalone_service/BUILD.gn 2018-12-15 14:44:25.857780000 +0100
+@@ -25,7 +25,7 @@
+ "//services/service_manager/public/mojom",
]
-- if (is_linux && !is_android) {
-+ if (is_linux && !is_android && !is_bsd) {
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
deps += [
"//sandbox/linux:sandbox",
"//sandbox/linux:sandbox_services",
diff --git a/www/chromium/files/patch-services_service__manager_runner_host_BUILD.gn b/www/chromium/files/patch-services_service__manager_runner_host_BUILD.gn
index 7048a84423e2..c94ba29243f6 100644
--- a/www/chromium/files/patch-services_service__manager_runner_host_BUILD.gn
+++ b/www/chromium/files/patch-services_service__manager_runner_host_BUILD.gn
@@ -1,11 +1,11 @@
---- services/service_manager/runner/host/BUILD.gn.orig 2017-04-19 19:06:37 UTC
-+++ services/service_manager/runner/host/BUILD.gn
-@@ -28,7 +28,7 @@ source_set("lib") {
+--- services/service_manager/runner/host/BUILD.gn.orig 2018-12-03 21:17:09.000000000 +0100
++++ services/service_manager/runner/host/BUILD.gn 2018-12-15 14:50:24.143808000 +0100
+@@ -31,7 +31,7 @@
"//mojo/public/cpp/system",
]
-- if (is_linux && !is_android) {
-+ if (is_linux && !is_android && !is_bsd) {
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
deps += [ "//sandbox/linux:sandbox_services" ]
}
- }
+
diff --git a/www/chromium/files/patch-third__party_angle_BUILD.gn b/www/chromium/files/patch-third__party_angle_BUILD.gn
index 537a1aebcc4f..871af4a04a32 100644
--- a/www/chromium/files/patch-third__party_angle_BUILD.gn
+++ b/www/chromium/files/patch-third__party_angle_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/angle/BUILD.gn.orig 2018-08-01 00:10:50.000000000 +0200
-+++ third_party/angle/BUILD.gn 2018-08-04 20:58:43.991734000 +0200
-@@ -271,6 +271,7 @@
+--- third_party/angle/BUILD.gn.orig 2018-12-03 21:20:20.000000000 +0100
++++ third_party/angle/BUILD.gn 2018-12-15 15:01:55.525312000 +0100
+@@ -283,6 +283,7 @@
"X11",
"Xi",
"Xext",
@@ -8,10 +8,10 @@
]
}
}
-@@ -844,10 +845,6 @@
+@@ -822,10 +823,6 @@
libs = []
if (is_linux) {
- sources += rebase_path(util_gypi.util_linux_sources, ".", "util")
+ sources += util_linux_sources
- libs += [
- "rt",
- "dl",
diff --git a/www/chromium/files/patch-third__party_angle_third_party_vulkan-validation-layers_src_loader_loader.c b/www/chromium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c
index d5b06a1b7fa2..f332ec2c1e33 100644
--- a/www/chromium/files/patch-third__party_angle_third_party_vulkan-validation-layers_src_loader_loader.c
+++ b/www/chromium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c
@@ -1,6 +1,6 @@
---- third_party/angle/third_party/vulkan-validation-layers/src/loader/loader.c.orig 2018-07-19 21:08:23.127507000 +0200
-+++ third_party/angle/third_party/vulkan-validation-layers/src/loader/loader.c 2018-07-19 21:08:38.418461000 +0200
-@@ -208,7 +208,7 @@
+--- third_party/angle/third_party/vulkan-loader/src/loader/loader.c.orig 2018-12-15 15:11:13.525509000 +0100
++++ third_party/angle/third_party/vulkan-loader/src/loader/loader.c 2018-12-15 15:12:11.085519000 +0100
+@@ -215,7 +215,7 @@
}
// Environment variables
diff --git a/www/chromium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h b/www/chromium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h
new file mode 100644
index 000000000000..78317425acc3
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h
@@ -0,0 +1,11 @@
+--- third_party/angle/third_party/vulkan-loader/src/loader/vk_loader_platform.h.orig 2018-12-15 15:17:52.636531000 +0100
++++ third_party/angle/third_party/vulkan-loader/src/loader/vk_loader_platform.h 2018-12-15 15:18:37.634423000 +0100
+@@ -31,7 +31,7 @@
+ #include "vulkan/vk_platform.h"
+ #include "vulkan/vk_sdk_platform.h"
+
+-#if defined(__linux__) || defined(__APPLE__)
++#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
+ /* Linux-specific common code: */
+
+ // Headers:
diff --git a/www/chromium/files/patch-third__party_angle_third_party_vulkan-validation-layers_src_loader_vk_loader_platform.h b/www/chromium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h
index 09e7033c0235..1ca64159bce4 100644
--- a/www/chromium/files/patch-third__party_angle_third_party_vulkan-validation-layers_src_loader_vk_loader_platform.h
+++ b/www/chromium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h
@@ -1,5 +1,5 @@
---- third_party/angle/third_party/vulkan-validation-layers/src/loader/vk_loader_platform.h.orig 2018-07-19 21:07:44.888863000 +0200
-+++ third_party/angle/third_party/vulkan-validation-layers/src/loader/vk_loader_platform.h 2018-07-19 21:08:10.994378000 +0200
+--- third_party/angle/third_party/vulkan-validation-layers/src/layers/vk_loader_platform.h.orig 2018-12-12 23:03:04.000000000 +0100
++++ third_party/angle/third_party/vulkan-validation-layers/src/layers/vk_loader_platform.h 2018-12-16 00:53:28.074127000 +0100
@@ -31,7 +31,7 @@
#include "vulkan/vk_platform.h"
#include "vulkan/vk_sdk_platform.h"
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__face.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__face.cc
new file mode 100644
index 000000000000..08f381854af3
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__face.cc
@@ -0,0 +1,20 @@
+--- third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc.orig 2018-12-29 14:23:27.944448000 +0100
++++ third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc 2018-12-29 14:29:49.494355000 +0100
+@@ -139,7 +139,7 @@
+ static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font,
+ void* font_data,
+ unsigned count,
+- hb_codepoint_t* first_glyph,
++ const hb_codepoint_t* first_glyph,
+ unsigned int glyph_stride,
+ hb_position_t* first_advance,
+ unsigned int advance_stride,
+@@ -147,7 +147,7 @@
+ HarfBuzzFontData* hb_font_data =
+ reinterpret_cast<HarfBuzzFontData*>(font_data);
+ SkiaTextMetrics(&hb_font_data->paint_)
+- .GetGlyphWidthForHarfBuzz(count, first_glyph, glyph_stride, first_advance,
++ .GetGlyphWidthForHarfBuzz(count, const_cast<hb_codepoint_t*>(first_glyph), glyph_stride, first_advance,
+ advance_stride);
+ }
+
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_threading.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_threading.cc
new file mode 100644
index 000000000000..1fdde0db90b6
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_threading.cc
@@ -0,0 +1,29 @@
+--- third_party/blink/renderer/platform/wtf/threading.cc.orig 2018-12-15 18:39:29.942481000 +0100
++++ third_party/blink/renderer/platform/wtf/threading.cc 2018-12-15 18:41:49.286222000 +0100
+@@ -17,12 +17,16 @@
+ #error Blink does not support threading on your platform.
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include <sys/syscall.h>
+ #elif defined(OS_ANDROID)
+ #include <sys/types.h>
+ #endif
+
++#if defined(OS_BSD)
++#include <pthread_np.h>
++#endif
++
+ namespace WTF {
+
+ // Current thread identity
+@@ -38,6 +42,8 @@
+ return syscall(__NR_gettid);
+ #elif defined(OS_ANDROID)
+ return gettid();
++#elif defined(OS_BSD)
++ return pthread_getthreadid_np();
+ #else
+ return reinterpret_cast<uintptr_t>(pthread_self());
+ #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..389cd4adab89
--- /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 2018-12-12 22:56:23.000000000 +0100
++++ third_party/crashpad/crashpad/util/misc/address_types.h 2018-12-16 00:59:49.906370000 +0100
+@@ -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_ANDROID)
++#elif defined(OS_LINUX) || 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 VMAddress = WinVMAddress;
+ using VMSize = WinVMSize;
+
+-#elif defined(OS_LINUX) || defined(OS_ANDROID)
++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ using VMAddress = LinuxVMAddress;
+ using VMSize = LinuxVMSize;
diff --git a/www/chromium/files/patch-third_party_googletest_src_googletest_test_gtest-port_test.cc b/www/chromium/files/patch-third__party_googletest_src_googletest_test_googletest-port__test.cc
index fd5f6b49b868..4804e2ea664c 100644
--- a/www/chromium/files/patch-third_party_googletest_src_googletest_test_gtest-port_test.cc
+++ b/www/chromium/files/patch-third__party_googletest_src_googletest_test_googletest-port__test.cc
@@ -1,12 +1,11 @@
---- third_party/googletest/src/googletest/test/gtest-port_test.cc.orig 2018-08-23 02:48:03.607358000 +0200
-+++ third_party/googletest/src/googletest/test/gtest-port_test.cc 2018-08-23 02:48:57.198397000 +0200
-@@ -296,7 +296,8 @@
+--- third_party/googletest/src/googletest/test/googletest-port-test.cc.orig 2018-12-15 18:52:24.209622000 +0100
++++ third_party/googletest/src/googletest/test/googletest-port-test.cc 2018-12-15 18:53:04.599624000 +0100
+@@ -293,7 +293,7 @@
EXPECT_EQ("unknown file", FormatCompilerIndependentFileLocation(NULL, -1));
}
-#if GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_FUCHSIA
-+#if GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_FUCHSIA || \
-+ GTEST_OS_FREEBSD
++#if GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_QNX || GTEST_OS_FUCHSIA || GTEST_OS_FREEBSD
void* ThreadFunc(void* data) {
internal::Mutex* mutex = static_cast<internal::Mutex*>(data);
mutex->Lock();
diff --git a/www/chromium/files/patch-third__party_mesa_BUILD.gn b/www/chromium/files/patch-third__party_mesa_BUILD.gn
deleted file mode 100644
index 2e534118fc1f..000000000000
--- a/www/chromium/files/patch-third__party_mesa_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/mesa/BUILD.gn.orig 2017-06-05 19:03:28 UTC
-+++ third_party/mesa/BUILD.gn
-@@ -90,6 +90,10 @@ config("mesa_internal_config") {
- defines += [ "_GNU_SOURCE" ]
- }
-
-+ if (is_bsd) {
-+ defines += [ "_BSD_SOURCE" ]
-+ }
-+
- if (is_win) {
- defines += [
- # Generated files use const only if __cplusplus or __STDC__ is defined.
diff --git a/www/chromium/files/patch-third__party_pdfium_fxjs_JS_Define.cpp b/www/chromium/files/patch-third__party_pdfium_fxjs_JS_Define.cpp
deleted file mode 100644
index 83a170684d27..000000000000
--- a/www/chromium/files/patch-third__party_pdfium_fxjs_JS_Define.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
---- third_party/pdfium/fxjs/JS_Define.cpp.orig 2018-03-04 04:13:13.591977000 +0100
-+++ third_party/pdfium/fxjs/JS_Define.cpp 2018-03-04 04:14:44.297142000 +0100
-@@ -30,7 +30,12 @@
- long timezone = 0;
- _get_timezone(&timezone);
- #endif // _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
-+#ifdef __FreeBSD__
-+ struct tm *lt;
-+ return (double)(-(lt->tm_gmtoff * 1000));
-+#else
- return (double)(-(timezone * 1000));
-+#endif
- }
-
- int GetDaylightSavingTA(double d) {
diff --git a/www/chromium/files/patch-third__party_pdfium_fxjs_js__define.cpp b/www/chromium/files/patch-third__party_pdfium_fxjs_js__define.cpp
new file mode 100644
index 000000000000..a08e8fe395f5
--- /dev/null
+++ b/www/chromium/files/patch-third__party_pdfium_fxjs_js__define.cpp
@@ -0,0 +1,22 @@
+--- third_party/pdfium/fxjs/js_define.cpp.orig 2018-12-15 15:47:24.332696000 +0100
++++ third_party/pdfium/fxjs/js_define.cpp 2018-12-15 15:47:30.435519000 +0100
+@@ -24,6 +24,11 @@
+ return 0;
+ time_t t = 0;
+ FXSYS_time(&t);
++#ifdef __FreeBSD__
++ struct tm lt;
++ localtime_r(&t, &lt);
++ return (double)(-(lt.tm_gmtoff * 1000));
++#else
+ localtime(&t);
+ #if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
+ // In gcc 'timezone' is a global variable declared in time.h. In VC++, that
+@@ -32,6 +37,7 @@
+ _get_timezone(&timezone);
+ #endif // _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
+ return (double)(-(timezone * 1000));
++#endif // __FreeBSD__
+ }
+
+ int GetDaylightSavingTA(double d) {
diff --git a/www/chromium/files/patch-third__party_pdfium_xfa_fgas_font_cfgas_fontmgr.cpp b/www/chromium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp
index f88a0a40e727..7a9405b493d5 100644
--- a/www/chromium/files/patch-third__party_pdfium_xfa_fgas_font_cfgas_fontmgr.cpp
+++ b/www/chromium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp
@@ -1,13 +1,14 @@
---- third_party/pdfium/xfa/fgas/font/cfgas_fontmgr.cpp.orig 2017-12-15 02:05:39.000000000 +0100
-+++ third_party/pdfium/xfa/fgas/font/cfgas_fontmgr.cpp 2017-12-24 19:04:05.574318000 +0100
-@@ -436,8 +436,8 @@
+--- third_party/pdfium/xfa/fgas/font/cfx_fontsourceenum_file.cpp.orig 2018-12-15 16:04:31.993078000 +0100
++++ third_party/pdfium/xfa/fgas/font/cfx_fontsourceenum_file.cpp 2018-12-15 16:06:14.341565000 +0100
+@@ -14,8 +14,9 @@
constexpr const char* g_FontFolders[] = {
#if _FX_PLATFORM_ == _FX_PLATFORM_LINUX_
- "/usr/share/fonts", "/usr/share/X11/fonts/Type1",
- "/usr/share/X11/fonts/TTF", "/usr/local/share/fonts",
+ "/usr/local/share/fonts/Type1",
-+ "/usr/local/share/fonts/TTF", "/usr/local/share/fonts",
++ "/usr/local/share/fonts/TTF",
++ "/usr/local/share/fonts",
#elif _FX_PLATFORM_ == _FX_PLATFORM_APPLE_
"~/Library/Fonts", "/Library/Fonts", "/System/Library/Fonts",
#elif _FX_PLATFORM_ == _FX_PLATFORM_ANDROID_
diff --git a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_event.h b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_event.h
new file mode 100644
index 000000000000..0ec774154d21
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_event.h
@@ -0,0 +1,14 @@
+--- third_party/perfetto/include/perfetto/base/event.h.orig 2018-12-16 01:39:09.000000000 +0100
++++ third_party/perfetto/include/perfetto/base/event.h 2018-12-16 01:39:40.143826000 +0100
+@@ -20,8 +20,9 @@
+ #include "perfetto/base/build_config.h"
+ #include "perfetto/base/scoped_file.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_FREEBSD)
+ #define PERFETTO_USE_EVENTFD() 1
+ #else
+ #define PERFETTO_USE_EVENTFD() 0
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
new file mode 100644
index 000000000000..1961d64f4f60
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h
@@ -0,0 +1,20 @@
+--- third_party/perfetto/include/perfetto/base/time.h.orig 2018-12-16 01:32:46.000000000 +0100
++++ third_party/perfetto/include/perfetto/base/time.h 2018-12-16 01:38:40.852314000 +0100
+@@ -123,6 +123,9 @@
+ // 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)
++ return GetTimeInternalNs(kWallTimeClockSource);
++#else
+ // Determine if CLOCK_BOOTTIME is available on the first call.
+ static const clockid_t kBootTimeClockSource = [] {
+ struct timespec ts = {};
+@@ -130,6 +133,7 @@
+ return res == 0 ? CLOCK_BOOTTIME : kWallTimeClockSource;
+ }();
+ return GetTimeInternalNs(kBootTimeClockSource);
++#endif
+ }
+
+ inline TimeNanos GetWallTimeNs() {
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
new file mode 100644
index 000000000000..a65c8f611bee
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_base_unix__socket.cc
@@ -0,0 +1,12 @@
+--- third_party/perfetto/src/base/unix_socket.cc.orig 2018-12-15 19:07:57.840463000 +0100
++++ third_party/perfetto/src/base/unix_socket.cc 2018-12-15 19:08:37.030799000 +0100
+@@ -387,7 +387,8 @@
+
+ void UnixSocket::ReadPeerCredentials() {
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ struct ucred user_cred;
+ socklen_t len = sizeof(user_cred);
+ int res = getsockopt(*fd_, SOL_SOCKET, SO_PEERCRED, &user_cred, &len);
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
new file mode 100644
index 000000000000..31e7c6f75a23
--- /dev/null
+++ b/www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
@@ -0,0 +1,12 @@
+--- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2018-12-15 19:14:38.117664000 +0100
++++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc 2018-12-15 19:15:20.324077000 +0100
+@@ -1231,7 +1231,8 @@
+ protos::ClockSnapshot* clock_snapshot = packet.mutable_clock_snapshot();
+
+ #if !PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) && \
+- !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ struct {
+ clockid_t id;
+ protos::ClockSnapshot::Clock::Type type;
diff --git a/www/chromium/files/patch-third__party_skia_src_opts_SkRasterPipeline_opts.h b/www/chromium/files/patch-third__party_skia_src_opts_SkRasterPipeline_opts.h
index aed5fd0ce6f9..81667ad045ac 100644
--- a/www/chromium/files/patch-third__party_skia_src_opts_SkRasterPipeline_opts.h
+++ b/www/chromium/files/patch-third__party_skia_src_opts_SkRasterPipeline_opts.h
@@ -1,20 +1,20 @@
---- third_party/skia/src/opts/SkRasterPipeline_opts.h.orig 2018-07-20 03:02:44.498284000 +0200
-+++ third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-07-20 03:04:09.892857000 +0200
-@@ -653,7 +653,7 @@
+--- third_party/skia/src/opts/SkRasterPipeline_opts.h.orig 2018-12-03 21:20:28.000000000 +0100
++++ third_party/skia/src/opts/SkRasterPipeline_opts.h 2018-12-15 16:12:21.651812000 +0100
+@@ -658,7 +658,7 @@
}
SI F from_half(U16 h) {
--#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
-+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+-#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
++#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
return vcvt_f32_f16(h);
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
-@@ -673,7 +673,7 @@
+@@ -678,7 +678,7 @@
}
SI U16 to_half(F f) {
--#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
-+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
+-#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
++#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
return vcvt_f16_f32(f);
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
diff --git a/www/chromium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h b/www/chromium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h
new file mode 100644
index 000000000000..68e4e9883d7e
--- /dev/null
+++ b/www/chromium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h
@@ -0,0 +1,11 @@
+--- third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h.orig 2018-12-12 23:03:06.000000000 +0100
++++ third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h 2018-12-16 02:27:17.323830000 +0100
+@@ -2232,7 +2232,7 @@
+ #include <mutex> // for std::mutex
+ #include <atomic> // for std::atomic
+
+-#if !defined(_WIN32) && !defined(__APPLE__)
++#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__FreeBSD__)
+ #include <malloc.h> // for aligned_alloc()
+ #endif
+
diff --git a/www/chromium/files/patch-third__party_sqlite_BUILD.gn b/www/chromium/files/patch-third__party_sqlite_BUILD.gn
index 5890a421beda..3c3733a20451 100644
--- a/www/chromium/files/patch-third__party_sqlite_BUILD.gn
+++ b/www/chromium/files/patch-third__party_sqlite_BUILD.gn
@@ -1,29 +1,11 @@
---- third_party/sqlite/BUILD.gn.orig 2018-06-13 00:11:05.000000000 +0200
-+++ third_party/sqlite/BUILD.gn 2018-07-19 20:59:10.723249000 +0200
-@@ -155,7 +155,7 @@
- # sqlite3Fts3InitTok).
- cflags += [ "-Wno-unused-function" ]
- }
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- cflags += [
- # SQLite doesn"t believe in compiler warnings,
- # preferring testing.
-@@ -208,7 +208,7 @@
+--- third_party/sqlite/BUILD.gn.orig 2018-12-12 22:56:25.000000000 +0100
++++ third_party/sqlite/BUILD.gn 2019-01-04 00:53:21.136257000 +0100
+@@ -213,7 +213,7 @@
+ ]
}
}
-
-- if (is_linux || is_android) {
-+ if ((is_linux && !is_bsd) || is_android) {
- defines += [
- # Linux provides fdatasync(), a faster equivalent of fsync().
- "fdatasync=fdatasync",
-@@ -243,7 +243,7 @@
- ":sqlite_warnings",
- ]
-
- if (is_linux) {
+ if (is_linux && !is_bsd) {
- libs = [ "dl" ]
- } else if (is_mac || is_ios) {
- libs = [ "CoreFoundation.framework" ]
+ cflags += [
+ # SQLite doesn't believe in compiler warnings, preferring testing.
+ # http://www.sqlite.org/faq.html#q17
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
deleted file mode 100644
index 9fd97b77dd46..000000000000
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
---- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig 2017-06-26 22:14:07.363371000 +0200
-+++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp 2017-06-26 22:15:57.992270000 +0200
-@@ -30,7 +30,7 @@
- #include <sys/ioctl.h>
- #include <linux/fb.h>
- #include <fcntl.h>
--#elif defined(__linux__)
-+#elif defined(__linux__) || defined(__FreeBSD__)
- #include "Main/libX11.hpp"
- #elif defined(__APPLE__)
- #include "OSXUtils.hpp"
-@@ -53,7 +53,7 @@
-
- static void *nativeDisplay = nullptr;
-
-- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
- // Even if the application provides a native display handle, we open (and close) our own connection
- if(!nativeDisplay && dpy != HEADLESS_DISPLAY && libX11 && libX11->XOpenDisplay)
- {
-@@ -76,7 +76,7 @@
- {
- terminate();
-
-- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
- if(nativeDisplay && libX11->XCloseDisplay)
- {
- libX11->XCloseDisplay((::Display*)nativeDisplay);
-@@ -550,7 +550,7 @@
- return false;
- }
- return true;
-- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
- if(nativeDisplay)
- {
- XWindowAttributes windowAttributes;
-@@ -707,7 +707,7 @@
-
- // No framebuffer device found, or we're in user space
- return sw::FORMAT_X8B8G8R8;
-- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
- if(nativeDisplay)
- {
- Screen *screen = libX11->XDefaultScreenOfDisplay((::Display*)nativeDisplay);
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
deleted file mode 100644
index 7f7cdb0fa8f2..000000000000
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp.orig 2017-09-07 00:06:19.888841000 +0200
-+++ third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp 2017-09-07 00:08:19.628679000 +0200
-@@ -26,7 +26,7 @@
- #include "common/debug.h"
- #include "Main/FrameBuffer.hpp"
-
--#if defined(__linux__) && !defined(__ANDROID__)
-+#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
- #include "Main/libX11.hpp"
- #elif defined(_WIN32)
- #include <tchar.h>
-@@ -287,7 +287,7 @@
- #elif defined(__ANDROID__)
- int windowWidth; window->query(window, NATIVE_WINDOW_WIDTH, &windowWidth);
- int windowHeight; window->query(window, NATIVE_WINDOW_HEIGHT, &windowHeight);
-- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
- XWindowAttributes windowAttributes;
- libX11->XGetWindowAttributes((::Display*)display->getNativeDisplay(), window, &windowAttributes);
-
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 393960dc1f60..7a6ae1d0ef22 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,47 +1,29 @@
---- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2018-03-20 23:06:53.000000000 +0100
-+++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp 2018-03-24 18:42:49.216641000 +0100
-@@ -25,7 +25,7 @@
-
- #if defined(__ANDROID__)
- #include <system/window.h>
--#elif defined(__linux__)
-+#elif defined(__linux__) || defined(__FreeBSD__)
- #include "Main/libX11.hpp"
- #endif
-
-@@ -119,7 +119,7 @@
+--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2018-12-15 16:34:59.695784000 +0100
++++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp 2018-12-15 16:37:11.859379000 +0100
+@@ -148,7 +148,7 @@
// FIXME: Check if display_id is the default display
}
- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
++ #if (defined(__linux__) || defined(__FreeBSD)) && !defined(__ANDROID__)
+ #if defined(USE_X11)
if(!libX11)
- {
- return success(HEADLESS_DISPLAY);
-@@ -176,7 +176,7 @@
+ #endif // Non X11 linux is headless only
+@@ -207,7 +207,7 @@
{
return success(
"EGL_KHR_client_get_all_proc_addresses "
-#if defined(__linux__) && !defined(__ANDROID__)
+#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
"EGL_KHR_platform_gbm "
- "EGL_KHR_platform_x11 "
#endif
-@@ -944,7 +944,7 @@
-
- if(context)
- {
-- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
- egl::Display *display = context->getDisplay();
-
- if(!display)
-@@ -1110,7 +1110,7 @@
+ #if defined(USE_X11)
+@@ -1248,7 +1248,7 @@
{
- TRACE("(EGLenum platform = 0x%X, void *native_display = %p, const EGLint *attrib_list = %p)", platform, native_display, attrib_list);
+ 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__)
switch(platform)
{
- case EGL_PLATFORM_X11_EXT: break;
+ #if defined(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 e486741b0e40..e9ce90bca37d 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,9 +1,9 @@
---- third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp.orig 2017-06-26 22:22:21.418803000 +0200
-+++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp 2017-06-26 22:22:37.089147000 +0200
-@@ -106,7 +106,7 @@
- #else
- const char *libEGL_lib[] = {"/vendor/lib/egl/libEGL_swiftshader.so"};
+--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp.orig 2018-12-15 16:38:54.529408000 +0100
++++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp 2018-12-15 16:39:22.143716000 +0100
+@@ -100,7 +100,7 @@
#endif
+ #elif defined(__ANDROID__)
+ const char *libEGL_lib[] = {"libEGL_swiftshader.so", "libEGL_swiftshader.so"};
- #elif defined(__linux__)
+ #elif defined(__linux__) || defined(__FreeBSD__)
#if defined(__LP64__)
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp
index 977c5641f2d2..bd4fb317a787 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libGLES_CM_libGLES_CM.hpp
@@ -1,9 +1,9 @@
---- third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp.orig 2017-06-26 22:23:31.609734000 +0200
-+++ third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp 2017-06-26 22:23:56.904096000 +0200
-@@ -267,7 +267,7 @@
- #else
- const char *libGLES_CM_lib[] = {"/vendor/lib/egl/libGLESv1_CM_swiftshader.so"};
+--- third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp.orig 2018-12-03 21:20:24.000000000 +0100
++++ third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp 2018-12-15 16:45:47.909334000 +0100
+@@ -261,7 +261,7 @@
#endif
+ #elif defined(__ANDROID__)
+ const char *libGLES_CM_lib[] = {"libGLESv1_CM_swiftshader.so", "libGLESv1_CM_swiftshader.so"};
- #elif defined(__linux__)
+ #elif defined(__linux__) || defined(__FreeBSD__)
#if defined(__LP64__)
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 157eebf3aa06..0b6f5043ee36 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,9 +1,9 @@
---- third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp.orig 2017-06-26 22:26:03.983772000 +0200
-+++ third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp 2017-06-26 22:26:31.197604000 +0200
-@@ -290,7 +290,7 @@
- #else
- const char *libGLESv2_lib[] = {"/vendor/lib/egl/libGLESv2_swiftshader.so"};
+--- third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp.orig 2018-12-03 21:20:24.000000000 +0100
++++ third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp 2018-12-15 16:50:37.213988000 +0100
+@@ -286,7 +286,7 @@
#endif
+ #elif defined(__ANDROID__)
+ const char *libGLESv2_lib[] = {"libGLESv2_swiftshader.so", "libGLESv2_swiftshader.so"};
- #elif defined(__linux__)
+ #elif defined(__linux__) || defined(__FreeBSD__)
#if defined(__LP64__)
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_httpcommon.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_httpcommon.cc
deleted file mode 100644
index 0f60a4c95a79..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_rtc_base_httpcommon.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/rtc_base/httpcommon.cc.orig 2017-09-07 00:39:17.532376000 +0200
-+++ third_party/webrtc/rtc_base/httpcommon.cc 2017-09-07 00:41:55.817287000 +0200
-@@ -384,7 +384,7 @@
- gmt = non_gmt + kTimeZoneOffsets[zindex] * 60 * 60;
- }
- // TODO: Android should support timezone, see b/2441195
--#if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) || defined(WEBRTC_ANDROID) || defined(BSD)
-+#if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) || defined(WEBRTC_ANDROID) || defined(WEBRTC_BSD)
- tm *tm_for_timezone = localtime(&gmt);
- *seconds = gmt + tm_for_timezone->tm_gmtoff;
- #else
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc
index d71fd5f1c11a..c83e9f1dcb67 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc
@@ -1,6 +1,6 @@
---- third_party/webrtc/rtc_base/physicalsocketserver.cc.orig 2018-08-08 21:13:16.000000000 +0200
-+++ third_party/webrtc/rtc_base/physicalsocketserver.cc 2018-08-27 01:15:56.484919000 +0200
-@@ -68,7 +68,7 @@
+--- third_party/webrtc/rtc_base/physicalsocketserver.cc.orig 2018-12-03 21:20:27.000000000 +0100
++++ third_party/webrtc/rtc_base/physicalsocketserver.cc 2018-12-15 16:59:55.918713000 +0100
+@@ -66,7 +66,7 @@
#endif // WEBRTC_POSIX
@@ -9,7 +9,7 @@
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
-@@ -295,7 +295,7 @@
+@@ -286,7 +286,7 @@
socklen_t optlen = sizeof(*value);
int ret = ::getsockopt(s_, slevel, sopt, (SockOptArg)value, &optlen);
if (ret != -1 && opt == OPT_DONTFRAGMENT) {
@@ -18,7 +18,7 @@
*value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
#endif
}
-@@ -308,7 +308,7 @@
+@@ -299,7 +299,7 @@
if (TranslateOption(opt, &slevel, &sopt) == -1)
return -1;
if (opt == OPT_DONTFRAGMENT) {
@@ -27,25 +27,25 @@
value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
#endif
}
-@@ -318,7 +318,7 @@
+@@ -309,7 +309,7 @@
int PhysicalSocket::Send(const void* pv, size_t cb) {
- int sent = DoSend(s_, reinterpret_cast<const char *>(pv),
- static_cast<int>(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
-@@ -347,7 +347,7 @@
+@@ -338,7 +338,7 @@
size_t len = addr.ToSockAddrStorage(&saddr);
- int sent = DoSendTo(
- s_, static_cast<const char *>(buffer), static_cast<int>(length),
+ 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,
+ // Suppress SIGPIPE. See above for explanation.
+ MSG_NOSIGNAL,
#else
-@@ -538,7 +538,7 @@
+@@ -529,7 +529,7 @@
*slevel = IPPROTO_IP;
*sopt = IP_DONTFRAGMENT;
break;
diff --git a/www/chromium/files/patch-third_party_blink_renderer_bindings_core_v8_v8_script_runner.cc b/www/chromium/files/patch-third_party_blink_renderer_bindings_core_v8_v8_script_runner.cc
deleted file mode 100644
index bc3b25820fed..000000000000
--- a/www/chromium/files/patch-third_party_blink_renderer_bindings_core_v8_v8_script_runner.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/bindings/core/v8/v8_script_runner.cc.orig 2018-07-19 16:25:31.421721000 +0200
-+++ third_party/blink/renderer/bindings/core/v8/v8_script_runner.cc 2018-07-19 16:26:01.053291000 +0200
-@@ -54,7 +54,7 @@
-
- #if defined(OS_WIN)
- #include <malloc.h>
--#else
-+#elif !defined(OS_FREEBSD)
- #include <alloca.h>
- #endif
-
diff --git a/www/chromium/files/patch-third_party_blink_renderer_core_xml_parser_xml_document_parser.cc b/www/chromium/files/patch-third_party_blink_renderer_core_xml_parser_xml_document_parser.cc
deleted file mode 100644
index 980fd2fd3811..000000000000
--- a/www/chromium/files/patch-third_party_blink_renderer_core_xml_parser_xml_document_parser.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- third_party/blink/renderer/core/xml/parser/xml_document_parser.cc.orig 2018-07-20 01:07:52.189302000 +0200
-+++ third_party/blink/renderer/core/xml/parser/xml_document_parser.cc 2018-07-20 01:10:37.425716000 +0200
-@@ -28,6 +28,10 @@
-
- #include <libxml/parser.h>
- #include <libxml/parserInternals.h>
-+#include <libxml/xmlversion.h>
-+#if defined(LIBXML_CATALOG_ENABLED)
-+#include <libxml/catalog.h>
-+#endif
- #include <libxslt/xslt.h>
-
- #include <memory>
-@@ -646,6 +650,9 @@
- if (did_init)
- return;
-
-+#if defined(LIBXML_CATALOG_ENABLED)
-+ xmlCatalogSetDefaults(XML_CATA_ALLOW_NONE);
-+#endif
- xmlInitParser();
- xmlRegisterInputCallbacks(MatchFunc, OpenFunc, ReadFunc, CloseFunc);
- xmlRegisterOutputCallbacks(MatchFunc, OpenFunc, WriteFunc, CloseFunc);
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc
index ff14e816dae2..7887ef2dee27 100644
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc
+++ b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc
@@ -1,6 +1,15 @@
---- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2018-07-19 19:24:25.598357000 +0200
-+++ third_party/blink/renderer/platform/fonts/font_cache.cc 2018-07-19 19:24:38.659689000 +0200
-@@ -85,7 +85,7 @@
+--- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2018-12-12 22:56:23.000000000 +0100
++++ third_party/blink/renderer/platform/fonts/font_cache.cc 2018-12-29 13:18:26.479678000 +0100
+@@ -65,7 +65,7 @@
+
+ SkFontMgr* FontCache::static_font_manager_ = nullptr;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ float FontCache::device_scale_factor_ = 1.0;
+ #endif
+
+@@ -88,7 +88,7 @@
FontPlatformData* FontCache::SystemFontPlatformData(
const FontDescription& font_description) {
const AtomicString& family = FontCache::SystemFontFamily();
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 af11edbae85e..dd54e5d71cf4 100644
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.h
+++ b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.h
@@ -1,6 +1,15 @@
---- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2018-07-19 19:26:12.883838000 +0200
-+++ third_party/blink/renderer/platform/fonts/font_cache.h 2018-07-19 19:26:49.537827000 +0200
-@@ -213,7 +213,7 @@
+--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2018-12-12 22:56:23.000000000 +0100
++++ third_party/blink/renderer/platform/fonts/font_cache.h 2018-12-29 13:18:26.483036000 +0100
+@@ -157,7 +157,7 @@
+ sk_sp<SkFontMgr> FontManager() { return font_manager_; }
+ static void SetFontManager(sk_sp<SkFontMgr>);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // These are needed for calling QueryRenderStyleForStrike, since
+ // gfx::GetFontRenderParams makes distinctions based on DSF.
+ static float DeviceScaleFactor() { return device_scale_factor_; }
+@@ -218,7 +218,7 @@
const FontDescription&);
#endif // defined(OS_ANDROID)
@@ -9,12 +18,21 @@
struct PlatformFallbackFont {
String name;
CString filename;
-@@ -287,7 +287,7 @@
- const FontFaceCreationParams&,
- CString& name);
+@@ -291,7 +291,7 @@
+ const FontFaceCreationParams&,
+ CString& name);
-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_FUCHSIA)
+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
UChar32,
const FontDescription&,
+@@ -327,7 +327,7 @@
+ bool is_test_font_mgr_ = false;
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ static float device_scale_factor_;
+ #endif
+
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_image-decoders_jpeg_jpeg_image_decoder.cc b/www/chromium/files/patch-third_party_blink_renderer_platform_image-decoders_jpeg_jpeg_image_decoder.cc
deleted file mode 100644
index 6aba9f2d9e7f..000000000000
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_image-decoders_jpeg_jpeg_image_decoder.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc.orig 2018-08-13 22:34:03.760055000 +0200
-+++ third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc 2018-08-13 22:41:48.671075000 +0200
-@@ -643,6 +643,9 @@
- IntSize UvSize() const { return uv_size_; }
-
- private:
-+#if defined(USE_SYSTEM_LIBJPEG)
-+ NO_SANITIZE_CFI_ICALL
-+#endif
- JSAMPARRAY AllocateSampleArray() {
- // Some output color spaces don't need the sample array: don't allocate in that
- // case.
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_image-encoders_image_encoder.cc b/www/chromium/files/patch-third_party_blink_renderer_platform_image-encoders_image_encoder.cc
deleted file mode 100644
index d67e09586552..000000000000
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_image-encoders_image_encoder.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/platform/image-encoders/image_encoder.cc.orig 2018-08-13 22:25:20.364425000 +0200
-+++ third_party/blink/renderer/platform/image-encoders/image_encoder.cc 2018-08-13 22:28:52.206462000 +0200
-@@ -4,6 +4,17 @@
-
- #include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
-
-+#include "build/build_config.h"
-+
-+#if defined(OS_WIN)
-+#include <basetsd.h> // Included before jpeglib.h because of INT32 clash
-+#endif // OS_WIN
-+#include <stdio.h> // Needed by jpeglib.h
-+
-+#include "jpeglib.h" // for JPEG_MAX_DIMENSION
-+
-+#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
-+
- namespace blink {
-
- bool ImageEncoder::Encode(Vector<unsigned char>* dst,
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_image-encoders_image_encoder.h b/www/chromium/files/patch-third_party_blink_renderer_platform_image-encoders_image_encoder.h
deleted file mode 100644
index 57a08caad9d4..000000000000
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_image-encoders_image_encoder.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/platform/image-encoders/image_encoder.h.orig 2018-08-13 22:29:12.687720000 +0200
-+++ third_party/blink/renderer/platform/image-encoders/image_encoder.h 2018-08-13 22:29:25.094079000 +0200
-@@ -7,8 +7,6 @@
-
- #include "third_party/blink/renderer/platform/platform_export.h"
- #include "third_party/blink/renderer/platform/wtf/vector.h"
--#include "third_party/libjpeg/jpeglib.h" // for JPEG_MAX_DIMENSION
--#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
- #include "third_party/skia/include/core/SkStream.h"
- #include "third_party/skia/include/encode/SkJpegEncoder.h"
- #include "third_party/skia/include/encode/SkPngEncoder.h"
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_wtf_byte_swap.h b/www/chromium/files/patch-third_party_blink_renderer_platform_wtf_byte_swap.h
deleted file mode 100644
index d4825f902123..000000000000
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_wtf_byte_swap.h
+++ /dev/null
@@ -1,24 +0,0 @@
---- third_party/blink/renderer/platform/wtf/byte_swap.h.orig 2018-07-19 20:15:20.782500000 +0200
-+++ third_party/blink/renderer/platform/wtf/byte_swap.h 2018-07-19 20:16:32.779700000 +0200
-@@ -60,15 +60,21 @@
-
- #else
-
-+#ifndef Bswap64
- ALWAYS_INLINE uint64_t Bswap64(uint64_t x) {
- return __builtin_bswap64(x);
- }
-+#endif
-+#ifndef Bswap32
- ALWAYS_INLINE uint32_t Bswap32(uint32_t x) {
- return __builtin_bswap32(x);
- }
-+#endif
-+#ifndef Bswap16
- ALWAYS_INLINE uint16_t Bswap16(uint16_t x) {
- return __builtin_bswap16(x);
- }
-+#endif
-
- #endif
-
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_wtf_compiler.h b/www/chromium/files/patch-third_party_blink_renderer_platform_wtf_compiler.h
deleted file mode 100644
index a3c7c304c518..000000000000
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_wtf_compiler.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/blink/renderer/platform/wtf/compiler.h.orig 2018-08-13 22:36:40.462317000 +0200
-+++ third_party/blink/renderer/platform/wtf/compiler.h 2018-08-13 22:38:32.823279000 +0200
-@@ -74,8 +74,10 @@
- #if defined(__clang__)
- #define NO_SANITIZE_UNRELATED_CAST \
- __attribute__((no_sanitize("cfi-unrelated-cast", "vptr")))
-+#define NO_SANITIZE_CFI_ICALL __attribute__((no_sanitize("cfi-icall")))
- #else
- #define NO_SANITIZE_UNRELATED_CAST
-+#define NO_SANITIZE_CFI_ICALL
- #endif
-
- #endif /* WTF_Compiler_h */
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
index dd0c498f335b..61edd6a93f69 100644
--- 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
@@ -1,6 +1,6 @@
---- third_party/blink/renderer/platform/wtf/threading_pthreads.cc.orig 2018-07-19 20:19:23.794139000 +0200
-+++ third_party/blink/renderer/platform/wtf/threading_pthreads.cc 2018-07-19 20:21:15.447060000 +0200
-@@ -51,14 +51,19 @@
+--- third_party/blink/renderer/platform/wtf/threading_pthreads.cc.orig 2018-12-03 21:17:54.000000000 +0100
++++ third_party/blink/renderer/platform/wtf/threading_pthreads.cc 2018-12-15 18:34:37.670619000 +0100
+@@ -52,12 +52,17 @@
#include <objc/objc-auto.h>
#endif
@@ -12,22 +12,11 @@
-#if defined(OS_LINUX) || defined(OS_ANDROID)
+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
#include <unistd.h>
- #endif
-
++#endif
++
+#if defined(OS_BSD)
+#include <sys/signal.h>
+#include <pthread_np.h>
-+#endif
-+
- namespace WTF {
-
- namespace internal {
-@@ -70,6 +75,8 @@
- return syscall(__NR_gettid);
- #elif defined(OS_ANDROID)
- return gettid();
-+#elif defined(OS_BSD)
-+ return pthread_getthreadid_np();
- #else
- return reinterpret_cast<uintptr_t>(pthread_self());
#endif
+
+ namespace WTF {
diff --git a/www/chromium/files/patch-third_party_crashpad_crashpad_util_posix_symbolic_constants_posix.cc b/www/chromium/files/patch-third_party_crashpad_crashpad_util_posix_symbolic_constants_posix.cc
index 67c495e0cfde..82fd4e480440 100644
--- a/www/chromium/files/patch-third_party_crashpad_crashpad_util_posix_symbolic_constants_posix.cc
+++ b/www/chromium/files/patch-third_party_crashpad_crashpad_util_posix_symbolic_constants_posix.cc
@@ -1,16 +1,16 @@
---- third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2018-07-19 19:55:17.168592000 +0200
-+++ third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc 2018-07-19 19:55:37.640206000 +0200
+--- third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2018-12-03 21:17:55.000000000 +0100
++++ third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc 2018-12-15 18:47:11.409455000 +0100
@@ -64,7 +64,7 @@
"INFO",
"USR1",
"USR2",
-#elif defined(OS_LINUX) || defined(OS_ANDROID)
+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- // sed -Ene 's/^#define[[:space:]]SIG([[:alnum:]]+)[[:space:]]+[[:digit:]]{1,2}([[:space:]]|$).*/ "\1",/p'
- // /usr/include/asm-generic/signal.h
- // and fix up by removing SIGIOT, SIGLOST, SIGUNUSED, and SIGRTMIN.
-@@ -101,7 +101,7 @@
- "SYS",
+ #if defined(ARCH_CPU_MIPS_FAMILY)
+ "HUP",
+ "INT",
+@@ -135,7 +135,7 @@
+ #endif // defined(ARCH_CPU_MIPS_FAMILY)
#endif
};
-#if defined(OS_LINUX) || defined(OS_ANDROID)
diff --git a/www/chromium/files/patch-third_party_perfetto_src_base_unix_task_runner.cc b/www/chromium/files/patch-third_party_perfetto_src_base_unix_task_runner.cc
deleted file mode 100644
index 7c7182f4d533..000000000000
--- a/www/chromium/files/patch-third_party_perfetto_src_base_unix_task_runner.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/perfetto/src/base/unix_task_runner.cc.orig 2018-08-04 21:17:17.721052000 +0200
-+++ third_party/perfetto/src/base/unix_task_runner.cc 2018-08-04 21:17:57.424940000 +0200
-@@ -45,7 +45,7 @@
- control_read_.reset(pipe_fds[0]);
- control_write_.reset(pipe_fds[1]);
-
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- // We are never expecting to have more than a few bytes in the wake-up pipe.
- // Reduce the buffer size on Linux. Note that this gets rounded up to the page
- // size.
diff --git a/www/chromium/files/patch-third_party_perfetto_src_tracing_core_service_impl.cc b/www/chromium/files/patch-third_party_perfetto_src_tracing_core_service_impl.cc
deleted file mode 100644
index 8dd87d8eb725..000000000000
--- a/www/chromium/files/patch-third_party_perfetto_src_tracing_core_service_impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/perfetto/src/tracing/core/service_impl.cc.orig 2018-08-04 21:18:16.978067000 +0200
-+++ third_party/perfetto/src/tracing/core/service_impl.cc 2018-08-04 21:18:54.197576000 +0200
-@@ -1041,7 +1041,7 @@
- protos::TrustedPacket packet;
- protos::ClockSnapshot* clock_snapshot = packet.mutable_clock_snapshot();
-
--#if !PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
-+#if !PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- struct {
- clockid_t id;
- protos::ClockSnapshot::Clock::Type type;
diff --git a/www/chromium/files/patch-tools_gn_args.cc b/www/chromium/files/patch-tools_gn_args.cc
deleted file mode 100644
index 915e8aac8460..000000000000
--- a/www/chromium/files/patch-tools_gn_args.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/args.cc.orig 2017-06-05 19:03:29 UTC
-+++ tools/gn/args.cc
-@@ -298,6 +298,8 @@ void Args::SetSystemVarsLocked(Scope* dest) const {
- os = "mac";
- #elif defined(OS_LINUX)
- os = "linux";
-+#elif defined(OS_BSD)
-+ os = "bsd";
- #elif defined(OS_ANDROID)
- os = "android";
- #elif defined(OS_NETBSD)
diff --git a/www/chromium/files/patch-tools_gn_base_files_file__posix.cc b/www/chromium/files/patch-tools_gn_base_files_file__posix.cc
new file mode 100644
index 000000000000..11acf38cd2eb
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_base_files_file__posix.cc
@@ -0,0 +1,11 @@
+--- tools/gn/base/files/file_posix.cc.orig 2018-12-12 23:06:54.000000000 +0100
++++ tools/gn/base/files/file_posix.cc 2018-12-15 21:58:11.127692000 +0100
+@@ -86,7 +86,7 @@
+ is_symbolic_link = S_ISLNK(stat_info.st_mode);
+ size = stat_info.st_size;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ time_t last_modified_sec = stat_info.st_mtim.tv_sec;
+ int64_t last_modified_nsec = stat_info.st_mtim.tv_nsec;
+ time_t last_accessed_sec = stat_info.st_atim.tv_sec;
diff --git a/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py b/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py
index a6586afe6d3e..13ad8adcebf7 100644
--- a/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py
+++ b/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py
@@ -1,77 +1,20 @@
---- tools/gn/bootstrap/bootstrap.py.orig 2018-06-13 00:11:08.000000000 +0200
-+++ tools/gn/bootstrap/bootstrap.py 2018-07-19 21:45:27.959100000 +0200
-@@ -32,9 +32,10 @@
+--- tools/gn/bootstrap/bootstrap.py.orig 2018-12-12 22:56:27.000000000 +0100
++++ tools/gn/bootstrap/bootstrap.py 2018-12-16 00:01:37.174054000 +0100
+@@ -76,8 +76,6 @@
+ '--no-last-commit-position',
+ '--out-path=' + gn_build_dir,
+ ]
+- if not options.with_sysroot:
+- cmd.append('--no-sysroot')
+ if options.debug:
+ cmd.append('--debug')
+ subprocess.check_call(cmd)
+@@ -86,6 +84,8 @@
+ os.path.join(BOOTSTRAP_DIR, 'last_commit_position.h'), gn_build_dir)
+ subprocess.check_call(
+ ['ninja', '-C', gn_build_dir, 'gn', '-w', 'dupbuild=err'])
++ subprocess.check_call(
++ ['ninja', '-C', gn_build_dir, 'gn_unittests', '-w', 'dupbuild=err'])
+ shutil.copy2(os.path.join(gn_build_dir, 'gn'), gn_path)
- is_win = sys.platform.startswith('win')
- is_linux = sys.platform.startswith('linux')
-+is_bsd = platform.system().lower().endswith('bsd')
- is_mac = sys.platform.startswith('darwin')
- is_aix = sys.platform.startswith('aix')
--is_posix = is_linux or is_mac or is_aix
-+is_posix = is_linux or is_mac or is_aix or is_bsd
-
- def check_call(cmd, **kwargs):
- logging.debug('Running: %s', ' '.join(cmd))
-@@ -712,6 +713,43 @@
- 'cflags': cflags + ['-DHAVE_CONFIG_H'],
- }
-
-+ if is_bsd:
-+ libs.extend(['-lexecinfo', '-lkvm'])
-+ ldflags.extend(['-pthread'])
-+ include_dirs += ["/usr/local/include"]
-+
-+ static_libraries['xdg_user_dirs'] = {
-+ 'sources': [
-+ 'base/third_party/xdg_user_dirs/xdg_user_dir_lookup.cc',
-+ ],
-+ 'tool': 'cxx',
-+ }
-+ static_libraries['base']['sources'].extend([
-+ 'base/memory/shared_memory_handle_posix.cc',
-+ 'base/memory/shared_memory_posix.cc',
-+ 'base/nix/xdg_util.cc',
-+ 'base/process/memory_stubs.cc',
-+ 'base/process/process_info_linux.cc',
-+ 'base/process/internal_linux.cc',
-+ 'base/process/process_handle_freebsd.cc',
-+ 'base/process/process_metrics_freebsd.cc',
-+ 'base/strings/sys_string_conversions_posix.cc',
-+ 'base/sys_info_freebsd.cc',
-+ 'base/threading/platform_thread_linux.cc',
-+ 'base/synchronization/waitable_event_posix.cc',
-+ 'base/time/time_exploded_posix.cc',
-+ 'base/time/time_now_posix.cc',
-+ ])
-+ static_libraries['libevent']['include_dirs'].extend([
-+ os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'freebsd')
-+ ])
-+ static_libraries['libevent']['sources'].extend([
-+ 'base/third_party/libevent/kqueue.c',
-+ ])
-+
-+ # Suppressing warnings
-+ cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality'])
-+
- if is_linux or is_aix:
- static_libraries['xdg_user_dirs'] = {
- 'sources': [
-@@ -827,18 +865,6 @@
- ])
- static_libraries['libevent']['sources'].extend([
- 'base/third_party/libevent/epoll.c',
-- ])
-- else:
-- ldflags.extend(['-pthread'])
-- libs.extend(['-lrt'])
-- static_libraries['base']['sources'].extend([
-- 'base/process/internal_aix.cc'
-- ])
-- static_libraries['libevent']['include_dirs'].extend([
-- os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'aix')
-- ])
-- static_libraries['libevent']['include_dirs'].extend([
-- os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'compat')
- ])
-
- if is_mac:
+ if not options.skip_generate_buildfiles:
diff --git a/www/chromium/files/patch-tools_gn_build_gen.py b/www/chromium/files/patch-tools_gn_build_gen.py
new file mode 100644
index 000000000000..2c2bfaa99f9d
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_build_gen.py
@@ -0,0 +1,50 @@
+--- tools/gn/build/gen.py.orig 2018-12-12 23:06:54.000000000 +0100
++++ tools/gn/build/gen.py 2018-12-15 23:20:32.529540000 +0100
+@@ -39,10 +39,12 @@
+ self._platform = 'aix'
+ elif self._platform.startswith('fuchsia'):
+ self._platform = 'fuchsia'
++ elif self._platform.lower().startswith('freebsd'):
++ self._platform = 'bsd'
+
+ @staticmethod
+ def known_platforms():
+- return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia']
++ return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia', 'bsd']
+
+ def platform(self):
+ return self._platform
+@@ -65,8 +67,11 @@
+ def is_aix(self):
+ return self._platform == 'aix'
+
++ def is_bsd(self):
++ return self._platform == 'bsd'
++
+ def is_posix(self):
+- return self._platform in ['linux', 'darwin', 'aix']
++ return self._platform in ['linux', 'darwin', 'aix', 'bsd']
+
+
+ def main(argv):
+@@ -168,6 +173,7 @@
+ 'darwin': 'build_mac.ninja.template',
+ 'linux': 'build_linux.ninja.template',
+ 'aix': 'build_aix.ninja.template',
++ 'bsd': 'build_linux.ninja.template'
+ }[platform.platform()])
+
+ with open(template_filename) as f:
+@@ -327,7 +333,11 @@
+ elif platform.is_aix():
+ cflags_cc.append('-maix64')
+ ldflags.extend(['-maix64', '-pthread'])
+-
++ elif platform.is_bsd():
++ cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality'])
++ ldflags.extend(['-pthread'])
++ libs.extend(['-lexecinfo', '-lkvm'])
++ include_dirs += ['/usr/local/include']
+ if options.use_lto:
+ cflags.extend(['-flto', '-fwhole-program-vtables'])
+ ldflags.extend(['-flto', '-fwhole-program-vtables'])
diff --git a/www/chromium/files/patch-tools_gn_tools_gn_args.cc b/www/chromium/files/patch-tools_gn_tools_gn_args.cc
new file mode 100644
index 000000000000..26fccbe5dca0
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_tools_gn_args.cc
@@ -0,0 +1,11 @@
+--- tools/gn/tools/gn/args.cc.orig 2018-12-15 19:22:28.337753000 +0100
++++ tools/gn/tools/gn/args.cc 2018-12-15 19:22:44.479580000 +0100
+@@ -294,6 +294,8 @@
+ os = "mac";
+ #elif defined(OS_LINUX)
+ os = "linux";
++#elif defined(OS_BSD)
++ os = "bsd";
+ #elif defined(OS_AIX)
+ os = "aix";
+ #else
diff --git a/www/chromium/files/patch-tools_gn_tools_gn_exec_process.cc b/www/chromium/files/patch-tools_gn_tools_gn_exec_process.cc
new file mode 100644
index 000000000000..d4def13d665e
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_tools_gn_exec_process.cc
@@ -0,0 +1,13 @@
+--- tools/gn/tools/gn/exec_process.cc.orig 2018-12-12 23:06:54.000000000 +0100
++++ tools/gn/tools/gn/exec_process.cc 2018-12-15 22:04:21.665099000 +0100
+@@ -28,6 +28,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_util_exe__path.cc b/www/chromium/files/patch-tools_gn_util_exe__path.cc
new file mode 100644
index 000000000000..8b8f1b418999
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_util_exe__path.cc
@@ -0,0 +1,33 @@
+--- tools/gn/util/exe_path.cc.orig 2018-12-12 23:06:54.000000000 +0100
++++ tools/gn/util/exe_path.cc 2018-12-15 23:13:30.454635000 +0100
+@@ -13,6 +13,9 @@
+ #include <mach-o/dyld.h>
+ #elif defined(OS_WIN)
+ #include <windows.h>
++#elif defined(OS_FREEBSD)
++#include <sys/param.h>
++#include <sys/sysctl.h>
+ #endif
+
+ #if defined(OS_MACOSX)
+@@ -44,6 +47,20 @@
+ return base::FilePath();
+ }
+ return base::FilePath(system_buffer);
++}
++
++#elif defined(OS_FREEBSD)
++
++base::FilePath GetExePath() {
++ int name[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
++ char system_buffer[PATH_MAX + 1];
++ size_t length = sizeof(system_buffer);
++ int error = sysctl(name, 4, system_buffer, &length, NULL, 0);
++ if (error < 0 || length <= 1) {
++ NOTREACHED() << "Unable to resolve path.";
++ return base::FilePath();
++ }
++ return base::FilePath(base::FilePath::StringType(system_buffer, length - 1));
+ }
+
+ #else
diff --git a/www/chromium/files/patch-tools_gn_util_semaphore.cc b/www/chromium/files/patch-tools_gn_util_semaphore.cc
new file mode 100644
index 000000000000..322d66cb57d1
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_util_semaphore.cc
@@ -0,0 +1,11 @@
+--- tools/gn/util/semaphore.cc.orig 2018-12-12 23:06:54.000000000 +0100
++++ tools/gn/util/semaphore.cc 2018-12-15 22:08:39.431096000 +0100
+@@ -36,7 +36,7 @@
+ }
+ }
+
+-#elif defined(OS_LINUX) || defined(OS_AIX)
++#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
+
+ Semaphore::Semaphore(int count) {
+ DCHECK_GE(count, 0);
diff --git a/www/chromium/files/patch-tools_gn_util_semaphore.h b/www/chromium/files/patch-tools_gn_util_semaphore.h
new file mode 100644
index 000000000000..d25547eb18c5
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_util_semaphore.h
@@ -0,0 +1,20 @@
+--- tools/gn/util/semaphore.h.orig 2018-12-12 23:06:54.000000000 +0100
++++ tools/gn/util/semaphore.h 2018-12-15 22:00:54.077539000 +0100
+@@ -15,7 +15,7 @@
+ #include <windows.h>
+ #elif defined(OS_MACOSX)
+ #include <mach/mach.h>
+-#elif defined(OS_LINUX) || defined(OS_AIX)
++#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
+ #include <semaphore.h>
+ #else
+ #error Port.
+@@ -35,7 +35,7 @@
+
+ #if defined(OS_MACOSX)
+ typedef semaphore_t NativeHandle;
+-#elif defined(OS_LINUX) || defined(OS_AIX)
++#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
+ typedef sem_t NativeHandle;
+ #elif defined(OS_WIN)
+ typedef HANDLE NativeHandle;
diff --git a/www/chromium/files/patch-tools_gn_util_ticks.cc b/www/chromium/files/patch-tools_gn_util_ticks.cc
new file mode 100644
index 000000000000..5e486b9177ff
--- /dev/null
+++ b/www/chromium/files/patch-tools_gn_util_ticks.cc
@@ -0,0 +1,38 @@
+--- tools/gn/util/ticks.cc.orig 2018-12-12 23:06:54.000000000 +0100
++++ tools/gn/util/ticks.cc 2018-12-15 22:06:44.653261000 +0100
+@@ -11,7 +11,7 @@
+ #include <windows.h>
+ #elif defined(OS_MACOSX)
+ #include <mach/mach_time.h>
+-#elif defined(OS_LINUX) || defined(OS_AIX)
++#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
+ #include <time.h>
+ #else
+ #error Port.
+@@ -27,7 +27,7 @@
+ #elif defined(OS_MACOSX)
+ mach_timebase_info_data_t g_timebase;
+ uint64_t g_start;
+-#elif defined(OS_LINUX) || defined(OS_AIX)
++#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
+ uint64_t g_start;
+ #else
+ #error Port.
+@@ -44,7 +44,7 @@
+ #elif defined(OS_MACOSX)
+ mach_timebase_info(&g_timebase);
+ g_start = (mach_absolute_time() * g_timebase.numer) / g_timebase.denom;
+-#elif defined(OS_LINUX) || defined(OS_AIX)
++#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
+ struct timespec ts;
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ g_start = static_cast<uint64_t>(ts.tv_sec) * kNano +
+@@ -74,7 +74,7 @@
+ #elif defined(OS_MACOSX)
+ now =
+ ((mach_absolute_time() * g_timebase.numer) / g_timebase.denom) - g_start;
+-#elif defined(OS_LINUX) || defined(OS_AIX)
++#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
+ struct timespec ts;
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ now = (static_cast<uint64_t>(ts.tv_sec) * kNano +
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 0e683a15c671..8a2e8f61a1f0 100644
--- a/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py
+++ b/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py
@@ -1,11 +1,10 @@
---- tools/variations/fieldtrial_to_struct.py.orig 2017-12-15 02:04:51.000000000 +0100
-+++ tools/variations/fieldtrial_to_struct.py 2017-12-24 19:54:09.044002000 +0100
-@@ -117,7 +117,7 @@
- parser.error('You must specify a --platform.')
-
- supported_platforms = ['android', 'chromeos', 'fuchsia', 'ios', 'linux',
-- 'mac', 'win']
-+ 'mac', 'win', 'bsd']
- if opts.platform not in supported_platforms:
- parser.error('\'%s\' is an unknown platform. Supported platforms: %s' %
- (opts.platform, supported_platforms))
+--- tools/variations/fieldtrial_to_struct.py.orig 2018-12-03 21:18:05.000000000 +0100
++++ tools/variations/fieldtrial_to_struct.py 2018-12-15 20:10:55.090226000 +0100
+@@ -24,6 +24,7 @@
+ _platforms = [
+ 'android',
+ 'android_webview',
++ 'bsd',
+ 'chromeos',
+ 'fuchsia',
+ 'ios',
diff --git a/www/chromium/files/patch-ui_base_ui__base__features.cc b/www/chromium/files/patch-ui_base_ui__base__features.cc
new file mode 100644
index 000000000000..bed486ca0fe4
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_ui__base__features.cc
@@ -0,0 +1,20 @@
+--- ui/base/ui_base_features.cc.orig 2018-12-28 17:00:26.368000000 +0100
++++ ui/base/ui_base_features.cc 2018-12-28 17:01:57.144030000 +0100
+@@ -115,7 +115,7 @@
+ "PrecisionTouchpadScrollPhase", base::FEATURE_ENABLED_BY_DEFAULT};
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ // Enables stylus appearing as touch when in contact with digitizer.
+ const base::Feature kDirectManipulationStylus = {
+ "DirectManipulationStylus",
+@@ -125,7 +125,7 @@
+ base::FEATURE_DISABLED_BY_DEFAULT
+ #endif
+ };
+-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+
+ const base::Feature kMash = {"Mash", base::FEATURE_DISABLED_BY_DEFAULT};
+
diff --git a/www/chromium/files/patch-ui_base_ui__base__features.h b/www/chromium/files/patch-ui_base_ui__base__features.h
new file mode 100644
index 000000000000..af4922276ce1
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_ui__base__features.h
@@ -0,0 +1,14 @@
+--- ui/base/ui_base_features.h.orig 2018-12-28 17:00:21.672100000 +0100
++++ ui/base/ui_base_features.h 2018-12-28 17:01:57.139278000 +0100
+@@ -42,9 +42,9 @@
+ UI_BASE_EXPORT bool IsUsingWMPointerForTouch();
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ UI_BASE_EXPORT extern const base::Feature kDirectManipulationStylus;
+-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+
+ // Used to have ash (Chrome OS system UI) run in its own process.
+ // TODO(jamescook): Make flag only available in Chrome OS.
diff --git a/www/chromium/files/patch-ui_gfx_font__list.cc b/www/chromium/files/patch-ui_gfx_font__list.cc
index b559de3d3c6a..ccb2e1a4e658 100644
--- a/www/chromium/files/patch-ui_gfx_font__list.cc
+++ b/www/chromium/files/patch-ui_gfx_font__list.cc
@@ -1,11 +1,11 @@
---- ui/gfx/font_list.cc.orig 2017-12-15 02:04:51.000000000 +0100
-+++ ui/gfx/font_list.cc 2017-12-24 20:09:47.066057000 +0100
+--- ui/gfx/font_list.cc.orig 2018-12-03 21:18:06.000000000 +0100
++++ ui/gfx/font_list.cc 2018-12-15 20:17:39.591084000 +0100
@@ -24,7 +24,7 @@
bool g_default_impl_initialized = false;
bool IsFontFamilyAvailable(const std::string& family, SkFontMgr* fontManager) {
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- return fontManager->legacyMakeTypeface(family.c_str(), SkFontStyle());
+ return !!fontManager->legacyMakeTypeface(family.c_str(), SkFontStyle());
#else
sk_sp<SkFontStyleSet> set(fontManager->matchFamily(family.c_str()));
diff --git a/www/chromium/files/patch-ui_gfx_font__render__params.h b/www/chromium/files/patch-ui_gfx_font__render__params.h
index 999ecf6af423..574c537d4e75 100644
--- a/www/chromium/files/patch-ui_gfx_font__render__params.h
+++ b/www/chromium/files/patch-ui_gfx_font__render__params.h
@@ -1,6 +1,6 @@
---- ui/gfx/font_render_params.h.orig 2017-12-15 02:04:51.000000000 +0100
-+++ ui/gfx/font_render_params.h 2017-12-24 20:14:06.436950000 +0100
-@@ -107,13 +107,13 @@
+--- ui/gfx/font_render_params.h.orig 2018-12-03 21:18:06.000000000 +0100
++++ ui/gfx/font_render_params.h 2018-12-15 20:21:38.472663000 +0100
+@@ -111,13 +111,13 @@
const FontRenderParamsQuery& query,
std::string* family_out);
@@ -11,8 +11,8 @@
GFX_EXPORT void ClearFontRenderParamsCacheForTest();
#endif
--#if defined(OS_LINUX) || (defined(OS_ANDROID) && BUILDFLAG(ENABLE_VR))
-+#if defined(OS_LINUX) || defined(OS_BSD) || (defined(OS_ANDROID) && BUILDFLAG(ENABLE_VR))
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
// Gets the device scale factor to query the FontRenderParams.
GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor();
diff --git a/www/chromium/files/patch-ui_gfx_gpu_memory_buffer.cc b/www/chromium/files/patch-ui_gfx_gpu_memory_buffer.cc
deleted file mode 100644
index e2d6c9d7b269..000000000000
--- a/www/chromium/files/patch-ui_gfx_gpu_memory_buffer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/gpu_memory_buffer.cc.orig 2017-08-02 17:09:18.637721000 +0200
-+++ ui/gfx/gpu_memory_buffer.cc 2017-08-02 17:09:34.476081000 +0200
-@@ -37,7 +37,7 @@
- gfx::GpuMemoryBufferHandle handle;
- handle.type = gfx::NATIVE_PIXMAP;
- handle.id = source_handle.id;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- handle.native_pixmap_handle =
- gfx::CloneHandleForIPC(source_handle.native_pixmap_handle);
- #endif
diff --git a/www/chromium/files/patch-ui_gfx_gpu_memory_buffer.h b/www/chromium/files/patch-ui_gfx_gpu_memory_buffer.h
index 76f4f3a566aa..74edba38766d 100644
--- a/www/chromium/files/patch-ui_gfx_gpu_memory_buffer.h
+++ b/www/chromium/files/patch-ui_gfx_gpu_memory_buffer.h
@@ -1,6 +1,6 @@
---- ui/gfx/gpu_memory_buffer.h.orig 2017-08-02 16:52:58.362137000 +0200
-+++ ui/gfx/gpu_memory_buffer.h 2017-08-02 16:53:34.724326000 +0200
-@@ -16,7 +16,7 @@
+--- ui/gfx/gpu_memory_buffer.h.orig 2018-12-03 21:18:06.000000000 +0100
++++ ui/gfx/gpu_memory_buffer.h 2018-12-15 20:30:42.393665000 +0100
+@@ -15,7 +15,7 @@
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/gfx_export.h"
@@ -9,12 +9,12 @@
#include "ui/gfx/native_pixmap_handle.h"
#elif defined(OS_MACOSX) && !defined(OS_IOS)
#include "ui/gfx/mac/io_surface.h"
-@@ -48,7 +48,7 @@
+@@ -65,7 +65,7 @@
base::SharedMemoryHandle handle;
uint32_t offset;
int32_t stride;
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
+ // TODO(crbug.com/863011): convert this to a scoped handle.
NativePixmapHandle native_pixmap_handle;
#elif defined(OS_MACOSX) && !defined(OS_IOS)
- ScopedRefCountedIOSurfaceMachPort mach_port;
diff --git a/www/chromium/files/patch-ui_gl_BUILD.gn b/www/chromium/files/patch-ui_gl_BUILD.gn
index d4258fc0e7a2..3013aad6a404 100644
--- a/www/chromium/files/patch-ui_gl_BUILD.gn
+++ b/www/chromium/files/patch-ui_gl_BUILD.gn
@@ -1,7 +1,7 @@
---- ui/gl/BUILD.gn.orig 2018-08-01 00:09:48.000000000 +0200
-+++ ui/gl/BUILD.gn 2018-08-04 23:32:57.498139000 +0200
-@@ -214,7 +214,7 @@
- }
+--- ui/gl/BUILD.gn.orig 2018-12-03 21:18:06.000000000 +0100
++++ ui/gl/BUILD.gn 2018-12-15 20:36:26.132070000 +0100
+@@ -203,7 +203,7 @@
+ ]
}
- if (is_posix && !is_fuchsia && !is_mac) {
@@ -9,22 +9,3 @@
# 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
-@@ -311,7 +311,6 @@
- data_deps += [
- "//third_party/angle:libEGL",
- "//third_party/angle:libGLESv2",
-- "//third_party/mesa:osmesa",
- "//third_party/swiftshader",
- ]
- }
-@@ -545,10 +544,6 @@
- "//ui/gl/init",
- "//ui/platform_window",
- "//ui/platform_window:platform_impls",
-- ]
--
-- data_deps = [
-- "//third_party/mesa:osmesa",
- ]
-
- if (use_x11) {
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 61ceece285e7..aa629db9f8b4 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,15 +1,15 @@
---- ui/gl/gl_bindings_autogen_glx.cc.orig 2018-02-24 16:25:37.000000000 +0100
-+++ ui/gl/gl_bindings_autogen_glx.cc 2018-03-04 04:53:49.532617000 +0100
+--- ui/gl/gl_bindings_autogen_glx.cc.orig 2018-12-03 21:18:06.000000000 +0100
++++ ui/gl/gl_bindings_autogen_glx.cc 2018-12-15 20:44:07.948273000 +0100
@@ -115,6 +115,8 @@
ext.b_GLX_ARB_create_context =
- HasExtension(extensions, "GLX_ARB_create_context");
+ gfx::HasExtension(extensions, "GLX_ARB_create_context");
+ ext.b_GLX_ARB_get_proc_address =
-+ HasExtension(extensions, "GLX_ARB_get_proc_address");
- ext.b_GLX_EXT_swap_control = HasExtension(extensions, "GLX_EXT_swap_control");
++ gfx::HasExtension(extensions, "GLX_ARB_get_proc_address");
+ ext.b_GLX_EXT_swap_control =
+ gfx::HasExtension(extensions, "GLX_EXT_swap_control");
ext.b_GLX_EXT_texture_from_pixmap =
- HasExtension(extensions, "GLX_EXT_texture_from_pixmap");
-@@ -142,6 +144,11 @@
+@@ -145,6 +147,11 @@
GetGLProcAddress("glXCreateContextAttribsARB"));
}
@@ -21,7 +21,7 @@
if (ext.b_GLX_SGIX_fbconfig) {
fn.glXGetFBConfigFromVisualSGIXFn =
reinterpret_cast<glXGetFBConfigFromVisualSGIXProc>(
-@@ -343,6 +350,10 @@
+@@ -346,6 +353,10 @@
return driver_->fn.glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
}
@@ -32,7 +32,7 @@
void GLXApiBase::glXGetSelectedEventFn(Display* dpy,
GLXDrawable drawable,
unsigned long* mask) {
-@@ -643,6 +654,11 @@
+@@ -646,6 +657,11 @@
return glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
}
@@ -44,7 +44,7 @@
void TraceGLXApi::glXGetSelectedEventFn(Display* dpy,
GLXDrawable drawable,
unsigned long* mask) {
-@@ -1065,6 +1081,14 @@
+@@ -1068,6 +1084,14 @@
<< static_cast<const void*>(denominator) << ")");
bool result =
glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
diff --git a/www/chromium/files/patch-ui_gl_gl_fence.cc b/www/chromium/files/patch-ui_gl_gl_fence.cc
index ecec80c3e6eb..73b97dbad2f3 100644
--- a/www/chromium/files/patch-ui_gl_gl_fence.cc
+++ b/www/chromium/files/patch-ui_gl_gl_fence.cc
@@ -1,11 +1,11 @@
---- ui/gl/gl_fence.cc.orig 2018-08-04 21:33:30.691170000 +0200
-+++ ui/gl/gl_fence.cc 2018-08-04 21:33:47.409485000 +0200
-@@ -19,7 +19,7 @@
+--- ui/gl/gl_fence.cc.orig 2018-12-03 21:18:06.000000000 +0100
++++ ui/gl/gl_fence.cc 2018-12-15 20:48:07.037480000 +0100
+@@ -18,7 +18,7 @@
+ #include "ui/gl/gl_fence_apple.h"
#endif
- #if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_FUCHSIA) && \
-- !defined(OS_MACOSX)
-+ !defined(OS_MACOSX) && !defined(OS_FREEBSD)
+-#if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_MACOSX)
++#if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_FREEBSD)
#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_implementation.cc b/www/chromium/files/patch-ui_gl_gl_implementation.cc
deleted file mode 100644
index 7fd77e2c0819..000000000000
--- a/www/chromium/files/patch-ui_gl_gl_implementation.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/gl_implementation.cc.orig 2018-08-01 00:09:48.000000000 +0200
-+++ ui/gl/gl_implementation.cc 2018-08-04 21:27:12.545235000 +0200
-@@ -123,7 +123,7 @@
-
- GLImplementation GetSoftwareGLImplementation() {
- #if (defined(OS_WIN) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(USE_OZONE)) || \
-+ ((defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) && !defined(USE_OZONE)) || \
- (defined(OS_MACOSX) && defined(USE_EGL)))
- return kGLImplementationSwiftShaderGL;
- #else
diff --git a/www/chromium/files/patch-ui_message__center_views_message__view__factory.cc b/www/chromium/files/patch-ui_message__center_views_message__view__factory.cc
deleted file mode 100644
index 523a0ce364eb..000000000000
--- a/www/chromium/files/patch-ui_message__center_views_message__view__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/message_center/views/message_view_factory.cc.orig 2017-06-05 19:03:30 UTC
-+++ ui/message_center/views/message_view_factory.cc
-@@ -43,7 +43,7 @@ MessageView* MessageViewFactory::Create(MessageCenterC
- notification_view = new NotificationView(controller, notification);
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Don't create shadows for notification toasts on Linux or CrOS.
- if (top_level)
- return notification_view;
diff --git a/www/chromium/files/patch-ui_message_center_public_cpp_message_center_constants.h b/www/chromium/files/patch-ui_message_center_public_cpp_message_center_constants.h
new file mode 100644
index 000000000000..f2ebc6499f42
--- /dev/null
+++ b/www/chromium/files/patch-ui_message_center_public_cpp_message_center_constants.h
@@ -0,0 +1,11 @@
+--- ui/message_center/public/cpp/message_center_constants.h.orig 2019-01-04 01:05:19.610265000 +0100
++++ ui/message_center/public/cpp/message_center_constants.h 2019-01-04 01:05:58.617215000 +0100
+@@ -106,7 +106,7 @@
+ const int kButtonIconTopPadding = 11; // In DIPs.
+ const int kButtonIconToTitlePadding = 16; // In DIPs.
+
+-#if !defined(OS_LINUX) || defined(USE_AURA)
++#if (!defined(OS_LINUX) && !defined(OS_BSD)) || defined(USE_AURA)
+ constexpr SkColor kButtonSeparatorColor = SkColorSetRGB(234, 234, 234);
+ constexpr SkColor kHoveredButtonBackgroundColor = SkColorSetRGB(243, 243, 243);
+ #endif
diff --git a/www/chromium/files/patch-ui_message__center_views_toast__contents__view.cc b/www/chromium/files/patch-ui_message_center_views_message_popup_view.cc
index 04e0e58fbd64..078a06d7d91c 100644
--- a/www/chromium/files/patch-ui_message__center_views_toast__contents__view.cc
+++ b/www/chromium/files/patch-ui_message_center_views_message_popup_view.cc
@@ -1,7 +1,7 @@
---- ui/message_center/views/toast_contents_view.cc.orig 2017-04-19 19:06:54 UTC
-+++ ui/message_center/views/toast_contents_view.cc
-@@ -388,7 +388,7 @@ void ToastContentsView::CreateWidget(
- PopupAlignmentDelegate* alignment_delegate) {
+--- ui/message_center/views/message_popup_view.cc.orig 2019-01-04 01:03:15.842319000 +0100
++++ ui/message_center/views/message_popup_view.cc 2019-01-04 01:03:49.177126000 +0100
+@@ -112,7 +112,7 @@
+ void MessagePopupView::Show() {
views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP);
params.keep_on_top = true;
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
diff --git a/www/chromium/files/patch-ui_views_bubble_bubble__dialog__delegate.cc b/www/chromium/files/patch-ui_views_bubble_bubble__dialog__delegate.cc
deleted file mode 100644
index d484e65fe1af..000000000000
--- a/www/chromium/files/patch-ui_views_bubble_bubble__dialog__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/bubble/bubble_dialog_delegate.cc.orig 2017-06-05 19:03:30 UTC
-+++ ui/views/bubble/bubble_dialog_delegate.cc
-@@ -76,7 +76,7 @@ Widget* BubbleDialogDelegateView::CreateBubble(
- // the parent frame and let DWM handle compositing. If not, then we don't
- // want to allow the bubble to extend the frame because it will be clipped.
- bubble_delegate->set_adjust_if_offscreen(ui::win::IsAeroGlassEnabled());
--#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD)
- // Linux clips bubble windows that extend outside their parent window bounds.
- // Mac never adjusts.
- bubble_delegate->set_adjust_if_offscreen(false);
diff --git a/www/chromium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc b/www/chromium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc
new file mode 100644
index 000000000000..a8d75c43a73d
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc
@@ -0,0 +1,11 @@
+--- ui/views/bubble/bubble_dialog_delegate_view.cc.orig 2018-12-15 21:04:16.740410000 +0100
++++ ui/views/bubble/bubble_dialog_delegate_view.cc 2018-12-15 21:05:12.625861000 +0100
+@@ -114,7 +114,7 @@
+ bubble_delegate->SetAnchorView(bubble_delegate->GetAnchorView());
+ Widget* bubble_widget = CreateBubbleWidget(bubble_delegate);
+
+-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD)
+ // Linux clips bubble windows that extend outside their parent window bounds.
+ // Mac never adjusts.
+ bubble_delegate->set_adjust_if_offscreen(false);
diff --git a/www/chromium/files/patch-ui_views_mus_aura__init.cc b/www/chromium/files/patch-ui_views_mus_aura__init.cc
deleted file mode 100644
index 6026fda14e96..000000000000
--- a/www/chromium/files/patch-ui_views_mus_aura__init.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- ui/views/mus/aura_init.cc.orig 2018-06-13 00:11:10.000000000 +0200
-+++ ui/views/mus/aura_init.cc 2018-07-19 22:04:02.069063000 +0200
-@@ -24,7 +24,7 @@
- #include "ui/views/style/typography_provider.h"
- #include "ui/views/views_delegate.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h"
- #include "ui/gfx/platform_font_linux.h"
- #endif
-@@ -59,7 +59,7 @@
- }
-
- AuraInit::~AuraInit() {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (font_loader_.get()) {
- SkFontConfigInterface::SetGlobal(nullptr);
- // FontLoader is ref counted. We need to explicitly shutdown the background
-@@ -112,7 +112,7 @@
- }
-
- // Initialize the skia font code to go ask fontconfig underneath.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- font_loader_ = sk_make_sp<font_service::FontLoader>(connector);
- SkFontConfigInterface::SetGlobal(font_loader_.get());
-
diff --git a/www/chromium/files/patch-ui_views_mus_aura__init.h b/www/chromium/files/patch-ui_views_mus_aura__init.h
deleted file mode 100644
index dd1450cddfc4..000000000000
--- a/www/chromium/files/patch-ui_views_mus_aura__init.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/mus/aura_init.h.orig 2017-04-19 19:06:55 UTC
-+++ ui/views/mus/aura_init.h
-@@ -68,7 +68,7 @@ class VIEWS_MUS_EXPORT AuraInit {
- private:
- void InitializeResources(service_manager::Connector* connector);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
-
diff --git a/www/chromium/files/patch-ui_views_widget_desktop_aura_desktop_screen_x11.cc b/www/chromium/files/patch-ui_views_widget_desktop_aura_desktop_screen_x11.cc
deleted file mode 100644
index e5502e16089d..000000000000
--- a/www/chromium/files/patch-ui_views_widget_desktop_aura_desktop_screen_x11.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- ui/views/widget/desktop_aura/desktop_screen_x11.cc.orig 2018-06-13 00:11:10.000000000 +0200
-+++ ui/views/widget/desktop_aura/desktop_screen_x11.cc 2018-07-20 17:57:12.071809000 +0200
-@@ -216,8 +216,13 @@
- if (host) {
- DesktopWindowTreeHostX11* rwh = DesktopWindowTreeHostX11::GetHostForXID(
- host->GetAcceleratedWidget());
-- if (rwh)
-- return GetDisplayMatching(rwh->GetX11RootWindowBounds());
-+ if (rwh) {
-+ const float scale = 1.0f / GetDeviceScaleFactor();
-+ const gfx::Rect pixel_rect = rwh->GetX11RootWindowBounds();
-+ return GetDisplayMatching(
-+ gfx::Rect(gfx::ScaleToFlooredPoint(pixel_rect.origin(), scale),
-+ gfx::ScaleToCeiledSize(pixel_rect.size(), scale)));
-+ }
- }
-
- return GetPrimaryDisplay();
diff --git a/www/chromium/files/patch-ui_views_window_frame_background.cc b/www/chromium/files/patch-ui_views_window_frame_background.cc
index 7b35800b9beb..667e6a802a87 100644
--- a/www/chromium/files/patch-ui_views_window_frame_background.cc
+++ b/www/chromium/files/patch-ui_views_window_frame_background.cc
@@ -1,9 +1,9 @@
---- ui/views/window/frame_background.cc.orig 2017-09-07 02:06:18.851705000 +0200
-+++ ui/views/window/frame_background.cc 2017-09-07 02:06:40.569927000 +0200
-@@ -173,7 +173,7 @@
-
- void FrameBackground::PaintFrameTopArea(gfx::Canvas* canvas,
- const View* view) const {
+--- ui/views/window/frame_background.cc.orig 2018-12-03 21:18:07.000000000 +0100
++++ ui/views/window/frame_background.cc 2018-12-15 21:23:38.516468000 +0100
+@@ -122,7 +122,7 @@
+ const View* view) const {
+ // Fill the top with the frame color first so we have a constant background
+ // for areas not covered by the theme image.
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
auto* native_theme = view->GetNativeTheme();
diff --git a/www/chromium/pkg-plist b/www/chromium/pkg-plist
index 3e13c49be3cc..572f6ccc7d39 100644
--- a/www/chromium/pkg-plist
+++ b/www/chromium/pkg-plist
@@ -3,10 +3,8 @@ bin/chrome
%%DATADIR%%/chrome-wrapper
%%DATADIR%%/chrome_100_percent.pak
%%DATADIR%%/chrome_200_percent.pak
-%%DATADIR%%/font_service.service
%%DATADIR%%/headless_lib.pak
%%DATADIR%%/icudtl.dat
-%%DATADIR%%/keyboard_resources.pak
%%DATADIR%%/libEGL.so
%%DATADIR%%/libGLESv2.so
%%DATADIR%%/locales/am.pak
@@ -120,6 +118,7 @@ bin/chrome
%%DATADIR%%/product_logo_48.png
%%DATADIR%%/protoc
%%DATADIR%%/resources.pak
+%%DATADIR%%/resources/inspector/.htaccess
%%DATADIR%%/resources/inspector/Images/accelerometer-back.png
%%DATADIR%%/resources/inspector/Images/accelerometer-bottom.png
%%DATADIR%%/resources/inspector/Images/accelerometer-front.png
@@ -318,6 +317,8 @@ bin/chrome
%%DATADIR%%/v8_context_snapshot.bin
%%DATADIR%%/views_mus_resources.pak
%%DEBUG%%%%DATADIR%%/character_data_generator
+%%DEBUG%%%%DATADIR%%/libmalloc_wrapper.so
+%%DEBUG%%%%DATADIR%%/libtest_shared_library.so
%%DEBUG%%%%DATADIR%%/libVkICD_mock_icd.so
%%DEBUG%%%%DATADIR%%/libVkLayer_core_validation.so
%%DEBUG%%%%DATADIR%%/libVkLayer_object_tracker.so