summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcpm <cpm@FreeBSD.org>2017-09-17 11:10:43 +0000
committercpm <cpm@FreeBSD.org>2017-09-17 11:10:43 +0000
commitba328f924693244580182b8656ccdacb1a4d01b8 (patch)
tree1bbf19adfa65f203d6dc4e226b48c372853bdb2d
parent9c5c05f7978f034a003454b43edc88cb12085751 (diff)
downloadFreeBSD-ports-ba328f924693244580182b8656ccdacb1a4d01b8.zip
FreeBSD-ports-ba328f924693244580182b8656ccdacb1a4d01b8.tar.gz
www/chromium: update to 61.0.3163.79
- Add arm64 support [1] - Fix segfault on i386 [2] - Switch to USES=compiler:c++14-lang for devel/chromium-gn because chromium needs __builtin_add_overflow and friends to build. Changelog: https://chromium.googlesource.com/chromium/src/+log/60.0.3112.113..61.0.3163.79?pretty=fuller&n=10000 PR: 220291 [1], 221266 [2] Submitted by: Andrew [1] Reported by: Patrick <doctorwhoguy@gmail.com> [2] MFH: 2017Q3
-rw-r--r--www/chromium/Makefile14
-rw-r--r--www/chromium/distinfo10
-rw-r--r--www/chromium/files/extra-patch-libc++-new (renamed from www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py)26
-rw-r--r--www/chromium/files/extra-patch-libc++-old117
-rw-r--r--www/chromium/files/patch-base_i18n_icu__util.cc10
-rw-r--r--www/chromium/files/patch-base_process_memory__unittest.cc20
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__posix.cc22
-rw-r--r--www/chromium/files/patch-base_sys__info__posix.cc13
-rw-r--r--www/chromium/files/patch-base_task_scheduler_delayed_task_manager.cc12
-rw-r--r--www/chromium/files/patch-base_test_test__file__util__posix.cc10
-rw-r--r--www/chromium/files/patch-breakpad_BUILD.gn6
-rw-r--r--www/chromium/files/patch-build_config_BUILDCONFIG.gn20
-rw-r--r--www/chromium/files/patch-build_config_compiler_BUILD.gn62
-rw-r--r--www/chromium/files/patch-build_toolchain_linux_BUILD.gn10
-rw-r--r--www/chromium/files/patch-chrome_BUILD.gn40
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main.cc16
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main__delegate.cc37
-rw-r--r--www/chromium/files/patch-chrome_app_chromium__strings.grd8
-rw-r--r--www/chromium/files/patch-chrome_app_generated__resources.grd16
-rw-r--r--www/chromium/files/patch-chrome_app_google__chrome__strings.grd8
-rw-r--r--www/chromium/files/patch-chrome_app_theme_chrome_unscaled_resources.grd11
-rw-r--r--www/chromium/files/patch-chrome_browser_background_background_mode_optimizer.cc15
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__resources.grd17
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc42
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__commands.h13
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_BUILD.gn17
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_flag__descriptions.cc19
-rw-r--r--www/chromium/files/patch-chrome_browser_media_router_discovery_discovery_network_list_posix.cc28
-rw-r--r--www/chromium/files/patch-chrome_browser_media_router_discovery_discovery_network_list_wifi_linux.cc26
-rw-r--r--www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_prefs_browser_prefs.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_chrome_browser_main_extra_parts_profiles.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar_button.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_new_tab_button.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc23
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__features.cc18
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__features.h14
-rw-r--r--www/chromium/files/patch-chrome_common_features.gni19
-rw-r--r--www/chromium/files/patch-chrome_common_url__constants.cc39
-rw-r--r--www/chromium/files/patch-chrome_common_url__constants.h21
-rw-r--r--www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc8
-rw-r--r--www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc23
-rw-r--r--www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.h15
-rw-r--r--www/chromium/files/patch-components_os__crypt_os__crypt.h42
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_BUILD.gn20
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password_manager_metrics_util.cc11
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password_manager_metrics_util.h20
-rw-r--r--www/chromium/files/patch-components_password__manager_core_browser_password_reuse_defines.h11
-rw-r--r--www/chromium/files/patch-components_policy_BUILD.gn19
-rw-r--r--www/chromium/files/patch-components_policy_resources_policy__templates.json34
-rw-r--r--www/chromium/files/patch-components_policy_tools_generate__policy__source.py15
-rw-r--r--www/chromium/files/patch-components_storage__monitor_storage__monitor.cc18
-rw-r--r--www/chromium/files/patch-components_tracing_common_process__metrics__memory__dump__provider.cc105
-rw-r--r--www/chromium/files/patch-components_tracing_common_process__metrics__memory__dump__provider.h20
-rw-r--r--www/chromium/files/patch-components_variations_proto_study.proto10
-rw-r--r--www/chromium/files/patch-content_browser_BUILD.gn21
-rw-r--r--www/chromium/files/patch-content_browser_accessibility_browser__accessibility.h11
-rw-r--r--www/chromium/files/patch-content_browser_accessibility_browser__accessibility__manager.h20
-rw-r--r--www/chromium/files/patch-content_browser_accessibility_browser_accessibility_auralinux.cc11
-rw-r--r--www/chromium/files/patch-content_browser_zygote_host_zygote_host_impl_linux.h13
-rw-r--r--www/chromium/files/patch-content_public_browser_zygote_host_linux.h16
-rw-r--r--www/chromium/files/patch-content_renderer_render__thread__impl.cc71
-rw-r--r--www/chromium/files/patch-content_renderer_renderer_main.cc46
-rw-r--r--www/chromium/files/patch-content_shell_BUILD.gn18
-rw-r--r--www/chromium/files/patch-crypto_nss__util.cc24
-rw-r--r--www/chromium/files/patch-device_gamepad_BUILD.gn11
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h8
-rw-r--r--www/chromium/files/patch-ipc_ipc__message__utils.cc14
-rw-r--r--www/chromium/files/patch-ipc_ipc__message__utils.h14
-rw-r--r--www/chromium/files/patch-net_dns_host__resolver__proc.cc14
-rw-r--r--www/chromium/files/patch-net_features.gni11
-rw-r--r--www/chromium/files/patch-printing_backend_print_backend_cups.h11
-rw-r--r--www/chromium/files/patch-remoting_host_setup_me2me_native_messaging_host_main.cc20
-rw-r--r--www/chromium/files/patch-sdch_BUILD.gn12
-rw-r--r--www/chromium/files/patch-services_catalog_public_cpp_manifest__parsing__util.cc18
-rw-r--r--www/chromium/files/patch-services_catalog_store.cc11
-rw-r--r--www/chromium/files/patch-services_catalog_store.h8
-rw-r--r--www/chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor.cc10
-rw-r--r--www/chromium/files/patch-services_resource_coordinator_public_cpp_memory_instrumentation_os_metrics.h11
-rw-r--r--www/chromium/files/patch-services_resource_coordinator_public_cpp_memory_instrumentation_os_metrics_linux.cc30
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp10
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_core_editing_EditingBehavior.cpp11
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_core_html_forms_InternalPopupMenu.cpp11
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp27
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h16
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp34
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h30
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp22
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp16
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp19
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Assertions.cpp10
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Atomics.h10
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ContainerAnnotations.h12
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_StackUtil.cpp19
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ThreadingPthreads.cpp36
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp11
-rw-r--r--www/chromium/files/patch-third__party_angle_BUILD.gn45
-rw-r--r--www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_internal.h11
-rw-r--r--www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_linux.cpp20
-rw-r--r--www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_x11.cpp52
-rw-r--r--www/chromium/files/patch-third__party_boringssl_BUILD.gn31
-rw-r--r--www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c40
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_chromium_scripts_generate_gn.py11
-rw-r--r--www/chromium/files/patch-third__party_ffmpeg_ffmpeg__generated.gni286
-rw-r--r--www/chromium/files/patch-third__party_fontconfig_BUILD.gn14
-rw-r--r--www/chromium/files/patch-third__party_fontconfig_fontconfig.gni11
-rw-r--r--www/chromium/files/patch-third__party_libxml_chromium_libxml__utils.cc22
-rw-r--r--www/chromium/files/patch-third__party_pdfium_core_fxge_fx_ge_linux.cpp14
-rw-r--r--www/chromium/files/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp25
-rw-r--r--www/chromium/files/patch-third__party_pdfium_xfa_fgas_font_cfgas_fontmgr.cpp13
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp (renamed from www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_EGLSurface.cpp)6
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp24
-rw-r--r--www/chromium/files/patch-third__party_webrtc_base_BUILD.gn18
-rw-r--r--www/chromium/files/patch-third__party_webrtc_base_ifaddrs__converter.h11
-rw-r--r--www/chromium/files/patch-third__party_webrtc_base_network.h13
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_BUILD.gn18
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_byteorder.h (renamed from www/chromium/files/patch-third__party_webrtc_base_byteorder.h)4
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_httpcommon.cc (renamed from www/chromium/files/patch-third__party_webrtc_base_httpcommon.cc)6
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_ifaddrs__converter.h11
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.h (renamed from www/chromium/files/patch-third__party_webrtc_base_ipaddress.h)4
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_network.cc (renamed from www/chromium/files/patch-third__party_webrtc_base_network.cc)8
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_network.h13
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc (renamed from www/chromium/files/patch-third__party_webrtc_base_physicalsocketserver.cc)40
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.h11
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_platform_thread.cc (renamed from www/chromium/files/patch-third__party_webrtc_base_platform__thread.cc)12
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_stringutils.h (renamed from www/chromium/files/patch-third__party_webrtc_base_stringutils.h)6
-rw-r--r--www/chromium/files/patch-tools_grit_grit__rule.gni11
-rw-r--r--www/chromium/files/patch-ui_base_BUILD.gn40
-rw-r--r--www/chromium/files/patch-ui_base_resource_resource__bundle__freebsd.cc24
-rw-r--r--www/chromium/files/patch-ui_gfx_BUILD.gn20
-rw-r--r--www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.cc29
-rw-r--r--www/chromium/files/patch-ui_gl_BUILD.gn12
-rw-r--r--www/chromium/files/patch-ui_gl_generate_bindings.py12
-rw-r--r--www/chromium/files/patch-ui_native_theme_native_theme.h11
-rw-r--r--www/chromium/files/patch-ui_native_theme_native_theme_base.cc11
-rw-r--r--www/chromium/files/patch-ui_resources_ui__resources.grd6
-rw-r--r--www/chromium/files/patch-ui_strings_app_locale_settings.grd11
-rw-r--r--www/chromium/files/patch-ui_views_BUILD.gn18
-rw-r--r--www/chromium/files/patch-ui_views_mus_aura__init.cc26
-rw-r--r--www/chromium/files/patch-ui_views_views__switches.cc11
-rw-r--r--www/chromium/files/patch-ui_views_window_frame_background.cc11
-rw-r--r--www/chromium/files/patch-v8_src_base_cpu.cc18
-rw-r--r--www/chromium/pkg-plist8
149 files changed, 1723 insertions, 1412 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index 0c4792d..4dd19bf 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= chromium
-PORTVERSION= 60.0.3112.113
-PORTREVISION= 1
+PORTVERSION= 61.0.3163.79
CATEGORIES?= www
MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
@@ -62,11 +61,11 @@ LIB_DEPENDS= libspeechd.so:accessibility/speech-dispatcher \
RUN_DEPENDS= xdg-open:devel/xdg-utils \
droid-fonts-ttf>0:x11-fonts/droid-fonts-ttf
-ONLY_FOR_ARCHS= amd64 i386
+ONLY_FOR_ARCHS= aarch64 amd64 i386
.endif
.if defined(GN_ONLY)
-USES= compiler:c++11-lib ninja pkgconfig python:2,build shebangfix tar:xz
+USES= compiler:c++14-lang ninja pkgconfig python:2,build shebangfix tar:xz
.else
USES= bison cpe desktop-file-utils execinfo jpeg ninja perl5 pkgconfig \
python:2,build shebangfix tar:xz
@@ -201,6 +200,13 @@ MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \
# Work around base r261801
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100508
GN_ARGS+= extra_cxxflags="-D_LIBCPP_TRIVIAL_PAIR_COPY_CTOR=1"
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-libc++-old
+.else
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-libc++-new
+.endif
+
+.if ${ARCH} == aarch64
+GN_ARGS+= use_vulcanize=false
.endif
.if !defined(GN_ONLY)
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index b536bc9e..09fa168 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1504288636
-SHA256 (chromium-60.0.3112.113.tar.xz) = ebfce706a1ea02a92e35f360c7364d1184dacf040b59eade4cb51aa61a4fec59
-SIZE (chromium-60.0.3112.113.tar.xz) = 537527628
-SHA256 (chromium-60.0.3112.113-testdata.tar.xz) = 09b778c339f40d83bf0b66bad7de116277204f079b56569ddfd46899b5f76e66
-SIZE (chromium-60.0.3112.113-testdata.tar.xz) = 124651664
+TIMESTAMP = 1504708783
+SHA256 (chromium-61.0.3163.79.tar.xz) = bdbc139ed86f3b5d1ec3c3b00caeaef4f9ac2c363438f03dded56e217ad10727
+SIZE (chromium-61.0.3163.79.tar.xz) = 556218140
+SHA256 (chromium-61.0.3163.79-testdata.tar.xz) = fdef32059ce9f2c9f122207b8a2e165e7f961d3b175eca9ac59a3f1469984b27
+SIZE (chromium-61.0.3163.79-testdata.tar.xz) = 126580816
diff --git a/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py b/www/chromium/files/extra-patch-libc++-new
index ea1bfd8..0017902 100644
--- a/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py
+++ b/www/chromium/files/extra-patch-libc++-new
@@ -1,5 +1,5 @@
---- tools/gn/bootstrap/bootstrap.py.orig 2017-08-03 00:05:40.000000000 +0200
-+++ tools/gn/bootstrap/bootstrap.py 2017-08-09 23:59:54.024577000 +0200
+--- tools/gn/bootstrap/bootstrap.py.orig 2017-09-05 21:05:47.000000000 +0200
++++ tools/gn/bootstrap/bootstrap.py 2017-09-10 22:43:57.996797000 +0200
@@ -23,6 +23,7 @@
import shutil
import subprocess
@@ -20,7 +20,24 @@
def check_call(cmd, **kwargs):
logging.debug('Running: %s', ' '.join(cmd))
-@@ -627,7 +629,7 @@
+@@ -449,6 +451,7 @@
+ 'base/metrics/histogram_base.cc',
+ 'base/metrics/histogram_functions.cc',
+ 'base/metrics/histogram_samples.cc',
++ 'base/metrics/histogram_snapshot_manager.cc',
+ 'base/metrics/metrics_hashes.cc',
+ 'base/metrics/persistent_histogram_allocator.cc',
+ 'base/metrics/persistent_memory_allocator.cc',
+@@ -534,7 +537,7 @@
+ 'base/trace_event/heap_profiler_allocation_context_tracker.cc',
+ 'base/trace_event/heap_profiler_allocation_register.cc',
+ 'base/trace_event/heap_profiler_event_filter.cc',
+- 'base/trace_event/heap_profiler_event_writer.cc',
++ 'base/trace_event/heap_profiler_heap_dump_writer.cc',
+ 'base/trace_event/heap_profiler_serialization_state.cc',
+ 'base/trace_event/heap_profiler_stack_frame_deduplicator.cc',
+ 'base/trace_event/heap_profiler_type_name_deduplicator.cc',
+@@ -627,7 +630,7 @@
'cflags': cflags + ['-DHAVE_CONFIG_H'],
}
@@ -29,7 +46,7 @@
ldflags.extend(['-pthread'])
static_libraries['xdg_user_dirs'] = {
-@@ -642,16 +644,45 @@
+@@ -642,16 +645,44 @@
'base/memory/shared_memory_tracker.cc',
'base/nix/xdg_util.cc',
'base/process/internal_linux.cc',
@@ -65,7 +82,6 @@
+ 'base/process/process_iterator_' + platform.system().lower() + '.cc',
+ 'base/process/process_metrics_'+ platform.system().lower() + '.cc',
+ 'base/sys_info_' + platform.system().lower() + '.cc',
-+ 'base/task_scheduler/environment_config.cc',
+ ])
+ static_libraries['libevent']['include_dirs'].extend([
+ os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'freebsd')
diff --git a/www/chromium/files/extra-patch-libc++-old b/www/chromium/files/extra-patch-libc++-old
new file mode 100644
index 0000000..368fc37
--- /dev/null
+++ b/www/chromium/files/extra-patch-libc++-old
@@ -0,0 +1,117 @@
+--- tools/gn/bootstrap/bootstrap.py.orig 2017-09-05 21:05:47.000000000 +0200
++++ tools/gn/bootstrap/bootstrap.py 2017-09-10 19:20:25.156037000 +0200
+@@ -23,6 +23,7 @@
+ import shutil
+ import subprocess
+ import sys
++import platform
+ import tempfile
+
+ BOOTSTRAP_DIR = os.path.dirname(os.path.abspath(__file__))
+@@ -31,9 +32,10 @@
+
+ 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))
+@@ -449,6 +451,7 @@
+ 'base/metrics/histogram_base.cc',
+ 'base/metrics/histogram_functions.cc',
+ 'base/metrics/histogram_samples.cc',
++ 'base/metrics/histogram_snapshot_manager.cc',
+ 'base/metrics/metrics_hashes.cc',
+ 'base/metrics/persistent_histogram_allocator.cc',
+ 'base/metrics/persistent_memory_allocator.cc',
+@@ -534,7 +537,7 @@
+ 'base/trace_event/heap_profiler_allocation_context_tracker.cc',
+ 'base/trace_event/heap_profiler_allocation_register.cc',
+ 'base/trace_event/heap_profiler_event_filter.cc',
+- 'base/trace_event/heap_profiler_event_writer.cc',
++ 'base/trace_event/heap_profiler_heap_dump_writer.cc',
+ 'base/trace_event/heap_profiler_serialization_state.cc',
+ 'base/trace_event/heap_profiler_stack_frame_deduplicator.cc',
+ 'base/trace_event/heap_profiler_type_name_deduplicator.cc',
+@@ -627,7 +630,7 @@
+ 'cflags': cflags + ['-DHAVE_CONFIG_H'],
+ }
+
+- if is_linux or is_aix:
++ if is_linux or is_aix or is_bsd:
+ ldflags.extend(['-pthread'])
+
+ static_libraries['xdg_user_dirs'] = {
+@@ -642,16 +645,45 @@
+ 'base/memory/shared_memory_tracker.cc',
+ 'base/nix/xdg_util.cc',
+ 'base/process/internal_linux.cc',
+- 'base/process/memory_linux.cc',
++ #'base/process/memory_linux.cc',
+ 'base/process/process_handle_linux.cc',
+ 'base/process/process_info_linux.cc',
+- 'base/process/process_iterator_linux.cc',
+- 'base/process/process_linux.cc',
+- 'base/process/process_metrics_linux.cc',
++ #'base/process/process_iterator_linux.cc',
++ #'base/process/process_linux.cc',
++ #'base/process/process_metrics_linux.cc',
+ 'base/strings/sys_string_conversions_posix.cc',
+- 'base/sys_info_linux.cc',
++ #'base/sys_info_linux.cc',
+ 'base/threading/platform_thread_linux.cc',
+ ])
++ if is_bsd:
++ libs.extend(['-lexecinfo', '-lkvm'])
++ ldflags.extend(['-pthread'])
++
++ 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/allocator/allocator_shim.cc',
++ 'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
++ 'base/process/process_handle_' + platform.system().lower() + '.cc',
++ 'base/process/process_iterator_' + platform.system().lower() + '.cc',
++ 'base/process/process_metrics_'+ platform.system().lower() + '.cc',
++ 'base/sys_info_' + platform.system().lower() + '.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'])
++ cflags_cc.extend(['-D_LIBCPP_TRIVIAL_PAIR_COPY_CTOR=1'])
++
+ if is_linux:
+ static_libraries['base']['sources'].extend([
+ 'base/allocator/allocator_shim.cc',
+@@ -663,17 +695,6 @@
+ ])
+ static_libraries['libevent']['sources'].extend([
+ 'base/third_party/libevent/epoll.c',
+- ])
+- else:
+- 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:
diff --git a/www/chromium/files/patch-base_i18n_icu__util.cc b/www/chromium/files/patch-base_i18n_icu__util.cc
index 2c3a369..2278004 100644
--- a/www/chromium/files/patch-base_i18n_icu__util.cc
+++ b/www/chromium/files/patch-base_i18n_icu__util.cc
@@ -1,15 +1,15 @@
---- base/i18n/icu_util.cc.orig 2017-06-09 16:50:47.670684000 +0200
-+++ base/i18n/icu_util.cc 2017-06-09 16:52:10.911955000 +0200
+--- base/i18n/icu_util.cc.orig 2017-09-05 21:05:11.000000000 +0200
++++ base/i18n/icu_util.cc 2017-09-06 16:47:26.158180000 +0200
@@ -20,7 +20,7 @@
#include "build/build_config.h"
#include "third_party/icu/source/common/unicode/putil.h"
#include "third_party/icu/source/common/unicode/udata.h"
--#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_ANDROID)
++#if (defined(OS_LINUX) || defined(OS_BSD) && !defined(OS_CHROMEOS)) || defined(OS_ANDROID)
#include "third_party/icu/source/i18n/unicode/timezone.h"
#endif
-@@ -298,7 +298,7 @@
+@@ -312,7 +312,7 @@
// TODO(jungshik): Some callers do not care about tz at all. If necessary,
// add a boolean argument to this function to init'd the default tz only
// when requested.
diff --git a/www/chromium/files/patch-base_process_memory__unittest.cc b/www/chromium/files/patch-base_process_memory__unittest.cc
index c401f82..56989b8 100644
--- a/www/chromium/files/patch-base_process_memory__unittest.cc
+++ b/www/chromium/files/patch-base_process_memory__unittest.cc
@@ -1,19 +1,15 @@
---- base/process/memory_unittest.cc.orig 2017-06-05 19:03:00 UTC
-+++ base/process/memory_unittest.cc
-@@ -101,10 +101,10 @@ TEST(MemoryTest, AllocatorShimWorking) {
- #endif
- }
-
--// OpenBSD does not support these tests. Don't test these on ASan/TSan/MSan
-+// BSD does not support these tests. Don't test these on ASan/TSan/MSan
+--- base/process/memory_unittest.cc.orig 2017-09-05 21:05:11.000000000 +0200
++++ base/process/memory_unittest.cc 2017-09-06 16:53:33.919374000 +0200
+@@ -104,7 +104,7 @@
+ // OpenBSD does not support these tests. Don't test these on ASan/TSan/MSan
// configurations: only test the real allocator.
// Windows only supports these tests with the allocator shim in place.
--#if !defined(OS_OPENBSD) && \
-+#if !defined(OS_BSD) && \
- BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) && \
+-#if !defined(OS_OPENBSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \
++#if !defined(OS_BSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \
!defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
-@@ -508,5 +508,5 @@ TEST_F(OutOfMemoryHandledTest, UncheckedCalloc) {
+ namespace {
+@@ -507,5 +507,5 @@
EXPECT_FALSE(base::UncheckedCalloc(1, test_size_, &value_));
EXPECT_TRUE(value_ == NULL);
}
diff --git a/www/chromium/files/patch-base_process_process__metrics__posix.cc b/www/chromium/files/patch-base_process_process__metrics__posix.cc
new file mode 100644
index 0000000..6834f13
--- /dev/null
+++ b/www/chromium/files/patch-base_process_process__metrics__posix.cc
@@ -0,0 +1,22 @@
+--- base/process/process_metrics_posix.cc.orig 2017-09-05 21:05:11.000000000 +0200
++++ base/process/process_metrics_posix.cc 2017-09-11 19:41:06.103369000 +0200
+@@ -16,6 +16,8 @@
+
+ #if defined(OS_MACOSX)
+ #include <malloc/malloc.h>
++#elif defined(OS_BSD)
++#include <stdlib.h>
+ #else
+ #include <malloc.h>
+ #endif
+@@ -103,8 +105,9 @@
+ #endif
+ #elif defined(OS_FUCHSIA)
+ // TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
+- return 0;
++ NOTIMPLEMENTED();
+ #endif
++ return 0;
+ }
+
+ } // namespace base
diff --git a/www/chromium/files/patch-base_sys__info__posix.cc b/www/chromium/files/patch-base_sys__info__posix.cc
index cf5c6cd..55be5c3 100644
--- a/www/chromium/files/patch-base_sys__info__posix.cc
+++ b/www/chromium/files/patch-base_sys__info__posix.cc
@@ -1,5 +1,5 @@
---- base/sys_info_posix.cc.orig 2017-07-25 21:04:48.000000000 +0200
-+++ base/sys_info_posix.cc 2017-08-02 21:19:06.172695000 +0200
+--- base/sys_info_posix.cc.orig 2017-09-05 21:05:11.000000000 +0200
++++ base/sys_info_posix.cc 2017-09-11 02:55:59.022874000 +0200
@@ -35,7 +35,7 @@
namespace {
@@ -18,3 +18,12 @@
int SysInfo::NumberOfProcessors() {
return g_lazy_number_of_processors.Get().value();
}
+@@ -219,6 +219,8 @@
+ arch = "x86";
+ } else if (arch == "amd64") {
+ arch = "x86_64";
++ } else if (arch == "arm64") {
++ arch = "aarch64";
+ } else if (std::string(info.sysname) == "AIX") {
+ arch = "ppc64";
+ }
diff --git a/www/chromium/files/patch-base_task_scheduler_delayed_task_manager.cc b/www/chromium/files/patch-base_task_scheduler_delayed_task_manager.cc
deleted file mode 100644
index e194005..0000000
--- a/www/chromium/files/patch-base_task_scheduler_delayed_task_manager.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/task_scheduler/delayed_task_manager.cc.orig 2017-08-10 23:52:26.912451000 +0200
-+++ base/task_scheduler/delayed_task_manager.cc 2017-08-11 00:22:09.125479000 +0200
-@@ -70,9 +70,6 @@
- if (started_.IsSet()) {
- AddDelayedTaskNow(std::move(task), delay,
- std::move(post_task_now_callback));
-- } else {
-- tasks_added_before_start_.push_back(
-- {std::move(task), std::move(post_task_now_callback)});
- }
- }
- }
diff --git a/www/chromium/files/patch-base_test_test__file__util__posix.cc b/www/chromium/files/patch-base_test_test__file__util__posix.cc
index 7a8cfbf..7ff08d5 100644
--- a/www/chromium/files/patch-base_test_test__file__util__posix.cc
+++ b/www/chromium/files/patch-base_test_test__file__util__posix.cc
@@ -1,11 +1,11 @@
---- base/test/test_file_util_posix.cc.orig 2017-06-05 19:03:00 UTC
-+++ base/test/test_file_util_posix.cc
-@@ -79,7 +79,7 @@ bool DieFileDie(const FilePath& file, bool recurse) {
+--- base/test/test_file_util_posix.cc.orig 2017-09-05 21:05:11.000000000 +0200
++++ base/test/test_file_util_posix.cc 2017-09-06 16:59:12.993711000 +0200
+@@ -79,7 +79,7 @@
return DeleteFile(file, recurse);
}
--#if !defined(OS_LINUX) && !defined(OS_MACOSX)
-+#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_BSD)
+-#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
++#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
bool EvictFileFromSystemCache(const FilePath& file) {
// There doesn't seem to be a POSIX way to cool the disk cache.
NOTIMPLEMENTED();
diff --git a/www/chromium/files/patch-breakpad_BUILD.gn b/www/chromium/files/patch-breakpad_BUILD.gn
index a2b5f2b..b9b4422 100644
--- a/www/chromium/files/patch-breakpad_BUILD.gn
+++ b/www/chromium/files/patch-breakpad_BUILD.gn
@@ -1,6 +1,6 @@
---- breakpad/BUILD.gn.orig 2017-06-05 19:03:01 UTC
-+++ breakpad/BUILD.gn
-@@ -472,7 +472,7 @@ if (is_mac) {
+--- breakpad/BUILD.gn.orig 2017-09-07 03:01:37.610794000 +0200
++++ breakpad/BUILD.gn 2017-09-07 03:02:03.521046000 +0200
+@@ -472,7 +472,7 @@
}
}
diff --git a/www/chromium/files/patch-build_config_BUILDCONFIG.gn b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
index 99df07d..218eb5a 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 2017-08-03 00:05:04.000000000 +0200
-+++ build/config/BUILDCONFIG.gn 2017-08-09 23:42:27.032065000 +0200
+--- build/config/BUILDCONFIG.gn.orig 2017-09-05 21:05:11.000000000 +0200
++++ build/config/BUILDCONFIG.gn 2017-09-06 17:04:08.044575000 +0200
@@ -131,13 +131,13 @@
is_official_build = false
@@ -11,12 +11,12 @@
# to configure warnings.
is_clang =
current_os == "mac" || current_os == "ios" || current_os == "chromeos" ||
-- current_os == "fuchsia" ||
-+ current_os == "fuchsia" || current_os == "bsd" ||
+- current_os == "fuchsia" || current_os == "android" ||
++ current_os == "fuchsia" || current_os == "android" || current_os == "bsd" ||
(current_os == "linux" && current_cpu != "s390x" &&
- current_cpu != "s390" && current_cpu != "ppc64" && current_cpu != "ppc")
-
-@@ -189,8 +189,8 @@
+ current_cpu != "s390" && current_cpu != "ppc64" &&
+ current_cpu != "ppc" && current_cpu != "mips" && current_cpu != "mips64")
+@@ -190,8 +190,8 @@
# TODO(dpranke): Add some sort of assert here that verifies that
# no toolchain omitted host_toolchain from its toolchain_args().
@@ -27,7 +27,7 @@
# TODO(dpranke) - is_clang normally applies only to the target
# build, and there is no way to indicate that you want to override
# it for both the target build *and* the host build. Do we need to
-@@ -228,7 +228,7 @@
+@@ -229,7 +229,7 @@
} else {
_default_toolchain = "//build/toolchain/android:android_$target_cpu"
}
@@ -36,7 +36,7 @@
# See comments in build/toolchain/cros/BUILD.gn about board compiles.
if (is_clang) {
_default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-@@ -378,8 +378,18 @@
+@@ -379,8 +379,18 @@
is_nacl = false
is_posix = true
is_win = false
@@ -56,7 +56,7 @@
# =============================================================================
# SOURCES FILTERS
# =============================================================================
-@@ -449,7 +459,7 @@
+@@ -450,7 +460,7 @@
if (!is_mac && !is_ios) {
sources_assignment_filter += [ "*.mm" ]
}
diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn
index b83d834..3a62b1b 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 2017-08-03 00:05:04.000000000 +0200
-+++ build/config/compiler/BUILD.gn 2017-08-10 00:34:22.540754000 +0200
-@@ -45,7 +45,7 @@
+--- build/config/compiler/BUILD.gn.orig 2017-09-05 21:05:11.000000000 +0200
++++ build/config/compiler/BUILD.gn 2017-09-11 02:57:48.188641000 +0200
+@@ -46,7 +46,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)
-@@ -166,7 +166,7 @@
+@@ -167,7 +167,7 @@
configs += [ "//build/config/win:compiler" ]
} else if (is_android) {
configs += [ "//build/config/android:compiler" ]
@@ -18,7 +18,7 @@
configs += [ "//build/config/linux:compiler" ]
} else if (is_nacl) {
configs += [ "//build/config/nacl:compiler" ]
-@@ -219,7 +219,7 @@
+@@ -222,7 +222,7 @@
# Linker warnings.
if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") &&
!(is_android && use_order_profiling) && !is_mac && !is_ios &&
@@ -27,7 +27,7 @@
# 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
-@@ -316,7 +316,7 @@
+@@ -319,7 +319,7 @@
# Linux/Android common flags setup.
# ---------------------------------
@@ -36,7 +36,7 @@
if (use_pic) {
cflags += [ "-fPIC" ]
ldflags += [ "-fPIC" ]
-@@ -493,7 +493,7 @@
+@@ -509,7 +509,7 @@
ldflags += [ "-flto" ]
# Apply a lower LTO optimization level as the default is too slow.
@@ -45,7 +45,7 @@
if (use_lld) {
ldflags += [ "-Wl,--lto-O1" ]
} else {
-@@ -516,7 +516,7 @@
+@@ -532,7 +532,7 @@
# Also, when targeting ARM, without this flag, LTO produces a .text section
# that is larger than the maximum call displacement, preventing the linker
# from relocating calls (http://llvm.org/PR22999).
@@ -54,16 +54,30 @@
if (use_lld) {
ldflags += [
"-Wl,-mllvm,-function-sections",
-@@ -794,7 +794,7 @@
+@@ -603,7 +603,7 @@
+ cflags += [ "-mtune=$arm_tune" ]
+ }
+ } else if (current_cpu == "arm64") {
+- if (is_clang && !is_android && !is_nacl) {
++ if (is_clang && !is_android && !is_nacl && !is_bsd) {
+ cflags += [ "--target=aarch64-linux-gnu" ]
+ ldflags += [ "--target=aarch64-linux-gnu" ]
+ }
+@@ -854,11 +854,11 @@
# configs -= [ "//build/config/compiler:clang_stackrealign" ]
# See https://crbug.com/556393 for details of where it must be avoided.
config("clang_stackrealign") {
-- if (is_clang && current_cpu == "x86" && is_linux) {
-+ if (is_clang && current_cpu == "x86" && (is_linux || is_bsd)) {
- cflags = [
+- if (is_clang && current_cpu == "x86" && (is_android || is_linux)) {
++ if (is_clang && current_cpu == "x86" && (is_android || is_linux || is_bsd)) {
+ # Android needs -mstackrealign due to a bug on ia32 Jelly Bean.
+ # See crbug.com/521527
+ cflags = [ "-mstackrealign" ]
+- if (is_linux) {
++ if (is_linux || is_bsd) {
# Align the stack on 16-byte boundaries, http://crbug.com/418554.
- "-mstack-alignment=16",
-@@ -848,7 +848,7 @@
+ cflags += [ "-mstack-alignment=16" ]
+ }
+@@ -910,7 +910,7 @@
# smaller.
if (is_win) {
configs += [ "//build/config/win:runtime_library" ]
@@ -72,7 +86,7 @@
configs += [ "//build/config/linux:runtime_library" ]
} else if (is_ios) {
configs += [ "//build/config/ios:runtime_library" ]
-@@ -1111,7 +1111,7 @@
+@@ -1164,7 +1164,7 @@
"-Wno-address-of-packed-member",
# TODO(hans): https://crbug.com/681136
@@ -81,21 +95,21 @@
# TODO(thakis ): https://crbug.com/683349
"-Wno-user-defined-warnings",
-@@ -1162,7 +1162,7 @@
+@@ -1214,7 +1214,7 @@
]
if (!is_debug && !using_sanitizer &&
- (!is_linux || !is_clang || is_official_build) &&
+ (!is_linux || !is_bsd || !is_clang || is_official_build) &&
current_cpu != "s390x" && current_cpu != "s390" &&
- current_cpu != "ppc64" && current_cpu != "ppc64") {
- # _FORTIFY_SOURCE isn't really supported by Clang now, see
-@@ -1669,7 +1669,7 @@
- "-g2",
- ]
- } else {
-- cflags = [ "-g2" ]
-+ cflags = [ "-g0" ]
+ current_cpu != "ppc64" && current_cpu != "ppc64" &&
+ current_cpu != "mips" && current_cpu != "mips64") {
+@@ -1734,7 +1734,7 @@
+ # "-gdwarf-3" doesn't work with dump_syms in Chrome OS.
+ cflags += [ "-gdwarf-3" ]
+ }
+- cflags += [ "-g2" ]
++ cflags += [ "-g0" ]
}
if (use_debug_fission) {
cflags += [ "-gsplit-dwarf" ]
diff --git a/www/chromium/files/patch-build_toolchain_linux_BUILD.gn b/www/chromium/files/patch-build_toolchain_linux_BUILD.gn
new file mode 100644
index 0000000..65cc017
--- /dev/null
+++ b/www/chromium/files/patch-build_toolchain_linux_BUILD.gn
@@ -0,0 +1,10 @@
+--- build/toolchain/linux/BUILD.gn.orig 2017-09-11 02:58:56.145741000 +0200
++++ build/toolchain/linux/BUILD.gn 2017-09-11 02:59:18.322655000 +0200
+@@ -14,7 +14,6 @@
+ }
+
+ clang_toolchain("clang_arm64") {
+- toolprefix = "aarch64-linux-gnu-"
+ toolchain_args = {
+ current_cpu = "arm64"
+ current_os = "linux"
diff --git a/www/chromium/files/patch-chrome_BUILD.gn b/www/chromium/files/patch-chrome_BUILD.gn
index 3f15b7c..e07dd83 100644
--- a/www/chromium/files/patch-chrome_BUILD.gn
+++ b/www/chromium/files/patch-chrome_BUILD.gn
@@ -1,24 +1,24 @@
---- chrome/BUILD.gn.orig 2017-06-05 19:03:01 UTC
-+++ chrome/BUILD.gn
-@@ -143,7 +143,7 @@ if (!is_android && !is_mac) {
- data = [
- "$root_out_dir/resources.pak",
- ]
-- if (is_linux || is_win) {
-+ if (is_linux || is_bsd || is_win) {
- data += [
- "$root_out_dir/chrome_100_percent.pak",
- "$root_out_dir/locales/en-US.pak",
-@@ -225,7 +225,7 @@ if (!is_android && !is_mac) {
- sources += [ "app/chrome_exe_main_aura.cc" ]
- }
+--- chrome/BUILD.gn.orig 2017-09-05 21:05:11.000000000 +0200
++++ chrome/BUILD.gn 2017-09-06 17:18:59.694120000 +0200
+@@ -165,7 +165,7 @@
+ ]
-- if (is_linux) {
-+ if (is_linux || is_bsd) {
- sources += [
- "app/chrome_dll_resource.h",
- "app/chrome_main.cc",
-@@ -1655,7 +1655,7 @@ if (enable_resource_whitelist_generation) {
+ data += [ "$root_out_dir/resources.pak" ]
+- if (is_linux || is_win) {
++ if (is_linux || is_bsd || is_win) {
+ data += [
+ "$root_out_dir/chrome_100_percent.pak",
+ "$root_out_dir/locales/en-US.pak",
+@@ -245,7 +245,7 @@
+ }
+ }
+
+- if (is_linux) {
++ if (is_linux || is_bsd) {
+ sources += [
+ "app/chrome_dll_resource.h",
+ "app/chrome_main.cc",
+@@ -1783,7 +1783,7 @@
}
}
diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc
index 450c2c6..ea26c94 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main.cc
@@ -1,11 +1,19 @@
---- chrome/app/chrome_main.cc.orig 2017-07-25 21:04:49.000000000 +0200
-+++ chrome/app/chrome_main.cc 2017-08-01 23:35:54.553290000 +0200
-@@ -92,7 +92,7 @@
- const base::CommandLine* command_line(base::CommandLine::ForCurrentProcess());
+--- 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-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) || \
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 34838cf..9053692 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
@@ -1,7 +1,7 @@
---- chrome/app/chrome_main_delegate.cc.orig 2017-06-05 19:03:01 UTC
-+++ chrome/app/chrome_main_delegate.cc
-@@ -89,7 +89,7 @@
- #include "chrome/app/chrome_crash_reporter_client.h"
+--- chrome/app/chrome_main_delegate.cc.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/app/chrome_main_delegate.cc 2017-09-06 17:38:27.122172000 +0200
+@@ -94,7 +94,7 @@
+ #include "chrome/app/shutdown_signal_handlers_posix.h"
#endif
-#if !defined(DISABLE_NACL) && defined(OS_LINUX)
@@ -9,13 +9,8 @@
#include "components/nacl/common/nacl_paths.h"
#include "components/nacl/zygote/nacl_fork_delegate_linux.h"
#endif
-@@ -117,11 +117,11 @@
- #include "ui/base/x/x11_util.h" // nogncheck
- #endif
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- #include "components/crash/content/app/breakpad_linux.h"
+@@ -140,7 +140,7 @@
+ #include "v8/include/v8.h"
#endif
-#if defined(OS_LINUX)
@@ -23,7 +18,7 @@
#include "base/environment.h"
#endif
-@@ -164,7 +164,7 @@ base::LazyInstance<ChromeContentBrowserClient>::Destru
+@@ -183,7 +183,7 @@
g_chrome_content_browser_client = LAZY_INSTANCE_INITIALIZER;
#endif
@@ -32,7 +27,7 @@
base::LazyInstance<ChromeCrashReporterClient>::Leaky g_chrome_crash_client =
LAZY_INSTANCE_INITIALIZER;
#endif
-@@ -284,7 +284,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
+@@ -309,7 +309,7 @@
// and resources loaded.
bool SubprocessNeedsResourceBundle(const std::string& process_type) {
return
@@ -41,7 +36,7 @@
// The zygote process opens the resources for the renderers.
process_type == switches::kZygoteProcess ||
#endif
-@@ -336,7 +336,7 @@ void HandleHelpSwitches(const base::CommandLine& comma
+@@ -361,7 +361,7 @@
}
#endif
@@ -50,7 +45,7 @@
void SIGTERMProfilingShutdown(int signal) {
Profiling::Stop();
struct sigaction sigact;
-@@ -403,7 +403,7 @@ void InitializeUserDataDir(base::CommandLine* command_
+@@ -428,7 +428,7 @@
std::string process_type =
command_line->GetSwitchValueASCII(switches::kProcessType);
@@ -59,7 +54,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.
-@@ -596,7 +596,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
+@@ -630,7 +630,7 @@
std::string format_str =
command_line.GetSwitchValueASCII(switches::kDiagnosticsFormat);
if (format_str == "machine") {
@@ -68,7 +63,7 @@
} else if (format_str == "log") {
format = diagnostics::DiagnosticsWriter::LOG;
} else {
-@@ -646,7 +646,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
+@@ -680,7 +680,7 @@
std::string format_str =
command_line.GetSwitchValueASCII(switches::kDiagnosticsFormat);
if (format_str == "machine") {
@@ -77,7 +72,7 @@
} else if (format_str == "human") {
format = diagnostics::DiagnosticsWriter::HUMAN;
} else {
-@@ -758,7 +758,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+@@ -792,7 +792,7 @@
std::string process_type =
command_line.GetSwitchValueASCII(switches::kProcessType);
@@ -86,7 +81,7 @@
crash_reporter::SetCrashReporterClient(g_chrome_crash_client.Pointer());
#endif
-@@ -888,7 +888,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+@@ -932,7 +932,7 @@
chrome::InitializePDF();
#endif
@@ -95,7 +90,7 @@
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess) {
#if defined(OS_ANDROID)
-@@ -903,7 +903,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+@@ -947,7 +947,7 @@
breakpad::InitCrashReporter(process_type);
#endif // defined(OS_ANDROID)
}
@@ -104,7 +99,7 @@
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
-@@ -1009,7 +1009,7 @@ bool ChromeMainDelegate::DelaySandboxInitialization(
+@@ -1053,7 +1053,7 @@
#endif
return process_type == switches::kRelauncherProcess;
}
diff --git a/www/chromium/files/patch-chrome_app_chromium__strings.grd b/www/chromium/files/patch-chrome_app_chromium__strings.grd
index 9bff618..b87408d 100644
--- a/www/chromium/files/patch-chrome_app_chromium__strings.grd
+++ b/www/chromium/files/patch-chrome_app_chromium__strings.grd
@@ -1,11 +1,11 @@
---- chrome/app/chromium_strings.grd.orig 2017-06-05 19:03:01 UTC
-+++ chrome/app/chromium_strings.grd
-@@ -886,7 +886,7 @@ Signing in anyway will merge Chromium information like
+--- chrome/app/chromium_strings.grd.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/app/chromium_strings.grd 2017-09-07 19:17:30.228682000 +0200
+@@ -913,7 +913,7 @@
</message>
<!-- ProcessSingleton -->
- <if expr="is_linux or is_macosx">
-+ <if expr="is_linux or is_macosx or is_bsd">
++ <if expr="is_linux or is_macosx or is_posix">
<message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
The profile appears to be in use by another Chromium process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chromium has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium.
</message>
diff --git a/www/chromium/files/patch-chrome_app_generated__resources.grd b/www/chromium/files/patch-chrome_app_generated__resources.grd
index 3ef8cb8..24c86ac 100644
--- a/www/chromium/files/patch-chrome_app_generated__resources.grd
+++ b/www/chromium/files/patch-chrome_app_generated__resources.grd
@@ -1,29 +1,29 @@
---- chrome/app/generated_resources.grd.orig 2017-06-05 19:03:01 UTC
-+++ chrome/app/generated_resources.grd
-@@ -8084,7 +8084,7 @@ I don't think this site should be blocked!
+--- chrome/app/generated_resources.grd.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/app/generated_resources.grd 2017-09-07 19:12:11.757513000 +0200
+@@ -7906,7 +7906,7 @@
<message name="IDS_APPEARANCE_GROUP_NAME" desc="The title of the appearance group">
Appearance
</message>
- <if expr="not is_linux or chromeos">
-+ <if expr="not is_linux or not is_bsd or chromeos">
++ <if expr="not is_posix or chromeos">
<message name="IDS_THEMES_GROUP_NAME" desc="The title of the themes group">
Themes
</message>
-@@ -8092,7 +8092,7 @@ I don't think this site should be blocked!
+@@ -7914,7 +7914,7 @@
<message name="IDS_THEMES_RESET_BUTTON" desc="The button to reset your theme">
Reset to default theme
</message>
- <if expr="is_linux and not chromeos">
-+ <if expr="is_linux or is_bsd 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>
-@@ -9347,7 +9347,7 @@ Tell us what happened exactly before you got the profi
+@@ -9183,7 +9183,7 @@
Set as default
</message>
- <if expr="is_linux and not chromeos">
-+ <if expr="is_linux or is_bsd and not chromeos">
++ <if expr="is_posix and not chromeos">
<message name="IDS_SHOW_WINDOW_DECORATIONS_MENU" desc="The menu entry text in the tab strip context menu. This toggles the system title bar and window borders (window decorations) on linux.">
Use system title bar and borders
</message>
diff --git a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
index 779dc37c..9859f18 100644
--- a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
+++ b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
@@ -1,11 +1,11 @@
---- chrome/app/google_chrome_strings.grd.orig 2017-06-05 19:03:01 UTC
-+++ chrome/app/google_chrome_strings.grd
-@@ -887,7 +887,7 @@ Signing in anyway will merge Chrome information like b
+--- chrome/app/google_chrome_strings.grd.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/app/google_chrome_strings.grd 2017-09-07 19:16:11.038110000 +0200
+@@ -917,7 +917,7 @@
</message>
<!-- ProcessSingleton -->
- <if expr="is_linux or is_macosx">
-+ <if expr="is_linux or is_macosx or is_bsd">
++ <if expr="is_linux or is_macosx or is_posix">
<message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
The profile appears to be in use by another Google Chrome process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chrome has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chrome.
</message>
diff --git a/www/chromium/files/patch-chrome_app_theme_chrome_unscaled_resources.grd b/www/chromium/files/patch-chrome_app_theme_chrome_unscaled_resources.grd
new file mode 100644
index 0000000..fe02791
--- /dev/null
+++ b/www/chromium/files/patch-chrome_app_theme_chrome_unscaled_resources.grd
@@ -0,0 +1,11 @@
+--- chrome/app/theme/chrome_unscaled_resources.grd.orig 2017-09-07 19:07:10.298267000 +0200
++++ chrome/app/theme/chrome_unscaled_resources.grd 2017-09-07 19:07:26.024168000 +0200
+@@ -80,7 +80,7 @@
+ <include name="IDR_PROFILE_AVATAR_2X_25" file="default_200_percent/common/profile_avatar_sun_cloud.png" type="BINDATA" />
+ <include name="IDR_PROFILE_AVATAR_2X_26" file="default_200_percent/common/profile_avatar_placeholder.png" type="BINDATA" />
+ </if>
+- <if expr="is_linux and enable_app_list">
++ <if expr="is_posix and enable_app_list">
+ <!-- App Launcher icons for desktop icon. -->
+ <if expr="_google_chrome">
+ <then>
diff --git a/www/chromium/files/patch-chrome_browser_background_background_mode_optimizer.cc b/www/chromium/files/patch-chrome_browser_background_background_mode_optimizer.cc
new file mode 100644
index 0000000..9e6f44c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_background_background_mode_optimizer.cc
@@ -0,0 +1,15 @@
+--- chrome/browser/background/background_mode_optimizer.cc.orig 2017-09-07 23:33:41.430876000 +0200
++++ chrome/browser/background/background_mode_optimizer.cc 2017-09-07 23:34:04.189439000 +0200
+@@ -30,10 +30,10 @@
+ switches::kKeepAliveForTest))
+ return nullptr;
+
+-#if defined(OS_WIN) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+ if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart))
+ return base::WrapUnique(new BackgroundModeOptimizer());
+-#endif // defined(OS_WIN) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+
+ return nullptr;
+ }
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
index 518fe76..1f86805 100644
--- a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
@@ -1,20 +1,20 @@
---- chrome/browser/browser_process_impl.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/browser_process_impl.cc
-@@ -171,7 +171,7 @@
+--- chrome/browser/browser_process_impl.cc.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/browser/browser_process_impl.cc 2017-09-06 17:46:42.465787000 +0200
+@@ -173,7 +173,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/memory/tab_manager.h"
+ #include "chrome/browser/resource_coordinator/tab_manager.h"
#endif
-@@ -810,7 +810,7 @@ gcm::GCMDriver* BrowserProcessImpl::gcm_driver() {
+@@ -796,7 +796,7 @@
- memory::TabManager* BrowserProcessImpl::GetTabManager() {
- DCHECK(CalledOnValidThread());
+ 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_.get())
- tab_manager_.reset(new memory::TabManager());
+ tab_manager_.reset(new resource_coordinator::TabManager());
return tab_manager_.get();
diff --git a/www/chromium/files/patch-chrome_browser_browser__resources.grd b/www/chromium/files/patch-chrome_browser_browser__resources.grd
index 94932ff..ddd077c 100644
--- a/www/chromium/files/patch-chrome_browser_browser__resources.grd
+++ b/www/chromium/files/patch-chrome_browser_browser__resources.grd
@@ -1,11 +1,20 @@
---- chrome/browser/browser_resources.grd.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/browser_resources.grd
-@@ -404,7 +404,7 @@
+--- chrome/browser/browser_resources.grd.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/browser/browser_resources.grd 2017-09-07 19:30:41.365751000 +0200
+@@ -424,7 +424,7 @@
<include name="IDR_ABOUT_VOICESEARCH_JS" file="resources\about_voicesearch.js" type="BINDATA" />
<include name="IDR_PLUGIN_DB_JSON" file="resources\plugin_metadata\plugins_chromeos.json" type="BINDATA" />
</if>
- <if expr="desktop_linux or (is_android and enable_plugins)">
-+ <if expr="desktop_linux or (is_android and enable_plugins) or is_bsd">
++ <if expr="desktop_linux or (is_android and enable_plugins) or is_posix">
<include name="IDR_PLUGIN_DB_JSON" file="resources\plugin_metadata\plugins_linux.json" type="BINDATA" />
</if>
<if expr="is_android">
+@@ -674,7 +674,7 @@
+ <if expr="not is_android and not is_ios">
+ <include name="IDR_SSL_ERROR_ASSISTANT_PB" file="${root_gen_dir}/chrome/browser/resources/ssl/ssl_error_assistant/ssl_error_assistant.pb" use_base_dir="false" type="BINDATA" />
+ </if>
+- <if expr="is_android or is_linux">
++ <if expr="is_android or is_posix">
+ <include name="IDR_SANDBOX_INTERNALS_HTML" file="resources\sandbox_internals\sandbox_internals.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" compress="gzip" />
+ <include name="IDR_SANDBOX_INTERNALS_JS" file="resources\sandbox_internals\sandbox_internals.js" type="BINDATA" compress="gzip" />
+ </if>
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 eb8e8ff..b68d5d8 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,15 +1,15 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2017-06-15 21:03:01.000000000 +0200
-+++ chrome/browser/chrome_content_browser_client.cc 2017-06-18 04:59:41.793684000 +0200
-@@ -249,7 +249,7 @@
- #include "mash/public/interfaces/launchable.mojom.h"
- #include "services/service_manager/public/cpp/interface_factory.h"
+--- chrome/browser/chrome_content_browser_client.cc.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/browser/chrome_content_browser_client.cc 2017-09-06 17:56:29.888034000 +0200
+@@ -258,7 +258,7 @@
+ #include "chromeos/chromeos_switches.h"
+ #include "components/user_manager/user_manager.h"
#include "services/service_manager/public/interfaces/interface_provider_spec.mojom.h"
-#elif defined(OS_LINUX)
+#elif defined(OS_LINUX) || defined(OS_BSD)
#include "chrome/browser/chrome_browser_main_linux.h"
#elif defined(OS_ANDROID)
#include "chrome/browser/android/app_hooks.h"
-@@ -266,7 +266,7 @@
+@@ -286,7 +286,7 @@
#include "chrome/browser/payments/payment_request_factory.h"
#endif
@@ -18,7 +18,7 @@
#include "chrome/browser/webshare/share_service_impl.h"
#endif
-@@ -294,7 +294,7 @@
+@@ -300,7 +300,7 @@
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h"
#endif
@@ -27,7 +27,7 @@
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
#endif
-@@ -711,7 +711,7 @@
+@@ -548,7 +548,7 @@
return false;
}
@@ -36,7 +36,7 @@
breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost(
const std::string& process_type) {
base::FilePath dumps_path;
-@@ -761,7 +761,7 @@
+@@ -598,7 +598,7 @@
return -1;
}
@@ -45,7 +45,7 @@
void SetApplicationLocaleOnIOThread(const std::string& locale) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
-@@ -1038,7 +1038,7 @@
+@@ -876,7 +876,7 @@
main_parts = new ChromeBrowserMainPartsMac(parameters);
#elif defined(OS_CHROMEOS)
main_parts = new chromeos::ChromeBrowserMainPartsChromeos(parameters);
@@ -54,7 +54,7 @@
main_parts = new ChromeBrowserMainPartsLinux(parameters);
#elif defined(OS_ANDROID)
main_parts = new ChromeBrowserMainPartsAndroid(parameters);
-@@ -1054,7 +1054,7 @@
+@@ -892,7 +892,7 @@
// Construct additional browser parts. Stages are called in the order in
// which they are added.
#if defined(TOOLKIT_VIEWS)
@@ -63,7 +63,7 @@
main_parts->AddParts(new ChromeBrowserMainExtraPartsViewsLinux());
#else
main_parts->AddParts(new ChromeBrowserMainExtraPartsViews());
-@@ -1704,7 +1704,7 @@
+@@ -1540,7 +1540,7 @@
command_line->AppendSwitchASCII(switches::kMetricsClientID,
client_info->client_id);
}
@@ -72,7 +72,7 @@
if (breakpad::IsCrashReporterEnabled()) {
std::string switch_value;
std::unique_ptr<metrics::ClientInfo> client_info =
-@@ -2982,7 +2982,7 @@
+@@ -2710,7 +2710,7 @@
}
}
@@ -81,7 +81,7 @@
void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
-@@ -3011,7 +3011,7 @@
+@@ -2752,7 +2752,7 @@
}
#endif // defined(OS_ANDROID)
}
@@ -90,12 +90,12 @@
#if defined(OS_WIN)
base::string16 ChromeContentBrowserClient::GetAppContainerSidForSandboxType(
-@@ -3219,7 +3219,7 @@
- }
+@@ -3316,7 +3316,7 @@
+ #if defined(OS_ANDROID)
+ frame_interfaces_parameterized_->AddInterface(base::Bind(
+ &ForwardToJavaWebContentsRegistry<blink::mojom::ShareService>));
+-#elif defined(OS_LINUX) || defined(OS_WIN)
++#elif defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ frame_interfaces_->AddInterface(base::Bind(&ShareServiceImpl::Create));
#endif
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- if (!ChromeOriginTrialPolicy().IsFeatureDisabled("WebShare")) {
- registry->AddInterface(base::Bind(&ShareServiceImpl::Create));
- }
diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.h b/www/chromium/files/patch-chrome_browser_download_download__commands.h
index dc8c7f4..dbe8433 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__commands.h
+++ b/www/chromium/files/patch-chrome_browser_download_download__commands.h
@@ -1,12 +1,11 @@
---- chrome/browser/download/download_commands.h.orig 2017-04-19 19:06:29 UTC
-+++ chrome/browser/download/download_commands.h
-@@ -43,7 +43,8 @@ class DownloadCommands {
+--- chrome/browser/download/download_commands.h.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/browser/download/download_commands.h 2017-09-06 18:02:40.537871000 +0200
+@@ -42,7 +42,7 @@
+ bool IsCommandVisible(Command command) const;
void ExecuteCommand(Command command);
- #if defined(OS_WIN) || defined(OS_LINUX) || \
-- (defined(OS_MACOSX) && !defined(OS_IOS))
-+ defined(OS_BSD) || (defined(OS_MACOSX) && \
-+ !defined(OS_IOS))
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
bool IsDownloadPdf() const;
bool CanOpenPdfInSystemViewer() const;
#endif
diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
index 9bee1e4..ca94b45 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
+++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
@@ -1,15 +1,6 @@
---- chrome/browser/extensions/BUILD.gn.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/extensions/BUILD.gn
-@@ -1033,7 +1033,7 @@ static_library("extensions") {
- sources -= [ "global_shortcut_listener_ozone.cc" ]
- }
-
-- if (is_linux) {
-+ if (is_linux || is_bsd) {
- deps += [ "//build/linux:fontconfig" ]
-
- if (use_dbus) {
-@@ -1095,7 +1095,7 @@ static_library("extensions") {
+--- chrome/browser/extensions/BUILD.gn.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/browser/extensions/BUILD.gn 2017-09-06 18:09:24.874408000 +0200
+@@ -1095,7 +1095,7 @@
]
}
@@ -18,7 +9,7 @@
sources += [
"api/input_ime/input_ime_api.cc",
"api/input_ime/input_ime_api.h",
-@@ -1126,6 +1126,12 @@ static_library("extensions") {
+@@ -1126,6 +1126,12 @@
if (enable_hotwording) {
defines += [ "ENABLE_HOTWORDING" ]
diff --git a/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
index b8487ad..04582a6 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
@@ -1,15 +1,15 @@
---- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/extensions/browser_context_keyed_service_factories.cc
-@@ -63,7 +63,7 @@
+--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2017-09-05 21:05:12.000000000 +0200
++++ chrome/browser/extensions/browser_context_keyed_service_factories.cc 2017-09-06 18:14:17.437338000 +0200
+@@ -61,7 +61,7 @@
+ #include "chrome/browser/chromeos/extensions/input_method_api.h"
#include "chrome/browser/chromeos/extensions/media_player_api.h"
#include "chrome/browser/extensions/api/input_ime/input_ime_api.h"
- #include "chrome/browser/extensions/api/log_private/log_private_api.h"
-#elif defined(OS_LINUX) || defined(OS_WIN)
+#elif defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
#include "chrome/browser/extensions/api/input_ime/input_ime_api.h"
#endif
-@@ -107,7 +107,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
+@@ -105,7 +105,7 @@
#if defined(OS_CHROMEOS)
extensions::InputImeAPI::GetFactoryInstance();
extensions::InputMethodAPI::GetFactoryInstance();
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
index 08734e1..c1e5383 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
@@ -1,8 +1,8 @@
---- chrome/browser/flag_descriptions.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/flag_descriptions.cc
-@@ -1598,14 +1598,14 @@ const char kForceUiDirectionLtr[] = "Left-to-right";
+--- chrome/browser/flag_descriptions.cc.orig 2017-09-05 21:05:13.000000000 +0200
++++ chrome/browser/flag_descriptions.cc 2017-09-10 01:52:30.845374000 +0200
+@@ -2155,14 +2155,14 @@
- const char kForceUiDirectionRtl[] = "Right-to-left";
+ #endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
-#if defined(OS_WIN) || defined(OS_LINUX)
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
@@ -15,5 +15,14 @@
-#endif // defined(OS_WIN) || defined(OS_LINUX)
+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- const char kEnableGroupedHistoryName[] = "Group history by domain";
+ #if defined(OS_CHROMEOS)
+@@ -2414,7 +2414,7 @@
+ #endif // defined(OS_WIN)
+
+ #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_BSD)
+
+ const char kOmniboxEntitySuggestionsName[] = "Omnibox entity suggestions";
+ const char kOmniboxEntitySuggestionsDescription[] =
diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery_network_list_posix.cc b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery_network_list_posix.cc
new file mode 100644
index 0000000..dd627d9
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery_network_list_posix.cc
@@ -0,0 +1,28 @@
+--- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2017-09-10 01:42:30.124986000 +0200
++++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc 2017-09-10 01:44:26.941752000 +0200
+@@ -10,6 +10,7 @@
+ #include <netinet/in.h>
+ #include <sys/socket.h>
+ #include <sys/types.h>
++#include <sys/time.h>
+
+ #include <algorithm>
+
+@@ -19,7 +20,7 @@
+ #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h"
+ #include "net/base/net_errors.h"
+
+-#if !defined(OS_MACOSX)
++#if !defined(OS_MACOSX) && !defined(OS_BSD)
+ #include <netpacket/packet.h>
+ #else
+ #include <net/if_dl.h>
+@@ -27,7 +28,7 @@
+
+ namespace {
+
+-#if !defined(OS_MACOSX)
++#if !defined(OS_MACOSX) && !defined(OS_BSD)
+ using sll = struct sockaddr_ll;
+ #define SOCKET_ARP_TYPE(s) ((s)->sll_hatype)
+ #define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen)
diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery_network_list_wifi_linux.cc b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery_network_list_wifi_linux.cc
new file mode 100644
index 0000000..0c36572
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery_network_list_wifi_linux.cc
@@ -0,0 +1,26 @@
+--- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2017-09-05 21:05:13.000000000 +0200
++++ chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc 2017-09-10 03:43:00.933828000 +0200
+@@ -9,8 +9,6 @@
+ #include <sys/socket.h>
+ #include <sys/types.h>
+
+-#include <linux/wireless.h>
+-
+ #include "base/files/scoped_file.h"
+ #include "base/logging.h"
+ #include "net/base/network_interfaces_linux.h"
+@@ -18,6 +16,7 @@
+ bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) {
+ DCHECK(ssid_out);
+
++#if !defined(OS_BSD)
+ base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0));
+ if (!ioctl_socket.is_valid())
+ return false;
+@@ -34,5 +33,6 @@
+ ssid_out->assign(ssid);
+ return true;
+ }
++#endif
+ return false;
+ }
diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
index 643b452..1723f21 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
+++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
@@ -1,18 +1,21 @@
---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
-@@ -39,12 +39,14 @@
+--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2017-09-05 21:05:13.000000000 +0200
++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc 2017-09-06 18:21:57.565534000 +0200
+@@ -40,7 +40,9 @@
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
#include <gnu/libc-version.h>
+#endif
+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "base/version.h"
+ #include "base/linux_util.h"
+ #include "base/strings/string_split.h"
+ #include "base/strings/string_util.h"
+@@ -48,7 +50,7 @@
#if defined(USE_X11)
#include "ui/base/x/x11_util.h"
#endif
-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif
++#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
#if defined(USE_OZONE) || defined(USE_X11)
#include "ui/events/devices/input_device_event_observer.h"
diff --git a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
index 2f74947..7dcd474 100644
--- a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
+++ b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
@@ -1,14 +1,14 @@
---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2017-06-05 19:03:02 UTC
-+++ chrome/browser/password_manager/chrome_password_manager_client.cc
-@@ -63,7 +63,11 @@
- #include "extensions/features/features.h"
+--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2017-09-05 21:05:13.000000000 +0200
++++ chrome/browser/password_manager/chrome_password_manager_client.cc 2017-09-06 18:27:33.975903000 +0200
+@@ -67,7 +67,11 @@
#include "google_apis/gaia/gaia_urls.h"
#include "net/base/url_util.h"
+ #include "services/metrics/public/cpp/ukm_recorder.h"
+#if defined(OS_BSD)
+#include <re2/re2.h>
+#else
#include "third_party/re2/src/re2/re2.h"
+#endif
- #if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
+ #if defined(SAFE_BROWSING_DB_LOCAL)
#include "chrome/browser/browser_process.h"
diff --git a/www/chromium/files/patch-chrome_browser_prefs_browser_prefs.cc b/www/chromium/files/patch-chrome_browser_prefs_browser_prefs.cc
new file mode 100644
index 0000000..ff5a3d0
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_prefs_browser_prefs.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/prefs/browser_prefs.cc.orig 2017-09-08 16:00:21.925956000 +0200
++++ chrome/browser/prefs/browser_prefs.cc 2017-09-08 16:04:23.999468000 +0200
+@@ -262,7 +262,7 @@
+ #include "chrome/browser/ui/desktop_ios_promotion/desktop_ios_promotion_util.h"
+ #endif
+
+-#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
++#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ #include "chrome/browser/feature_engagement_tracker/new_tab/new_tab_tracker.h"
+ #endif
+
+@@ -586,7 +586,7 @@
+ default_apps::RegisterProfilePrefs(registry);
+ #endif
+
+-#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
++#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ feature_engagement_tracker::NewTabTracker::RegisterProfilePrefs(registry);
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_profiles_chrome_browser_main_extra_parts_profiles.cc b/www/chromium/files/patch-chrome_browser_profiles_chrome_browser_main_extra_parts_profiles.cc
new file mode 100644
index 0000000..cdafeaf
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_profiles_chrome_browser_main_extra_parts_profiles.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2017-09-08 15:53:03.193381000 +0200
++++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc 2017-09-08 15:54:40.433791000 +0200
+@@ -290,7 +290,7 @@
+ MediaGalleriesPreferencesFactory::GetInstance();
+ NTPResourceCacheFactory::GetInstance();
+ #endif
+-#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
++#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ feature_engagement_tracker::NewTabTrackerFactory::GetInstance();
+ #endif
+ ContentSuggestionsServiceFactory::GetInstance();
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
deleted file mode 100644
index bbc50da..0000000
--- a/www/chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/browser_view_prefs.cc.orig 2017-04-19 19:06:30 UTC
-+++ chrome/browser/ui/browser_view_prefs.cc
-@@ -10,7 +10,7 @@
- #include "components/prefs/pref_registry_simple.h"
- #include "components/prefs/pref_service.h"
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/base/x/x11_util.h" // nogncheck
- #endif
-
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
index efe8e4c..9e8a71c 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
@@ -1,5 +1,5 @@
---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc
+--- 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"
@@ -9,12 +9,3 @@
#include "chrome/browser/shell_integration_linux.h"
#endif
-@@ -56,7 +56,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni
- const AppWindow::CreateParams& create_params,
- views::Widget::InitParams* init_params,
- views::Widget* widget) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- std::string app_name = web_app::GenerateApplicationNameFromExtensionId(
- app_window()->extension_id());
- // Set up a custom WM_CLASS for app windows. This allows task switchers in
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
index 7d59553..c54f57a 100644
--- 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
@@ -1,6 +1,6 @@
---- chrome/browser/ui/views/profiles/avatar_button.cc.orig 2017-08-01 23:45:47.250068000 +0200
-+++ chrome/browser/ui/views/profiles/avatar_button.cc 2017-08-01 23:46:19.223660000 +0200
-@@ -171,7 +171,7 @@
+--- chrome/browser/ui/views/profiles/avatar_button.cc.orig 2017-09-05 21:05:14.000000000 +0200
++++ chrome/browser/ui/views/profiles/avatar_button.cc 2017-09-06 18:45:09.941798000 +0200
+@@ -194,7 +194,7 @@
label()->font_list().DeriveWithHeightUpperBound(kDisplayFontHeight));
bool apply_ink_drop = IsCondensible();
@@ -9,12 +9,12 @@
DCHECK_EQ(AvatarButtonStyle::THEMED, button_style);
apply_ink_drop = true;
#endif
-@@ -180,7 +180,7 @@
+@@ -202,7 +202,7 @@
+ if (apply_ink_drop) {
SetInkDropMode(InkDropMode::ON);
SetFocusPainter(nullptr);
- constexpr int kIconSize = 16;
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
+ constexpr int kIconSize = 16;
set_ink_drop_base_color(SK_ColorWHITE);
SetBorder(base::MakeUnique<AvatarButtonThemedBorder>());
- generic_avatar_ = gfx::CreateVectorIcon(kProfileSwitcherOutlineIcon,
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_new_tab_button.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_new_tab_button.cc
new file mode 100644
index 0000000..ada5593
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_new_tab_button.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/tabs/new_tab_button.cc.orig 2017-09-10 00:35:35.638045000 +0200
++++ chrome/browser/ui/views/tabs/new_tab_button.cc 2017-09-10 00:36:04.851309000 +0200
+@@ -49,7 +49,7 @@
+ destroyed_(nullptr),
+ new_tab_promo_observer_(this) {
+ set_animate_on_state_change(true);
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+ set_triggerable_event_flags(triggerable_event_flags() |
+ ui::EF_MIDDLE_MOUSE_BUTTON);
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip.cc
deleted file mode 100644
index 75ab8be..0000000
--- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/tabs/tab_strip.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/browser/ui/views/tabs/tab_strip.cc
-@@ -323,7 +323,7 @@ NewTabButton::NewTabButton(TabStrip* tab_strip, views:
- tab_strip_(tab_strip),
- destroyed_(NULL) {
- set_animate_on_state_change(true);
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- set_triggerable_event_flags(triggerable_event_flags() |
- ui::EF_MIDDLE_MOUSE_BUTTON);
- #endif
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 e31738b..19d66be 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,5 +1,5 @@
---- chrome/browser/ui/webui/about_ui.cc.orig 2017-06-21 00:03:13.000000000 +0200
-+++ chrome/browser/ui/webui/about_ui.cc 2017-06-27 01:22:41.801626000 +0200
+--- chrome/browser/ui/webui/about_ui.cc.orig 2017-09-05 21:05:14.000000000 +0200
++++ chrome/browser/ui/webui/about_ui.cc 2017-09-06 18:59:58.102599000 +0200
@@ -420,7 +420,7 @@
return html;
}
@@ -8,12 +8,11 @@
+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
const char kAboutDiscardsRunCommand[] = "run";
+ const char kAboutDiscardsSkipUnloadHandlersCommand[] = "skip_unload_handlers";
+@@ -564,10 +564,13 @@
+ "<a href='%s%s'>Discard tab now (safely)</a>",
+ chrome::kChromeUIDiscardsURL, kAboutDiscardsRunCommand));
-@@ -539,11 +539,13 @@
- output.append(base::StringPrintf("<a href='%s%s'>Discard tab now</a>",
- chrome::kChromeUIDiscardsURL,
- kAboutDiscardsRunCommand));
--
+#if !defined(OS_BSD)
base::SystemMemoryInfoKB meminfo;
base::GetSystemMemoryInfo(&meminfo);
@@ -24,7 +23,7 @@
// Start with summary statistics.
output.append(AddStringRow(
"Total", base::IntToString(meminfo.total / 1024)));
-@@ -575,12 +577,13 @@
+@@ -599,12 +602,13 @@
output.append(AddStringRow(
"Graphics", base::IntToString(meminfo.gem_size / 1024 / 1024)));
#endif // OS_CHROMEOS
@@ -39,7 +38,7 @@
// AboutDnsHandler bounces the request back to the IO thread to collect
// the DNS information.
-@@ -642,7 +645,7 @@
+@@ -666,7 +670,7 @@
DISALLOW_COPY_AND_ASSIGN(AboutDnsHandler);
};
@@ -48,10 +47,10 @@
std::string AboutLinuxProxyConfig() {
std::string data;
AppendHeader(&data, 0,
-@@ -717,14 +720,14 @@
- } else {
- response = raw_response.as_string();
+@@ -723,14 +727,14 @@
+ .as_string();
}
+
-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
} else if (source_name_ == chrome::kChromeUIDiscardsHost) {
diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc
new file mode 100644
index 0000000..7d67d7b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_chrome__features.cc
@@ -0,0 +1,18 @@
+--- chrome/common/chrome_features.cc.orig 2017-09-07 15:16:44.309916000 +0200
++++ chrome/common/chrome_features.cc 2017-09-07 15:17:16.971600000 +0200
+@@ -57,13 +57,13 @@
+ base::FEATURE_ENABLED_BY_DEFAULT};
+ #endif // defined(OS_WIN) || defined(OS_MACOSX)
+
+-#if defined(OS_WIN) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+ // Enables the Restart background mode optimization. When all Chrome UI is
+ // closed and it goes in the background, allows to restart the browser to
+ // discard memory.
+ 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.
diff --git a/www/chromium/files/patch-chrome_common_chrome__features.h b/www/chromium/files/patch-chrome_common_chrome__features.h
new file mode 100644
index 0000000..0acfa26
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_chrome__features.h
@@ -0,0 +1,14 @@
+--- chrome/common/chrome_features.h.orig 2017-09-07 15:16:51.725565000 +0200
++++ chrome/common/chrome_features.h 2017-09-07 15:17:47.995642000 +0200
+@@ -43,9 +43,9 @@
+ 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)
+ extern const base::Feature kBackgroundModeAllowRestart;
+-#endif // defined(OS_WIN) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+
+ extern const base::Feature kBlockPromptsIfDismissedOften;
+ extern const base::Feature kBlockPromptsIfIgnoredOften;
diff --git a/www/chromium/files/patch-chrome_common_features.gni b/www/chromium/files/patch-chrome_common_features.gni
index 7b4251a..cc70d4a 100644
--- a/www/chromium/files/patch-chrome_common_features.gni
+++ b/www/chromium/files/patch-chrome_common_features.gni
@@ -1,11 +1,20 @@
---- chrome/common/features.gni.orig 2017-06-05 19:03:03 UTC
-+++ chrome/common/features.gni
-@@ -47,7 +47,7 @@ declare_args() {
- is_android || is_mac || (is_desktop_linux && use_glib && use_gio)
+--- chrome/common/features.gni.orig 2017-09-05 21:05:14.000000000 +0200
++++ chrome/common/features.gni 2017-09-07 15:11:34.649303000 +0200
+@@ -46,7 +46,7 @@
+ is_android || is_mac || (is_desktop_linux && use_dbus)
enable_one_click_signin =
- is_win || is_mac || (is_linux && !is_chromeos && !is_chromecast)
+ is_win || is_mac || is_bsd || (is_linux && !is_chromeos && !is_chromecast)
- # Set to true to bundle all the mash related mojo services into chrome.
+ # Indicates if Exo should use ozone gamepad. If this is false, exo will use
+ # /device/gamepad as backend.
+@@ -60,7 +60,7 @@
# Specify --mash to chrome to have chrome start the mash environment.
+ enable_package_mash_services = is_chromeos
+
+- enable_service_discovery = enable_mdns || is_mac
++ enable_service_discovery = enable_mdns || is_mac || is_bsd
+
+ # Enables use of the session service, which is enabled by default.
+ # Android stores them separately on the Java side.
diff --git a/www/chromium/files/patch-chrome_common_url__constants.cc b/www/chromium/files/patch-chrome_common_url__constants.cc
index 032a819..c0789a6 100644
--- a/www/chromium/files/patch-chrome_common_url__constants.cc
+++ b/www/chromium/files/patch-chrome_common_url__constants.cc
@@ -1,6 +1,6 @@
---- chrome/common/url_constants.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/common/url_constants.cc
-@@ -145,7 +145,7 @@ const char kChromeUICleanupToolURL[] = "chrome://clean
+--- chrome/common/url_constants.cc.orig 2017-09-05 21:05:14.000000000 +0200
++++ chrome/common/url_constants.cc 2017-09-07 14:47:04.280263000 +0200
+@@ -146,7 +146,7 @@
const char kChromeUIMetroFlowURL[] = "chrome://make-metro/";
#endif
@@ -9,16 +9,34 @@
const char kChromeUITabModalConfirmDialogURL[] =
"chrome://tab-modal-confirm-dialog/";
#endif
-@@ -161,7 +161,7 @@ const char kChromeUICastURL[] = "chrome://cast/";
+@@ -164,7 +164,7 @@
+ const char kChromeUICastURL[] = "chrome://cast/";
#endif
+
+-#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 kChromeUIDiscardsURL[] = "chrome://discards/";
+ #endif
+
+@@ -283,7 +283,7 @@
+ const char kChromeUISigninDiceInternalsHost[] = "signin-dice-internals";
#endif
-#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 kChromeUIDiscardsHost[] = "discards";
- const char kChromeUIDiscardsURL[] = "chrome://discards/";
#endif
-@@ -340,7 +340,7 @@ const char kChromeUICleanupToolHost[] = "cleanup";
+
+@@ -291,7 +291,7 @@
+ const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config";
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
+ const char kChromeUISandboxHost[] = "sandbox";
+ #endif
+
+@@ -346,7 +346,7 @@
const char kChromeUIMetroFlowHost[] = "make-metro";
#endif
@@ -27,3 +45,12 @@
const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
#endif
+@@ -749,7 +749,7 @@
+ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+ kChromeUILinuxProxyConfigHost,
+ #endif
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
+ kChromeUISandboxHost,
+ #endif
+ #if defined(OS_WIN)
diff --git a/www/chromium/files/patch-chrome_common_url__constants.h b/www/chromium/files/patch-chrome_common_url__constants.h
index a7fa9bc..400e678 100644
--- a/www/chromium/files/patch-chrome_common_url__constants.h
+++ b/www/chromium/files/patch-chrome_common_url__constants.h
@@ -1,6 +1,6 @@
---- chrome/common/url_constants.h.orig 2017-06-05 19:03:03 UTC
-+++ chrome/common/url_constants.h
-@@ -131,7 +131,7 @@ extern const char kChromeUICleanupToolURL[];
+--- chrome/common/url_constants.h.orig 2017-09-05 21:05:14.000000000 +0200
++++ chrome/common/url_constants.h 2017-09-07 14:48:59.551106000 +0200
+@@ -133,7 +133,7 @@
extern const char kChromeUIMetroFlowURL[];
#endif
@@ -9,16 +9,25 @@
extern const char kChromeUITabModalConfirmDialogURL[];
#endif
-@@ -146,7 +146,7 @@ extern const char kChromeUICastURL[];
+@@ -150,7 +150,7 @@
+ extern const char kChromeUICastURL[];
#endif
+
+-#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 kChromeUIDiscardsURL[];
+ #endif
+
+@@ -265,7 +265,7 @@
+ extern const char kChromeUISigninDiceInternalsHost[];
#endif
-#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 kChromeUIDiscardsHost[];
- extern const char kChromeUIDiscardsURL[];
#endif
-@@ -318,7 +318,7 @@ extern const char kChromeUICleanupToolHost[];
+
+@@ -326,7 +326,7 @@
extern const char kChromeUIMetroFlowHost[];
#endif
diff --git a/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc b/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
index b3f9897..48ab77e 100644
--- a/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
+++ b/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
@@ -1,9 +1,9 @@
---- components/autofill/content/renderer/password_form_conversion_utils.cc.orig 2017-06-05 19:03:05 UTC
-+++ components/autofill/content/renderer/password_form_conversion_utils.cc
-@@ -29,7 +29,11 @@
+--- components/autofill/content/renderer/password_form_conversion_utils.cc.orig 2017-09-05 21:05:17.000000000 +0200
++++ components/autofill/content/renderer/password_form_conversion_utils.cc 2017-09-06 19:05:07.569456000 +0200
+@@ -31,7 +31,11 @@
#include "third_party/WebKit/public/web/WebFormControlElement.h"
- #include "third_party/WebKit/public/web/WebFrame.h"
#include "third_party/WebKit/public/web/WebInputElement.h"
+ #include "third_party/WebKit/public/web/WebLocalFrame.h"
+#if defined(OS_BSD)
+#include <re2/re2.h>
+#else
diff --git a/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc
index b57e011..15ee00c 100644
--- a/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc
+++ b/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc
@@ -1,12 +1,11 @@
---- components/content_settings/core/browser/website_settings_registry.cc.orig 2017-06-05 19:03:05 UTC
-+++ components/content_settings/core/browser/website_settings_registry.cc
-@@ -88,6 +88,9 @@ const WebsiteSettingsInfo* WebsiteSettingsRegistry::Re
- // doesn't allow the settings to be managed in the same way. See
- // crbug.com/642184.
- sync_status = WebsiteSettingsInfo::UNSYNCABLE;
-+#elif defined(OS_BSD)
-+ if (!(platform & PLATFORM_BSD))
-+ return nullptr;
- #else
- #error "Unsupported platform"
- #endif
+--- components/content_settings/core/browser/website_settings_registry.cc.orig 2017-09-05 21:05:17.000000000 +0200
++++ components/content_settings/core/browser/website_settings_registry.cc 2017-09-10 01:16:20.683275000 +0200
+@@ -70,7 +70,7 @@
+ #if defined(OS_WIN)
+ if (!(platform & PLATFORM_WINDOWS))
+ return nullptr;
+-#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#elif (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+ if (!(platform & PLATFORM_LINUX))
+ return nullptr;
+ #elif defined(OS_MACOSX) && !defined(OS_IOS)
diff --git a/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.h b/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.h
deleted file mode 100644
index de95fba..0000000
--- a/www/chromium/files/patch-components_content__settings_core_browser_website__settings__registry.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- components/content_settings/core/browser/website_settings_registry.h.orig 2017-04-19 19:06:32 UTC
-+++ components/content_settings/core/browser/website_settings_registry.h
-@@ -36,10 +36,11 @@ class WebsiteSettingsRegistry {
- PLATFORM_MAC = 1 << 3,
- PLATFORM_ANDROID = 1 << 4,
- PLATFORM_IOS = 1 << 5,
-+ PLATFORM_BSD = 1 << 6,
-
- // Settings only applied to win, mac, linux and chromeos.
- DESKTOP =
-- PLATFORM_WINDOWS | PLATFORM_LINUX | PLATFORM_CHROMEOS | PLATFORM_MAC,
-+ PLATFORM_WINDOWS | PLATFORM_LINUX | PLATFORM_CHROMEOS | PLATFORM_MAC | PLATFORM_BSD,
-
- // Settings applied to all platforms, including win, mac, linux, chromeos,
- // android, ios.
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 ff83738..95fb43e 100644
--- a/www/chromium/files/patch-components_os__crypt_os__crypt.h
+++ b/www/chromium/files/patch-components_os__crypt_os__crypt.h
@@ -1,24 +1,34 @@
---- components/os_crypt/os_crypt.h.orig 2017-06-15 21:03:04.000000000 +0200
-+++ components/os_crypt/os_crypt.h 2017-06-21 19:21:25.185823000 +0200
-@@ -13,7 +13,7 @@
+--- 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 @@
#include "base/strings/string16.h"
#include "build/build_config.h"
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- #include "components/os_crypt/key_storage_linux.h"
- #endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && defined(UNIT_TEST)
+ 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)
-@@ -23,7 +23,7 @@
+ namespace os_crypt {
+ struct Config;
+@@ -28,13 +28,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 |store_type| is a known password store, we will attempt to use it.
- // In any other case, we default to auto-detecting the store.
- // This should not be changed after OSCrypt has been used.
-@@ -71,7 +71,7 @@
+ // 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();
+-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#endif // (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+
+ // 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 @@
DISALLOW_IMPLICIT_CONSTRUCTORS(OSCrypt);
};
@@ -27,3 +37,11 @@
// 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 @@
+ // 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)
+
+ #endif // COMPONENTS_OS_CRYPT_OS_CRYPT_H_
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_BUILD.gn b/www/chromium/files/patch-components_password__manager_core_browser_BUILD.gn
new file mode 100644
index 0000000..906b577
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_BUILD.gn
@@ -0,0 +1,20 @@
+--- components/password_manager/core/browser/BUILD.gn.orig 2017-09-08 15:12:30.553398000 +0200
++++ components/password_manager/core/browser/BUILD.gn 2017-09-08 15:13:12.165028000 +0200
+@@ -150,7 +150,7 @@
+ "password_reuse_detector_consumer.h",
+ ]
+
+- if (is_win || is_mac || (is_linux && !is_chromeos)) {
++ if (is_win || is_mac || is_bsd || (is_linux && !is_chromeos)) {
+ sources += [
+ "hash_password_manager.cc",
+ "hash_password_manager.h",
+@@ -362,7 +362,7 @@
+ "password_reuse_detector_unittest.cc",
+ ]
+ }
+- if (is_win || is_mac || (is_linux && !is_chromeos)) {
++ if (is_win || is_mac || is_bsd || (is_linux && !is_chromeos)) {
+ sources += [ "hash_password_manager_unittest.cc" ]
+ }
+ deps = [
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password_manager_metrics_util.cc b/www/chromium/files/patch-components_password__manager_core_browser_password_manager_metrics_util.cc
new file mode 100644
index 0000000..5c7a4b2
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password_manager_metrics_util.cc
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/password_manager_metrics_util.cc.orig 2017-09-08 15:25:36.564744000 +0200
++++ components/password_manager/core/browser/password_manager_metrics_util.cc 2017-09-08 15:26:19.968557000 +0200
+@@ -200,7 +200,7 @@
+ }
+
+ #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)
+ void LogSyncPasswordHashChange(SyncPasswordHashChange event) {
+ UMA_HISTOGRAM_ENUMERATION(
+ "PasswordManager.SyncPasswordHashChange", event,
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password_manager_metrics_util.h b/www/chromium/files/patch-components_password__manager_core_browser_password_manager_metrics_util.h
new file mode 100644
index 0000000..5e4ca1c
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password_manager_metrics_util.h
@@ -0,0 +1,20 @@
+--- components/password_manager/core/browser/password_manager_metrics_util.h.orig 2017-09-08 15:25:43.691124000 +0200
++++ components/password_manager/core/browser/password_manager_metrics_util.h 2017-09-08 15:36:05.359582000 +0200
+@@ -227,7 +227,7 @@
+ };
+
+ #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)
+ enum class SyncPasswordHashChange {
+ SAVED_ON_CHROME_SIGNIN,
+ SAVED_IN_CONTENT_AREA,
+@@ -332,7 +332,7 @@
+ void LogSubmittedFormFrame(SubmittedFormFrame frame);
+
+ #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)
+ // Log a save sync password change event.
+ void LogSyncPasswordHashChange(SyncPasswordHashChange event);
+
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
new file mode 100644
index 0000000..b4b401e
--- /dev/null
+++ b/www/chromium/files/patch-components_password__manager_core_browser_password_reuse_defines.h
@@ -0,0 +1,11 @@
+--- components/password_manager/core/browser/password_reuse_defines.h.orig 2017-09-08 16:48:55.608982000 +0200
++++ components/password_manager/core/browser/password_reuse_defines.h 2017-09-08 16:49:07.942575000 +0200
+@@ -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-components_policy_BUILD.gn b/www/chromium/files/patch-components_policy_BUILD.gn
deleted file mode 100644
index c80acdc..0000000
--- a/www/chromium/files/patch-components_policy_BUILD.gn
+++ /dev/null
@@ -1,19 +0,0 @@
---- components/policy/BUILD.gn.orig 2017-06-05 19:03:06 UTC
-+++ components/policy/BUILD.gn
-@@ -16,6 +16,7 @@ assert(!is_ios, "Policy should not be referenced on iO
- gen_policy_templates_common = true
- gen_policy_templates_win = is_win
- gen_policy_templates_linux = is_linux
-+gen_policy_templates_bsd = is_bsd
- gen_policy_templates_android = is_android
- gen_policy_templates_mac = is_mac
-
-@@ -169,7 +170,7 @@ grit("grit_policy_templates") {
- outputs += policy_templates_android_outputs
- defines += [ "gen_policy_templates_android" ]
- }
-- if (gen_policy_templates_linux) {
-+ if (gen_policy_templates_linux || gen_policy_templates_bsd) {
- outputs += policy_templates_linux_outputs
- defines += [ "gen_policy_templates_linux" ]
- }
diff --git a/www/chromium/files/patch-components_policy_resources_policy__templates.json b/www/chromium/files/patch-components_policy_resources_policy__templates.json
index 93bfe1d..23ef2be 100644
--- a/www/chromium/files/patch-components_policy_resources_policy__templates.json
+++ b/www/chromium/files/patch-components_policy_resources_policy__templates.json
@@ -1,47 +1,29 @@
---- components/policy/resources/policy_templates.json.orig 2017-06-05 19:03:06 UTC
-+++ components/policy/resources/policy_templates.json
-@@ -964,7 +964,7 @@
- 'name': 'RemoteAccessHostMatchUsername',
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome_os:42-'],
-+ 'supported_on': ['chrome.linux:25-', 'chrome.freebsd:25-', 'chrome.mac:25-', 'chrome_os:42-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -2139,7 +2139,7 @@
+--- components/policy/resources/policy_templates.json.orig 2017-09-07 05:55:36.848121000 +0200
++++ components/policy/resources/policy_templates.json 2017-09-07 05:57:05.892892000 +0200
+@@ -2237,7 +2237,7 @@
'name': 'GSSAPILibraryName',
'type': 'string',
'schema': { 'type': 'string' },
- 'supported_on': ['chrome.linux:9-'],
-+ 'supported_on': ['chrome.linux:9-', 'chrome.freebsd:9-'],
++ 'supported_on': ['chrome.linux:9-', 'chrome.bsd:9-'],
'features': {
'dynamic_refresh': False,
'per_profile': False,
-@@ -4830,7 +4830,7 @@
+@@ -4883,7 +4883,7 @@
'name': 'RequireOnlineRevocationChecksForLocalAnchors',
'type': 'main',
'schema': { 'type': 'boolean' },
- 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-'],
-+ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.freebsd:30-', 'chrome.win:30-'],
++ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-', 'chrome.bsd:30-'],
'features': {
'dynamic_refresh': True,
'per_profile': False,
-@@ -5738,7 +5738,7 @@
+@@ -5793,7 +5793,7 @@
'name': 'BackgroundModeEnabled',
'type': 'main',
'schema': { 'type': 'boolean' },
- 'supported_on': ['chrome.win:19-', 'chrome.linux:19-'],
-+ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.freebsd:19-'],
++ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.bsd:19-'],
'features': {
'can_be_recommended': True,
'dynamic_refresh': True,
-@@ -6265,7 +6265,7 @@
- 'name': 'FullscreenAllowed',
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-'],
-+ 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-', 'chrome.freebsd:31-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': True,
diff --git a/www/chromium/files/patch-components_policy_tools_generate__policy__source.py b/www/chromium/files/patch-components_policy_tools_generate__policy__source.py
index 9ce300c..1b13665 100644
--- a/www/chromium/files/patch-components_policy_tools_generate__policy__source.py
+++ b/www/chromium/files/patch-components_policy_tools_generate__policy__source.py
@@ -1,6 +1,15 @@
---- components/policy/tools/generate_policy_source.py.orig 2017-04-19 19:06:33 UTC
-+++ components/policy/tools/generate_policy_source.py
-@@ -103,7 +103,7 @@ class PolicyDetails:
+--- components/policy/tools/generate_policy_source.py.orig 2017-09-07 05:49:44.475708000 +0200
++++ components/policy/tools/generate_policy_source.py 2017-09-07 06:03:36.269823000 +0200
+@@ -90,7 +90,7 @@
+ if platform not in ['chrome_frame', 'chrome_os',
+ 'android', 'webview_android',
+ 'chrome.win', 'chrome.linux', 'chrome.mac',
+- 'chrome.*']:
++ 'chrome.bsd', 'chrome.*']:
+ raise RuntimeError('Platform "%s" is not supported' % platform)
+
+ split_result = version_range.split('-')
+@@ -108,7 +108,7 @@
if platform.startswith('chrome.'):
platform_sub = platform[7:]
if platform_sub == '*':
diff --git a/www/chromium/files/patch-components_storage__monitor_storage__monitor.cc b/www/chromium/files/patch-components_storage__monitor_storage__monitor.cc
deleted file mode 100644
index 56987f0..0000000
--- a/www/chromium/files/patch-components_storage__monitor_storage__monitor.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- components/storage_monitor/storage_monitor.cc.orig 2017-06-05 19:03:06 UTC
-+++ components/storage_monitor/storage_monitor.cc
-@@ -85,6 +85,7 @@ std::vector<StorageInfo> StorageMonitor::GetAllAvailab
-
- void StorageMonitor::EnsureInitialized(base::Closure callback) {
- DCHECK(thread_checker_.CalledOnValidThread());
-+//#if !defined(OS_BSD) //XXX(rene) why disabled?
- if (initialized_) {
- if (!callback.is_null())
- callback.Run();
-@@ -100,6 +101,7 @@ void StorageMonitor::EnsureInitialized(base::Closure c
-
- initializing_ = true;
- Init();
-+//#endif
- }
-
- bool StorageMonitor::IsInitialized() const {
diff --git a/www/chromium/files/patch-components_tracing_common_process__metrics__memory__dump__provider.cc b/www/chromium/files/patch-components_tracing_common_process__metrics__memory__dump__provider.cc
deleted file mode 100644
index 49f8e47..0000000
--- a/www/chromium/files/patch-components_tracing_common_process__metrics__memory__dump__provider.cc
+++ /dev/null
@@ -1,105 +0,0 @@
---- components/tracing/common/process_metrics_memory_dump_provider.cc.orig 2017-08-03 00:05:11.000000000 +0200
-+++ components/tracing/common/process_metrics_memory_dump_provider.cc 2017-08-10 15:54:41.312710000 +0200
-@@ -57,7 +57,7 @@
- std::unique_ptr<ProcessMetricsMemoryDumpProvider>>>::Leaky
- g_dump_providers_map = LAZY_INSTANCE_INITIALIZER;
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- const char kClearPeakRssCommand[] = "5";
-
- const uint32_t kMaxLineSize = 4096;
-@@ -194,13 +194,13 @@
- return num_scanned == 2;
- }
-
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- std::unique_ptr<base::ProcessMetrics> CreateProcessMetrics(
- base::ProcessId process) {
- if (process == base::kNullProcessId)
- return base::ProcessMetrics::CreateCurrentProcessMetrics();
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- // Just pass ProcessId instead of handle since they are the same in linux and
- // android.
- return base::ProcessMetrics::CreateProcessMetrics(process);
-@@ -209,7 +209,7 @@
- // additional information like ProcessHandle or port provider.
- NOTREACHED();
- return std::unique_ptr<base::ProcessMetrics>();
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- }
-
- } // namespace
-@@ -221,7 +221,7 @@
- ProcessMetricsMemoryDumpProvider::FactoryFunction
- ProcessMetricsMemoryDumpProvider::factory_for_testing = nullptr;
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // static
- FILE* ProcessMetricsMemoryDumpProvider::proc_smaps_for_testing = nullptr;
-@@ -248,7 +248,7 @@
- pmd->set_has_process_mmaps();
- return res;
- }
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- bool ProcessMetricsMemoryDumpProvider::DumpProcessMemoryMaps(
-@@ -637,7 +637,7 @@
-
- uint64_t peak_rss_bytes = 0;
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || !defined(OS_BSD)
- base::trace_event::ProcessMemoryTotals::PlatformPrivateFootprint footprint;
-
- base::ScopedFD autoclose;
-@@ -673,7 +673,7 @@
-
- #if !defined(OS_IOS)
- peak_rss_bytes = process_metrics_->GetPeakWorkingSetSize();
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- if (is_rss_peak_resettable_) {
- std::string clear_refs_file =
- "/proc/" +
-@@ -714,7 +714,7 @@
- return true;
- }
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- base::ScopedFD ProcessMetricsMemoryDumpProvider::OpenStatm() {
- std::string name =
- "/proc/" +
-@@ -725,12 +725,12 @@
- DCHECK(fd.is_valid());
- return fd;
- }
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- void ProcessMetricsMemoryDumpProvider::PollFastMemoryTotal(
- uint64_t* memory_total) {
- *memory_total = 0;
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- int statm_fd = fast_polling_statm_fd_for_testing;
- if (statm_fd == -1) {
-@@ -755,7 +755,7 @@
- }
-
- void ProcessMetricsMemoryDumpProvider::SuspendFastMemoryPolling() {
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- fast_polling_statm_fd_.reset();
- #endif
- }
diff --git a/www/chromium/files/patch-components_tracing_common_process__metrics__memory__dump__provider.h b/www/chromium/files/patch-components_tracing_common_process__metrics__memory__dump__provider.h
deleted file mode 100644
index 38489d7..0000000
--- a/www/chromium/files/patch-components_tracing_common_process__metrics__memory__dump__provider.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/tracing/common/process_metrics_memory_dump_provider.h.orig 2017-06-05 19:03:06 UTC
-+++ components/tracing/common/process_metrics_memory_dump_provider.h
-@@ -57,7 +57,7 @@ class TRACING_EXPORT ProcessMetricsMemoryDumpProvider
- #elif defined(OS_WIN)
- FRIEND_TEST_ALL_PREFIXES(ProcessMetricsMemoryDumpProviderTest,
- TestWinModuleReading);
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- FRIEND_TEST_ALL_PREFIXES(ProcessMetricsMemoryDumpProviderTest,
- DoubleRegister);
- #endif
-@@ -70,7 +70,7 @@ class TRACING_EXPORT ProcessMetricsMemoryDumpProvider
- static uint64_t rss_bytes_for_testing;
- static FactoryFunction factory_for_testing;
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- static FILE* proc_smaps_for_testing;
- static int fast_polling_statm_fd_for_testing;
-
diff --git a/www/chromium/files/patch-components_variations_proto_study.proto b/www/chromium/files/patch-components_variations_proto_study.proto
deleted file mode 100644
index 8e5b7ea..0000000
--- a/www/chromium/files/patch-components_variations_proto_study.proto
+++ /dev/null
@@ -1,10 +0,0 @@
---- components/variations/proto/study.proto.orig 2017-04-19 19:06:33 UTC
-+++ components/variations/proto/study.proto
-@@ -188,6 +188,7 @@ message Study {
- PLATFORM_CHROMEOS = 3;
- PLATFORM_ANDROID = 4;
- PLATFORM_IOS = 5;
-+ PLATFORM_BSD = 6;
- }
-
- // Possible form factors Chrome is running on.
diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn
index 8153a54..3a46edf 100644
--- a/www/chromium/files/patch-content_browser_BUILD.gn
+++ b/www/chromium/files/patch-content_browser_BUILD.gn
@@ -1,6 +1,6 @@
---- content/browser/BUILD.gn.orig 2017-06-05 19:03:06 UTC
-+++ content/browser/BUILD.gn
-@@ -1498,11 +1498,6 @@ source_set("browser") {
+--- content/browser/BUILD.gn.orig 2017-09-05 21:05:18.000000000 +0200
++++ content/browser/BUILD.gn 2017-09-06 19:35:15.088548000 +0200
+@@ -1599,11 +1599,6 @@
"memory/memory_monitor_chromeos.cc",
"memory/memory_monitor_chromeos.h",
]
@@ -12,7 +12,7 @@
}
if (!is_win) {
-@@ -1571,7 +1566,7 @@ source_set("browser") {
+@@ -1672,7 +1667,7 @@
# Desktop screen capture implementations, conditionally built depending on
# the available implementations for each platform.
@@ -21,16 +21,7 @@
defines += [ "ENABLE_SCREEN_CAPTURE=1" ]
sources += [
"media/capture/cursor_renderer.cc",
-@@ -1759,7 +1754,7 @@ source_set("browser") {
- }
- }
-
-- if (is_linux && use_aura) {
-+ if ((is_linux || is_bsd) && use_aura) {
- deps += [ "//build/linux:fontconfig" ]
- }
-
-@@ -1919,6 +1914,17 @@ source_set("browser") {
+@@ -2039,6 +2034,17 @@
"//chromeos",
"//chromeos:power_manager_proto",
]
@@ -48,7 +39,7 @@
}
if (use_aura) {
-@@ -2029,11 +2035,11 @@ source_set("browser") {
+@@ -2148,11 +2154,11 @@
]
}
diff --git a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility.h b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility.h
deleted file mode 100644
index 67a5fa0..0000000
--- a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/accessibility/browser_accessibility.h.orig 2017-06-05 19:03:06 UTC
-+++ content/browser/accessibility/browser_accessibility.h
-@@ -42,7 +42,7 @@
- #define PLATFORM_HAS_NATIVE_ACCESSIBILITY_IMPL 1
- #endif
-
--#if defined(OS_LINUX) && defined(USE_X11) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_X11) && !defined(OS_CHROMEOS)
- #define PLATFORM_HAS_NATIVE_ACCESSIBILITY_IMPL 1
- #endif
-
diff --git a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__manager.h b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__manager.h
deleted file mode 100644
index 2e7beb1..0000000
--- a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__manager.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/accessibility/browser_accessibility_manager.h.orig 2017-06-05 19:03:06 UTC
-+++ content/browser/accessibility/browser_accessibility_manager.h
-@@ -36,7 +36,7 @@ class BrowserAccessibilityManager;
- class BrowserAccessibilityManagerAndroid;
- #elif defined(OS_WIN)
- class BrowserAccessibilityManagerWin;
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_X11)
-+#elif (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && defined(USE_X11)
- class BrowserAccessibilityManagerAuraLinux;
- #elif defined(OS_MACOSX)
- class BrowserAccessibilityManagerMac;
-@@ -251,7 +251,7 @@ class CONTENT_EXPORT BrowserAccessibilityManager : pub
- BrowserAccessibilityManagerAndroid* ToBrowserAccessibilityManagerAndroid();
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_X11)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && defined(USE_X11)
- BrowserAccessibilityManagerAuraLinux*
- ToBrowserAccessibilityManagerAuraLinux();
- #endif
diff --git a/www/chromium/files/patch-content_browser_accessibility_browser_accessibility_auralinux.cc b/www/chromium/files/patch-content_browser_accessibility_browser_accessibility_auralinux.cc
new file mode 100644
index 0000000..c767041
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_accessibility_browser_accessibility_auralinux.cc
@@ -0,0 +1,11 @@
+--- content/browser/accessibility/browser_accessibility_auralinux.cc.orig 2017-09-07 11:43:10.700550000 +0200
++++ content/browser/accessibility/browser_accessibility_auralinux.cc 2017-09-07 11:41:51.229880000 +0200
+@@ -571,7 +571,7 @@
+ // it's best to leave this out rather than break people's builds:
+ #if defined(ATK_CHECK_VERSION)
+ #if ATK_CHECK_VERSION(2, 16, 0)
+- atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY);
++ atk_state_set_add_state(state_set, ATK_STATE_READ_ONLY);
+ #endif
+ #endif
+ break;
diff --git a/www/chromium/files/patch-content_browser_zygote_host_zygote_host_impl_linux.h b/www/chromium/files/patch-content_browser_zygote_host_zygote_host_impl_linux.h
new file mode 100644
index 0000000..b3af7e2
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_zygote_host_zygote_host_impl_linux.h
@@ -0,0 +1,13 @@
+--- content/browser/zygote_host/zygote_host_impl_linux.h.orig 2017-09-07 23:31:20.865003000 +0200
++++ content/browser/zygote_host/zygote_host_impl_linux.h 2017-09-07 23:32:15.495651000 +0200
+@@ -37,8 +37,10 @@
+ int GetRendererSandboxStatus() const override;
+
+ pid_t LaunchZygote(base::CommandLine* cmd_line, base::ScopedFD* control_fd);
++#if !defined(OS_FREEBSD)
+ void AdjustRendererOOMScore(base::ProcessHandle process_handle,
+ int score) override;
++#endif
+
+ private:
+ friend struct base::DefaultSingletonTraits<ZygoteHostImpl>;
diff --git a/www/chromium/files/patch-content_public_browser_zygote_host_linux.h b/www/chromium/files/patch-content_public_browser_zygote_host_linux.h
new file mode 100644
index 0000000..d118fc1
--- /dev/null
+++ b/www/chromium/files/patch-content_public_browser_zygote_host_linux.h
@@ -0,0 +1,16 @@
+--- content/public/browser/zygote_host_linux.h.orig 2017-09-07 23:29:05.803550000 +0200
++++ content/public/browser/zygote_host_linux.h 2017-09-07 23:29:43.081801000 +0200
+@@ -30,11 +30,13 @@
+ // after the first render has been forked.
+ virtual int GetRendererSandboxStatus() const = 0;
+
++#if !defined(OS_FREEBSD)
+ // Adjust the OOM score of the given renderer's PID. The allowed
+ // range for the score is [0, 1000], where higher values are more
+ // likely to be killed by the OOM killer.
+ virtual void AdjustRendererOOMScore(base::ProcessHandle process_handle,
+ int score) = 0;
++#endif
+ };
+
+ } // namespace content
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 20973d0..44a7684 100644
--- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc
+++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc
@@ -1,6 +1,6 @@
---- content/renderer/render_thread_impl.cc.orig 2017-06-05 19:03:07 UTC
-+++ content/renderer/render_thread_impl.cc
-@@ -210,11 +210,13 @@
+--- content/renderer/render_thread_impl.cc.orig 2017-09-05 21:05:19.000000000 +0200
++++ content/renderer/render_thread_impl.cc 2017-09-09 00:52:35.826914000 +0200
+@@ -220,12 +220,22 @@
#include "content/common/external_ipc_dumper.h"
#endif
@@ -12,9 +12,36 @@
#endif
+#endif
++#if defined(OS_BSD)
++#include <stddef.h>
++#include <stdint.h>
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <sys/user.h>
++#endif
++
using base::ThreadRestrictions;
using blink::WebDocument;
-@@ -1383,7 +1385,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+ using blink::WebFrame;
+@@ -926,7 +936,7 @@
+ GetConnector()->BindInterface(mojom::kBrowserServiceName,
+ mojo::MakeRequest(&storage_partition_service_));
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ ChildProcess::current()->SetIOThreadPriority(base::ThreadPriority::DISPLAY);
+ ChildThreadImpl::current()->SetThreadPriority(
+ categorized_worker_pool_->background_worker_thread_id(),
+@@ -1149,7 +1159,7 @@
+ compositor_task_runner_->PostTask(
+ FROM_HERE,
+ base::Bind(base::IgnoreResult(&ThreadRestrictions::SetIOAllowed), false));
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ ChildThreadImpl::current()->SetThreadPriority(compositor_thread_->ThreadId(),
+ base::ThreadPriority::DISPLAY);
+ #endif
+@@ -1446,7 +1456,7 @@
const bool enable_video_accelerator =
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode);
const bool enable_gpu_memory_buffer_video_frames =
@@ -23,12 +50,30 @@
!cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames) &&
!cmd_line->HasSwitch(switches::kDisableGpuCompositing) &&
!gpu_channel_host->gpu_info().software_rendering;
-@@ -1726,6 +1728,8 @@ bool RenderThreadImpl::GetRendererMemoryMetrics(
- #else
- size_t malloc_usage = minfo.hblkhd + minfo.arena;
- #endif
-+#elif defined(OS_BSD)
-+ size_t malloc_usage = 0;
- #else
- size_t malloc_usage = GetMallocUsage();
- #endif
+@@ -1771,7 +1781,26 @@
+ blink_stats.blink_gc_total_allocated_bytes / 1024;
+ std::unique_ptr<base::ProcessMetrics> metric(
+ base::ProcessMetrics::CreateCurrentProcessMetrics());
++#if defined(OS_BSD)
++ struct kinfo_proc *info;
++ size_t length, malloc_usage = 0;
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(),
++ sizeof(struct kinfo_proc), 0 };
++
++ if (sysctl(mib, arraysize(mib), NULL, &length, NULL, 0) < 0)
++ return -1;
++
++ info = (struct kinfo_proc *)malloc(length);
++
++ mib[5] = (length / sizeof(struct kinfo_proc));
++
++ if (!sysctl(mib, arraysize(mib), info, &length, NULL, 0))
++ malloc_usage = (((unsigned long long)(info->ki_tsize + info->ki_dsize + info->ki_ssize)*getpagesize()));
++
++ free(info);
++#else
+ size_t malloc_usage = metric->GetMallocUsage();
++#endif
+ memory_metrics->malloc_mb = malloc_usage / 1024 / 1024;
+
+ discardable_memory::ClientDiscardableSharedMemoryManager::Statistics
diff --git a/www/chromium/files/patch-content_renderer_renderer_main.cc b/www/chromium/files/patch-content_renderer_renderer_main.cc
new file mode 100644
index 0000000..9d2d427
--- /dev/null
+++ b/www/chromium/files/patch-content_renderer_renderer_main.cc
@@ -0,0 +1,46 @@
+--- content/renderer/renderer_main.cc.orig 2017-09-05 21:05:19.000000000 +0200
++++ content/renderer/renderer_main.cc 2017-09-09 00:53:51.849087000 +0200
+@@ -34,12 +34,19 @@
+ #include "ppapi/features/features.h"
+ #include "third_party/WebKit/public/platform/scheduler/renderer/renderer_scheduler.h"
+ #include "third_party/skia/include/core/SkGraphics.h"
++#include "third_party/skia/include/ports/SkFontConfigInterface.h"
+ #include "ui/base/ui_base_switches.h"
+
+ #if defined(OS_ANDROID)
+ #include "base/android/library_loader/library_loader_hooks.h"
+ #endif // OS_ANDROID
+
++#if defined(OS_BSD)
++#include "content/browser/renderer_host/render_sandbox_host_linux.h"
++#include "content/common/font_config_ipc_linux.h"
++#include "content/common/sandbox_linux/sandbox_linux.h"
++#endif
++
+ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+ #include "content/common/font_config_ipc_linux.h"
+ #include "content/common/sandbox_linux/sandbox_linux.h"
+@@ -190,9 +197,13 @@
+ // is OK.
+ InitializeWebRtcModule();
+ #endif
++#if defined(OS_BSD)
++ SkFontConfigInterface::SetGlobal(
++ new FontConfigIPC(GetSandboxFD()))->unref();
++#endif
+
+ {
+-#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();
+@@ -202,7 +213,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(renderer_scheduler));
diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn
index 5ca8121..cc1c6d1 100644
--- a/www/chromium/files/patch-content_shell_BUILD.gn
+++ b/www/chromium/files/patch-content_shell_BUILD.gn
@@ -1,24 +1,24 @@
---- content/shell/BUILD.gn.orig 2017-06-05 19:03:07 UTC
-+++ content/shell/BUILD.gn
-@@ -298,7 +298,7 @@ static_library("content_shell_lib") {
+--- content/shell/BUILD.gn.orig 2017-09-05 21:05:19.000000000 +0200
++++ content/shell/BUILD.gn 2017-09-07 03:19:12.063954000 +0200
+@@ -313,7 +313,7 @@
]
}
- if (is_linux) {
+ if (is_linux || is_bsd) {
deps += [
- "//build/linux:fontconfig",
+ "//third_party/fontconfig",
"//ui/gfx:test_support",
-@@ -322,7 +322,7 @@ static_library("content_shell_lib") {
+@@ -337,7 +337,7 @@
]
}
-- if (is_posix && !is_mac) {
-+ if (is_posix && !is_mac && !is_bsd) {
+- if (is_posix && !is_mac && !is_fuchsia) {
++ if (is_posix && !is_mac && !is_fuchsia && !is_bsd) {
deps += [
"//components/crash/content/app",
"//components/crash/content/browser",
-@@ -371,7 +371,7 @@ static_library("content_shell_lib") {
+@@ -385,7 +385,7 @@
]
}
@@ -27,7 +27,7 @@
deps += [ "//third_party/freetype" ]
}
-@@ -543,7 +543,7 @@ if (is_android) {
+@@ -560,7 +560,7 @@
}
}
diff --git a/www/chromium/files/patch-crypto_nss__util.cc b/www/chromium/files/patch-crypto_nss__util.cc
deleted file mode 100644
index 29c589c..0000000
--- a/www/chromium/files/patch-crypto_nss__util.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- crypto/nss_util.cc.orig 2017-06-05 19:03:07 UTC
-+++ crypto/nss_util.cc
-@@ -20,7 +20,7 @@
- #include "base/threading/thread_task_runner_handle.h"
- #include "crypto/nss_util_internal.h"
-
--#if defined(OS_OPENBSD)
-+#if defined(OS_BSD)
- #include <sys/mount.h>
- #include <sys/param.h>
- #endif
-@@ -150,10 +150,10 @@ void UseLocalCacheOfNSSDatabaseIfNFS(const base::FileP
- base::FileSystemType fs_type = base::FILE_SYSTEM_UNKNOWN;
- if (base::GetFileSystemType(database_dir, &fs_type))
- db_on_nfs = (fs_type == base::FILE_SYSTEM_NFS);
--#elif defined(OS_OPENBSD)
-+#elif defined(OS_BSD)
- struct statfs buf;
- if (statfs(database_dir.value().c_str(), &buf) == 0)
-- db_on_nfs = (strcmp(buf.f_fstypename, MOUNT_NFS) == 0);
-+ db_on_nfs = (strcmp(buf.f_fstypename, "nfs") == 0);
- #else
- NOTIMPLEMENTED();
- #endif
diff --git a/www/chromium/files/patch-device_gamepad_BUILD.gn b/www/chromium/files/patch-device_gamepad_BUILD.gn
new file mode 100644
index 0000000..651011e18
--- /dev/null
+++ b/www/chromium/files/patch-device_gamepad_BUILD.gn
@@ -0,0 +1,11 @@
+--- device/gamepad/BUILD.gn.orig 2017-09-07 07:21:11.763066000 +0200
++++ device/gamepad/BUILD.gn 2017-09-07 07:50:31.557057000 +0200
+@@ -72,7 +72,7 @@
+ cflags = [ "/wd4267" ] # conversion from 'size_t' (64 bit) to 'type'(32 bit).
+ }
+
+- if (is_linux) {
++ if (is_linux || is_bsd) {
+ if (use_udev) {
+ deps += [ "//device/udev_linux" ]
+ } else {
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 a221177..39afba7 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-06-05 19:03:08 UTC
-+++ headless/lib/browser/headless_content_browser_client.h
-@@ -28,7 +28,7 @@ class HeadlessContentBrowserClient : public content::C
+--- 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 @@
content::BrowserContext* context,
content::StoragePartition* partition,
- const 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-ipc_ipc__message__utils.cc b/www/chromium/files/patch-ipc_ipc__message__utils.cc
index 46b3857..640dfe2 100644
--- a/www/chromium/files/patch-ipc_ipc__message__utils.cc
+++ b/www/chromium/files/patch-ipc_ipc__message__utils.cc
@@ -1,11 +1,11 @@
---- ipc/ipc_message_utils.cc.orig 2017-06-05 19:03:08 UTC
-+++ ipc/ipc_message_utils.cc
-@@ -421,7 +421,7 @@ void ParamTraits<unsigned int>::Log(const param_type&
- l->append(base::UintToString(p));
+--- ipc/ipc_message_utils.cc.orig 2017-09-05 21:05:21.000000000 +0200
++++ ipc/ipc_message_utils.cc 2017-09-06 20:38:34.375119000 +0200
+@@ -424,7 +424,7 @@
}
--#if defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || \
+- (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
++ defined(OS_BSD) || (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
void ParamTraits<long>::Log(const param_type& p, std::string* l) {
l->append(base::Int64ToString(static_cast<int64_t>(p)));
+ }
diff --git a/www/chromium/files/patch-ipc_ipc__message__utils.h b/www/chromium/files/patch-ipc_ipc__message__utils.h
index 8a0edea..43f1e79 100644
--- a/www/chromium/files/patch-ipc_ipc__message__utils.h
+++ b/www/chromium/files/patch-ipc_ipc__message__utils.h
@@ -1,11 +1,11 @@
---- ipc/ipc_message_utils.h.orig 2017-06-05 19:03:08 UTC
-+++ ipc/ipc_message_utils.h
-@@ -208,7 +208,7 @@ struct ParamTraits<unsigned int> {
- // 3) Android 64 bit also has int64_t typedef'd to long.
+--- ipc/ipc_message_utils.h.orig 2017-09-05 21:05:21.000000000 +0200
++++ ipc/ipc_message_utils.h 2017-09-06 20:44:35.248663000 +0200
+@@ -212,7 +212,7 @@
// Since we want to support Android 32<>64 bit IPC, as long as we don't have
// these traits for 32 bit ARM then that'll catch any errors.
--#if defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || \
+- (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
++ defined(OS_BSD) || (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
template <>
struct ParamTraits<long> {
+ typedef long param_type;
diff --git a/www/chromium/files/patch-net_dns_host__resolver__proc.cc b/www/chromium/files/patch-net_dns_host__resolver__proc.cc
index 0dd1a88..9f4df90 100644
--- a/www/chromium/files/patch-net_dns_host__resolver__proc.cc
+++ b/www/chromium/files/patch-net_dns_host__resolver__proc.cc
@@ -1,11 +1,11 @@
---- net/dns/host_resolver_proc.cc.orig 2017-06-05 19:03:10 UTC
-+++ net/dns/host_resolver_proc.cc
-@@ -194,7 +194,7 @@ int SystemHostResolverCall(const std::string& host,
+--- net/dns/host_resolver_proc.cc.orig 2017-09-05 21:05:22.000000000 +0200
++++ net/dns/host_resolver_proc.cc 2017-09-06 20:49:21.939725000 +0200
+@@ -190,7 +190,7 @@
+ // Restrict result set to only this socket type to avoid duplicates.
hints.ai_socktype = SOCK_STREAM;
- #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
-- !defined(OS_ANDROID)
-+ !defined(OS_ANDROID) && !defined(OS_FREEBSD)
+-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) && \
+ !defined(OS_ANDROID) && !defined(OS_FUCHSIA)
DnsReloaderMaybeReload();
#endif
- int err = getaddrinfo(host.c_str(), NULL, &hints, &ai);
diff --git a/www/chromium/files/patch-net_features.gni b/www/chromium/files/patch-net_features.gni
new file mode 100644
index 0000000..3c963c1
--- /dev/null
+++ b/www/chromium/files/patch-net_features.gni
@@ -0,0 +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
+@@ -27,7 +27,7 @@
+ disable_brotli_filter = false
+
+ # Multicast DNS.
+- enable_mdns = is_win || is_linux
++ enable_mdns = is_win || is_linux || is_bsd
+
+ # Reporting not used on iOS.
+ enable_reporting = !is_ios
diff --git a/www/chromium/files/patch-printing_backend_print_backend_cups.h b/www/chromium/files/patch-printing_backend_print_backend_cups.h
new file mode 100644
index 0000000..7867a57
--- /dev/null
+++ b/www/chromium/files/patch-printing_backend_print_backend_cups.h
@@ -0,0 +1,11 @@
+--- printing/backend/print_backend_cups.h.orig 2017-09-07 12:48:26.701906000 +0200
++++ printing/backend/print_backend_cups.h 2017-09-07 12:48:48.628278000 +0200
+@@ -5,6 +5,8 @@
+ #ifndef PRINTING_BACKEND_PRINT_BACKEND_CUPS_H_
+ #define PRINTING_BACKEND_PRINT_BACKEND_CUPS_H_
+
++#include <cups/ppd.h>
++
+ #include <string>
+
+ #include "base/files/file_util.h"
diff --git a/www/chromium/files/patch-remoting_host_setup_me2me_native_messaging_host_main.cc b/www/chromium/files/patch-remoting_host_setup_me2me_native_messaging_host_main.cc
deleted file mode 100644
index 747de86..0000000
--- a/www/chromium/files/patch-remoting_host_setup_me2me_native_messaging_host_main.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- remoting/host/setup/me2me_native_messaging_host_main.cc.orig 2017-08-10 16:30:29.861339000 +0200
-+++ remoting/host/setup/me2me_native_messaging_host_main.cc 2017-08-10 16:31:13.891062000 +0200
-@@ -44,7 +44,7 @@
- #include "remoting/host/win/elevation_helpers.h"
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- #include <glib-object.h>
- #endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-
-@@ -64,7 +64,7 @@
- base::mac::ScopedNSAutoreleasePool pool;
- #endif // defined(OS_MACOSX)
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- // g_type_init will be deprecated in 2.36. 2.35 is the development
- // version for 2.36, hence do not call g_type_init starting 2.35.
- // http://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#g-type-init
diff --git a/www/chromium/files/patch-sdch_BUILD.gn b/www/chromium/files/patch-sdch_BUILD.gn
index 330821b..59dce95 100644
--- a/www/chromium/files/patch-sdch_BUILD.gn
+++ b/www/chromium/files/patch-sdch_BUILD.gn
@@ -1,6 +1,6 @@
---- sdch/BUILD.gn.orig 2017-04-19 19:06:37 UTC
-+++ sdch/BUILD.gn
-@@ -11,7 +11,7 @@ config("sdch_config") {
+--- sdch/BUILD.gn.orig 2017-09-05 21:05:23.000000000 +0200
++++ sdch/BUILD.gn 2017-09-06 21:01:49.902976000 +0200
+@@ -11,7 +11,7 @@
# from a config and can't be on the target directly.
config("sdch_warnings") {
cflags = []
@@ -9,12 +9,12 @@
# TODO(mostynb): remove this if open-vcdiff is ever updated for c++11:
cflags += [ "-Wno-deprecated-declarations" ]
}
-@@ -59,7 +59,7 @@ static_library("sdch") {
+@@ -59,7 +59,7 @@
"//third_party/zlib",
]
-- if (is_linux || is_android) {
-+ if (is_linux || is_bsd || is_android) {
+- if (is_linux || is_android || is_fuchsia) {
++ if (is_linux || is_bsd || is_android || is_fuchsia) {
include_dirs = [ "linux" ]
} else if (is_ios) {
include_dirs = [ "ios" ]
diff --git a/www/chromium/files/patch-services_catalog_public_cpp_manifest__parsing__util.cc b/www/chromium/files/patch-services_catalog_public_cpp_manifest__parsing__util.cc
index 12f779f..e16314b 100644
--- a/www/chromium/files/patch-services_catalog_public_cpp_manifest__parsing__util.cc
+++ b/www/chromium/files/patch-services_catalog_public_cpp_manifest__parsing__util.cc
@@ -1,19 +1,19 @@
---- services/catalog/public/cpp/manifest_parsing_util.cc.orig 2017-06-05 19:03:11 UTC
-+++ services/catalog/public/cpp/manifest_parsing_util.cc
-@@ -15,7 +15,8 @@ bool IsValidPlatformName(const std::string& name) {
- return name == Store::kRequiredFilesKey_PlatformValue_Windows ||
+--- services/catalog/public/cpp/manifest_parsing_util.cc.orig 2017-09-05 21:05:23.000000000 +0200
++++ services/catalog/public/cpp/manifest_parsing_util.cc 2017-09-06 21:09:16.599702000 +0200
+@@ -17,7 +17,8 @@
name == Store::kRequiredFilesKey_PlatformValue_Linux ||
name == Store::kRequiredFilesKey_PlatformValue_MacOSX ||
-- name == Store::kRequiredFilesKey_PlatformValue_Android;
-+ name == Store::kRequiredFilesKey_PlatformValue_Android ||
+ name == Store::kRequiredFilesKey_PlatformValue_Android ||
+- name == Store::kRequiredFilesKey_PlatformValue_Fuchsia;
++ name == Store::kRequiredFilesKey_PlatformValue_Fuchsia ||
+ name == Store::kRequiredFilesKey_PlatformValue_FreeBSD;
}
bool IsCurrentPlatform(const std::string& name) {
-@@ -27,6 +28,8 @@ bool IsCurrentPlatform(const std::string& name) {
- return name == Store::kRequiredFilesKey_PlatformValue_MacOSX;
- #elif defined(OS_ANDROID)
+@@ -31,6 +32,8 @@
return name == Store::kRequiredFilesKey_PlatformValue_Android;
+ #elif defined(OS_FUCHSIA)
+ return name == Store::kRequiredFilesKey_PlatformValue_Fuchsia;
+#elif defined(OS_BSD)
+ return name == Store::kRequiredFilesKey_PlatformValue_FreeBSD;
#else
diff --git a/www/chromium/files/patch-services_catalog_store.cc b/www/chromium/files/patch-services_catalog_store.cc
index a1748bb..7fe825d 100644
--- a/www/chromium/files/patch-services_catalog_store.cc
+++ b/www/chromium/files/patch-services_catalog_store.cc
@@ -1,9 +1,10 @@
---- services/catalog/store.cc.orig 2017-06-05 19:03:11 UTC
-+++ services/catalog/store.cc
-@@ -32,4 +32,6 @@ const char Store::kRequiredFilesKey_PlatformValue_Linu
- const char Store::kRequiredFilesKey_PlatformValue_MacOSX[] = "macosx";
- // static
+--- services/catalog/store.cc.orig 2017-09-05 21:05:23.000000000 +0200
++++ services/catalog/store.cc 2017-09-06 21:21:50.819060000 +0200
+@@ -34,5 +34,7 @@
const char Store::kRequiredFilesKey_PlatformValue_Android[] = "android";
+ // static
+ const char Store::kRequiredFilesKey_PlatformValue_Fuchsia[] = "fuchsia";
+// static
+const char Store::kRequiredFilesKey_PlatformValue_FreeBSD[] = "freebsd";
+
} // namespace catalog
diff --git a/www/chromium/files/patch-services_catalog_store.h b/www/chromium/files/patch-services_catalog_store.h
index 4743990..5e5d7fe 100644
--- a/www/chromium/files/patch-services_catalog_store.h
+++ b/www/chromium/files/patch-services_catalog_store.h
@@ -1,9 +1,9 @@
---- services/catalog/store.h.orig 2017-04-19 19:06:37 UTC
-+++ services/catalog/store.h
-@@ -33,6 +33,7 @@ class Store {
- static const char kRequiredFilesKey_PlatformValue_Linux[];
+--- services/catalog/store.h.orig 2017-09-05 21:05:23.000000000 +0200
++++ services/catalog/store.h 2017-09-06 21:16:22.831744000 +0200
+@@ -34,6 +34,7 @@
static const char kRequiredFilesKey_PlatformValue_MacOSX[];
static const char kRequiredFilesKey_PlatformValue_Android[];
+ static const char kRequiredFilesKey_PlatformValue_Fuchsia[];
+ static const char kRequiredFilesKey_PlatformValue_FreeBSD[];
};
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 916132d..86452c4 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,9 +1,9 @@
---- services/device/time_zone_monitor/time_zone_monitor.cc.orig 2017-04-19 19:06:37 UTC
-+++ services/device/time_zone_monitor/time_zone_monitor.cc
-@@ -31,7 +31,7 @@ void TimeZoneMonitor::NotifyClients() {
- std::unique_ptr<icu::TimeZone> new_zone(icu::TimeZone::createDefault());
+--- 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
+@@ -41,7 +41,7 @@
#else
- icu::TimeZone* new_zone = icu::TimeZone::detectHostTimeZone();
+ std::unique_ptr<icu::TimeZone> new_zone(icu::TimeZone::detectHostTimeZone());
+ #endif
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
// We get here multiple times on Linux per a single tz change, but
diff --git a/www/chromium/files/patch-services_resource_coordinator_public_cpp_memory_instrumentation_os_metrics.h b/www/chromium/files/patch-services_resource_coordinator_public_cpp_memory_instrumentation_os_metrics.h
new file mode 100644
index 0000000..6679543
--- /dev/null
+++ b/www/chromium/files/patch-services_resource_coordinator_public_cpp_memory_instrumentation_os_metrics.h
@@ -0,0 +1,11 @@
+--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2017-09-07 07:15:01.296724000 +0200
++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h 2017-09-07 07:15:17.711160000 +0200
+@@ -21,7 +21,7 @@
+ private:
+ FRIEND_TEST_ALL_PREFIXES(OSMetricsTest, ParseProcSmaps);
+
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
+ static void SetProcSmapsForTesting(FILE*);
+ #endif // defined(OS_LINUX)
+ };
diff --git a/www/chromium/files/patch-services_resource_coordinator_public_cpp_memory_instrumentation_os_metrics_linux.cc b/www/chromium/files/patch-services_resource_coordinator_public_cpp_memory_instrumentation_os_metrics_linux.cc
new file mode 100644
index 0000000..4e9e7f4
--- /dev/null
+++ b/www/chromium/files/patch-services_resource_coordinator_public_cpp_memory_instrumentation_os_metrics_linux.cc
@@ -0,0 +1,30 @@
+--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2017-09-05 21:05:23.000000000 +0200
++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc 2017-09-09 15:42:00.563572000 +0200
+@@ -15,6 +15,11 @@
+ #include "build/build_config.h"
+ #include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h"
+
++#if defined(OS_BSD)
++#include <sys/types.h>
++#include <sys/sysctl.h>
++#endif
++
+ namespace memory_instrumentation {
+
+ namespace {
+@@ -201,7 +206,15 @@
+
+ const static size_t page_size = base::GetPageSize();
+ uint64_t rss_anon_bytes = (resident_pages - shared_pages) * page_size;
++#if defined(OS_BSD)
++ uint64_t retval;
++ size_t size = sizeof(retval);
++
++ sysctlbyname("vm.swap_total", &retval, &size, NULL, 0);
++ uint64_t vm_swap_bytes = retval;
++#else
+ uint64_t vm_swap_bytes = process_metrics->GetVmSwapBytes();
++#endif
+
+ dump->platform_private_footprint.rss_anon_bytes = rss_anon_bytes;
+ dump->platform_private_footprint.vm_swap_bytes = vm_swap_bytes;
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp b/www/chromium/files/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp
index 699c83f..e1e849a 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp
@@ -1,10 +1,10 @@
---- third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp.orig 2017-04-19 19:06:49 UTC
-+++ third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp
-@@ -48,6 +48,8 @@
+--- third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp.orig 2017-09-05 21:05:39.000000000 +0200
++++ third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp 2017-09-07 17:51:16.350712000 +0200
+@@ -49,6 +49,8 @@
- #if OS(WIN)
+ #if defined(OS_WIN)
#include <malloc.h>
-+#elif OS(FREEBSD)
++#elif defined(OS_FREEBSD)
+#include <stdlib.h>
#else
#include <alloca.h>
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_core_editing_EditingBehavior.cpp b/www/chromium/files/patch-third__party_WebKit_Source_core_editing_EditingBehavior.cpp
new file mode 100644
index 0000000..f83d757
--- /dev/null
+++ b/www/chromium/files/patch-third__party_WebKit_Source_core_editing_EditingBehavior.cpp
@@ -0,0 +1,11 @@
+--- third_party/WebKit/Source/core/editing/EditingBehavior.cpp.orig 2017-09-10 01:26:55.763466000 +0200
++++ third_party/WebKit/Source/core/editing/EditingBehavior.cpp 2017-09-10 01:27:25.592044000 +0200
+@@ -268,7 +268,7 @@
+ // unexpected behaviour
+ if (ch < ' ')
+ return false;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // According to XKB map no keyboard combinations with ctrl key are mapped to
+ // printable characters, however we need the filter as the DomKey/text could
+ // contain printable characters.
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_core_html_forms_InternalPopupMenu.cpp b/www/chromium/files/patch-third__party_WebKit_Source_core_html_forms_InternalPopupMenu.cpp
new file mode 100644
index 0000000..c706b35
--- /dev/null
+++ b/www/chromium/files/patch-third__party_WebKit_Source_core_html_forms_InternalPopupMenu.cpp
@@ -0,0 +1,11 @@
+--- third_party/WebKit/Source/core/html/forms/InternalPopupMenu.cpp.orig 2017-09-10 01:24:52.757075000 +0200
++++ third_party/WebKit/Source/core/html/forms/InternalPopupMenu.cpp 2017-09-10 01:25:11.778614000 +0200
+@@ -157,7 +157,7 @@
+ is_in_group_(false),
+ buffer_(buffer) {
+ DCHECK(buffer_);
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // On other platforms, the <option> background color is the same as the
+ // <select> background color. On Linux, that makes the <option>
+ // background color very dark, so by default, try to use a lighter
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp
index c1aae88..7616918 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp
@@ -1,14 +1,23 @@
---- third_party/WebKit/Source/platform/fonts/FontCache.cpp.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/fonts/FontCache.cpp
-@@ -63,9 +63,9 @@ using namespace WTF;
+--- third_party/WebKit/Source/platform/fonts/FontCache.cpp.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/fonts/FontCache.cpp 2017-09-06 21:33:11.655017000 +0200
+@@ -64,9 +64,9 @@
namespace blink {
--#if !OS(WIN) && !OS(LINUX)
-+#if !OS(WIN) && !OS(LINUX) && !OS(FREEBSD)
+-#if !defined(OS_WIN) && !defined(OS_LINUX)
++#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)
FontCache::FontCache() : purge_prevent_count_(0), font_manager_(nullptr) {}
--#endif // !OS(WIN) && !OS(LINUX)
-+#endif // !OS(WIN) && !OS(LINUX) && !OS(FREEBSD)
+-#endif // !defined(OS_WIN) && !defined(OS_LINUX)
++#endif // !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)
- typedef HashMap<unsigned,
- std::unique_ptr<FontPlatformData>,
+ SkFontMgr* FontCache::static_font_manager_ = nullptr;
+
+@@ -85,7 +85,7 @@
+ FontPlatformData* FontCache::SystemFontPlatformData(
+ const FontDescription& font_description) {
+ const AtomicString& family = FontCache::SystemFontFamily();
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (family.IsEmpty() || family == FontFamilyNames::system_ui)
+ return nullptr;
+ #else
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
index 4375684..f376881 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
@@ -1,20 +1,20 @@
---- third_party/WebKit/Source/platform/fonts/FontCache.h.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/fonts/FontCache.h
-@@ -144,7 +144,7 @@ class PLATFORM_EXPORT FontCache {
+--- third_party/WebKit/Source/platform/fonts/FontCache.h.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/fonts/FontCache.h 2017-09-06 21:34:33.301287000 +0200
+@@ -165,7 +165,7 @@
#else
static const AtomicString& LegacySystemFontFamily();
#endif
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
static void SetSystemFontFamily(const AtomicString&);
#endif
-@@ -259,7 +259,7 @@ class PLATFORM_EXPORT FontCache {
+@@ -282,7 +282,7 @@
const FontFaceCreationParams&,
CString& name);
--#if OS(ANDROID) || OS(LINUX)
-+#if OS(ANDROID) || OS(LINUX) || OS(FREEBSD)
+-#if defined(OS_ANDROID) || defined(OS_LINUX)
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
UChar32,
const FontDescription&,
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp
index 639c0b6..b8a201a 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp
@@ -1,47 +1,47 @@
---- third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp
-@@ -93,7 +93,7 @@ FontPlatformData::FontPlatformData(const FontPlatformD
+--- third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp 2017-09-06 21:40:15.799533000 +0200
+@@ -92,7 +92,7 @@
synthetic_bold_(source.synthetic_bold_),
synthetic_italic_(source.synthetic_italic_),
orientation_(source.orientation_),
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
style_(source.style_),
#endif
harf_buzz_face_(nullptr),
-@@ -114,7 +114,7 @@ FontPlatformData::FontPlatformData(const FontPlatformD
+@@ -113,7 +113,7 @@
synthetic_bold_(src.synthetic_bold_),
synthetic_italic_(src.synthetic_italic_),
orientation_(src.orientation_),
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
style_(FontRenderStyle::QuerySystem(family_,
text_size_,
typeface_->fontStyle())),
-@@ -145,7 +145,7 @@ FontPlatformData::FontPlatformData(sk_sp<SkTypeface> t
+@@ -144,7 +144,7 @@
synthetic_bold_(synthetic_bold),
synthetic_italic_(synthetic_italic),
orientation_(orientation),
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
style_(FontRenderStyle::QuerySystem(family_,
text_size_,
typeface_->fontStyle())),
-@@ -188,7 +188,7 @@ const FontPlatformData& FontPlatformData::operator=(
+@@ -189,7 +189,7 @@
synthetic_italic_ = other.synthetic_italic_;
harf_buzz_face_ = nullptr;
orientation_ = other.orientation_;
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
style_ = other.style_;
#endif
-@@ -212,7 +212,7 @@ bool FontPlatformData::operator==(const FontPlatformDa
+@@ -213,7 +213,7 @@
is_hash_table_deleted_value_ == a.is_hash_table_deleted_value_ &&
synthetic_bold_ == a.synthetic_bold_ &&
synthetic_italic_ == a.synthetic_italic_
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
&& style_ == a.style_
#endif
&& orientation_ == a.orientation_;
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h
index 9b58cca..779f1cc 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h
@@ -1,32 +1,32 @@
---- third_party/WebKit/Source/platform/fonts/FontPlatformData.h.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/fonts/FontPlatformData.h
-@@ -47,9 +47,9 @@
+--- third_party/WebKit/Source/platform/fonts/FontPlatformData.h.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/fonts/FontPlatformData.h 2017-09-06 21:44:50.459129000 +0200
+@@ -48,9 +48,9 @@
#include "platform/wtf/text/StringImpl.h"
#include "third_party/skia/include/core/SkRefCnt.h"
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
#include "platform/fonts/linux/FontRenderStyle.h"
--#endif // OS(LINUX) || OS(ANDROID)
-+#endif // OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#endif // defined(OS_LINUX) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- #if OS(MACOSX)
+ #if defined(OS_MACOSX)
OBJC_CLASS NSFont;
-@@ -147,7 +147,7 @@ class PLATFORM_EXPORT FontPlatformData {
+@@ -152,7 +152,7 @@
PassRefPtr<OpenTypeVerticalData> VerticalData() const;
- PassRefPtr<SharedBuffer> OpenTypeTable(SkFontTableTag) const;
+ Vector<char> OpenTypeTable(SkFontTableTag) const;
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
// The returned styles are all actual styles without
// FontRenderStyle::NoPreference.
const FontRenderStyle& GetFontRenderStyle() const { return style_; }
-@@ -177,7 +177,7 @@ class PLATFORM_EXPORT FontPlatformData {
+@@ -182,7 +182,7 @@
FontOrientation orientation_;
private:
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
FontRenderStyle style_;
#endif
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp
index 05523d3..5c8d70a 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp
@@ -1,29 +1,29 @@
---- third_party/WebKit/Source/platform/fonts/SimpleFontData.cpp.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/fonts/SimpleFontData.cpp
-@@ -50,7 +50,7 @@ namespace blink {
+--- third_party/WebKit/Source/platform/fonts/SimpleFontData.cpp.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/fonts/SimpleFontData.cpp 2017-09-06 21:49:52.325872000 +0200
+@@ -56,7 +56,7 @@
const float kSmallCapsFontSizeMultiplier = 0.7f;
const float kEmphasisMarkFontSizeMultiplier = 0.5f;
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
// This is the largest VDMX table which we'll try to load and parse.
static const size_t kMaxVDMXTableSize = 1024 * 1024; // 1 MB
#endif
-@@ -105,7 +105,7 @@ void SimpleFontData::PlatformInit(bool subpixel_ascent
+@@ -111,7 +111,7 @@
int vdmx_ascent = 0, vdmx_descent = 0;
bool is_vdmx_valid = false;
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
// Manually digging up VDMX metrics is only applicable when bytecode hinting
// using FreeType. With DirectWrite or CoreText, no bytecode hinting is ever
// done. This code should be pushed into FreeType (hinted font metrics).
-@@ -154,7 +154,7 @@ void SimpleFontData::PlatformInit(bool subpixel_ascent
+@@ -160,7 +160,7 @@
visual_overflow_inflation_for_ascent_ = 1;
if (descent < metrics.fDescent) {
visual_overflow_inflation_for_descent_ = 1;
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
// When subpixel positioning is enabled, if the descent is rounded down,
// the descent part of the glyph may be truncated when displayed in a
// 'overflow: hidden' container. To avoid that, borrow 1 unit from the
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
index 50e29336..35bb6c4 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
@@ -1,20 +1,20 @@
---- third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
-@@ -68,7 +68,7 @@ AtomicString ToAtomicString(const SkString& str) {
+--- third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp 2017-09-06 21:56:16.263371000 +0200
+@@ -73,7 +73,7 @@
return AtomicString::FromUTF8(str.c_str(), str.size());
}
--#if OS(ANDROID) || OS(LINUX)
-+#if OS(ANDROID) || OS(LINUX) || OS(BSD)
+-#if defined(OS_ANDROID) || defined(OS_LINUX)
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
// Android special locale for retrieving the color emoji font
// based on the proposed changes in UTR #51 for introducing
// an Emoji script code:
-@@ -249,7 +249,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
+@@ -258,7 +258,7 @@
}
#endif
--#if OS(LINUX) || OS(WIN)
-+#if OS(LINUX) || OS(WIN) || OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
// On linux if the fontManager has been overridden then we should be calling
// the embedder provided font Manager rather than calling
// SkTypeface::CreateFromName which may redirect the call to the default font
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp
index 82a80c1..869e4e0 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp
@@ -1,11 +1,14 @@
---- third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
-@@ -7,6 +7,8 @@
- #include "platform/wtf/StackUtil.h"
- #include "public/platform/Platform.h"
+--- third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp 2017-09-06 22:02:32.472630000 +0200
+@@ -15,6 +15,11 @@
+ extern "C" void* __libc_stack_end; // NOLINT
+ #endif
++#if defined(OS_BSD)
++#include <sys/signal.h>
+#include <pthread_np.h>
++#endif
+
- #if OS(WIN)
- #include <stddef.h>
- #include <windows.h>
+ namespace blink {
+
+ static const char* g_avoid_optimization = nullptr;
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Assertions.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Assertions.cpp
index be79699..037c212 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Assertions.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Assertions.cpp
@@ -1,11 +1,11 @@
---- third_party/WebKit/Source/platform/wtf/Assertions.cpp.orig 2017-07-25 21:05:15.000000000 +0200
-+++ third_party/WebKit/Source/platform/wtf/Assertions.cpp 2017-08-02 15:55:53.426469000 +0200
-@@ -60,7 +60,7 @@
+--- third_party/WebKit/Source/platform/wtf/Assertions.cpp.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/wtf/Assertions.cpp 2017-09-06 22:08:33.610705000 +0200
+@@ -56,7 +56,7 @@
#include <windows.h>
#endif
--#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(MACOSX) || ((OS(LINUX) || OS(BSD)) && !defined(__UCLIBC__))
+-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(__UCLIBC__))
++#if defined(OS_MACOSX) || ((defined(OS_LINUX) || defined(OS_BSD)) && !defined(__UCLIBC__))
#include <cxxabi.h>
#include <dlfcn.h>
#include <execinfo.h>
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Atomics.h b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Atomics.h
index d7374a5..ecb7c8d 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Atomics.h
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_Atomics.h
@@ -1,11 +1,11 @@
---- third_party/WebKit/Source/platform/wtf/Atomics.h.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/wtf/Atomics.h
-@@ -176,7 +176,7 @@ ALWAYS_INLINE void AtomicSetOneToZero(int volatile* pt
+--- third_party/WebKit/Source/platform/wtf/Atomics.h.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/wtf/Atomics.h 2017-09-06 22:14:43.075913000 +0200
+@@ -176,7 +176,7 @@
#if defined(THREAD_SANITIZER)
// The definitions below assume an LP64 data model. This is fine because
// TSan is only supported on x86_64 Linux.
--#if CPU(64BIT) && OS(LINUX)
-+#if CPU(64BIT) && (OS(LINUX) || OS(BSD))
+-#if defined(ARCH_CPU_64_BITS) && defined(OS_LINUX)
++#if defined(ARCH_CPU_64_BITS) && (defined(OS_LINUX) || defined(OS_BSD))
ALWAYS_INLINE void ReleaseStore(volatile int* ptr, int value) {
__tsan_atomic32_store(ptr, value, __tsan_memory_order_release);
}
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ContainerAnnotations.h b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ContainerAnnotations.h
index 6a2fe0e..0764541 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ContainerAnnotations.h
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ContainerAnnotations.h
@@ -1,11 +1,11 @@
---- third_party/WebKit/Source/platform/wtf/ContainerAnnotations.h.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/wtf/ContainerAnnotations.h
+--- third_party/WebKit/Source/platform/wtf/ContainerAnnotations.h.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/wtf/ContainerAnnotations.h 2017-09-06 22:18:52.135596000 +0200
@@ -10,7 +10,7 @@
- // TODO(ochang): Remove the CPU(X86_64) condition to enable this for X86 once
- // the crashes there have been fixed: http://crbug.com/461406
--#if defined(ADDRESS_SANITIZER) && OS(LINUX) && CPU(X86_64)
-+#if defined(ADDRESS_SANITIZER) && (OS(LINUX) || OS(BSD)) && CPU(X86_64)
+ // TODO(ochang): Remove the ARCH_CPU_X86_64 condition to enable this for X86
+ // once the crashes there have been fixed: http://crbug.com/461406
+-#if defined(ADDRESS_SANITIZER) && defined(OS_LINUX) && defined(ARCH_CPU_X86_64)
++#if defined(ADDRESS_SANITIZER) && (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
#define ANNOTATE_CONTIGUOUS_CONTAINER
#define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize) \
if (buffer) { \
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_StackUtil.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_StackUtil.cpp
index 06e7a70..ccac1d4 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_StackUtil.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_StackUtil.cpp
@@ -1,13 +1,14 @@
---- third_party/WebKit/Source/platform/wtf/StackUtil.cpp.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/wtf/StackUtil.cpp
-@@ -8,6 +8,10 @@
- #include "platform/wtf/Threading.h"
- #include "platform/wtf/WTFThreadData.h"
+--- third_party/WebKit/Source/platform/wtf/StackUtil.cpp.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/wtf/StackUtil.cpp 2017-09-06 22:25:12.873520000 +0200
+@@ -16,6 +16,11 @@
+ extern "C" void* __libc_stack_end; // NOLINT
+ #endif
-+#if OS(FREEBSD)
++#if defined(OS_FREEBSD)
++#include <sys/signal.h>
+#include <pthread_np.h>
+#endif
+
- #if OS(WIN)
- #include <stddef.h>
- #include <windows.h>
+ namespace WTF {
+
+ size_t GetUnderestimatedStackSize() {
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ThreadingPthreads.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ThreadingPthreads.cpp
index 973ba23..1c03987 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ThreadingPthreads.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_wtf_ThreadingPthreads.cpp
@@ -1,29 +1,33 @@
---- third_party/WebKit/Source/platform/wtf/ThreadingPthreads.cpp.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/platform/wtf/ThreadingPthreads.cpp
-@@ -49,11 +49,15 @@
+--- third_party/WebKit/Source/platform/wtf/ThreadingPthreads.cpp.orig 2017-09-05 21:05:41.000000000 +0200
++++ third_party/WebKit/Source/platform/wtf/ThreadingPthreads.cpp 2017-09-06 22:33:24.096670000 +0200
+@@ -51,14 +51,19 @@
#include <objc/objc-auto.h>
#endif
--#if OS(LINUX)
-+#if OS(LINUX) || OS(BSD)
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
#include <sys/syscall.h>
#endif
--#if OS(LINUX) || OS(ANDROID)
-+#if OS(BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
+ #include <unistd.h>
+ #endif
+
++#if defined(OS_BSD)
++#include <sys/signal.h>
+#include <pthread_np.h>
+#endif
+
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
- #include <unistd.h>
- #endif
+ namespace WTF {
-@@ -66,6 +70,8 @@ ThreadIdentifier CurrentThreadSyscall() {
- return pthread_mach_thread_np(pthread_self());
- #elif OS(LINUX)
+ namespace internal {
+@@ -70,6 +75,8 @@
return syscall(__NR_gettid);
-+#elif OS(BSD)
-+ return pthread_getthreadid_np();
- #elif OS(ANDROID)
+ #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_WebKit_Source_web_PopupMenuImpl.cpp b/www/chromium/files/patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp
deleted file mode 100644
index 7f505f1..0000000
--- a/www/chromium/files/patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/WebKit/Source/web/PopupMenuImpl.cpp.orig 2017-06-05 19:03:26 UTC
-+++ third_party/WebKit/Source/web/PopupMenuImpl.cpp
-@@ -155,7 +155,7 @@ class PopupMenuImpl::ItemIterationContext {
- is_in_group_(false),
- buffer_(buffer) {
- DCHECK(buffer_);
--#if OS(LINUX)
-+#if OS(LINUX) || OS(BSD)
- // On other platforms, the <option> background color is the same as the
- // <select> background color. On Linux, that makes the <option>
- // background color very dark, so by default, try to use a lighter
diff --git a/www/chromium/files/patch-third__party_angle_BUILD.gn b/www/chromium/files/patch-third__party_angle_BUILD.gn
index ae6d2c5..a8eb79d 100644
--- a/www/chromium/files/patch-third__party_angle_BUILD.gn
+++ b/www/chromium/files/patch-third__party_angle_BUILD.gn
@@ -1,41 +1,14 @@
---- third_party/angle/BUILD.gn.orig 2017-06-05 19:04:15 UTC
-+++ third_party/angle/BUILD.gn
-@@ -22,6 +22,12 @@ if (ozone_platform_gbm) {
- }
- }
-
-+if (use_x11) {
-+ pkg_config("x11") {
-+ packages = [ "x11", "xi", "xext" ]
-+ }
-+}
-+
- angle_git_is_present = exec_script("src/commit_id.py",
- [
- "check",
-@@ -427,11 +433,7 @@ static_library("libANGLE") {
- if (use_x11) {
- sources += rebase_path(gles_gypi.libangle_gl_glx_sources, ".", "src")
- deps += [ "src/third_party/libXNVCtrl:libXNVCtrl" ]
-- libs += [
-- "X11",
-- "Xi",
-- "Xext",
-- ]
-+ configs += [ ":x11" ]
+--- third_party/angle/BUILD.gn.orig 2017-09-05 21:06:47.000000000 +0200
++++ third_party/angle/BUILD.gn 2017-09-10 02:30:29.868194000 +0200
+@@ -239,6 +239,7 @@
+ "X11",
+ "Xi",
+ "Xext",
++ "GL",
+ ]
}
- if (is_mac) {
- sources += rebase_path(gles_gypi.libangle_gl_cgl_sources, ".", "src")
-@@ -636,7 +638,7 @@ util_gypi = exec_script("//build/gypi_to_gn.py",
-
- config("angle_util_config") {
- include_dirs = [ "util" ]
-- if (is_linux && use_x11) {
-+ if ((is_linux || is_bsd) && use_x11) {
- libs = [ "X11" ]
}
- }
-@@ -663,7 +665,7 @@ foreach(is_shared_library,
+@@ -677,7 +678,7 @@
sources += rebase_path(util_gypi.util_win32_sources, ".", "util")
}
diff --git a/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_internal.h b/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_internal.h
new file mode 100644
index 0000000..fe87784
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_internal.h
@@ -0,0 +1,11 @@
+--- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2017-09-10 02:31:40.635170000 +0200
++++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h 2017-09-10 02:32:27.153701000 +0200
+@@ -14,6 +14,8 @@
+ namespace angle
+ {
+
++bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices);
++
+ // Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined.
+ bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices);
+ // Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined.
diff --git a/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_linux.cpp b/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_linux.cpp
new file mode 100644
index 0000000..159ad6a
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_linux.cpp
@@ -0,0 +1,20 @@
+--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2017-09-10 02:34:01.568975000 +0200
++++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp 2017-09-10 02:35:52.870068000 +0200
+@@ -71,10 +71,17 @@
+
+ bool GetSystemInfo(SystemInfo *info)
+ {
++#if defined(__FreeBSD__)
++ if (!CollectMesaCardInfo(&(info->gpus)))
++ {
++ return false;
++ }
++#else
+ if (!GetPCIDevicesWithLibPCI(&(info->gpus)))
+ {
+ return false;
+ }
++#endif
+
+ if (info->gpus.size() == 0)
+ {
diff --git a/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_x11.cpp b/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_x11.cpp
new file mode 100644
index 0000000..699c142
--- /dev/null
+++ b/www/chromium/files/patch-third__party_angle_src_gpu_info_util_SystemInfo_x11.cpp
@@ -0,0 +1,52 @@
+--- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2017-09-10 02:37:35.309513000 +0200
++++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp 2017-09-10 02:48:01.225261000 +0200
+@@ -8,6 +8,8 @@
+
+ #include "gpu_info_util/SystemInfo_internal.h"
+
++#include <GL/glx.h>
++#include <GL/glxext.h>
+ #include <X11/Xlib.h>
+
+ #include "common/debug.h"
+@@ -18,8 +20,40 @@
+ #error SystemInfo_x11.cpp compiled without GPU_INFO_USE_X11
+ #endif
+
++#define GLX_RENDERER_VENDOR_ID_MESA 0x8183
++#define GLX_RENDERER_DEVICE_ID_MESA 0x8184
++
+ namespace angle
+ {
++
++bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices)
++{
++
++ unsigned int vid[3], did[3];
++
++ Display *display = XOpenDisplay(NULL);
++ if (!display) {
++ return false;
++ }
++
++ PFNGLXQUERYRENDERERINTEGERMESAPROC queryInteger =
++ (PFNGLXQUERYRENDERERINTEGERMESAPROC) glXGetProcAddressARB((const GLubyte *)
++ "glXQueryRendererIntegerMESA");
++
++ bool vendor_ret =
++ queryInteger(display, 0, 0, GLX_RENDERER_VENDOR_ID_MESA, vid);
++ bool_device_ret =
++ queryInteger(display, 0, 0, GLX_RENDERER_DEVICE_ID_MESA, did);
++
++ if (vendor_ret && device_ret) {
++ GPUDeviceInfo info;
++ info.vendorId = vid[0];
++ info.deviceId = did[0];
++ device->push_back(info);
++ }
++
++ return true;
++}
+
+ bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version)
+ {
diff --git a/www/chromium/files/patch-third__party_boringssl_BUILD.gn b/www/chromium/files/patch-third__party_boringssl_BUILD.gn
index 549874c..555eb5a 100644
--- a/www/chromium/files/patch-third__party_boringssl_BUILD.gn
+++ b/www/chromium/files/patch-third__party_boringssl_BUILD.gn
@@ -1,6 +1,6 @@
---- third_party/boringssl/BUILD.gn.orig 2017-04-19 19:06:51 UTC
-+++ third_party/boringssl/BUILD.gn
-@@ -83,7 +83,7 @@ if (is_win && !is_msan) {
+--- third_party/boringssl/BUILD.gn.orig 2017-09-05 21:05:42.000000000 +0200
++++ third_party/boringssl/BUILD.gn 2017-09-06 22:45:41.435863000 +0200
+@@ -85,7 +85,7 @@
} else if (current_cpu == "x64") {
if (is_mac) {
sources += crypto_sources_mac_x86_64
@@ -9,7 +9,7 @@
sources += crypto_sources_linux_x86_64
} else {
public_configs = [ ":no_asm_config" ]
-@@ -91,14 +91,14 @@ if (is_win && !is_msan) {
+@@ -93,13 +93,13 @@
} else if (current_cpu == "x86") {
if (is_mac) {
sources += crypto_sources_mac_x86
@@ -19,11 +19,18 @@
} else {
public_configs = [ ":no_asm_config" ]
}
-- } else if (current_cpu == "arm" && (is_linux || is_android)) {
-+ } else if (current_cpu == "arm" && (is_linux || is_bsd || is_android)) {
- sources += crypto_sources_linux_arm
-- } else if (current_cpu == "arm64" && (is_linux || is_android)) {
-+ } else if (current_cpu == "arm64" && (is_linux || is_bsd || is_android)) {
- sources += crypto_sources_linux_aarch64
- } else {
- public_configs = [ ":no_asm_config" ]
+ } else if (current_cpu == "arm") {
+- if (is_linux || is_android) {
++ if (is_linux || is_bsd || is_android) {
+ sources += crypto_sources_linux_arm
+ } else if (is_ios) {
+ sources += crypto_sources_ios_arm
+@@ -107,7 +107,7 @@
+ public_configs = [ ":no_asm_config" ]
+ }
+ } else if (current_cpu == "arm64") {
+- if (is_linux || is_android) {
++ if (is_linux || is_bsd || is_android) {
+ sources += crypto_sources_linux_aarch64
+ } else if (is_ios) {
+ sources += crypto_sources_ios_aarch64
diff --git a/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c b/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
new file mode 100644
index 0000000..4182692
--- /dev/null
+++ b/www/chromium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
@@ -0,0 +1,40 @@
+--- third_party/boringssl/src/crypto/cpu-aarch64-linux.c.orig 2017-09-11 03:00:27.842983000 +0200
++++ third_party/boringssl/src/crypto/cpu-aarch64-linux.c 2017-09-11 03:02:56.830632000 +0200
+@@ -16,7 +16,9 @@
+
+ #if defined(OPENSSL_AARCH64) && !defined(OPENSSL_STATIC_ARMCAP)
+
++#if defined(OPENSSL_LINUX)
+ #include <sys/auxv.h>
++#endif
+
+ #include <openssl/arm_arch.h>
+
+@@ -26,6 +28,7 @@
+ extern uint32_t OPENSSL_armcap_P;
+
+ void OPENSSL_cpuid_setup(void) {
++#if defined(OPENSSL_LINUX)
+ unsigned long hwcap = getauxval(AT_HWCAP);
+
+ /* See /usr/include/asm/hwcap.h on an aarch64 installation for the source of
+@@ -41,9 +44,11 @@
+ * either. */
+ return;
+ }
++#endif
+
+ OPENSSL_armcap_P |= ARMV7_NEON;
+
++#if defined(OPENSSL_LINUX)
+ if (hwcap & kAES) {
+ OPENSSL_armcap_P |= ARMV8_AES;
+ }
+@@ -56,6 +61,7 @@
+ if (hwcap & kSHA256) {
+ OPENSSL_armcap_P |= ARMV8_SHA256;
+ }
++#endif
+ }
+
+ #endif /* OPENSSL_AARCH64 && !OPENSSL_STATIC_ARMCAP */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_scripts_generate_gn.py b/www/chromium/files/patch-third__party_ffmpeg_chromium_scripts_generate_gn.py
new file mode 100644
index 0000000..7aff0b5
--- /dev/null
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_scripts_generate_gn.py
@@ -0,0 +1,11 @@
+--- third_party/ffmpeg/chromium/scripts/generate_gn.py.orig 2017-09-06 23:01:27.764648000 +0200
++++ third_party/ffmpeg/chromium/scripts/generate_gn.py 2017-09-06 23:06:22.774520000 +0200
+@@ -54,7 +54,7 @@
+ ffmpeg_gas_sources = []
+ ffmpeg_yasm_sources = []
+
+-use_linux_config = is_linux || is_fuchsia
++use_linux_config = is_linux || is_fuchsia || is_bsd
+
+ """
+ GN_CONDITION_BEGIN = """if (%s) {
diff --git a/www/chromium/files/patch-third__party_ffmpeg_ffmpeg__generated.gni b/www/chromium/files/patch-third__party_ffmpeg_ffmpeg__generated.gni
index 25aa945..2fead011b0 100644
--- a/www/chromium/files/patch-third__party_ffmpeg_ffmpeg__generated.gni
+++ b/www/chromium/files/patch-third__party_ffmpeg_ffmpeg__generated.gni
@@ -1,285 +1,11 @@
---- third_party/ffmpeg/ffmpeg_generated.gni.orig 2017-06-05 19:04:16 UTC
-+++ third_party/ffmpeg/ffmpeg_generated.gni
-@@ -12,7 +12,7 @@ ffmpeg_c_sources = []
+--- third_party/ffmpeg/ffmpeg_generated.gni.orig 2017-09-05 21:06:47.000000000 +0200
++++ third_party/ffmpeg/ffmpeg_generated.gni 2017-09-06 22:55:03.146139000 +0200
+@@ -12,7 +12,7 @@
ffmpeg_gas_sources = []
ffmpeg_yasm_sources = []
--if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm") || (is_linux && current_cpu == "arm64") || (is_linux && current_cpu == "mipsel") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm") || ((is_linux || is_bsd) && current_cpu == "arm64") || ((is_linux || is_bsd) && current_cpu == "mipsel") || ((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
- ffmpeg_c_sources += [
- "libavcodec/allcodecs.c",
- "libavcodec/autorename_libavcodec_flacdec.c",
-@@ -162,7 +162,7 @@ if ((is_android && current_cpu == "arm" && arm_use_neo
- ]
- }
-
--if ((is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm") || (is_linux && current_cpu == "arm64") || (is_linux && current_cpu == "mipsel") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm") || ((is_linux || is_bsd) && current_cpu == "arm64") || ((is_linux || is_bsd) && current_cpu == "mipsel") || ((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
- ffmpeg_c_sources += [
- "libavcodec/autorename_libavcodec_hpeldsp.c",
- "libavcodec/autorename_libavcodec_videodsp.c",
-@@ -177,7 +177,7 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon)
- ]
- }
-
--if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
-+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
- ffmpeg_c_sources += [
- "libavcodec/aac_ac3_parser.c",
- "libavcodec/aac_parser.c",
-@@ -214,7 +214,7 @@ if ((current_cpu == "x64" && ffmpeg_branding == "Chrom
- ]
- }
-
--if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
-+if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || ((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
- ffmpeg_c_sources += [
- "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
- "libavcodec/x86/constants.c",
-@@ -227,7 +227,7 @@ if ((is_android && current_cpu == "x64") || (is_androi
- ]
- }
-
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome")) {
- ffmpeg_c_sources += [
- "libavcodec/cabac.c",
- "libavcodec/h2645_parse.c",
-@@ -259,7 +259,7 @@ if ((is_android && current_cpu == "arm" && arm_use_neo
- ]
- }
-
--if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm")) {
- ffmpeg_c_sources += [
- "libavcodec/arm/fft_fixed_init_arm.c",
- "libavcodec/arm/fft_init_arm.c",
-@@ -278,7 +278,7 @@ if ((is_android && current_cpu == "arm" && arm_use_neo
- ]
- }
-
--if ((is_android && current_cpu == "x64") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
-+if ((is_android && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
- ffmpeg_yasm_sources += [
- "libavcodec/x86/fft.asm",
- "libavcodec/x86/flacdsp.asm",
-@@ -290,7 +290,7 @@ if ((is_android && current_cpu == "x64") || (is_linux
- ]
- }
-
--if ((is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
-+if (((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
- ffmpeg_c_sources += [
- "libavcodec/x86/autorename_libavcodec_x86_videodsp_init.c",
- "libavcodec/x86/h264_intrapred_init.c",
-@@ -312,7 +312,7 @@ if ((is_linux && current_cpu == "x64") || (is_linux &&
- ]
- }
-
--if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
-+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
- ffmpeg_c_sources += [
- "libavcodec/x86/aacpsdsp_init.c",
- "libavcodec/x86/dct_init.c",
-@@ -321,7 +321,7 @@ if ((current_cpu == "x64" && ffmpeg_branding == "Chrom
- ]
- }
-
--if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
-+if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
- ffmpeg_yasm_sources += [
- "libavcodec/x86/aacpsdsp.asm",
- "libavcodec/x86/dct32.asm",
-@@ -330,7 +330,7 @@ if ((current_cpu == "x64" && ffmpeg_branding == "Chrom
- ]
- }
-
--if ((is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm")) {
- ffmpeg_c_sources += [
- "libavcodec/arm/h264pred_init_arm.c",
- "libavcodec/arm/hpeldsp_init_arm.c",
-@@ -350,13 +350,13 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon)
- ]
- }
-
--if ((is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_linux && current_cpu == "mipsel")) {
-+if ((is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || ((is_linux || is_bsd) && current_cpu == "mipsel")) {
- ffmpeg_c_sources += [
- "libavutil/mips/float_dsp_mips.c",
- ]
- }
-
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/acelp_filters.c",
- "libavcodec/acelp_pitch_delay.c",
-@@ -411,7 +411,7 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon
- ]
- }
-
--if ((is_android && current_cpu == "arm64") || (is_linux && current_cpu == "arm64")) {
-+if ((is_android && current_cpu == "arm64") || ((is_linux || is_bsd) && current_cpu == "arm64")) {
- ffmpeg_c_sources += [
- "libavcodec/aarch64/fft_init_aarch64.c",
- "libavcodec/aarch64/vorbisdsp_init.c",
-@@ -426,7 +426,7 @@ if ((is_android && current_cpu == "arm64") || (is_linu
- ]
- }
-
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/arm/aacpsdsp_init_arm.c",
- "libavcodec/arm/mpegaudiodsp_init_arm.c",
-@@ -437,7 +437,7 @@ if ((is_android && current_cpu == "arm" && arm_use_neo
- ]
- }
-
--if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm" && arm_use_neon)) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon)) {
- ffmpeg_c_sources += [
- "libavutil/arm/float_dsp_init_neon.c",
- ]
-@@ -452,7 +452,7 @@ if ((is_android && current_cpu == "arm" && arm_use_neo
- ]
- }
-
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/arm/h264chroma_init_arm.c",
- "libavcodec/arm/h264dsp_init_arm.c",
-@@ -463,7 +463,7 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon
- ]
- }
-
--if ((is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome")) {
-+if (((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome")) {
- ffmpeg_c_sources += [
- "libavcodec/x86/h264_qpel.c",
- "libavcodec/x86/h264chroma_init.c",
-@@ -484,7 +484,7 @@ if ((is_linux && current_cpu == "x64" && ffmpeg_brandi
- ]
- }
-
--if ((is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS")) {
-+if ((is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/mips/aacdec_mips.c",
- "libavcodec/mips/aacpsdsp_mips.c",
-@@ -493,7 +493,7 @@ if ((is_android && current_cpu == "mips64el" && ffmpeg
- ]
- }
-
--if (is_linux && current_cpu == "mipsel") {
-+if ((is_linux || is_bsd) && current_cpu == "mipsel") {
- ffmpeg_c_sources += [
- "libavcodec/mips/h264pred_init_mips.c",
- "libavcodec/mips/hpeldsp_init_mips.c",
-@@ -501,7 +501,7 @@ if (is_linux && current_cpu == "mipsel") {
- ]
- }
-
--if ((is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/mips/h264chroma_init_mips.c",
- "libavcodec/mips/h264dsp_init_mips.c",
-@@ -509,7 +509,7 @@ if ((is_linux && current_cpu == "mipsel" && ffmpeg_bra
- ]
- }
-
--if (is_linux && current_cpu == "arm64") {
-+if ((is_linux || is_bsd) && current_cpu == "arm64") {
- ffmpeg_c_sources += [
- "libavcodec/aarch64/h264pred_init.c",
- "libavcodec/aarch64/hpeldsp_init_aarch64.c",
-@@ -522,7 +522,7 @@ if (is_linux && current_cpu == "arm64") {
- ]
- }
-
--if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
-+if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/aarch64/mpegaudiodsp_init.c",
- ]
-@@ -531,7 +531,7 @@ if ((is_android && current_cpu == "arm64" && ffmpeg_br
- ]
- }
-
--if ((is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/aarch64/h264chroma_init_aarch64.c",
- "libavcodec/aarch64/h264dsp_init_aarch64.c",
-@@ -545,7 +545,7 @@ if ((is_linux && current_cpu == "arm64" && ffmpeg_bran
- ]
- }
-
--if (is_linux && current_cpu == "arm" && arm_use_neon) {
-+if ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) {
- ffmpeg_c_sources += [
- "libavcodec/arm/hpeldsp_init_neon.c",
- "libavcodec/arm/vp8dsp_init_neon.c",
-@@ -558,14 +558,14 @@ if (is_linux && current_cpu == "arm" && arm_use_neon)
- ]
- }
-
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_gas_sources += [
- "libavcodec/arm/aacpsdsp_neon.S",
- "libavcodec/arm/sbrdsp_neon.S",
- ]
- }
-
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/arm/blockdsp_init_arm.c",
- "libavcodec/arm/idctdsp_init_arm.c",
-@@ -589,13 +589,13 @@ if ((is_linux && current_cpu == "arm" && arm_use_neon
- ]
- }
-
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/neon/autorename_libavcodec_neon_mpegvideo.c",
- ]
- }
-
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_gas_sources += [
- "libavcodec/arm/h264cmc_neon.S",
- "libavcodec/arm/h264dsp_neon.S",
-@@ -610,7 +610,7 @@ if (is_win && current_cpu == "x64") {
- ]
- }
-
--if ((is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
- ffmpeg_c_sources += [
- "libavcodec/x86/blockdsp_init.c",
- "libavcodec/x86/fdct.c",
-@@ -637,7 +637,7 @@ if ((is_linux && current_cpu == "x64" && ffmpeg_brandi
- ]
- }
-
--if (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") {
-+if ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") {
- ffmpeg_c_sources += [
- "libavcodec/mips/blockdsp_init_mips.c",
- "libavcodec/mips/h263dsp_init_mips.c",
-@@ -650,7 +650,7 @@ if (is_linux && current_cpu == "mipsel" && ffmpeg_bran
- ]
- }
+-use_linux_config = is_linux || is_fuchsia
++use_linux_config = is_linux || is_fuchsia || is_bsd
--if (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") {
-+if ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") {
+ if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac) || (is_win) || (use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm") || (use_linux_config && current_cpu == "arm64") || (use_linux_config && current_cpu == "mipsel") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) {
ffmpeg_c_sources += [
- "libavcodec/arm/blockdsp_init_neon.c",
- "libavcodec/arm/idctdsp_init_neon.c",
diff --git a/www/chromium/files/patch-third__party_fontconfig_BUILD.gn b/www/chromium/files/patch-third__party_fontconfig_BUILD.gn
index d6be090..625815d 100644
--- a/www/chromium/files/patch-third__party_fontconfig_BUILD.gn
+++ b/www/chromium/files/patch-third__party_fontconfig_BUILD.gn
@@ -1,11 +1,11 @@
---- third_party/fontconfig/BUILD.gn.orig 2017-04-19 19:06:51 UTC
-+++ third_party/fontconfig/BUILD.gn
-@@ -2,7 +2,7 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
+--- third_party/fontconfig/BUILD.gn.orig 2017-09-05 21:05:43.000000000 +0200
++++ third_party/fontconfig/BUILD.gn 2017-09-07 02:56:21.302663000 +0200
+@@ -4,7 +4,7 @@
+
+ import("//third_party/fontconfig/fontconfig.gni")
-assert(is_linux)
+assert(is_linux || is_bsd)
- config("fontconfig_config") {
- include_dirs = [ "src" ]
+ if (use_bundled_fontconfig) {
+ config("fontconfig_config") {
diff --git a/www/chromium/files/patch-third__party_fontconfig_fontconfig.gni b/www/chromium/files/patch-third__party_fontconfig_fontconfig.gni
new file mode 100644
index 0000000..8d9696c
--- /dev/null
+++ b/www/chromium/files/patch-third__party_fontconfig_fontconfig.gni
@@ -0,0 +1,11 @@
+--- third_party/fontconfig/fontconfig.gni.orig 2017-09-07 02:53:31.090545000 +0200
++++ third_party/fontconfig/fontconfig.gni 2017-09-07 02:53:38.833794000 +0200
+@@ -4,7 +4,7 @@
+
+ import("//build/config/features.gni")
+
+-assert(is_linux)
++assert(is_linux || is_bsd)
+
+ declare_args() {
+ use_bundled_fontconfig = is_chromecast
diff --git a/www/chromium/files/patch-third__party_libxml_chromium_libxml__utils.cc b/www/chromium/files/patch-third__party_libxml_chromium_libxml__utils.cc
deleted file mode 100644
index 2db53c8..0000000
--- a/www/chromium/files/patch-third__party_libxml_chromium_libxml__utils.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- third_party/libxml/chromium/libxml_utils.cc.orig 2017-06-05 19:03:28 UTC
-+++ third_party/libxml/chromium/libxml_utils.cc
-@@ -24,8 +24,7 @@ XmlReader::~XmlReader() {
-
- bool XmlReader::Load(const std::string& input) {
- const int kParseOptions = XML_PARSE_RECOVER | // recover on errors
-- XML_PARSE_NONET | // forbid network access
-- XML_PARSE_NOXXE; // no external entities
-+ XML_PARSE_NONET; // forbid network access
- // TODO(evanm): Verify it's OK to pass NULL for the URL and encoding.
- // The libxml code allows for these, but it's unclear what effect is has.
- reader_ = xmlReaderForMemory(input.data(), static_cast<int>(input.size()),
-@@ -35,8 +34,7 @@ bool XmlReader::Load(const std::string& input) {
-
- bool XmlReader::LoadFile(const std::string& file_path) {
- const int kParseOptions = XML_PARSE_RECOVER | // recover on errors
-- XML_PARSE_NONET | // forbid network access
-- XML_PARSE_NOXXE; // no external entities
-+ XML_PARSE_NONET; // forbid network access
- reader_ = xmlReaderForFile(file_path.c_str(), NULL, kParseOptions);
- return reader_ != NULL;
- }
diff --git a/www/chromium/files/patch-third__party_pdfium_core_fxge_fx_ge_linux.cpp b/www/chromium/files/patch-third__party_pdfium_core_fxge_fx_ge_linux.cpp
new file mode 100644
index 0000000..c4087e2
--- /dev/null
+++ b/www/chromium/files/patch-third__party_pdfium_core_fxge_fx_ge_linux.cpp
@@ -0,0 +1,14 @@
+--- third_party/pdfium/core/fxge/fx_ge_linux.cpp.orig 2017-09-10 01:29:26.531645000 +0200
++++ third_party/pdfium/core/fxge/fx_ge_linux.cpp 2017-09-10 01:35:18.727698000 +0200
+@@ -149,9 +149,8 @@
+ const char** pUserPaths) {
+ auto pInfo = pdfium::MakeUnique<CFX_LinuxFontInfo>();
+ if (!pInfo->ParseFontCfg(pUserPaths)) {
+- pInfo->AddPath("/usr/share/fonts");
+- pInfo->AddPath("/usr/share/X11/fonts/Type1");
+- pInfo->AddPath("/usr/share/X11/fonts/TTF");
++ pInfo->AddPath("/usr/local/share/fonts/Type1");
++ pInfo->AddPath("/usr/local/share/fonts/TTF");
+ pInfo->AddPath("/usr/local/share/fonts");
+ }
+ return std::move(pInfo);
diff --git a/www/chromium/files/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp b/www/chromium/files/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp
index 6264b9d..c9ae8a4 100644
--- a/www/chromium/files/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp
+++ b/www/chromium/files/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp
@@ -1,28 +1,15 @@
---- third_party/pdfium/fpdfsdk/javascript/JS_Value.cpp.orig 2017-06-05 19:04:22 UTC
-+++ third_party/pdfium/fpdfsdk/javascript/JS_Value.cpp
-@@ -457,11 +457,12 @@ v8::Local<v8::Date> CJS_Date::ToV8Date(CJS_Runtime* pR
- }
-
- double _getLocalTZA() {
-+ struct tm *lt;
- if (!FSDK_IsSandBoxPolicyEnabled(FPDF_POLICY_MACHINETIME_ACCESS))
- return 0;
- time_t t = 0;
- time(&t);
-- localtime(&t);
-+ lt = localtime(&t);
- #if _MSC_VER >= 1900
- // In gcc and in Visual Studio prior to VS 2015 'timezone' is a global
- // variable declared in time.h. That variable was deprecated and in VS 2015
-@@ -469,7 +470,11 @@ double _getLocalTZA() {
+--- third_party/pdfium/fpdfsdk/javascript/JS_Value.cpp.orig 2017-09-05 21:06:52.000000000 +0200
++++ third_party/pdfium/fpdfsdk/javascript/JS_Value.cpp 2017-09-07 00:04:22.552844000 +0200
+@@ -44,7 +44,12 @@
long timezone = 0;
_get_timezone(&timezone);
#endif
-+#if defined(__FreeBSD__)
++#ifdef __FreeBSD__
++ struct tm *lt;
+ return (double)(-(lt->tm_gmtoff * 1000));
+#else
return (double)(-(timezone * 1000));
+#endif
}
- int _getDaylightSavingTA(double d) {
+ 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_cfgas_fontmgr.cpp
new file mode 100644
index 0000000..7ae4e60
--- /dev/null
+++ b/www/chromium/files/patch-third__party_pdfium_xfa_fgas_font_cfgas_fontmgr.cpp
@@ -0,0 +1,13 @@
+--- third_party/pdfium/xfa/fgas/font/cfgas_fontmgr.cpp.orig 2017-09-10 01:31:56.349532000 +0200
++++ third_party/pdfium/xfa/fgas/font/cfgas_fontmgr.cpp 2017-09-10 01:33:41.025478000 +0200
+@@ -445,8 +445,8 @@
+
+ const char* g_FontFolders[] = {
+ #if _FXM_PLATFORM_ == _FXM_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",
+ #elif _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
+ "~/Library/Fonts", "/Library/Fonts", "/System/Library/Fonts",
+ #elif _FXM_PLATFORM_ == _FXM_PLATFORM_ANDROID_
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_EGLSurface.cpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
index 3344e1b..7f7cdb0 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_EGLSurface.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
@@ -1,5 +1,5 @@
---- third_party/swiftshader/src/OpenGL/libEGL/EGLSurface.cpp.orig 2017-06-26 22:17:25.800342000 +0200
-+++ third_party/swiftshader/src/OpenGL/libEGL/EGLSurface.cpp 2017-06-26 22:18:03.230149000 +0200
+--- 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"
@@ -9,7 +9,7 @@
#include "Main/libX11.hpp"
#elif defined(_WIN32)
#include <tchar.h>
-@@ -278,7 +278,7 @@
+@@ -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);
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 8a6a9178..43cea0e 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,5 +1,5 @@
---- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2017-06-26 22:19:30.621745000 +0200
-+++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp 2017-06-26 22:21:00.530994000 +0200
+--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2017-09-05 21:06:52.000000000 +0200
++++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp 2017-09-07 00:17:09.604043000 +0200
@@ -25,7 +25,7 @@
#if defined(__ANDROID__)
@@ -18,16 +18,16 @@
if(!libX11)
{
return success(HEADLESS_DISPLAY);
-@@ -171,7 +171,7 @@
- {
- TRACE("(EGLDisplay dpy = %p, EGLint name = %d)", dpy, name);
-
-- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
- if(dpy == EGL_NO_DISPLAY && name == EGL_EXTENSIONS)
- {
- return success("EGL_KHR_platform_gbm "
-@@ -1043,7 +1043,7 @@
+@@ -174,7 +174,7 @@
+ if(dpy == EGL_NO_DISPLAY && name == EGL_EXTENSIONS)
+ {
+ return success(
+-#if defined(__linux__) && !defined(__ANDROID__)
++#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
+ "EGL_KHR_platform_gbm "
+ "EGL_KHR_platform_x11 "
+ #endif
+@@ -1073,7 +1073,7 @@
{
TRACE("(EGLenum platform = 0x%X, void *native_display = %p, const EGLint *attrib_list = %p)", platform, native_display, attrib_list);
diff --git a/www/chromium/files/patch-third__party_webrtc_base_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_base_BUILD.gn
deleted file mode 100644
index 410fe83..0000000
--- a/www/chromium/files/patch-third__party_webrtc_base_BUILD.gn
+++ /dev/null
@@ -1,18 +0,0 @@
---- third_party/webrtc/base/BUILD.gn.orig 2017-06-05 19:04:24 UTC
-+++ third_party/webrtc/base/BUILD.gn
-@@ -567,7 +567,6 @@ rtc_static_library("rtc_base") {
-
- if (use_x11) {
- libs += [
-- "dl",
- "rt",
- "Xext",
- "X11",
-@@ -578,7 +577,6 @@ rtc_static_library("rtc_base") {
-
- if (is_linux) {
- libs += [
-- "dl",
- "rt",
- ]
- }
diff --git a/www/chromium/files/patch-third__party_webrtc_base_ifaddrs__converter.h b/www/chromium/files/patch-third__party_webrtc_base_ifaddrs__converter.h
deleted file mode 100644
index 7328dd9..0000000
--- a/www/chromium/files/patch-third__party_webrtc_base_ifaddrs__converter.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/base/ifaddrs_converter.h.orig 2017-04-19 19:07:52 UTC
-+++ third_party/webrtc/base/ifaddrs_converter.h
-@@ -14,6 +14,8 @@
- #if defined(WEBRTC_ANDROID)
- #include "webrtc/base/ifaddrs-android.h"
- #else
-+#include <sys/types.h>
-+#include <sys/socket.h>
- #include <ifaddrs.h>
- #endif // WEBRTC_ANDROID
-
diff --git a/www/chromium/files/patch-third__party_webrtc_base_network.h b/www/chromium/files/patch-third__party_webrtc_base_network.h
deleted file mode 100644
index 48246d7..0000000
--- a/www/chromium/files/patch-third__party_webrtc_base_network.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/webrtc/base/network.h.orig 2017-04-19 19:07:52 UTC
-+++ third_party/webrtc/base/network.h
-@@ -24,6 +24,10 @@
- #include "webrtc/base/messagehandler.h"
- #include "webrtc/base/sigslot.h"
-
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#endif
-+
- #if defined(WEBRTC_POSIX)
- struct ifaddrs;
- #endif // defined(WEBRTC_POSIX)
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_rtc_base_BUILD.gn
new file mode 100644
index 0000000..b50037e
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_BUILD.gn
@@ -0,0 +1,18 @@
+--- third_party/webrtc/rtc_base/BUILD.gn.orig 2017-09-07 00:32:08.540773000 +0200
++++ third_party/webrtc/rtc_base/BUILD.gn 2017-09-07 00:32:40.555681000 +0200
+@@ -575,7 +575,6 @@
+
+ if (use_x11) {
+ libs += [
+- "dl",
+ "rt",
+ "Xext",
+ "X11",
+@@ -586,7 +585,6 @@
+
+ if (is_linux) {
+ libs += [
+- "dl",
+ "rt",
+ ]
+ }
diff --git a/www/chromium/files/patch-third__party_webrtc_base_byteorder.h b/www/chromium/files/patch-third__party_webrtc_rtc_base_byteorder.h
index 7264293..55f2a06 100644
--- a/www/chromium/files/patch-third__party_webrtc_base_byteorder.h
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_byteorder.h
@@ -1,5 +1,5 @@
---- third_party/webrtc/base/byteorder.h.orig 2017-06-05 19:04:24 UTC
-+++ third_party/webrtc/base/byteorder.h
+--- third_party/webrtc/rtc_base/byteorder.h.orig 2017-09-07 00:29:50.482044000 +0200
++++ third_party/webrtc/rtc_base/byteorder.h 2017-09-07 00:30:15.190287000 +0200
@@ -77,7 +77,7 @@
#error RTC_ARCH_CPU_BIG_ENDIAN or RTC_ARCH_CPU_LITTLE_ENDIAN must be defined.
#endif // defined(RTC_ARCH_CPU_LITTLE_ENDIAN)
diff --git a/www/chromium/files/patch-third__party_webrtc_base_httpcommon.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_httpcommon.cc
index 6288d19..0f60a4c 100644
--- a/www/chromium/files/patch-third__party_webrtc_base_httpcommon.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_httpcommon.cc
@@ -1,6 +1,6 @@
---- third_party/webrtc/base/httpcommon.cc.orig 2017-06-05 19:04:24 UTC
-+++ third_party/webrtc/base/httpcommon.cc
-@@ -384,7 +384,7 @@ bool HttpDateToSeconds(const std::string& date, time_t
+--- 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
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_ifaddrs__converter.h b/www/chromium/files/patch-third__party_webrtc_rtc_base_ifaddrs__converter.h
new file mode 100644
index 0000000..ac0646e
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_ifaddrs__converter.h
@@ -0,0 +1,11 @@
+--- third_party/webrtc/rtc_base/ifaddrs_converter.h.orig 2017-09-07 00:50:44.713781000 +0200
++++ third_party/webrtc/rtc_base/ifaddrs_converter.h 2017-09-07 00:51:25.775459000 +0200
+@@ -14,6 +14,8 @@
+ #if defined(WEBRTC_ANDROID)
+ #include "webrtc/rtc_base/ifaddrs-android.h"
+ #else
++#include <sys/types.h>
++#include <sys/socket.h>
+ #include <ifaddrs.h>
+ #endif // WEBRTC_ANDROID
+
diff --git a/www/chromium/files/patch-third__party_webrtc_base_ipaddress.h b/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.h
index 58a6c4b..c9fda9d 100644
--- a/www/chromium/files/patch-third__party_webrtc_base_ipaddress.h
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.h
@@ -1,5 +1,5 @@
---- third_party/webrtc/base/ipaddress.h.orig 2017-04-19 19:07:52 UTC
-+++ third_party/webrtc/base/ipaddress.h
+--- third_party/webrtc/rtc_base/ipaddress.h.orig 2017-09-07 00:55:47.412632000 +0200
++++ third_party/webrtc/rtc_base/ipaddress.h 2017-09-07 00:59:49.903165000 +0200
@@ -17,6 +17,10 @@
#include <arpa/inet.h>
#include <netdb.h>
diff --git a/www/chromium/files/patch-third__party_webrtc_base_network.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_network.cc
index 772641a..cb07ce1 100644
--- a/www/chromium/files/patch-third__party_webrtc_base_network.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_network.cc
@@ -1,5 +1,5 @@
---- third_party/webrtc/base/network.cc.orig 2017-06-05 19:04:24 UTC
-+++ third_party/webrtc/base/network.cc
+--- third_party/webrtc/rtc_base/network.cc.orig 2017-09-07 00:56:00.388312000 +0200
++++ third_party/webrtc/rtc_base/network.cc 2017-09-07 01:03:02.971562000 +0200
@@ -14,7 +14,7 @@
// linux/if.h can't be included at the same time as the posix sys/if.h, and
// it's transitively required by linux/route.h, so include that version on
@@ -9,7 +9,7 @@
#include <linux/if.h>
#include <linux/route.h>
#elif !defined(__native_client__)
-@@ -658,7 +658,7 @@ bool BasicNetworkManager::CreateNetworks(bool include_
+@@ -658,7 +658,7 @@
}
#endif // WEBRTC_WIN
@@ -18,7 +18,7 @@
bool IsDefaultRoute(const std::string& network_name) {
FileStream fs;
if (!fs.Open("/proc/net/route", "r", nullptr)) {
-@@ -701,7 +701,7 @@ bool BasicNetworkManager::IsIgnoredNetwork(const Netwo
+@@ -701,7 +701,7 @@
strncmp(network.name().c_str(), "vboxnet", 7) == 0) {
return true;
}
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_network.h b/www/chromium/files/patch-third__party_webrtc_rtc_base_network.h
new file mode 100644
index 0000000..d2b4a2f
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_network.h
@@ -0,0 +1,13 @@
+--- third_party/webrtc/rtc_base/network.h.orig 2017-09-07 00:56:08.460370000 +0200
++++ third_party/webrtc/rtc_base/network.h 2017-09-07 01:05:58.608460000 +0200
+@@ -24,6 +24,10 @@
+ #include "webrtc/rtc_base/networkmonitor.h"
+ #include "webrtc/rtc_base/sigslot.h"
+
++#if defined(WEBRTC_BSD)
++#include <sys/types.h>
++#endif
++
+ #if defined(WEBRTC_POSIX)
+ struct ifaddrs;
+ #endif // defined(WEBRTC_POSIX)
diff --git a/www/chromium/files/patch-third__party_webrtc_base_physicalsocketserver.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc
index fd745db..e101905 100644
--- a/www/chromium/files/patch-third__party_webrtc_base_physicalsocketserver.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.cc
@@ -1,18 +1,15 @@
---- third_party/webrtc/base/physicalsocketserver.cc.orig 2017-06-05 19:04:24 UTC
-+++ third_party/webrtc/base/physicalsocketserver.cc
-@@ -61,7 +61,11 @@ typedef void* SockOptArg;
+--- third_party/webrtc/rtc_base/physicalsocketserver.cc.orig 2017-09-05 21:06:53.000000000 +0200
++++ third_party/webrtc/rtc_base/physicalsocketserver.cc 2017-09-07 06:01:51.591383000 +0200
+@@ -60,7 +60,7 @@
+
+ #endif // WEBRTC_POSIX
+
+-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
-+#if defined(WEBRTC_BSD)
-+ int ret = ioctl(socket, SO_TIMESTAMP, &tv_ioctl);
-+#else
- int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl);
-+#endif
- if (ret != 0)
- return -1;
- int64_t timestamp =
-@@ -302,7 +306,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
+@@ -317,7 +317,7 @@
socklen_t optlen = sizeof(*value);
int ret = ::getsockopt(s_, slevel, sopt, (SockOptArg)value, &optlen);
if (ret != -1 && opt == OPT_DONTFRAGMENT) {
@@ -21,7 +18,7 @@
*value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
#endif
}
-@@ -315,7 +319,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+@@ -330,7 +330,7 @@
if (TranslateOption(opt, &slevel, &sopt) == -1)
return -1;
if (opt == OPT_DONTFRAGMENT) {
@@ -30,7 +27,16 @@
value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
#endif
}
-@@ -597,10 +601,10 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+@@ -340,7 +340,7 @@
+ int PhysicalSocket::Send(const void* pv, size_t cb) {
+ int sent = DoSend(s_, reinterpret_cast<const char *>(pv),
+ static_cast<int>(cb),
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ // Suppress SIGPIPE. Without this, attempting to send on a socket whose
+ // other end is closed will result in a SIGPIPE signal being raised to
+ // our process, which by default will terminate the process, which we
+@@ -560,7 +560,7 @@
*slevel = IPPROTO_IP;
*sopt = IP_DONTFRAGMENT;
break;
@@ -38,8 +44,4 @@
+#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__)
LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported.";
return -1;
--#elif defined(WEBRTC_POSIX)
-+#elif defined(WEBRTC_POSIX) && !defined(WEBRTC_BSD)
- *slevel = IPPROTO_IP;
- *sopt = IP_MTU_DISCOVER;
- break;
+ #elif defined(WEBRTC_POSIX)
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.h b/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.h
new file mode 100644
index 0000000..8356280
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_physicalsocketserver.h
@@ -0,0 +1,11 @@
+--- third_party/webrtc/rtc_base/physicalsocketserver.h.orig 2017-09-07 05:58:03.996342000 +0200
++++ third_party/webrtc/rtc_base/physicalsocketserver.h 2017-09-07 05:58:28.882396000 +0200
+@@ -11,7 +11,7 @@
+ #ifndef WEBRTC_RTC_BASE_PHYSICALSOCKETSERVER_H_
+ #define WEBRTC_RTC_BASE_PHYSICALSOCKETSERVER_H_
+
+-#if defined(WEBRTC_POSIX) && defined(WEBRTC_LINUX)
++#if defined(WEBRTC_POSIX) && defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
+ #include <sys/epoll.h>
+ #define WEBRTC_USE_EPOLL 1
+ #endif
diff --git a/www/chromium/files/patch-third__party_webrtc_base_platform__thread.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_platform_thread.cc
index 9fd6fbd..9c9d358 100644
--- a/www/chromium/files/patch-third__party_webrtc_base_platform__thread.cc
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_platform_thread.cc
@@ -1,8 +1,8 @@
---- third_party/webrtc/base/platform_thread.cc.orig 2017-06-05 19:04:24 UTC
-+++ third_party/webrtc/base/platform_thread.cc
+--- third_party/webrtc/rtc_base/platform_thread.cc.orig 2017-09-07 01:16:42.622602000 +0200
++++ third_party/webrtc/rtc_base/platform_thread.cc 2017-09-07 01:29:26.664318000 +0200
@@ -15,11 +15,18 @@
- #include "webrtc/base/timeutils.h"
- #include "webrtc/base/trace_event.h"
+ #include "webrtc/rtc_base/timeutils.h"
+ #include "webrtc/rtc_base/trace_event.h"
-#if defined(WEBRTC_LINUX)
+#if defined(WEBRTC_LINUX) && !defined(__FreeBSD__)
@@ -20,7 +20,7 @@
namespace rtc {
PlatformThreadId CurrentThreadId() {
-@@ -29,6 +36,8 @@ PlatformThreadId CurrentThreadId() {
+@@ -29,6 +36,8 @@
#elif defined(WEBRTC_POSIX)
#if defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
ret = pthread_mach_thread_np(pthread_self());
@@ -29,7 +29,7 @@
#elif defined(WEBRTC_LINUX)
ret = syscall(__NR_gettid);
#elif defined(WEBRTC_ANDROID)
-@@ -72,7 +81,9 @@ void SetCurrentThreadName(const char* name) {
+@@ -72,7 +81,9 @@
reinterpret_cast<ULONG_PTR*>(&threadname_info));
} __except (EXCEPTION_EXECUTE_HANDLER) {
}
diff --git a/www/chromium/files/patch-third__party_webrtc_base_stringutils.h b/www/chromium/files/patch-third__party_webrtc_rtc_base_stringutils.h
index ee8623a..debbb18 100644
--- a/www/chromium/files/patch-third__party_webrtc_base_stringutils.h
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_stringutils.h
@@ -1,7 +1,7 @@
---- third_party/webrtc/base/stringutils.h.orig 2017-04-19 19:07:52 UTC
-+++ third_party/webrtc/base/stringutils.h
+--- third_party/webrtc/rtc_base/stringutils.h.orig 2017-09-07 00:56:34.723687000 +0200
++++ third_party/webrtc/rtc_base/stringutils.h 2017-09-07 01:34:35.259034000 +0200
@@ -23,11 +23,11 @@
- #endif // WEBRTC_WIN
+ #endif // WEBRTC_WIN
#if defined(WEBRTC_POSIX)
-#ifdef BSD
diff --git a/www/chromium/files/patch-tools_grit_grit__rule.gni b/www/chromium/files/patch-tools_grit_grit__rule.gni
deleted file mode 100644
index a8f669b..0000000
--- a/www/chromium/files/patch-tools_grit_grit__rule.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/grit/grit_rule.gni.orig 2017-06-05 19:03:30 UTC
-+++ tools/grit/grit_rule.gni
-@@ -214,7 +214,7 @@ if (current_toolchain != host_toolchain) {
- "ios",
- ]
- }
-- if (is_linux) {
-+ if (is_linux || is_bsd) {
- grit_defines += [
- "-t",
- "linux2",
diff --git a/www/chromium/files/patch-ui_base_BUILD.gn b/www/chromium/files/patch-ui_base_BUILD.gn
index 9f37949..8af223c 100644
--- a/www/chromium/files/patch-ui_base_BUILD.gn
+++ b/www/chromium/files/patch-ui_base_BUILD.gn
@@ -1,7 +1,7 @@
---- ui/base/BUILD.gn.orig 2017-08-10 15:44:20.348174000 +0200
-+++ ui/base/BUILD.gn 2017-08-10 15:50:46.788601000 +0200
-@@ -365,7 +365,7 @@
- sources -= [ "touch/touch_device_util.cc" ]
+--- ui/base/BUILD.gn.orig 2017-09-05 21:05:48.000000000 +0200
++++ ui/base/BUILD.gn 2017-09-08 14:20:33.060901000 +0200
+@@ -369,7 +369,7 @@
+ sources += [ "touch/touch_device_android.cc" ]
} else if (is_ios) {
sources += [ "touch/touch_device_ios.cc" ]
- } else if (is_linux) {
@@ -9,21 +9,27 @@
sources += [ "touch/touch_device_linux.cc" ]
} else {
# Empty implementation for all other cases.
-@@ -476,11 +476,11 @@
- ]
+@@ -377,6 +377,10 @@
+ sources -= [ "touch/touch_device_util.cc" ]
}
-- if (!use_aura || !is_linux) {
-+ if (!use_aura || !(is_linux || is_bsd)) {
++ if (is_bsd) {
++ sources += [ "resource/resource_bundle_freebsd.cc" ]
++ }
++
+ if (is_fuchsia) {
+ sources += [
+ "clipboard/clipboard_fuchsia.cc",
+@@ -492,7 +496,7 @@
sources -= [ "resource/resource_bundle_auralinux.cc" ]
}
- if (is_linux) {
+ if (is_linux || is_bsd) {
- deps += [ "//build/linux:fontconfig" ]
+ deps += [ "//third_party/fontconfig" ]
}
-@@ -498,7 +498,7 @@
+@@ -510,7 +514,7 @@
sources -= [ "idle/idle_linux.cc" ]
}
@@ -32,7 +38,7 @@
sources += [
"dragdrop/os_exchange_data_provider_aura.cc",
"dragdrop/os_exchange_data_provider_aura.h",
-@@ -841,7 +841,7 @@
+@@ -862,7 +866,7 @@
"ime/win/imm32_manager_unittest.cc",
"ime/win/tsf_input_scope_unittest.cc",
]
@@ -41,21 +47,21 @@
sources += [ "ime/input_method_auralinux_unittest.cc" ]
}
if (use_x11) {
-@@ -964,7 +964,7 @@
+@@ -985,7 +989,7 @@
]
}
-- if (is_android || is_linux || is_mac || is_win) {
-+ if (is_android || is_linux || is_bsd || is_mac || is_win) {
+- if (is_android || is_linux || is_mac || is_win || is_fuchsia) {
++ if (is_android || is_linux || is_bsd || is_mac || is_win || is_fuchsia) {
# TODO(brettw): We should be able to depend on //ui/resources:ui_test_pak
# instead of depending directly on the non-test .pak files, but depending
# on ui_test_pak seems to have no effect.
-@@ -977,7 +977,7 @@
+@@ -998,7 +1002,7 @@
"//third_party/mesa:osmesa",
]
}
-- if (is_linux || is_win) {
-+ if (is_linux || is_bsd || is_win) {
+- if (is_linux || is_win || is_fuchsia) {
++ if (is_linux || is_bsd || is_win || is_fuchsia) {
data += [
# TODO(brettw): Remove these two lines.
"$root_out_dir/ui/en-US.pak",
diff --git a/www/chromium/files/patch-ui_base_resource_resource__bundle__freebsd.cc b/www/chromium/files/patch-ui_base_resource_resource__bundle__freebsd.cc
new file mode 100644
index 0000000..326e40c
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_resource_resource__bundle__freebsd.cc
@@ -0,0 +1,24 @@
+--- ui/base/resource/resource_bundle_freebsd.cc.orig 2017-09-08 18:23:28.279481000 +0200
++++ ui/base/resource/resource_bundle_freebsd.cc 2017-09-08 18:23:04.528326000 +0200
+@@ -0,0 +1,21 @@
++// Copyright 2017 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#include "ui/base/resource/resource_bundle.h"
++
++#include "base/logging.h"
++#include "base/macros.h"
++#include "ui/gfx/image/image.h"
++
++namespace ui {
++
++void ResourceBundle::LoadCommonResources() {
++ LoadChromeResources();
++}
++
++gfx::Image& ResourceBundle::GetNativeImageNamed(int resource_id) {
++ return GetImageNamed(resource_id);
++}
++
++} // namespace ui
diff --git a/www/chromium/files/patch-ui_gfx_BUILD.gn b/www/chromium/files/patch-ui_gfx_BUILD.gn
deleted file mode 100644
index 6f28cc9..0000000
--- a/www/chromium/files/patch-ui_gfx_BUILD.gn
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/BUILD.gn.orig 2017-06-05 19:03:30 UTC
-+++ ui/gfx/BUILD.gn
-@@ -358,7 +358,7 @@ component("gfx") {
- }
-
- # Linux.
-- if (is_linux) {
-+ if (is_linux || is_bsd) {
- deps += [ "//build/linux:fontconfig" ]
- }
-
-@@ -581,7 +581,7 @@ static_library("test_support") {
- "test/ui_cocoa_test_helper.mm",
- ]
- }
-- if (is_linux) {
-+ if (is_linux || is_bsd) {
- deps += [ "//build/linux:fontconfig" ]
- }
- }
diff --git a/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.cc b/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.cc
index 776f891..36a0761 100644
--- a/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.cc
+++ b/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.cc
@@ -1,24 +1,19 @@
---- ui/gfx/mojo/buffer_types_struct_traits.cc.orig 2017-08-02 16:57:16.106307000 +0200
-+++ ui/gfx/mojo/buffer_types_struct_traits.cc 2017-08-02 16:58:22.487855000 +0200
-@@ -25,7 +25,7 @@
- gfx::NativePixmapHandle>::fds(const gfx::NativePixmapHandle& pixmap_handle,
- void* context) {
- PixmapHandleFdList* handles = static_cast<PixmapHandleFdList*>(context);
+--- ui/gfx/mojo/buffer_types_struct_traits.cc.orig 2017-09-05 21:05:48.000000000 +0200
++++ ui/gfx/mojo/buffer_types_struct_traits.cc 2017-09-07 01:52:13.480533000 +0200
+@@ -12,10 +12,10 @@
+ gfx::NativePixmapHandle>::
+ SetUpContext(const gfx::NativePixmapHandle& pixmap_handle) {
+ auto* handles = new std::vector<mojo::ScopedHandle>();
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- if (handles->empty()) {
- // Generate the handles here, but do not send them yet.
- for (const base::FileDescriptor& fd : pixmap_handle.fds) {
-@@ -34,7 +34,7 @@
- }
- return PixmapHandleFdList(handles->size());
- }
+ for (const base::FileDescriptor& fd : pixmap_handle.fds)
+ handles->emplace_back(mojo::WrapPlatformFile(fd.fd));
-#endif // defined(OS_LINUX)
+#endif // defined(OS_LINUX) || defined(OS_BSD)
- return std::move(*handles);
+ return handles;
}
-@@ -42,7 +42,7 @@
+@@ -36,7 +36,7 @@
gfx::mojom::NativePixmapHandleDataView,
gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data,
gfx::NativePixmapHandle* out) {
@@ -27,7 +22,7 @@
mojo::ArrayDataView<mojo::ScopedHandle> handles_data_view;
data.GetFdsDataView(&handles_data_view);
for (size_t i = 0; i < handles_data_view.size(); ++i) {
-@@ -74,7 +74,7 @@
+@@ -68,7 +68,7 @@
StructTraits<gfx::mojom::GpuMemoryBufferHandleDataView,
gfx::GpuMemoryBufferHandle>::
native_pixmap_handle(const gfx::GpuMemoryBufferHandle& handle) {
@@ -36,7 +31,7 @@
return handle.native_pixmap_handle;
#else
static gfx::NativePixmapHandle pixmap_handle;
-@@ -113,7 +113,7 @@
+@@ -107,7 +107,7 @@
out->offset = data.offset();
out->stride = data.stride();
}
diff --git a/www/chromium/files/patch-ui_gl_BUILD.gn b/www/chromium/files/patch-ui_gl_BUILD.gn
index 78f1d36..05f72ae 100644
--- a/www/chromium/files/patch-ui_gl_BUILD.gn
+++ b/www/chromium/files/patch-ui_gl_BUILD.gn
@@ -1,15 +1,15 @@
---- ui/gl/BUILD.gn.orig 2017-08-03 00:05:41.000000000 +0200
-+++ ui/gl/BUILD.gn 2017-08-10 12:59:44.155432000 +0200
-@@ -14,7 +14,7 @@
+--- ui/gl/BUILD.gn.orig 2017-09-05 21:05:48.000000000 +0200
++++ ui/gl/BUILD.gn 2017-09-07 01:56:19.612744000 +0200
+@@ -15,7 +15,7 @@
(target_cpu == "x86" || target_cpu == "x64")
}
--use_egl = is_win || is_android || is_linux
-+use_egl = is_win || is_android || is_linux || is_bsd
+-use_egl = is_win || is_android || is_linux || is_fuchsia
++use_egl = is_win || is_android || is_linux || is_fuchsia || is_bsd
use_glx = use_x11 || ozone_platform_x11
if (is_android) {
-@@ -173,14 +173,14 @@
+@@ -181,14 +181,14 @@
"gl_surface_egl.h",
]
diff --git a/www/chromium/files/patch-ui_gl_generate_bindings.py b/www/chromium/files/patch-ui_gl_generate_bindings.py
new file mode 100644
index 0000000..cf67dd5
--- /dev/null
+++ b/www/chromium/files/patch-ui_gl_generate_bindings.py
@@ -0,0 +1,12 @@
+--- ui/gl/generate_bindings.py.orig 2017-09-10 02:49:38.177014000 +0200
++++ ui/gl/generate_bindings.py 2017-09-10 02:52:26.524647000 +0200
+@@ -2257,6 +2257,9 @@
+ 'arguments':
+ 'Display* dpy, GLXDrawable drawable, int32_t* numerator, '
+ 'int32_t* denominator' },
++{ 'return_type': '__GLXextFuncPtr',
++ 'names': ['glXGetProcAddressARB'],
++ 'arguments': 'const GLubyte* procName', },
+ { 'return_type': 'void',
+ 'names': ['glXGetSelectedEvent'],
+ 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long* mask', },
diff --git a/www/chromium/files/patch-ui_native_theme_native_theme.h b/www/chromium/files/patch-ui_native_theme_native_theme.h
new file mode 100644
index 0000000..4a8391b
--- /dev/null
+++ b/www/chromium/files/patch-ui_native_theme_native_theme.h
@@ -0,0 +1,11 @@
+--- ui/native_theme/native_theme.h.orig 2017-09-07 02:03:42.878086000 +0200
++++ ui/native_theme/native_theme.h 2017-09-07 02:04:02.716811000 +0200
+@@ -47,7 +47,7 @@
+ // The part to be painted / sized.
+ enum Part {
+ kCheckbox,
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+ kFrameTopArea,
+ #endif
+ kInnerSpinButton,
diff --git a/www/chromium/files/patch-ui_native_theme_native_theme_base.cc b/www/chromium/files/patch-ui_native_theme_native_theme_base.cc
new file mode 100644
index 0000000..ac0188d
--- /dev/null
+++ b/www/chromium/files/patch-ui_native_theme_native_theme_base.cc
@@ -0,0 +1,11 @@
+--- ui/native_theme/native_theme_base.cc.orig 2017-09-07 02:01:55.087892000 +0200
++++ ui/native_theme/native_theme_base.cc 2017-09-07 02:02:23.038570000 +0200
+@@ -172,7 +172,7 @@
+ case kCheckbox:
+ PaintCheckbox(canvas, state, rect, extra.button);
+ break;
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+ case kFrameTopArea:
+ PaintFrameTopArea(canvas, state, rect, extra.frame_top_area);
+ break;
diff --git a/www/chromium/files/patch-ui_resources_ui__resources.grd b/www/chromium/files/patch-ui_resources_ui__resources.grd
index ea1581f..b6a1f37 100644
--- a/www/chromium/files/patch-ui_resources_ui__resources.grd
+++ b/www/chromium/files/patch-ui_resources_ui__resources.grd
@@ -1,11 +1,11 @@
---- ui/resources/ui_resources.grd.orig 2017-04-19 19:06:54 UTC
-+++ ui/resources/ui_resources.grd
+--- ui/resources/ui_resources.grd.orig 2017-09-05 21:05:48.000000000 +0200
++++ ui/resources/ui_resources.grd 2017-09-07 19:23:41.893385000 +0200
@@ -15,7 +15,7 @@
<!-- KEEP THESE IN ALPHABETICAL ORDER! DO NOT ADD TO RANDOM PLACES JUST
BECAUSE YOUR RESOURCES ARE FUNCTIONALLY RELATED OR FALL UNDER THE
SAME CONDITIONALS. -->
- <if expr="is_linux and use_aura">
-+ <if expr="(is_linux or is_bsd) and use_aura">
++ <if expr="is_posix and use_aura">
<structure type="chrome_scaled_image" name="IDR_AURA_CURSOR_BIG_ALIAS" file="common/pointers/alias_big.png" />
<structure type="chrome_scaled_image" name="IDR_AURA_CURSOR_BIG_CELL" file="common/pointers/cell_big.png" />
<structure type="chrome_scaled_image" name="IDR_AURA_CURSOR_BIG_COL_RESIZE" file="common/pointers/sb_h_double_arrow_big.png" />
diff --git a/www/chromium/files/patch-ui_strings_app_locale_settings.grd b/www/chromium/files/patch-ui_strings_app_locale_settings.grd
new file mode 100644
index 0000000..bcd1461
--- /dev/null
+++ b/www/chromium/files/patch-ui_strings_app_locale_settings.grd
@@ -0,0 +1,11 @@
+--- ui/strings/app_locale_settings.grd.orig 2017-09-07 19:24:56.013911000 +0200
++++ ui/strings/app_locale_settings.grd 2017-09-07 19:26:00.987366000 +0200
+@@ -187,7 +187,7 @@
+ 75%
+ </message>
+ </if>
+- <if expr="(is_linux or is_android or is_bsd) and not chromeos">
++ <if expr="is_posix and not chromeos">
+ <!-- The font used in Web UI (e.g. History). Note that these are only
+ backups. We try to use the system font if possible. -->
+ <message name="IDS_WEB_FONT_FAMILY" use_name_for_id="true">
diff --git a/www/chromium/files/patch-ui_views_BUILD.gn b/www/chromium/files/patch-ui_views_BUILD.gn
index e4c762d..bd243fd 100644
--- a/www/chromium/files/patch-ui_views_BUILD.gn
+++ b/www/chromium/files/patch-ui_views_BUILD.gn
@@ -1,6 +1,6 @@
---- ui/views/BUILD.gn.orig 2017-06-05 19:03:30 UTC
-+++ ui/views/BUILD.gn
-@@ -452,7 +452,7 @@ component("views") {
+--- ui/views/BUILD.gn.orig 2017-09-05 21:05:48.000000000 +0200
++++ ui/views/BUILD.gn 2017-09-07 02:00:50.311837000 +0200
+@@ -465,7 +465,7 @@
if (use_x11 && !is_chromeos) {
deps += [ "//ui/display/util" ]
}
@@ -9,12 +9,12 @@
sources -= [ "window/window_button_order_provider.cc" ]
deps += [ "//ui/shell_dialogs" ]
} else {
-@@ -640,7 +640,7 @@ component("views") {
- "widget/desktop_aura/desktop_window_tree_host_ozone.cc",
- ]
+@@ -658,7 +658,7 @@
+ } else if (use_ozone) {
+ sources += [ "widget/desktop_aura/desktop_window_tree_host_ozone.cc" ]
}
- if (is_linux) {
+ if (is_linux || is_bsd) {
- sources += [ "style/platform_style_linux.cc" ]
- }
- }
+ sources += [
+ "style/platform_style_linux.cc",
+ "widget/desktop_aura/window_event_filter.cc",
diff --git a/www/chromium/files/patch-ui_views_mus_aura__init.cc b/www/chromium/files/patch-ui_views_mus_aura__init.cc
index 7fa799e..a5e34ac 100644
--- a/www/chromium/files/patch-ui_views_mus_aura__init.cc
+++ b/www/chromium/files/patch-ui_views_mus_aura__init.cc
@@ -1,5 +1,5 @@
---- ui/views/mus/aura_init.cc.orig 2017-06-05 19:03:30 UTC
-+++ ui/views/mus/aura_init.cc
+--- ui/views/mus/aura_init.cc.orig 2017-09-05 21:05:48.000000000 +0200
++++ ui/views/mus/aura_init.cc 2017-09-07 02:11:55.948578000 +0200
@@ -24,7 +24,7 @@
#include "ui/views/style/typography_provider.h"
#include "ui/views/views_delegate.h"
@@ -7,18 +7,9 @@
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
#include "components/font_service/public/cpp/font_loader.h"
+ #include "ui/gfx/platform_font_linux.h"
#endif
-
-@@ -73,7 +73,7 @@ AuraInit::AuraInit(service_manager::Connector* connect
- InitializeResources(connector);
-
- // 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());
- #endif
-@@ -86,7 +86,7 @@ AuraInit::AuraInit(service_manager::Connector* connect
+@@ -59,7 +59,7 @@
}
AuraInit::~AuraInit() {
@@ -27,3 +18,12 @@
if (font_loader_.get()) {
SkFontConfigInterface::SetGlobal(nullptr);
// FontLoader is ref counted. We need to explicitly shutdown the background
+@@ -105,7 +105,7 @@
+ return false;
+
+ // 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_views__switches.cc b/www/chromium/files/patch-ui_views_views__switches.cc
deleted file mode 100644
index 690d242..0000000
--- a/www/chromium/files/patch-ui_views_views__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/views_switches.cc.orig 2017-06-05 19:03:30 UTC
-+++ ui/views/views_switches.cc
-@@ -21,7 +21,7 @@ const char kDisableViewsRectBasedTargeting[] =
- const char kDrawViewBoundsRects[] = "draw-view-bounds-rects";
-
- bool IsRectBasedTargetingEnabled() {
--#if defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- return !base::CommandLine::ForCurrentProcess()->HasSwitch(
- kDisableViewsRectBasedTargeting);
- #else
diff --git a/www/chromium/files/patch-ui_views_window_frame_background.cc b/www/chromium/files/patch-ui_views_window_frame_background.cc
new file mode 100644
index 0000000..7b35800
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_window_frame_background.cc
@@ -0,0 +1,11 @@
+--- 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 {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+ auto* native_theme = view->GetNativeTheme();
+ ui::NativeTheme::ExtraParams params;
+ params.frame_top_area.use_custom_frame = use_custom_frame_;
diff --git a/www/chromium/files/patch-v8_src_base_cpu.cc b/www/chromium/files/patch-v8_src_base_cpu.cc
new file mode 100644
index 0000000..c653251
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_base_cpu.cc
@@ -0,0 +1,18 @@
+--- v8/src/base/cpu.cc.orig 2017-09-11 03:04:32.333164000 +0200
++++ v8/src/base/cpu.cc 2017-09-11 03:05:48.364215000 +0200
+@@ -607,6 +607,7 @@
+
+ #elif V8_HOST_ARCH_ARM64
+
++#if V8_OS_LINUX
+ CPUInfo cpu_info;
+
+ // Extract implementor from the "CPU implementer" field.
+@@ -640,6 +641,7 @@
+ }
+ delete[] part;
+ }
++#endif
+
+ #elif V8_HOST_ARCH_PPC
+
diff --git a/www/chromium/pkg-plist b/www/chromium/pkg-plist
index 0487ef2..77c8dea 100644
--- a/www/chromium/pkg-plist
+++ b/www/chromium/pkg-plist
@@ -144,6 +144,7 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources/inspector/cm_modes/cm_modes_module.js
%%DATADIR%%/resources/inspector/color_picker/color_picker_module.js
%%DATADIR%%/resources/inspector/console/console_module.js
+%%DATADIR%%/resources/inspector/console_test_runner/console_test_runner_module.js
%%DATADIR%%/resources/inspector/cookie_table/cookie_table_module.js
%%DATADIR%%/resources/inspector/coverage/coverage_module.js
%%DATADIR%%/resources/inspector/data_grid/data_grid_module.js
@@ -152,6 +153,7 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources/inspector/devtools_extension_api.js
%%DATADIR%%/resources/inspector/diff/diff_module.js
%%DATADIR%%/resources/inspector/elements/elements_module.js
+%%DATADIR%%/resources/inspector/elements_test_runner/elements_test_runner_module.js
%%DATADIR%%/resources/inspector/emulated_devices/Nexus5X-landscape.svg
%%DATADIR%%/resources/inspector/emulated_devices/Nexus5X-portrait.svg
%%DATADIR%%/resources/inspector/emulated_devices/Nexus6P-landscape.svg
@@ -191,15 +193,20 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources/inspector/emulated_devices/iPhone6Plus-portrait.svg
%%DATADIR%%/resources/inspector/event_listeners/event_listeners_module.js
%%DATADIR%%/resources/inspector/formatter_worker.js
+%%DATADIR%%/resources/inspector/formatter/formatter_module.js
%%DATADIR%%/resources/inspector/gonzales/gonzales_module.js
+%%DATADIR%%/resources/inspector/har_importer/har_importer_module.js
%%DATADIR%%/resources/inspector/heap_snapshot_model/heap_snapshot_model_module.js
%%DATADIR%%/resources/inspector/heap_snapshot_worker.js
%%DATADIR%%/resources/inspector/inline_editor/inline_editor_module.js
%%DATADIR%%/resources/inspector/inspector.html
%%DATADIR%%/resources/inspector/inspector.js
+%%DATADIR%%/resources/inspector/integration_test_runner.html
+%%DATADIR%%/resources/inspector/integration_test_runner.js
%%DATADIR%%/resources/inspector/layer_viewer/layer_viewer_module.js
%%DATADIR%%/resources/inspector/layers/layers_module.js
%%DATADIR%%/resources/inspector/network/network_module.js
+%%DATADIR%%/resources/inspector/network_priorities/network_priorities_module.js
%%DATADIR%%/resources/inspector/object_ui/object_ui_module.js
%%DATADIR%%/resources/inspector/perf_ui/perf_ui_module.js
%%DATADIR%%/resources/inspector/product_registry/product_registry_module.js
@@ -224,7 +231,6 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources/inspector/toolbox.js
%%DATADIR%%/resources/inspector/unit_test_runner.html
%%DATADIR%%/resources/inspector/unit_test_runner.js
-%%DATADIR%%/resources/inspector/utility_shared_worker.js
%%DATADIR%%/resources/inspector/workspace_diff/workspace_diff_module.js
%%DATADIR%%/snapshot_blob.bin
%%DATADIR%%/test_ime_driver.service
OpenPOWER on IntegriCloud