summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2019-02-24 10:52:51 +0000
committerRene Ladan <rene@FreeBSD.org>2019-02-24 10:52:51 +0000
commita31400d152016c35271aa6f676744c02865e6bf4 (patch)
tree97fd2c7c3e5f479435a4e0f4f48d23817386d0be
parentgraphics/wxsvg (diff)
www/chromium: update to 72.0.3626.119 [1]
PR: 234773 Submitted by: cpm [1], Matthias Wolf [1] Obtained from: https://github.com/cpu82/freebsd-chromium.git MFH: 2019Q1
-rw-r--r--www/chromium/Makefile17
-rw-r--r--www/chromium/distinfo10
-rw-r--r--www/chromium/files/patch-base_BUILD.gn20
-rw-r--r--www/chromium/files/patch-base_allocator_partition_allocator_page_allocator.cc11
-rw-r--r--www/chromium/files/patch-base_allocator_partition_allocator_page_allocator_internals_posix.h38
-rw-r--r--www/chromium/files/patch-base_process_launch__posix.cc14
-rw-r--r--www/chromium/files/patch-base_process_process__info__linux.cc39
-rw-r--r--www/chromium/files/patch-base_process_process__linux.cc18
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__freebsd.cc47
-rw-r--r--www/chromium/files/patch-base_system_sys__info__freebsd.cc (renamed from www/chromium/files/patch-base_sys__info__freebsd.cc)4
-rw-r--r--www/chromium/files/patch-base_system_sys__info__posix.cc (renamed from www/chromium/files/patch-base_sys__info__posix.cc)18
-rw-r--r--www/chromium/files/patch-base_threading_platform__thread__linux.cc21
-rw-r--r--www/chromium/files/patch-base_trace__event_malloc_dump_provider.cc10
-rw-r--r--www/chromium/files/patch-build_config_BUILD.gn16
-rw-r--r--www/chromium/files/patch-build_config_BUILDCONFIG.gn36
-rw-r--r--www/chromium/files/patch-build_config_compiler_BUILD.gn74
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main__delegate.cc47
-rw-r--r--www/chromium/files/patch-chrome_app_chromium__strings.grd15
-rw-r--r--www/chromium/files/patch-chrome_app_google__chrome__strings.grd15
-rw-r--r--www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_about__flags.cc63
-rw-r--r--www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc19
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.cc17
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__process__impl.h20
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__browser__main.cc42
-rw-r--r--www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc34
-rw-r--r--www/chromium/files/patch-chrome_browser_download_download__item__model.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc6
-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_policy_configuration__policy__handler__list__factory.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_policy_machine__level__user__cloud__policy__controller.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_prefs_pref_service_incognito_whitelist.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc10
-rw-r--r--www/chromium/files/patch-chrome_browser_signin_signin__util.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_speech_tts__controller__impl.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc48
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc12
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc29
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.h20
-rw-r--r--www/chromium/files/patch-chrome_common_chrome__switches.cc8
-rw-r--r--www/chromium/files/patch-chrome_common_features.gni18
-rw-r--r--www/chromium/files/patch-chromecast_browser_tts_tts__controller__impl.cc14
-rw-r--r--www/chromium/files/patch-components_crash_content_app_crashpad.cc18
-rw-r--r--www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc17
-rw-r--r--www/chromium/files/patch-components_download_quarantine_test_support_linux.cc10
-rw-r--r--www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc12
-rw-r--r--www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc73
-rw-r--r--www/chromium/files/patch-components_policy_resources_policy__templates.json40
-rw-r--r--www/chromium/files/patch-components_policy_tools_generate__policy__source.py24
-rw-r--r--www/chromium/files/patch-content_app_content_main_runner_impl.cc25
-rw-r--r--www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc26
-rw-r--r--www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h20
-rw-r--r--www/chromium/files/patch-content_browser_service__manager_service__manager__context.cc29
-rw-r--r--www/chromium/files/patch-content_browser_service_worker_service_worker_fetch_dispatcher.cc11
-rw-r--r--www/chromium/files/patch-content_browser_webui_shared__resources__data__source.cc14
-rw-r--r--www/chromium/files/patch-content_gpu_BUILD.gn6
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc45
-rw-r--r--www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h15
-rw-r--r--www/chromium/files/patch-content_ppapi_plugin_ppapi_plugin_main.cc11
-rw-r--r--www/chromium/files/patch-content_renderer_media_audio_audio__device__factory.cc11
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc80
-rw-r--r--www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h36
-rw-r--r--www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc52
-rw-r--r--www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h24
-rw-r--r--www/chromium/files/patch-extensions_common_api__permission_features.json26
-rw-r--r--www/chromium/files/patch-extensions_common_image__util.cc14
-rw-r--r--www/chromium/files/patch-gpu_command_buffer_common_gpu_memory_buffer_support.cc11
-rw-r--r--www/chromium/files/patch-gpu_config_gpu__control__list.cc12
-rw-r--r--www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.cc27
-rw-r--r--www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.h19
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_gpu_watchdog_thread.cc73
-rw-r--r--www/chromium/files/patch-gpu_ipc_service_gpu_watchdog_thread.h13
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h10
-rw-r--r--www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc20
-rw-r--r--www/chromium/files/patch-media_audio_audio__manager.cc12
-rw-r--r--www/chromium/files/patch-media_capture_video_shared_memory_handler_provider.cc11
-rw-r--r--www/chromium/files/patch-media_capture_video_shared_memory_handler_provider.h11
-rw-r--r--www/chromium/files/patch-mojo_public_js_mojo__bindings__resources.grd11
-rw-r--r--www/chromium/files/patch-net_BUILD.gn22
-rw-r--r--www/chromium/files/patch-net_base_network__interfaces__freebsd.cc243
-rw-r--r--www/chromium/files/patch-net_base_network__interfaces__freebsd.h47
-rw-r--r--www/chromium/files/patch-net_features.gni8
-rw-r--r--www/chromium/files/patch-net_socket_udp__socket__posix.cc16
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc6
-rw-r--r--www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc18
-rw-r--r--www/chromium/files/patch-services_network_network__service.h10
-rw-r--r--www/chromium/files/patch-services_service__manager_zygote_host_zygote_host_impl_linux.h6
-rw-r--r--www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp32
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc11
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc20
-rw-r--r--www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__face.cc20
-rw-r--r--www/chromium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp (renamed from www/chromium/files/patch-third__party_pdfium_fxjs_js__define.cpp)10
-rw-r--r--www/chromium/files/patch-third__party_pdfium_third__party_base_logging.h11
-rw-r--r--www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc16
-rw-r--r--www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_Freetype.cpp24
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_BUILD.gn27
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp2
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp20
-rw-r--r--www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp11
-rw-r--r--www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc10
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.cc12
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.h8
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_platform_thread.cc12
-rw-r--r--www/chromium/files/patch-third__party_webrtc_rtc_base_stringutils.h8
-rw-r--r--www/chromium/files/patch-third__party_webrtc_webrtc.gni12
-rw-r--r--www/chromium/files/patch-third__party_zlib_arm__features.c13
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc6
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.h21
-rw-r--r--www/chromium/files/patch-third_party_blink_renderer_platform_fonts_skia_font_cache_skia.cc26
-rw-r--r--www/chromium/files/patch-third_party_crashpad_crashpad_client_BUILD.gn15
-rw-r--r--www/chromium/files/patch-third_party_crashpad_crashpad_client_crashpad_client_posix.cc41
-rw-r--r--www/chromium/files/patch-tools_gn_base_files_file__posix.cc16
-rw-r--r--www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py20
-rw-r--r--www/chromium/files/patch-tools_gn_build_gen.py47
-rw-r--r--www/chromium/files/patch-tools_gn_tools_gn_args.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_util_exe__path.cc33
-rw-r--r--www/chromium/files/patch-tools_gn_util_semaphore.cc11
-rw-r--r--www/chromium/files/patch-tools_gn_util_semaphore.h20
-rw-r--r--www/chromium/files/patch-tools_gn_util_ticks.cc38
-rw-r--r--www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py6
-rw-r--r--www/chromium/files/patch-ui_gfx_font__render__params.h8
-rw-r--r--www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.cc60
-rw-r--r--www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.h25
-rw-r--r--www/chromium/files/patch-v8_BUILD.gn21
-rw-r--r--www/chromium/files/patch-v8_src_api.cc20
-rw-r--r--www/chromium/files/patch-v8_src_builtins_builtins-iterator-gen.cc19
-rw-r--r--www/chromium/files/patch-v8_src_builtins_builtins-string-gen.cc61
-rw-r--r--www/chromium/files/patch-v8_src_builtins_builtins-string-gen.h15
-rw-r--r--www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc20
-rw-r--r--www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h11
-rw-r--r--www/chromium/files/patch-v8_src_trap-handler_trap-handler.h11
-rw-r--r--www/chromium/pkg-plist5
135 files changed, 1801 insertions, 1315 deletions
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index 196fb8aacd97..6821a4c5f01d 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= chromium
-PORTVERSION= 71.0.3578.98
-PORTREVISION= 2
+PORTVERSION= 72.0.3626.119
CATEGORIES?= www
MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \
LOCAL/cpm/chromium/:fonts
@@ -182,7 +181,6 @@ DEBUG_VARS_OFF= BUILDTYPE=Release \
GN_ARGS+=remove_webcore_debug_symbols=true \
WANTSPACE="a fair amount of free disk space (~ 6.5GB)"
-DRIVER_BUILD_DEPENDS= git:devel/git
DRIVER_MAKE_ARGS= chromedriver
KERBEROS_VARS= GN_ARGS+=use_kerberos=true
@@ -216,6 +214,13 @@ PLIST_SUB+= NOT_AARCH64="@comment "
PLIST_SUB+= NOT_AARCH64=""
.endif
+# Make better javascript with java
+.if ${ARCH} == amd64 && !defined(GN_ONLY)
+JAVA_BUILD= yes
+JAVA_VERSION= 1.8
+USE_JAVA= yes
+.endif
+
# Allow relocations against read-only segments (override lld default)
LDFLAGS_i386= -Wl,-znotext
@@ -268,6 +273,12 @@ do-configure:
# Setup nodejs dependency
@${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin
${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node
+
+ # Setup java dependency on amd64
+.if ${ARCH} == amd64
+ @${MKDIR} ${WRKDIR}/bin
+ ${LN} -sf ${LOCALBASE}/openjdk8/bin/java ${WRKDIR}/bin/java
+.endif
.endif
do-test-TEST-on:
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index f62894744139..6068a0ea6310 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1544905827
-SHA256 (chromium-71.0.3578.98.tar.xz) = 1c56a9e30825774c83d568d194e9585625c6e90f81ee0ef09760fcedc86b9d45
-SIZE (chromium-71.0.3578.98.tar.xz) = 633860888
-SHA256 (chromium-71.0.3578.98-testdata.tar.xz) = 5559bc92d6fbf17e88828dbeb94015d2f7998a12e2d0fe27a33096f7c16b434f
-SIZE (chromium-71.0.3578.98-testdata.tar.xz) = 350636612
+TIMESTAMP = 1550860551
+SHA256 (chromium-72.0.3626.119.tar.xz) = b3953ce18044117d98f0b1b9922aeb93030a7b49b85b140060c6fe3e467a917a
+SIZE (chromium-72.0.3626.119.tar.xz) = 686429876
+SHA256 (chromium-72.0.3626.119-testdata.tar.xz) = 03e7d1beb09dd2c4f544e2df04b20e9b6262b8f8e43d16c1bd032b36cd67403a
+SIZE (chromium-72.0.3626.119-testdata.tar.xz) = 351950800
SHA256 (test_fonts.tar.xz) = cf9cbe3b7f1c4c42d426bddc65ec178d333ad7e205a36fe0a606a3c0c545ece1
SIZE (test_fonts.tar.xz) = 200040
diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn
index c655ae27d7f5..43f058c75c70 100644
--- a/www/chromium/files/patch-base_BUILD.gn
+++ b/www/chromium/files/patch-base_BUILD.gn
@@ -1,6 +1,6 @@
---- base/BUILD.gn.orig 2018-12-03 21:16:32.000000000 +0100
-+++ base/BUILD.gn 2018-12-05 13:50:51.133919000 +0100
-@@ -1182,7 +1182,7 @@
+--- base/BUILD.gn.orig 2019-02-06 23:06:36.000000000 +0100
++++ base/BUILD.gn 2019-02-08 20:14:26.420625000 +0100
+@@ -1176,7 +1176,7 @@
# Needed for <atomic> if using newer C++ library than sysroot, except if
# building inside the cros_sdk environment - use host_toolchain as a
# more robust check for this.
@@ -9,7 +9,7 @@
host_toolchain != "//build/toolchain/cros:host") {
libs += [ "atomic" ]
}
-@@ -1208,7 +1208,7 @@
+@@ -1202,7 +1202,7 @@
"allocator/allocator_shim_override_glibc_weak_symbols.h",
]
deps += [ "//base/allocator:tcmalloc" ]
@@ -18,7 +18,7 @@
sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ]
} else if (is_android && use_allocator == "none") {
sources += [
-@@ -1740,6 +1740,33 @@
+@@ -1739,6 +1739,33 @@
}
}
@@ -27,11 +27,10 @@
+ "files/file_path_watcher_linux.cc",
+ "files/file_util_linux.cc",
+ "process/memory_linux.cc",
-+ "process/process_linux.cc",
+ "process/process_handle_linux.cc",
+ "process/process_iterator_linux.cc",
+ "process/process_metrics_linux.cc",
-+ "sys_info_linux.cc"
++ "system/sys_info_linux.cc"
+ ]
+ sources += [
+ "files/file_path_watcher_kqueue.cc",
@@ -41,18 +40,19 @@
+ "process/process_handle_freebsd.cc",
+ "process/process_iterator_freebsd.cc",
+ "process/process_metrics_freebsd.cc",
-+ "sys_info_freebsd.cc",
++ "system/sys_info_freebsd.cc",
+ ]
+ libs = [
+ "execinfo", # logging.cc
-+ "kvm" # process_metrics_freebsd
++ "kvm", # process_metrics_freebsd
++ "util" # process_metrics_freebsd
+ ]
+ }
+
# iOS
if (is_ios) {
set_sources_assignment_filter([])
-@@ -2753,6 +2780,12 @@
+@@ -2761,6 +2788,12 @@
]
set_sources_assignment_filter(sources_assignment_filter)
}
diff --git a/www/chromium/files/patch-base_allocator_partition_allocator_page_allocator.cc b/www/chromium/files/patch-base_allocator_partition_allocator_page_allocator.cc
new file mode 100644
index 000000000000..019c2a8b8b09
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition_allocator_page_allocator.cc
@@ -0,0 +1,11 @@
+--- base/allocator/partition_allocator/page_allocator.cc.orig 2019-02-06 21:56:56.953755000 +0100
++++ base/allocator/partition_allocator/page_allocator.cc 2019-02-06 21:57:23.721544000 +0100
+@@ -114,7 +114,7 @@
+ uintptr_t align_base_mask = ~align_offset_mask;
+ DCHECK(!(reinterpret_cast<uintptr_t>(address) & align_offset_mask));
+
+-#if defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS)
+ // On 64 bit Linux, we may need to adjust the address space limit for
+ // guarded allocations.
+ if (length >= kMinimumGuardedMemorySize) {
diff --git a/www/chromium/files/patch-base_allocator_partition_allocator_page_allocator_internals_posix.h b/www/chromium/files/patch-base_allocator_partition_allocator_page_allocator_internals_posix.h
new file mode 100644
index 000000000000..69151e2761e2
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_partition_allocator_page_allocator_internals_posix.h
@@ -0,0 +1,38 @@
+--- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2019-02-06 21:59:00.906521000 +0100
++++ base/allocator/partition_allocator/page_allocator_internals_posix.h 2019-02-06 22:00:07.553831000 +0100
+@@ -14,7 +14,7 @@
+ #if defined(OS_MACOSX)
+ #include <mach/mach.h>
+ #endif
+-#if defined(OS_LINUX)
++#if defined(OS_BSD) || defined(OS_LINUX)
+ #include <sys/resource.h>
+
+ #include <algorithm>
+@@ -48,7 +48,7 @@
+ }
+ }
+
+-#if defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS)
+
+ // Multiple guarded memory regions may exceed the process address space limit.
+ // This function will raise or lower the limit by |amount|.
+@@ -68,7 +68,7 @@
+ // schemes that reduce that to 4 GiB.
+ constexpr size_t kMinimumGuardedMemorySize = 1ULL << 32; // 4 GiB
+
+-#endif // defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)
++#endif // (defined(OS_BSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS)
+
+ void* SystemAllocPagesInternal(void* hint,
+ size_t length,
+@@ -134,7 +134,7 @@
+ void FreePagesInternal(void* address, size_t length) {
+ CHECK(!munmap(address, length));
+
+-#if defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS)
+ // Restore the address space limit.
+ if (length >= kMinimumGuardedMemorySize) {
+ CHECK(AdjustAddressSpaceLimit(-base::checked_cast<int64_t>(length)));
diff --git a/www/chromium/files/patch-base_process_launch__posix.cc b/www/chromium/files/patch-base_process_launch__posix.cc
index 7d939793d12a..aa764c11b69e 100644
--- a/www/chromium/files/patch-base_process_launch__posix.cc
+++ b/www/chromium/files/patch-base_process_launch__posix.cc
@@ -1,10 +1,10 @@
---- base/process/launch_posix.cc.orig 2017-04-19 19:06:28 UTC
-+++ base/process/launch_posix.cc
-@@ -64,6 +64,7 @@
- #include "base/feature_list.h"
- #else
- extern char** environ;
-+#pragma weak environ
+--- base/process/launch_posix.cc.orig 2019-01-30 02:17:39.000000000 +0100
++++ base/process/launch_posix.cc 2019-01-31 20:45:00.397199000 +0100
+@@ -63,6 +63,7 @@
+ #error "macOS should use launch_mac.cc"
#endif
++#pragma weak environ
+ extern char** environ;
+
namespace base {
diff --git a/www/chromium/files/patch-base_process_process__info__linux.cc b/www/chromium/files/patch-base_process_process__info__linux.cc
deleted file mode 100644
index 1391a12e27ff..000000000000
--- a/www/chromium/files/patch-base_process_process__info__linux.cc
+++ /dev/null
@@ -1,39 +0,0 @@
---- base/process/process_info_linux.cc.orig 2017-06-05 19:03:00 UTC
-+++ base/process/process_info_linux.cc
-@@ -11,10 +11,28 @@
- #include "base/process/process_handle.h"
- #include "base/time/time.h"
-
-+#if defined(__FreeBSD__) || defined(__DragonFly__)
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#include <sys/user.h>
-+#endif
-+
- namespace base {
-
- // static
- const Time CurrentProcessInfo::CreationTime() {
-+#if defined(__FreeBSD__) || defined(__DragonFly__)
-+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
-+ struct kinfo_proc proc;
-+ size_t len = sizeof(struct kinfo_proc);
-+ if (sysctl(mib, arraysize(mib), &proc, &len, NULL, 0) < 0)
-+ return Time();
-+#if defined(__DragonFly__)
-+ return Time::FromTimeVal(proc.kp_start);
-+#else
-+ return Time::FromTimeVal(proc.ki_start);
-+#endif
-+#else
- int64_t start_ticks =
- internal::ReadProcSelfStatsAndGetFieldAsInt64(internal::VM_STARTTIME);
- if (!start_ticks)
-@@ -24,6 +42,7 @@ const Time CurrentProcessInfo::CreationTime() {
- if (boot_time.is_null())
- return Time();
- return Time(boot_time + start_offset);
-+#endif
- }
-
- } // namespace base
diff --git a/www/chromium/files/patch-base_process_process__linux.cc b/www/chromium/files/patch-base_process_process__linux.cc
new file mode 100644
index 000000000000..94c232e5b506
--- /dev/null
+++ b/www/chromium/files/patch-base_process_process__linux.cc
@@ -0,0 +1,18 @@
+--- base/process/process_linux.cc.orig 2019-02-01 23:15:53.491332000 +0100
++++ base/process/process_linux.cc 2019-02-01 23:16:56.937810000 +0100
+@@ -88,6 +88,7 @@
+ return Time(boot_time + start_offset);
+ }
+
++#if !defined(OS_BSD)
+ // static
+ bool Process::CanBackgroundProcesses() {
+ #if defined(OS_CHROMEOS)
+@@ -139,6 +140,7 @@
+ DPCHECK(result == 0);
+ return result == 0;
+ }
++#endif // !defined(OS_BSD)
+
+ #if defined(OS_CHROMEOS)
+ bool IsProcessBackgroundedCGroup(const StringPiece& cgroup_contents) {
diff --git a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
index e2ea325713e9..6ffd425658af 100644
--- a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
+++ b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
@@ -1,12 +1,21 @@
---- base/process/process_metrics_freebsd.cc.orig 2018-08-01 00:08:25.000000000 +0200
-+++ base/process/process_metrics_freebsd.cc 2018-08-04 21:48:06.554728000 +0200
-@@ -14,11 +14,14 @@
+--- base/process/process_metrics_freebsd.cc.orig 2019-02-06 23:06:36.000000000 +0100
++++ base/process/process_metrics_freebsd.cc 2019-02-08 19:11:07.753223000 +0100
+@@ -5,6 +5,7 @@
+ #include "base/process/process_metrics.h"
+
+ #include <stddef.h>
++#include <sys/types.h>
+ #include <sys/sysctl.h>
+ #include <sys/user.h>
+ #include <unistd.h>
+@@ -14,11 +15,15 @@
#include "base/process/process_metrics_iocounters.h"
#include "base/stl_util.h"
+#include <unistd.h> /* getpagesize() */
+#include <fcntl.h> /* O_RDONLY */
+#include <kvm.h>
++#include <libutil.h>
+
namespace base {
@@ -17,7 +26,7 @@
// static
std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
-@@ -67,6 +70,65 @@
+@@ -67,6 +72,95 @@
pagesize = getpagesize();
return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
@@ -77,6 +86,36 @@
+ return true;
+}
+
++int ProcessMetrics::GetOpenFdCount() const {
++ struct kinfo_file * kif;
++ int cnt;
++
++ if ((kif = kinfo_getfile(process_, &cnt)) == NULL)
++ return -1;
++
++ free(kif);
++
++ return cnt;
++}
++
++int ProcessMetrics::GetOpenFdSoftLimit() const {
++ struct kinfo_proc *info;
++ size_t length;
++ int total_count = 0;
++ int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC };
++
++ length = sizeof(total_count);
++
++ if (sysctl(mib, arraysize(mib), &total_count, &length, NULL, 0) < 0) {
++ total_count = -1;
++ goto out;
++ }
++
++out:
++ free(info);
++ return total_count;
++}
++
+uint64_t ProcessMetrics::GetVmSwapBytes() const {
+ NOTIMPLEMENTED();
+ return 0;
diff --git a/www/chromium/files/patch-base_sys__info__freebsd.cc b/www/chromium/files/patch-base_system_sys__info__freebsd.cc
index 7b97b7f17fd9..450c86a19974 100644
--- a/www/chromium/files/patch-base_sys__info__freebsd.cc
+++ b/www/chromium/files/patch-base_system_sys__info__freebsd.cc
@@ -1,5 +1,5 @@
---- base/sys_info_freebsd.cc.orig 2017-12-15 02:04:05.000000000 +0100
-+++ base/sys_info_freebsd.cc 2017-12-23 21:51:22.626194000 +0100
+--- base/system/sys_info_freebsd.cc.orig 2017-12-15 02:04:05.000000000 +0100
++++ base/system/sys_info_freebsd.cc 2017-12-23 21:51:22.626194000 +0100
@@ -13,26 +13,58 @@
namespace base {
diff --git a/www/chromium/files/patch-base_sys__info__posix.cc b/www/chromium/files/patch-base_system_sys__info__posix.cc
index d7fc3b435a62..a1134b9cfedf 100644
--- a/www/chromium/files/patch-base_sys__info__posix.cc
+++ b/www/chromium/files/patch-base_system_sys__info__posix.cc
@@ -1,6 +1,6 @@
---- base/sys_info_posix.cc.orig 2018-01-04 21:05:38.000000000 +0100
-+++ base/sys_info_posix.cc 2018-01-27 20:03:02.391851000 +0100
-@@ -35,7 +35,7 @@
+--- base/system/sys_info_posix.cc.orig 2019-01-31 21:22:45.968524000 +0100
++++ base/system/sys_info_posix.cc 2019-01-31 21:25:09.041659000 +0100
+@@ -38,7 +38,7 @@
namespace {
@@ -9,16 +9,16 @@
int NumberOfProcessors() {
// sysconf returns the number of "logical" (not "physical") processors on both
// Mac and Linux. So we get the number of max available "logical" processors.
-@@ -62,7 +62,7 @@
- base::LazyInstance<
- base::internal::LazySysInfoValue<int, NumberOfProcessors> >::Leaky
- g_lazy_number_of_processors = LAZY_INSTANCE_INITIALIZER;
+@@ -64,7 +64,7 @@
+
+ base::LazyInstance<base::internal::LazySysInfoValue<int, NumberOfProcessors>>::
+ Leaky g_lazy_number_of_processors = LAZY_INSTANCE_INITIALIZER;
-#endif // !defined(OS_OPENBSD) && !defined(OS_FUCHSIA)
+#endif // !defined(OS_BSD) && !defined(OS_FUCHSIA)
#if !defined(OS_FUCHSIA)
int64_t AmountOfVirtualMemory() {
-@@ -130,7 +130,7 @@
+@@ -132,7 +132,7 @@
namespace base {
@@ -27,7 +27,7 @@
int SysInfo::NumberOfProcessors() {
return g_lazy_number_of_processors.Get().value();
}
-@@ -223,6 +223,8 @@
+@@ -225,6 +225,8 @@
arch = "x86";
} else if (arch == "amd64") {
arch = "x86_64";
diff --git a/www/chromium/files/patch-base_threading_platform__thread__linux.cc b/www/chromium/files/patch-base_threading_platform__thread__linux.cc
index b419dd7fec86..55adb6ec47c4 100644
--- a/www/chromium/files/patch-base_threading_platform__thread__linux.cc
+++ b/www/chromium/files/patch-base_threading_platform__thread__linux.cc
@@ -1,6 +1,6 @@
---- base/threading/platform_thread_linux.cc.orig 2017-07-25 21:04:48.000000000 +0200
-+++ base/threading/platform_thread_linux.cc 2017-08-01 22:36:09.953380000 +0200
-@@ -19,7 +19,9 @@
+--- base/threading/platform_thread_linux.cc.orig 2019-01-30 02:17:39.000000000 +0100
++++ base/threading/platform_thread_linux.cc 2019-02-01 16:31:27.360883000 +0100
+@@ -18,7 +18,9 @@
#if !defined(OS_NACL) && !defined(OS_AIX)
#include <pthread.h>
@@ -10,9 +10,18 @@
#include <sys/resource.h>
#include <sys/time.h>
#include <sys/types.h>
-@@ -130,7 +132,7 @@
- ThreadIdNameManager::GetInstance()->SetName(CurrentId(), name);
- tracked_objects::ThreadData::InitializeThreadContext(name);
+@@ -99,7 +101,7 @@
+
+ Optional<bool> CanIncreaseCurrentThreadPriorityForPlatform(
+ ThreadPriority priority) {
+-#if !defined(OS_NACL)
++#if !defined(OS_NACL) && !defined(OS_BSD)
+ // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke
+ // pthread_setschedparam in SetCurrentThreadPriorityForPlatform().
+ struct rlimit rlim;
+@@ -141,7 +143,7 @@
+ void PlatformThread::SetName(const std::string& name) {
+ ThreadIdNameManager::GetInstance()->SetName(name);
-#if !defined(OS_NACL) && !defined(OS_AIX)
+#if !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD)
diff --git a/www/chromium/files/patch-base_trace__event_malloc_dump_provider.cc b/www/chromium/files/patch-base_trace__event_malloc_dump_provider.cc
index 54463b0a563b..2b39eae715be 100644
--- a/www/chromium/files/patch-base_trace__event_malloc_dump_provider.cc
+++ b/www/chromium/files/patch-base_trace__event_malloc_dump_provider.cc
@@ -1,6 +1,6 @@
---- base/trace_event/malloc_dump_provider.cc.orig 2017-08-02 18:33:27.773657000 +0200
-+++ base/trace_event/malloc_dump_provider.cc 2017-08-02 18:34:48.019053000 +0200
-@@ -21,6 +21,8 @@
+--- base/trace_event/malloc_dump_provider.cc.orig 2019-01-30 02:17:39.000000000 +0100
++++ base/trace_event/malloc_dump_provider.cc 2019-01-31 22:27:52.377125000 +0100
+@@ -17,6 +17,8 @@
#if defined(OS_MACOSX)
#include <malloc/malloc.h>
@@ -9,8 +9,8 @@
#else
#include <malloc.h>
#endif
-@@ -243,6 +245,9 @@
- allocated_objects_count = main_heap_info.block_count;
+@@ -132,6 +134,9 @@
+ }
#elif defined(OS_FUCHSIA)
// TODO(fuchsia): Port, see https://crbug.com/706592.
+#elif defined(OS_BSD)
diff --git a/www/chromium/files/patch-build_config_BUILD.gn b/www/chromium/files/patch-build_config_BUILD.gn
index 28173c1eb341..7d2ec3bde8dc 100644
--- a/www/chromium/files/patch-build_config_BUILD.gn
+++ b/www/chromium/files/patch-build_config_BUILD.gn
@@ -1,6 +1,6 @@
---- build/config/BUILD.gn.orig 2018-08-01 00:08:26.000000000 +0200
-+++ build/config/BUILD.gn 2018-08-05 13:59:34.648903000 +0200
-@@ -167,7 +167,7 @@
+--- build/config/BUILD.gn.orig 2019-01-30 02:17:39.000000000 +0100
++++ build/config/BUILD.gn 2019-01-31 21:42:37.569620000 +0100
+@@ -170,7 +170,7 @@
# builds, and we have to tell it to turn it off.
defines += [ "_HAS_ITERATOR_DEBUGGING=0" ]
}
@@ -9,7 +9,7 @@
# Enable libstdc++ debugging facilities to help catch problems early, see
# http://crbug.com/65151 .
# TODO(phajdan.jr): Should we enable this for all of POSIX?
-@@ -269,9 +269,7 @@
+@@ -272,9 +272,7 @@
]
} else if (is_linux) {
libs = [
@@ -19,12 +19,12 @@
]
}
}
-@@ -320,7 +318,7 @@
+@@ -351,7 +349,7 @@
"//build/config/ios:ios_dynamic_flags",
"//build/config/ios:ios_executable_flags",
]
- } else if (is_linux || is_android || current_os == "aix") {
+ } else if (is_linux || is_bsd || is_android || current_os == "aix") {
- configs += [ "//build/config/gcc:executable_ldconfig" ]
- if (is_android) {
- configs += [ "//build/config/android:executable_config" ]
+ configs += [ "//build/config/gcc:executable_config" ]
+ if (is_chromecast) {
+ configs += [ "//build/config/chromecast:executable_config" ]
diff --git a/www/chromium/files/patch-build_config_BUILDCONFIG.gn b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
index 008ca4bb47a4..86fedf3ea6b0 100644
--- a/www/chromium/files/patch-build_config_BUILDCONFIG.gn
+++ b/www/chromium/files/patch-build_config_BUILDCONFIG.gn
@@ -1,15 +1,15 @@
---- build/config/BUILDCONFIG.gn.orig 2018-12-12 22:56:02.000000000 +0100
-+++ build/config/BUILDCONFIG.gn 2018-12-15 22:33:58.610110000 +0100
+--- build/config/BUILDCONFIG.gn.orig 2019-02-06 23:06:36.000000000 +0100
++++ build/config/BUILDCONFIG.gn 2019-02-08 19:05:14.524345000 +0100
@@ -131,10 +131,10 @@
is_official_build = false
# Whether we're a traditional desktop unix.
- is_desktop_linux = current_os == "linux"
-+ is_desktop_linux = current_os == "linux" || current_os == "bsd"
++ is_desktop_linux = current_os == "linux" || current_os == "freebsd"
# Set to true when compiling with the Clang compiler.
- is_clang = current_os != "linux" ||
-+ is_clang = current_os != "linux" || current_os == "bsd" ||
++ is_clang = current_os != "linux" || current_os == "freebsd" ||
(current_cpu != "s390x" && current_cpu != "s390" &&
current_cpu != "ppc64" && current_cpu != "ppc" &&
current_cpu != "mips" && current_cpu != "mips64")
@@ -19,21 +19,21 @@
- if (host_os == "linux") {
- if (target_os != "linux") {
-+ if (host_os == "linux" || host_os == "bsd") {
-+ if (target_os != "linux" || target_os != "bsd") {
++ if (host_os == "linux" || host_os == "freebsd") {
++ if (target_os != "linux" || target_os != "freebsd") {
# 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
-@@ -227,7 +227,7 @@
+@@ -228,7 +228,7 @@
assert(host_os == "linux" || host_os == "mac",
"Android builds are only supported on Linux and Mac hosts.")
_default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
-} else if (target_os == "chromeos" || target_os == "linux") {
-+} else if (target_os == "chromeos" || target_os == "linux" || target_os == "bsd") {
++} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd") {
# See comments in build/toolchain/cros/BUILD.gn about board compiles.
if (is_clang) {
_default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-@@ -301,6 +301,7 @@
+@@ -302,6 +302,7 @@
is_nacl = false
is_posix = false
is_win = true
@@ -41,7 +41,7 @@
} else if (current_os == "mac") {
is_aix = false
is_android = false
-@@ -312,6 +313,7 @@
+@@ -313,6 +314,7 @@
is_nacl = false
is_posix = true
is_win = false
@@ -49,7 +49,7 @@
} else if (current_os == "android") {
is_aix = false
is_android = true
-@@ -323,6 +325,7 @@
+@@ -324,6 +326,7 @@
is_nacl = false
is_posix = true
is_win = false
@@ -57,7 +57,7 @@
} else if (current_os == "chromeos") {
is_aix = false
is_android = false
-@@ -334,6 +337,7 @@
+@@ -335,6 +338,7 @@
is_nacl = false
is_posix = true
is_win = false
@@ -65,7 +65,7 @@
} else if (current_os == "nacl") {
# current_os == "nacl" will be passed by the nacl toolchain definition.
# It is not set by default or on the command line. We treat is as a
-@@ -348,6 +352,7 @@
+@@ -349,6 +353,7 @@
is_nacl = true
is_posix = true
is_win = false
@@ -73,7 +73,7 @@
} else if (current_os == "fuchsia") {
is_aix = false
is_android = false
-@@ -359,6 +364,7 @@
+@@ -360,6 +365,7 @@
is_nacl = false
is_posix = false
is_win = false
@@ -81,7 +81,7 @@
} else if (current_os == "ios") {
is_aix = false
is_android = false
-@@ -370,6 +376,7 @@
+@@ -371,6 +377,7 @@
is_nacl = false
is_posix = true
is_win = false
@@ -89,7 +89,7 @@
} else if (current_os == "linux") {
is_aix = false
is_android = false
-@@ -381,6 +388,7 @@
+@@ -382,6 +389,7 @@
is_nacl = false
is_posix = true
is_win = false
@@ -97,12 +97,12 @@
} else if (current_os == "aix") {
is_aix = true
is_android = false
-@@ -392,6 +400,19 @@
+@@ -393,6 +401,19 @@
is_nacl = false
is_posix = true
is_win = false
+ is_bsd = false
-+} else if (current_os == "bsd") {
++} else if (current_os == "freebsd") {
+ is_aix = false
+ is_android = false
+ is_chromeos = false
diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn
index a9d34f242adf..b79fed03d255 100644
--- a/www/chromium/files/patch-build_config_compiler_BUILD.gn
+++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn
@@ -1,5 +1,5 @@
---- build/config/compiler/BUILD.gn.orig 2018-12-12 22:56:02.000000000 +0100
-+++ build/config/compiler/BUILD.gn 2018-12-16 01:04:15.942884000 +0100
+--- build/config/compiler/BUILD.gn.orig 2019-01-30 02:17:39.000000000 +0100
++++ build/config/compiler/BUILD.gn 2019-01-31 21:56:18.122280000 +0100
@@ -53,7 +53,7 @@
# only two architectures that are currently checked in). Turn this off when
# you are using a custom toolchain and need to control -B in cflags.
@@ -18,23 +18,16 @@
# 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
-@@ -391,15 +391,6 @@
- "-Wl,-z,now",
- "-Wl,-z,relro",
- ]
--
-- # Compiler instrumentation can introduce dependencies in DSOs to symbols in
-- # the executable they are loaded into, so they are unresolved at link-time.
-- if (!using_sanitizer && !is_safestack) {
-- ldflags += [
-- "-Wl,-z,defs",
-- "-Wl,--as-needed",
-- ]
-- }
- }
+@@ -393,7 +393,7 @@
- # Linux-specific compiler flags setup.
-@@ -502,7 +493,7 @@
+ # Compiler instrumentation can introduce dependencies in DSOs to symbols in
+ # the executable they are loaded into, so they are unresolved at link-time.
+- if (!using_sanitizer) {
++ if (!using_sanitizer && !is_bsd) {
+ ldflags += [
+ "-Wl,-z,defs",
+ "-Wl,--as-needed",
+@@ -501,7 +501,7 @@
}
}
@@ -43,7 +36,7 @@
cflags += [
# TODO(hans): Remove this once Clang generates better optimized debug info
# by default. https://crbug.com/765793
-@@ -793,7 +784,7 @@
+@@ -808,7 +808,7 @@
cflags += [ "-mtune=$arm_tune" ]
}
} else if (current_cpu == "arm64") {
@@ -52,21 +45,26 @@
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
}
-@@ -1498,13 +1489,6 @@
- cflags += [
- # TODO(thakis): https://crbug.com/753973
- "-Wno-enum-compare-switch",
--
+@@ -1488,11 +1488,13 @@
+ if (current_toolchain == host_toolchain || !use_xcode_clang) {
+ # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not
+ # recognize.
+- cflags += [
- # Ignore warnings about MSVC optimization pragmas.
- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
- "-Wno-ignored-pragma-optimize",
--
-- # TODO(hans): https://crbug.com/890307
-- "-Wno-defaulted-function-deleted",
- ]
- }
- }
-@@ -1691,7 +1675,7 @@
+- ]
++ if (!is_bsd) {
++ cflags += [
++ # Ignore warnings about MSVC optimization pragmas.
++ # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
++ "-Wno-ignored-pragma-optimize",
++ ]
++ }
+ if (is_fuchsia) {
+ cflags += [
+ # TODO(hans): https://crbug.com/890307
+@@ -1684,7 +1686,7 @@
# Mac and iOS use the mac-specific "libtool" command, not ar, which doesn't
# have a "thin archive" mode (it does accept -T, but it means truncating
# archive names to 16 characters, which is not what we want).
@@ -75,16 +73,16 @@
arflags = [ "-T" ]
}
}
-@@ -2264,7 +2248,7 @@
- # [1] crrev.com/a81d5ade0b043208e06ad71a38bcf9c348a1a52f
- cflags += [ "-gdwarf-3" ]
+@@ -2269,7 +2271,7 @@
+ # flag, so we can use use -g1 for pnacl and nacl-clang compiles.
+ # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang.
+ if (!is_nacl || is_clang) {
+- cflags += [ "-g2" ]
++ cflags += [ "-g0" ]
}
-- cflags += [ "-g2" ]
-+ cflags += [ "-g0" ]
}
if (use_debug_fission && !is_nacl && !is_android) {
- # NOTE: Some Chrome OS builds globally set |use_debug_fission| to true,
-@@ -2284,7 +2268,7 @@
+@@ -2290,7 +2292,7 @@
# DWARF info may be corrupt; offsets in a range list entry are in different
# sections" there. Maybe just a bug in nacl_switch_32.S.
if (!is_mac && !is_ios && !is_nacl && current_cpu != "x86" &&
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 4b3bbf0de890..9d2935fdda71 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
@@ -1,6 +1,6 @@
---- chrome/app/chrome_main_delegate.cc.orig 2018-12-12 22:56:02.000000000 +0100
-+++ chrome/app/chrome_main_delegate.cc 2019-01-04 00:08:47.109460000 +0100
-@@ -99,7 +99,7 @@
+--- chrome/app/chrome_main_delegate.cc.orig 2019-01-30 02:17:41.000000000 +0100
++++ chrome/app/chrome_main_delegate.cc 2019-02-06 19:21:07.067687000 +0100
+@@ -101,7 +101,7 @@
#include "chrome/app/shutdown_signal_handlers_posix.h"
#endif
@@ -9,7 +9,7 @@
#include "components/nacl/common/nacl_paths.h"
#include "components/nacl/zygote/nacl_fork_delegate_linux.h"
#endif
-@@ -133,7 +133,7 @@
+@@ -135,7 +135,7 @@
#include "v8/include/v8.h"
#endif
@@ -18,7 +18,7 @@
#include "base/environment.h"
#endif
-@@ -233,7 +233,7 @@
+@@ -235,7 +235,7 @@
#endif // defined(OS_WIN)
@@ -27,7 +27,25 @@
void AdjustLinuxOOMScore(const std::string& process_type) {
// Browsers and zygotes should still be killable, but killed last.
const int kZygoteScore = 0;
-@@ -401,7 +401,7 @@
+@@ -339,7 +339,7 @@
+ return false;
+ }
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ // Show the man page if --help or -h is on the command line.
+ void HandleHelpSwitches(const base::CommandLine& command_line) {
+ if (command_line.HasSwitch(switches::kHelp) ||
+@@ -349,7 +349,7 @@
+ PLOG(FATAL) << "execlp failed";
+ }
+ }
+-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+
+ #if !defined(OS_MACOSX) && !defined(OS_ANDROID)
+ void SIGTERMProfilingShutdown(int signal) {
+@@ -403,7 +403,7 @@
std::string process_type =
command_line->GetSwitchValueASCII(switches::kProcessType);
@@ -36,7 +54,16 @@
// On Linux, Chrome does not support running multiple copies under different
// DISPLAYs, so the profile directory can be specified in the environment to
// support the virtual desktop use-case.
-@@ -595,7 +595,7 @@
+@@ -585,7 +585,7 @@
+ *exit_code = 0;
+ return true; // Got a --version switch; exit with a success error code.
+ }
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ // This will directly exit if the user asked for help.
+ HandleHelpSwitches(command_line);
+ #endif
+@@ -609,7 +609,7 @@
#if defined(OS_CHROMEOS)
chromeos::RegisterPathProvider();
#endif
@@ -45,7 +72,7 @@
nacl::RegisterPathProvider();
#endif
-@@ -912,7 +912,7 @@
+@@ -925,7 +925,7 @@
InitializePDF();
#endif
@@ -54,7 +81,7 @@
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != service_manager::switches::kZygoteProcess) {
#if defined(OS_ANDROID)
-@@ -928,7 +928,7 @@
+@@ -941,7 +941,7 @@
breakpad::InitCrashReporter(process_type);
#endif // defined(OS_ANDROID)
}
@@ -63,7 +90,7 @@
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
-@@ -938,7 +938,7 @@
+@@ -951,7 +951,7 @@
void ChromeMainDelegate::SandboxInitialized(const std::string& process_type) {
// Note: If you are adding a new process type below, be sure to adjust the
// AdjustLinuxOOMScore function too.
diff --git a/www/chromium/files/patch-chrome_app_chromium__strings.grd b/www/chromium/files/patch-chrome_app_chromium__strings.grd
index b87408d73cd5..e4ba488305d1 100644
--- a/www/chromium/files/patch-chrome_app_chromium__strings.grd
+++ b/www/chromium/files/patch-chrome_app_chromium__strings.grd
@@ -1,6 +1,6 @@
---- 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 @@
+--- chrome/app/chromium_strings.grd.orig 2019-02-06 23:06:37.000000000 +0100
++++ chrome/app/chromium_strings.grd 2019-02-12 16:28:22.555513000 +0100
+@@ -797,7 +797,7 @@
</message>
<!-- ProcessSingleton -->
@@ -9,3 +9,12 @@
<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>
+@@ -1042,7 +1042,7 @@
+ </message>
+
+ <!-- Plugin Placeholders -->
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_PLUGIN_RESTART_REQUIRED" desc="The placeholder text for a plugin that can't be loaded until the browser is restarted.">
+ Restart Chromium to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
+ </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 9859f183f6ce..ea8b10e868ef 100644
--- a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
+++ b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
@@ -1,6 +1,6 @@
---- 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 @@
+--- chrome/app/google_chrome_strings.grd.orig 2019-02-06 23:06:37.000000000 +0100
++++ chrome/app/google_chrome_strings.grd 2019-02-12 16:29:36.841110000 +0100
+@@ -808,7 +808,7 @@
</message>
<!-- ProcessSingleton -->
@@ -9,3 +9,12 @@
<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>
+@@ -1060,7 +1060,7 @@
+ </message>
+
+ <!-- Plugin Placeholders -->
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_PLUGIN_RESTART_REQUIRED" desc="The placeholder text for a plugin that can't be loaded until the browser is restarted.">
+ Restart Chrome to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
+ </message>
diff --git a/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc b/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
index 805470cff3d6..32263aaec6fd 100644
--- a/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
+++ b/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
@@ -1,15 +1,21 @@
---- chrome/app/shutdown_signal_handlers_posix.cc.orig 2018-12-03 21:16:37.000000000 +0100
-+++ chrome/app/shutdown_signal_handlers_posix.cc 2018-12-05 14:20:17.094777000 +0100
-@@ -183,7 +183,11 @@
+--- chrome/app/shutdown_signal_handlers_posix.cc.orig 2018-12-12 22:56:02.000000000 +0100
++++ chrome/app/shutdown_signal_handlers_posix.cc 2019-01-13 01:50:13.594124000 +0100
+@@ -183,12 +183,18 @@
g_pipe_pid = getpid();
g_shutdown_pipe_read_fd = pipefd[0];
g_shutdown_pipe_write_fd = pipefd[1];
--#if !defined(ADDRESS_SANITIZER)
+#if defined(OS_BSD)
+ // PTHREAD_STACK_MIN causes chromium to crash under FreeBSD,
+ // we request the default pthread stack size by specifying 0 here.
+ const size_t kShutdownDetectorThreadStackSize = 0;
-+#elif !defined(ADDRESS_SANITIZER)
++#else
+ #if !defined(ADDRESS_SANITIZER)
const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2;
#else
// ASan instrumentation bloats the stack frames, so we need to increase the
+ // stack size to avoid hitting the guard page.
+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4;
++#endif
+ #endif
+ ShutdownDetector* detector = new ShutdownDetector(
+ g_shutdown_pipe_read_fd, shutdown_callback, task_runner);
diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc
index 182401891ecb..12c67093acff 100644
--- a/www/chromium/files/patch-chrome_browser_about__flags.cc
+++ b/www/chromium/files/patch-chrome_browser_about__flags.cc
@@ -1,6 +1,6 @@
---- chrome/browser/about_flags.cc.orig 2018-12-12 22:56:02.000000000 +0100
-+++ chrome/browser/about_flags.cc 2018-12-28 16:40:37.628497000 +0100
-@@ -884,7 +884,7 @@
+--- chrome/browser/about_flags.cc.orig 2019-01-30 02:17:44.000000000 +0100
++++ chrome/browser/about_flags.cc 2019-01-31 22:07:28.598255000 +0100
+@@ -832,7 +832,7 @@
{"(Black on GoogleYellow050)", kAutofillPreviewStyleBlackOnYellow050,
base::size(kAutofillPreviewStyleBlackOnYellow050), nullptr}};
@@ -9,7 +9,16 @@
const FeatureEntry::FeatureParam kAutofillPrimaryInfoStyleMedium[] = {
{autofill::kAutofillForcedFontWeightParameterName,
autofill::kAutofillForcedFontWeightParameterMedium},
-@@ -2609,12 +2609,12 @@
+@@ -859,7 +859,7 @@
+ {"Dedicated Suggestion Line", kPedalSuggestionDedicated,
+ base::size(kPedalSuggestionDedicated), nullptr},
+ };
+-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
+
+ const FeatureEntry::Choice kAutoplayPolicyChoices[] = {
+ {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+@@ -2497,12 +2497,12 @@
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
flag_descriptions::kForceTextDirectionDescription, kOsAll,
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
@@ -24,7 +33,7 @@
{"enable-origin-trials", flag_descriptions::kOriginTrialsName,
flag_descriptions::kOriginTrialsDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kOriginTrials)},
-@@ -2813,12 +2813,12 @@
+@@ -2696,12 +2696,12 @@
FEATURE_VALUE_TYPE(
password_manager::features::kPasswordsKeyboardAccessory)},
#endif // OS_ANDROID
@@ -36,10 +45,10 @@
FEATURE_VALUE_TYPE(password_manager::features::kMigrateLinuxToLoginDB)},
-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #if defined(OS_CHROMEOS)
{"enable-experimental-accessibility-features",
flag_descriptions::kExperimentalAccessibilityFeaturesName,
-@@ -3225,7 +3225,7 @@
+ flag_descriptions::kExperimentalAccessibilityFeaturesDescription, kOsCrOS,
+@@ -3127,7 +3127,7 @@
flag_descriptions::kLeftToRightUrlsDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kLeftToRightUrls)},
@@ -48,7 +57,7 @@
{"omnibox-new-answer-layout",
flag_descriptions::kOmniboxNewAnswerLayoutName,
flag_descriptions::kOmniboxNewAnswerLayoutDescription, kOsDesktop,
-@@ -3257,7 +3257,7 @@
+@@ -3156,7 +3156,7 @@
flag_descriptions::kOmniboxDriveSuggestionsName,
flag_descriptions::kOmniboxDriveSuggestionsDescriptions, kOsDesktop,
FEATURE_VALUE_TYPE(omnibox::kDocumentProvider)},
@@ -57,7 +66,7 @@
#if defined(OS_ANDROID)
{"enable-custom-feedback-ui",
-@@ -3566,13 +3566,13 @@
+@@ -3449,7 +3449,7 @@
flag_descriptions::kClickToOpenPDFDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kClickToOpenPDFPlaceholder)},
@@ -66,14 +75,16 @@
{"direct-manipulation-stylus",
flag_descriptions::kDirectManipulationStylusName,
flag_descriptions::kDirectManipulationStylusDescription,
- kOsWin | kOsMac | kOsLinux,
- FEATURE_VALUE_TYPE(features::kDirectManipulationStylus)},
+@@ -3460,7 +3460,7 @@
+ flag_descriptions::kShowManagedUiDescription,
+ kOsWin | kOsMac | kOsLinux | kOsCrOS,
+ FEATURE_VALUE_TYPE(features::kShowManagedUi)},
-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
#if defined(OS_ANDROID)
{"third-party-doodles", flag_descriptions::kThirdPartyDoodlesName,
-@@ -4021,7 +4021,7 @@
+@@ -3897,7 +3897,7 @@
flag_descriptions::kAutofillCacheQueryResponsesDescription, kOsAll,
FEATURE_VALUE_TYPE(autofill::features::kAutofillCacheQueryResponses)},
@@ -82,7 +93,7 @@
{"autofill-primary-info-style",
flag_descriptions::kAutofillPrimaryInfoStyleExperimentName,
flag_descriptions::kAutofillPrimaryInfoStyleExperimentDescription,
-@@ -4030,7 +4030,7 @@
+@@ -3906,7 +3906,7 @@
autofill::kAutofillPrimaryInfoStyleExperiment,
kAutofillPrimaryInfoStyleVariations,
"AutofillPrimaryInfoStyleExperiment")},
@@ -91,16 +102,16 @@
{"autofill-enable-company-name",
flag_descriptions::kAutofillEnableCompanyNameName,
-@@ -4082,7 +4082,7 @@
- FEATURE_VALUE_TYPE(ash::features::kOverviewSwipeToClose)},
- #endif // OS_CHROMEOS
+@@ -4001,7 +4001,7 @@
+ flag_descriptions::kExperimentalProductivityFeaturesDescription, kOsAll,
+ FEATURE_VALUE_TYPE(features::kExperimentalProductivityFeatures)},
-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
{"ntp-backgrounds", flag_descriptions::kNtpBackgroundsName,
flag_descriptions::kNtpBackgroundsDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kNtpBackgrounds)},
-@@ -4098,7 +4098,7 @@
+@@ -4017,7 +4017,7 @@
{"ntp-ui-md", flag_descriptions::kNtpUIMdName,
flag_descriptions::kNtpUIMdDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kNtpUIMd)},
@@ -109,3 +120,21 @@
#if defined(OS_ANDROID)
{"enable-display-cutout-api", flag_descriptions::kDisplayCutoutAPIName,
+@@ -4468,7 +4468,7 @@
+ FEATURE_VALUE_TYPE(features::kForceEnableSystemAec)},
+ #endif // defined(OS_MACOSX) || defined(OS_CHROMEOS)
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ {"autofill-always-show-server-cards-in-sync-transport",
+ flag_descriptions::kAutofillAlwaysShowServerCardsInSyncTransportName,
+ flag_descriptions::
+@@ -4476,7 +4476,7 @@
+ kOsMac | kOsWin | kOsLinux,
+ FEATURE_VALUE_TYPE(
+ autofill::features::kAutofillAlwaysShowServerCardsInSyncTransport)},
+-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ };
+
+ class FlagsStateSingleton {
diff --git a/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc b/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc
index 06f200bab0a7..744be8d89266 100644
--- a/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc
+++ b/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc
@@ -1,11 +1,20 @@
---- chrome/browser/after_startup_task_utils.cc.orig 2017-06-05 19:03:01 UTC
-+++ chrome/browser/after_startup_task_utils.cc
-@@ -99,7 +99,7 @@ void QueueTask(std::unique_ptr<AfterStartupTask> queue
+--- chrome/browser/after_startup_task_utils.cc.orig 2019-01-30 02:17:44.000000000 +0100
++++ chrome/browser/after_startup_task_utils.cc 2019-01-31 22:15:46.765158000 +0100
+@@ -110,7 +110,7 @@
void SetBrowserStartupIsComplete() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
+#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- // CurrentProcessInfo::CreationTime() is not available on all platforms.
+ // Process::Current().CreationTime() is not available on all platforms.
const base::Time process_creation_time =
- base::CurrentProcessInfo::CreationTime();
+ base::Process::Current().CreationTime();
+@@ -118,7 +118,7 @@
+ UMA_HISTOGRAM_LONG_TIMES("Startup.AfterStartupTaskDelayedUntilTime",
+ base::Time::Now() - process_creation_time);
+ }
+-#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
++#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+ UMA_HISTOGRAM_COUNTS_10000("Startup.AfterStartupTaskCount",
+ g_after_startup_tasks.Get().size());
+ g_startup_complete_flag.Get().Set();
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
new file mode 100644
index 000000000000..38c4b692880a
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
@@ -0,0 +1,17 @@
+--- chrome/browser/browser_process_impl.cc.orig 2019-02-12 16:31:58.701630000 +0100
++++ chrome/browser/browser_process_impl.cc 2019-02-12 16:32:33.417312000 +0100
+@@ -1485,7 +1485,7 @@
+ }
+
+ // Mac is currently not supported.
+-#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
++#if (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+
+ bool BrowserProcessImpl::IsRunningInBackground() const {
+ // Check if browser is in the background.
+@@ -1555,4 +1555,4 @@
+ }
+ }
+
+-#endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
++#endif // (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.h b/www/chromium/files/patch-chrome_browser_browser__process__impl.h
new file mode 100644
index 000000000000..78b07d3f6c9c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.h
@@ -0,0 +1,20 @@
+--- chrome/browser/browser_process_impl.h.orig 2019-02-12 16:33:04.676012000 +0100
++++ chrome/browser/browser_process_impl.h 2019-02-12 16:33:35.429453000 +0100
+@@ -367,7 +367,7 @@
+ std::unique_ptr<ChromeResourceDispatcherHostDelegate>
+ resource_dispatcher_host_delegate_;
+
+-#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ base::RepeatingTimer autoupdate_timer_;
+
+ // Gets called by autoupdate timer to see if browser needs restart and can be
+@@ -376,7 +376,7 @@
+ bool IsRunningInBackground() const;
+ void OnPendingRestartResult(bool is_update_pending_restart);
+ void RestartBackgroundInstance();
+-#endif // defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#endif // defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+
+ // component updater is normally not used under ChromeOS due
+ // to concerns over integrity of data shared between profiles,
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
index e1be471e0789..ee7ee8bba223 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
@@ -1,6 +1,6 @@
---- chrome/browser/chrome_browser_main.cc.orig 2018-11-19 19:55:03.000000000 +0100
-+++ chrome/browser/chrome_browser_main.cc 2018-12-04 14:28:26.209004000 +0100
-@@ -214,7 +214,7 @@
+--- chrome/browser/chrome_browser_main.cc.orig 2019-02-06 23:06:37.000000000 +0100
++++ chrome/browser/chrome_browser_main.cc 2019-02-12 20:03:14.042579000 +0100
+@@ -216,7 +216,7 @@
#include "chromeos/settings/cros_settings_names.h"
#endif // defined(OS_CHROMEOS)
@@ -9,7 +9,7 @@
#include "chrome/browser/first_run/upgrade_util_linux.h"
#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-@@ -255,7 +255,7 @@
+@@ -256,7 +256,7 @@
#endif // defined(OS_WIN)
#if defined(OS_WIN) || defined(OS_MACOSX) || \
@@ -18,7 +18,21 @@
#include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h"
#endif
-@@ -1279,10 +1279,10 @@
+@@ -1059,7 +1059,7 @@
+ AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs);
+ }
+
+-#if defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ // Create directory for user-level Native Messaging manifest files. This
+ // makes it less likely that the directory will be created by third-party
+ // software with incorrect owner or permission. See crbug.com/725513 .
+@@ -1068,14 +1068,14 @@
+ &user_native_messaging_dir));
+ if (!base::PathExists(user_native_messaging_dir))
+ base::CreateDirectory(user_native_messaging_dir);
+-#endif // defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
}
#endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
@@ -31,7 +45,7 @@
#if defined(OS_MACOSX)
// Get the Keychain API to register for distributed notifications on the main
-@@ -1306,7 +1306,7 @@
+@@ -1099,7 +1099,7 @@
}
#if defined(OS_WIN) || defined(OS_MACOSX) || \
@@ -40,3 +54,19 @@
metrics::DesktopSessionDurationTracker::Initialize();
#endif
metrics::RendererUptimeTracker::Initialize();
+@@ -1279,6 +1279,7 @@
+ base::TimeDelta::FromMinutes(1));
+
+ #if !defined(OS_ANDROID)
++#if !defined(OS_BSD)
+ if (base::FeatureList::IsEnabled(features::kWebUsb)) {
+ web_usb_detector_.reset(new WebUsbDetector());
+ BrowserThread::PostAfterStartupTask(
+@@ -1287,6 +1288,7 @@
+ base::BindOnce(&WebUsbDetector::Initialize,
+ base::Unretained(web_usb_detector_.get())));
+ }
++#endif
+ if (base::FeatureList::IsEnabled(features::kTabMetricsLogging)) {
+ // Initialize the TabActivityWatcher to begin logging tab activity events.
+ resource_coordinator::TabActivityWatcher::GetInstance();
diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
index c18cbf87c3f1..f09816bce69c 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
@@ -1,6 +1,6 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2018-12-03 21:16:38.000000000 +0100
-+++ chrome/browser/chrome_content_browser_client.cc 2018-12-05 14:32:20.666302000 +0100
-@@ -348,7 +348,7 @@
+--- chrome/browser/chrome_content_browser_client.cc.orig 2019-01-30 02:17:44.000000000 +0100
++++ chrome/browser/chrome_content_browser_client.cc 2019-02-06 22:10:31.368688000 +0100
+@@ -367,7 +367,7 @@
#include "chromeos/services/secure_channel/secure_channel_service.h"
#include "components/user_manager/user_manager.h"
#include "services/service_manager/public/mojom/interface_provider_spec.mojom.h"
@@ -9,7 +9,7 @@
#include "chrome/browser/chrome_browser_main_linux.h"
#elif defined(OS_ANDROID)
#include "base/android/application_status_listener.h"
-@@ -391,7 +391,7 @@
+@@ -412,11 +412,11 @@
#include "components/services/patch/public/interfaces/constants.mojom.h"
#endif
@@ -18,7 +18,12 @@
#include "chrome/browser/webshare/share_service_impl.h"
#endif
-@@ -413,7 +413,7 @@
+-#if defined(OS_WIN) || defined(OS_MACOSX) || \
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+ #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h"
+ #endif
+@@ -431,7 +431,7 @@
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h"
#endif
@@ -27,7 +32,7 @@
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
#endif
-@@ -1099,7 +1099,7 @@
+@@ -1101,7 +1101,7 @@
#elif defined(OS_CHROMEOS)
main_parts = new chromeos::ChromeBrowserMainPartsChromeos(
parameters, chrome_feature_list_creator_);
@@ -36,7 +41,7 @@
main_parts =
new ChromeBrowserMainPartsLinux(parameters, chrome_feature_list_creator_);
#elif defined(OS_ANDROID)
-@@ -1119,7 +1119,7 @@
+@@ -1121,7 +1121,7 @@
// Construct additional browser parts. Stages are called in the order in
// which they are added.
#if defined(TOOLKIT_VIEWS)
@@ -45,7 +50,7 @@
main_parts->AddParts(new ChromeBrowserMainExtraPartsViewsLinux());
#else
main_parts->AddParts(new ChromeBrowserMainExtraPartsViews());
-@@ -1897,7 +1897,7 @@
+@@ -1913,7 +1913,7 @@
command_line->AppendSwitchASCII(switches::kMetricsClientID,
client_info->client_id);
}
@@ -54,7 +59,7 @@
if (breakpad::IsCrashReporterEnabled()) {
std::string switch_value;
std::unique_ptr<metrics::ClientInfo> client_info =
-@@ -3411,7 +3411,7 @@
+@@ -3474,7 +3474,7 @@
}
}
@@ -63,7 +68,16 @@
void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
-@@ -4249,7 +4249,7 @@
+@@ -4207,7 +4207,7 @@
+ if (previews_lite_page_throttle)
+ throttles.push_back(std::move(previews_lite_page_throttle));
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || \
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+ std::unique_ptr<content::NavigationThrottle> browser_switcher_throttle =
+ browser_switcher::BrowserSwitcherNavigationThrottle ::
+@@ -4328,7 +4328,7 @@
#if defined(OS_ANDROID)
frame_interfaces_parameterized_->AddInterface(base::Bind(
&ForwardToJavaWebContentsRegistry<blink::mojom::ShareService>));
diff --git a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc
new file mode 100644
index 000000000000..b4a77c70207e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/download/download_item_model.cc.orig 2019-02-06 22:12:34.810575000 +0100
++++ chrome/browser/download/download_item_model.cc 2019-02-06 22:13:05.192798000 +0100
+@@ -555,7 +555,7 @@
+ return download_->GetOpenWhenComplete() ||
+ download_crx_util::IsExtensionDownload(*download_);
+ case DownloadCommands::ALWAYS_OPEN_TYPE:
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ if (download_commands->CanOpenPdfInSystemViewer()) {
+ DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
+ return prefs->ShouldOpenPdfInSystemReader();
+@@ -592,7 +592,7 @@
+ bool is_checked = IsCommandChecked(download_commands,
+ DownloadCommands::ALWAYS_OPEN_TYPE);
+ DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ if (download_commands->CanOpenPdfInSystemViewer()) {
+ prefs->SetShouldOpenPdfInSystemReader(!is_checked);
+ SetShouldPreferOpeningInBrowser(is_checked);
diff --git a/www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc b/www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc
index a96a6fb37a6a..cd7b7568b230 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_bookmark__app__helper.cc
@@ -1,6 +1,6 @@
---- chrome/browser/extensions/bookmark_app_helper.cc.orig 2018-11-19 19:55:03.000000000 +0100
-+++ chrome/browser/extensions/bookmark_app_helper.cc 2018-12-04 14:45:16.963992000 +0100
-@@ -597,7 +597,7 @@
+--- chrome/browser/extensions/bookmark_app_helper.cc.orig 2019-01-30 02:17:45.000000000 +0100
++++ chrome/browser/extensions/bookmark_app_helper.cc 2019-01-31 22:27:52.602150000 +0100
+@@ -497,7 +497,7 @@
if (create_shortcuts_) {
#if !defined(OS_CHROMEOS)
web_app::ShortcutLocations creation_locations;
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 a7bdd4c23fb6..965d8bd1b95b 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 2018-06-13 00:10:06.000000000 +0200
-+++ chrome/browser/extensions/browser_context_keyed_service_factories.cc 2018-07-15 13:15:07.666902000 +0200
-@@ -57,7 +57,7 @@
+--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2019-01-30 02:17:45.000000000 +0100
++++ chrome/browser/extensions/browser_context_keyed_service_factories.cc 2019-01-31 22:23:23.442216000 +0100
+@@ -55,7 +55,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/screenlock_private/screenlock_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
-@@ -99,7 +99,7 @@
+@@ -97,7 +97,7 @@
#if defined(OS_CHROMEOS)
extensions::InputImeAPI::GetFactoryInstance();
extensions::InputMethodAPI::GetFactoryInstance();
diff --git a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
new file mode 100644
index 000000000000..a59dcba9f5bc
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2019-02-06 22:23:27.096383000 +0100
++++ chrome/browser/policy/configuration_policy_handler_list_factory.cc 2019-02-07 00:04:06.202061000 +0100
+@@ -104,7 +104,7 @@
+ #include "chrome/browser/policy/browser_signin_policy_handler.h"
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || \
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+ #include "chrome/browser/browser_switcher/browser_switcher_prefs.h"
+ #endif
+@@ -928,7 +928,7 @@
+ prefs::kEnterpriseHardwarePlatformAPIEnabled,
+ base::Value::Type::BOOLEAN },
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || \
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+ { key::kAlternativeBrowserPath,
+ browser_switcher::prefs::kAlternativeBrowserPath,
diff --git a/www/chromium/files/patch-chrome_browser_policy_machine__level__user__cloud__policy__controller.cc b/www/chromium/files/patch-chrome_browser_policy_machine__level__user__cloud__policy__controller.cc
new file mode 100644
index 000000000000..5b596ffcec7b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_policy_machine__level__user__cloud__policy__controller.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/policy/machine_level_user_cloud_policy_controller.cc.orig 2019-02-06 22:26:05.674129000 +0100
++++ chrome/browser/policy/machine_level_user_cloud_policy_controller.cc 2019-02-06 22:26:54.109036000 +0100
+@@ -65,7 +65,7 @@
+ #endif
+ }
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ void CleanupUnusedPolicyDirectory() {
+ std::string enrollment_token =
+ BrowserDMTokenStorage::Get()->RetrieveEnrollmentToken();
+@@ -124,7 +124,7 @@
+ void MachineLevelUserCloudPolicyController::Init(
+ PrefService* local_state,
+ scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory) {
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ // This is a function that removes the directory we accidentally create due to
+ // crbug.com/880870. The directory is only removed when it's empty and
+ // enrollment token doesn't exist. This function is expected to be removed
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 000000000000..dcb18adbafc1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/prefs/browser_prefs.cc.orig 2019-02-06 22:29:40.393569000 +0100
++++ chrome/browser/prefs/browser_prefs.cc 2019-02-06 22:30:41.131808000 +0100
+@@ -313,7 +313,7 @@
+ #include "chrome/browser/safe_browsing/settings_reset_prompt/settings_reset_prompt_prefs_manager.h"
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || \
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+ #include "chrome/browser/browser_switcher/browser_switcher_prefs.h"
+ #endif
+@@ -764,7 +764,7 @@
+ safe_browsing::PostCleanupSettingsResetter::RegisterProfilePrefs(registry);
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || \
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+ browser_switcher::prefs::RegisterProfilePrefs(registry);
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_prefs_pref_service_incognito_whitelist.cc b/www/chromium/files/patch-chrome_browser_prefs_pref_service_incognito_whitelist.cc
new file mode 100644
index 000000000000..5faa4f7592dc
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_prefs_pref_service_incognito_whitelist.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/prefs/pref_service_incognito_whitelist.cc.orig 2019-01-13 01:45:22.403758000 +0100
++++ chrome/browser/prefs/pref_service_incognito_whitelist.cc 2019-01-13 01:45:47.793792000 +0100
+@@ -161,7 +161,7 @@
+ prefs::kShowFullscreenToolbar,
+ #endif
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ // Toggleing custom frames affects all open windows in the profile, hence
+ // should be written to the regular profile when changed in incognito mode.
+ prefs::kUseCustomChromeFrame,
diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc
new file mode 100644
index 000000000000..a259fdd93d14
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/profiles/profile_attributes_entry.cc.orig 2019-02-06 22:32:27.013965000 +0100
++++ chrome/browser/profiles/profile_attributes_entry.cc 2019-02-06 22:32:49.969336000 +0100
+@@ -57,7 +57,7 @@
+ if (is_force_signin_enabled_) {
+ if (!IsAuthenticated())
+ is_force_signin_profile_locked_ = true;
+-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ } else if (IsSigninRequired()) {
+ // Profiles that require signin in the absence of an enterprise policy are
+ // left-overs from legacy supervised users. Just unlock them, so users can
diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
index b3a37b548402..735016a983f1 100644
--- a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
+++ b/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
@@ -1,11 +1,11 @@
---- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
-@@ -720,7 +720,7 @@ void IncidentReportingService::OnEnvironmentDataCollec
+--- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2019-01-30 02:17:47.000000000 +0100
++++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc 2019-01-31 22:32:06.707636000 +0100
+@@ -715,7 +715,7 @@
environment_collection_pending_ = false;
- // CurrentProcessInfo::CreationTime() is missing on some platforms.
+ // Process::Current().CreationTime() is missing on some platforms.
-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
+#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
base::TimeDelta uptime =
- first_incident_time_ - base::CurrentProcessInfo::CreationTime();
+ first_incident_time_ - base::Process::Current().CreationTime();
environment_data->mutable_process()->set_uptime_msec(uptime.InMilliseconds());
diff --git a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc
new file mode 100644
index 000000000000..fcf6a9c74607
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/signin/signin_util.cc.orig 2019-02-06 22:35:27.697597000 +0100
++++ chrome/browser/signin/signin_util.cc 2019-02-06 22:35:53.931412000 +0100
+@@ -40,7 +40,7 @@
+
+ constexpr char kSignoutSettingKey[] = "signout_setting";
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ #define CAN_DELETE_PROFILE
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_browser_speech_tts__controller__impl.cc b/www/chromium/files/patch-chrome_browser_speech_tts__controller__impl.cc
deleted file mode 100644
index d8a55b4ab3ed..000000000000
--- a/www/chromium/files/patch-chrome_browser_speech_tts__controller__impl.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- chrome/browser/speech/tts_controller_impl.cc.orig 2017-04-19 19:06:30 UTC
-+++ chrome/browser/speech/tts_controller_impl.cc
-@@ -347,9 +347,13 @@ int TtsControllerImpl::QueueSize() {
- }
-
- TtsPlatformImpl* TtsControllerImpl::GetPlatformImpl() {
-+#if defined(OS_BSD)
-+ return NULL;
-+#else
- if (!platform_impl_)
- platform_impl_ = TtsPlatformImpl::GetInstance();
- return platform_impl_;
-+#endif
- }
-
- int TtsControllerImpl::GetMatchingVoice(
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
index 8984c6713b5b..b8db0cfbd445 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
@@ -1,8 +1,8 @@
---- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/browser/task_manager/sampling/task_group_sampler.cc
-@@ -36,9 +36,9 @@ TaskGroupSampler::TaskGroupSampler(
+--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2019-01-30 02:17:47.000000000 +0100
++++ chrome/browser/task_manager/sampling/task_group_sampler.cc 2019-02-06 22:39:09.250640000 +0100
+@@ -42,9 +42,9 @@
const OnCpuRefreshCallback& on_cpu_refresh,
- const OnMemoryRefreshCallback& on_memory_refresh,
+ const OnSwappedMemRefreshCallback& on_swapped_mem_refresh,
const OnIdleWakeupsCallback& on_idle_wakeups,
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
@@ -12,9 +12,9 @@
const OnProcessPriorityCallback& on_process_priority)
: process_(std::move(process)),
process_metrics_(CreateProcessMetrics(process_.Handle())),
-@@ -46,9 +46,9 @@ TaskGroupSampler::TaskGroupSampler(
+@@ -52,9 +52,9 @@
on_cpu_refresh_callback_(on_cpu_refresh),
- on_memory_refresh_callback_(on_memory_refresh),
+ on_swapped_mem_refresh_callback_(on_swapped_mem_refresh),
on_idle_wakeups_callback_(on_idle_wakeups),
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
@@ -24,8 +24,8 @@
on_process_priority_callback_(on_process_priority) {
DCHECK(blocking_pool_runner.get());
-@@ -80,7 +80,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
- on_memory_refresh_callback_);
+@@ -85,7 +85,7 @@
+ on_swapped_mem_refresh_callback_);
}
-#if defined(OS_MACOSX) || defined(OS_LINUX)
@@ -33,12 +33,40 @@
if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS,
refresh_flags)) {
base::PostTaskAndReplyWithResult(
-@@ -89,7 +89,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
+@@ -94,9 +94,9 @@
base::Bind(&TaskGroupSampler::RefreshIdleWakeupsPerSecond, this),
on_idle_wakeups_callback_);
}
-#endif // defined(OS_MACOSX) || defined(OS_LINUX)
+#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- #if defined(OS_LINUX)
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT,
+ refresh_flags)) {
+ base::PostTaskAndReplyWithResult(
+@@ -105,7 +105,7 @@
+ base::Bind(&TaskGroupSampler::RefreshOpenFdCount, this),
+ on_open_fd_count_callback_);
+ }
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_PRIORITY,
+ refresh_flags)) {
+@@ -144,13 +144,13 @@
+ return process_metrics_->GetIdleWakeupsPerSecond();
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ int TaskGroupSampler::RefreshOpenFdCount() {
+ DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
+
+ return process_metrics_->GetOpenFdCount();
+ }
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ bool TaskGroupSampler::RefreshProcessPriority() {
+ DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
diff --git a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
index f5285da6dd88..f15c10d0ee5f 100644
--- a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
@@ -1,6 +1,15 @@
---- chrome/browser/ui/tab_helpers.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/browser/ui/tab_helpers.cc
-@@ -258,7 +258,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
+--- chrome/browser/ui/tab_helpers.cc.orig 2019-01-30 02:17:48.000000000 +0100
++++ chrome/browser/ui/tab_helpers.cc 2019-02-02 00:32:46.587950000 +0100
+@@ -117,7 +117,7 @@
+ #include "components/zoom/zoom_controller.h"
+ #endif // defined(OS_ANDROID)
+
+-#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/ui/blocked_content/framebust_block_tab_helper.h"
+ #include "chrome/browser/ui/hats/hats_helper.h"
+ #endif
+@@ -311,11 +311,11 @@
#endif
#if defined(OS_WIN) || defined(OS_MACOSX) || \
@@ -9,3 +18,8 @@
metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents);
#endif
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ if (base::FeatureList::IsEnabled(
+ features::kHappinessTrackingSurveysForDesktop)) {
+ HatsHelper::CreateForWebContents(web_contents);
diff --git a/www/chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc b/www/chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc
index af1b89bc1dcd..1eaed6420b64 100644
--- a/www/chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc
@@ -1,9 +1,9 @@
---- chrome/browser/ui/toolbar/app_menu_model.cc.orig 2017-06-05 19:03:03 UTC
-+++ chrome/browser/ui/toolbar/app_menu_model.cc
-@@ -619,7 +619,7 @@ bool AppMenuModel::IsCommandIdVisible(int command_id)
- case IDC_UPGRADE_DIALOG:
- return browser_defaults::kShowUpgradeMenuItem &&
- UpgradeDetector::GetInstance()->notify_upgrade();
+--- chrome/browser/ui/toolbar/app_menu_model.cc.orig 2019-01-30 02:17:48.000000000 +0100
++++ chrome/browser/ui/toolbar/app_menu_model.cc 2019-01-31 23:16:29.559467000 +0100
+@@ -664,7 +664,7 @@
+ return app_menu_icon_controller_->GetTypeAndSeverity().type ==
+ AppMenuIconController::IconType::UPGRADE_NOTIFICATION;
+ }
-#if !defined(OS_LINUX) || defined(USE_AURA)
+#if (!defined(OS_LINUX) && !defined(OS_BSD)) || defined(USE_AURA)
case IDC_BOOKMARK_PAGE:
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
new file mode 100644
index 000000000000..87f8e9aab746
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/views/frame/browser_view.cc.orig 2019-02-06 22:42:13.515085000 +0100
++++ chrome/browser/ui/views/frame/browser_view.cc 2019-02-06 22:43:58.340147000 +0100
+@@ -1255,7 +1255,7 @@
+ }
+
+ void BrowserView::DestroyBrowser() {
+-#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ if (quit_instruction_bubble_controller_) {
+ GetWidget()->GetNativeView()->RemovePreTargetHandler(
+ quit_instruction_bubble_controller_.get());
+@@ -2089,7 +2089,7 @@
+ }
+
+ void BrowserView::OnWidgetDestroying(views::Widget* widget) {
+-#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ if (quit_instruction_bubble_controller_) {
+ GetWidget()->GetNativeView()->RemovePreTargetHandler(
+ quit_instruction_bubble_controller_.get());
+@@ -2435,7 +2435,7 @@
+ GetWidget()->SetNativeWindowProperty(Profile::kProfileKey,
+ browser_->profile());
+
+-#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ if (browser_->SupportsWindowFeature(Browser::FEATURE_TOOLBAR)) {
+ quit_instruction_bubble_controller_ =
+ QuitInstructionBubbleController::GetInstance();
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.h
new file mode 100644
index 000000000000..877ceb60236b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.h
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/frame/browser_view.h.orig 2019-02-06 22:45:00.117437000 +0100
++++ chrome/browser/ui/views/frame/browser_view.h 2019-02-06 22:46:12.076822000 +0100
+@@ -49,7 +49,7 @@
+ #include "chrome/browser/ui/views/intent_picker_bubble_view.h"
+ #endif // defined(OS_CHROMEOS)
+
+-#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ #include "chrome/browser/ui/views/quit_instruction_bubble_controller.h"
+ #endif
+
+@@ -833,7 +833,7 @@
+ };
+ base::Optional<ResizeSession> interactive_resize_;
+
+-#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ scoped_refptr<QuitInstructionBubbleController>
+ quit_instruction_bubble_controller_;
+ #endif
diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.cc b/www/chromium/files/patch-chrome_common_chrome__switches.cc
index 5519c40a725b..7b88305058a8 100644
--- a/www/chromium/files/patch-chrome_common_chrome__switches.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__switches.cc
@@ -1,7 +1,7 @@
---- chrome/common/chrome_switches.cc.orig 2018-02-24 16:25:10.000000000 +0100
-+++ chrome/common/chrome_switches.cc 2018-03-03 22:30:18.421438000 +0100
-@@ -998,12 +998,12 @@
- const char kEnableWaylandServer[] = "enable-wayland-server";
+--- chrome/common/chrome_switches.cc.orig 2019-01-30 02:17:48.000000000 +0100
++++ chrome/common/chrome_switches.cc 2019-01-31 23:25:33.468702000 +0100
+@@ -940,12 +940,12 @@
+ const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api";
#endif
-#if defined(OS_WIN) || defined(OS_LINUX)
diff --git a/www/chromium/files/patch-chrome_common_features.gni b/www/chromium/files/patch-chrome_common_features.gni
index cc70d4ab4afb..14c5fa50230a 100644
--- a/www/chromium/files/patch-chrome_common_features.gni
+++ b/www/chromium/files/patch-chrome_common_features.gni
@@ -1,20 +1,14 @@
---- 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)
+--- chrome/common/features.gni.orig 2019-01-30 02:17:49.000000000 +0100
++++ chrome/common/features.gni 2019-01-31 23:22:21.293971000 +0100
+@@ -41,9 +41,9 @@
+ (is_desktop_linux && use_dbus) || is_chromeos
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)
- # 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
+- enable_service_discovery = (enable_mdns && !is_android && !is_ios) || is_mac
++ enable_service_discovery = (enable_mdns && !is_android && !is_ios) || 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-chromecast_browser_tts_tts__controller__impl.cc b/www/chromium/files/patch-chromecast_browser_tts_tts__controller__impl.cc
new file mode 100644
index 000000000000..b629aa7fce3e
--- /dev/null
+++ b/www/chromium/files/patch-chromecast_browser_tts_tts__controller__impl.cc
@@ -0,0 +1,14 @@
+--- chromecast/browser/tts/tts_controller_impl.cc.orig 2019-01-31 23:07:11.992155000 +0100
++++ chromecast/browser/tts/tts_controller_impl.cc 2019-01-31 23:08:40.991798000 +0100
+@@ -390,7 +390,11 @@
+ }
+
+ TtsPlatformImpl* TtsControllerImpl::GetPlatformImpl() {
++#if defined(OS_BSD)
++ return NULL;
++#else
+ return platform_impl_.get();
++#endif // defined(OS_BSD)
+ }
+
+ std::string TtsControllerImpl::GetApplicationLocale() const {
diff --git a/www/chromium/files/patch-components_crash_content_app_crashpad.cc b/www/chromium/files/patch-components_crash_content_app_crashpad.cc
index 2fb251a44e96..e308120bc123 100644
--- a/www/chromium/files/patch-components_crash_content_app_crashpad.cc
+++ b/www/chromium/files/patch-components_crash_content_app_crashpad.cc
@@ -1,8 +1,8 @@
---- components/crash/content/app/crashpad.cc.orig 2018-08-01 00:08:38.000000000 +0200
-+++ components/crash/content/app/crashpad.cc 2018-08-05 12:57:33.862455000 +0200
-@@ -101,6 +101,12 @@
- const std::string& user_data_dir,
+--- components/crash/content/app/crashpad.cc.orig 2019-01-30 02:17:53.000000000 +0100
++++ components/crash/content/app/crashpad.cc 2019-01-31 23:31:14.742328000 +0100
+@@ -102,6 +102,12 @@
const base::FilePath& exe_path,
+ const std::vector<std::string>& initial_arguments,
bool embedded_handler) {
+
+#if defined(OS_BSD)
@@ -13,16 +13,16 @@
static bool initialized = false;
DCHECK(!initialized);
initialized = true;
-@@ -119,7 +125,7 @@
- // as processed by the backend.
+@@ -121,7 +127,7 @@
DCHECK(browser_process || process_type == "Chrome Installer" ||
- process_type == "notification-helper");
+ process_type == "notification-helper" ||
+ process_type == "GCPW Installer" || process_type == "GCPW DLL");
-#elif defined(OS_LINUX) || defined(OS_ANDROID)
+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
DCHECK(browser_process);
#else
#error Port.
-@@ -184,7 +190,7 @@
+@@ -186,7 +192,7 @@
// other "main, first process" to initialize things. There is no "relauncher"
// on Windows, so this is synonymous with initial_client.
const bool should_initialize_database_and_set_upload_policy = initial_client;
@@ -31,7 +31,7 @@
const bool should_initialize_database_and_set_upload_policy = browser_process;
#endif
if (should_initialize_database_and_set_upload_policy) {
-@@ -253,7 +259,9 @@
+@@ -265,7 +271,9 @@
}
void DumpWithoutCrashing() {
diff --git a/www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc b/www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc
index cb164c4458c0..e84e7720e986 100644
--- a/www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc
+++ b/www/chromium/files/patch-components_download_quarantine_quarantine_linux.cc
@@ -1,5 +1,5 @@
---- components/download/quarantine/quarantine_linux.cc.orig 2018-12-03 21:16:48.000000000 +0100
-+++ components/download/quarantine/quarantine_linux.cc 2018-12-13 18:59:24.718194000 +0100
+--- components/download/quarantine/quarantine_linux.cc.orig 2019-01-30 02:17:53.000000000 +0100
++++ components/download/quarantine/quarantine_linux.cc 2019-01-31 23:40:46.073321000 +0100
@@ -2,11 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -16,18 +16,21 @@
#include "base/files/file_path.h"
#include "base/logging.h"
-@@ -24,12 +28,14 @@
- size_t value_size,
+@@ -25,7 +29,7 @@
int flags) {
+ // On Chrome OS, there is no component that can validate these extended
+ // attributes so there is no need to set them.
+-#if !defined(OS_CHROMEOS)
++#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
base::ScopedBlockingCall scoped_blocking_call(base::BlockingType::MAY_BLOCK);
-+#if !defined(OS_BSD)
int result = setxattr(path, name, value, value_size, flags);
if (result) {
- DPLOG(ERROR) << "Could not set extended attribute " << name << " on file "
+@@ -33,7 +37,7 @@
<< path;
return false;
}
-+#endif // defined(OS_BSD)
+-#endif // !defined(OS_CHROMEOS)
++#endif // !defined(OS_CHROMEOS) && !defined(OS_BSD)
return true;
}
diff --git a/www/chromium/files/patch-components_download_quarantine_test_support_linux.cc b/www/chromium/files/patch-components_download_quarantine_test_support_linux.cc
index d6961733ca10..776c045b12c3 100644
--- a/www/chromium/files/patch-components_download_quarantine_test_support_linux.cc
+++ b/www/chromium/files/patch-components_download_quarantine_test_support_linux.cc
@@ -1,13 +1,13 @@
---- components/download/quarantine/test_support_linux.cc.orig 2018-12-13 19:01:53.437126000 +0100
-+++ components/download/quarantine/test_support_linux.cc 2018-12-13 19:02:49.728978000 +0100
-@@ -22,6 +22,7 @@
+--- components/download/quarantine/test_support_linux.cc.orig 2019-01-30 02:17:53.000000000 +0100
++++ components/download/quarantine/test_support_linux.cc 2019-01-31 23:56:27.334442000 +0100
+@@ -21,6 +21,7 @@
+ namespace {
std::string GetExtendedFileAttribute(const char* path, const char* name) {
- base::AssertBlockingAllowed();
+#if !defined(OS_BSD)
+ base::ScopedBlockingCall scoped_blocking_call(base::BlockingType::MAY_BLOCK);
ssize_t len = getxattr(path, name, nullptr, 0);
if (len <= 0)
- return std::string();
@@ -31,6 +32,9 @@
if (len < static_cast<ssize_t>(buffer.size()))
return std::string();
diff --git a/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc b/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc
index f188f9ef0136..b8b0babc15ec 100644
--- a/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc
+++ b/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc
@@ -1,14 +1,14 @@
---- components/plugins/renderer/plugin_placeholder.cc.orig 2018-06-13 00:10:13.000000000 +0200
-+++ components/plugins/renderer/plugin_placeholder.cc 2018-07-19 00:02:51.619981000 +0200
-@@ -11,7 +11,11 @@
- #include "gin/object_template_builder.h"
- #include "third_party/blink/public/web/web_element.h"
+--- components/plugins/renderer/plugin_placeholder.cc.orig 2019-01-30 02:17:54.000000000 +0100
++++ components/plugins/renderer/plugin_placeholder.cc 2019-02-01 00:04:53.895073000 +0100
+@@ -17,7 +17,11 @@
#include "third_party/blink/public/web/web_plugin_container.h"
+ #include "third_party/blink/public/web/web_script_source.h"
+ #include "third_party/blink/public/web/web_serialized_script_value.h"
+#if defined(OS_BSD)
+#include <re2/re2.h>
+#else
#include "third_party/re2/src/re2/re2.h"
-+#endif
++#endif // defined(OS_BSD)
namespace plugins {
diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
new file mode 100644
index 000000000000..53bd6bd31185
--- /dev/null
+++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
@@ -0,0 +1,73 @@
+--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2019-02-06 22:50:06.437715000 +0100
++++ components/policy/core/common/cloud/cloud_policy_util.cc 2019-02-07 01:42:29.673954000 +0100
+@@ -16,7 +16,7 @@
+ #include <wincred.h>
+ #endif
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_MACOSX)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD)
+ #include <pwd.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+@@ -28,7 +28,7 @@
+ #include <sys/sysctl.h>
+ #endif
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ #include <limits.h> // For HOST_NAME_MAX
+ #endif
+
+@@ -51,7 +51,7 @@
+ #include "base/system/sys_info.h"
+ #endif
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ #include "base/system/sys_info.h"
+ #endif
+
+@@ -60,11 +60,24 @@
+ namespace em = enterprise_management;
+
+ std::string GetMachineName() {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+ char hostname[HOST_NAME_MAX];
+ if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
+ return hostname;
+ return std::string();
++#elif defined(OS_BSD)
++ long host_name_max = sysconf(_SC_HOST_NAME_MAX);
++ if (host_name_max != -1) {
++ char *hostname = new char[host_name_max + 1]();
++ std::string hostname_r;
++
++ if (gethostname(hostname, host_name_max) == 0)
++ hostname_r = hostname;
++
++ delete[] hostname;
++ return hostname_r;
++ }
++ return std::string();
+ #elif defined(OS_MACOSX)
+ // Do not use NSHost currentHost, as it's very slow. http://crbug.com/138570
+ SCDynamicStoreContext context = {0, NULL, NULL, NULL};
+@@ -110,7 +123,7 @@
+ }
+
+ std::string GetOSVersion() {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_MACOSX)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD)
+ return base::SysInfo::OperatingSystemVersion();
+ #elif defined(OS_WIN)
+ base::win::OSInfo::VersionNumber version_number =
+@@ -133,7 +146,7 @@
+ }
+
+ std::string GetOSUsername() {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_MACOSX)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD)
+ struct passwd* creds = getpwuid(getuid());
+ if (!creds || !creds->pw_name)
+ return std::string();
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 6b28081bfabd..0f7d9a7f4926 100644
--- a/www/chromium/files/patch-components_policy_resources_policy__templates.json
+++ b/www/chromium/files/patch-components_policy_resources_policy__templates.json
@@ -1,83 +1,83 @@
---- components/policy/resources/policy_templates.json.orig 2018-02-24 16:25:13.000000000 +0100
-+++ components/policy/resources/policy_templates.json 2018-03-03 23:01:15.812578000 +0100
-@@ -593,7 +593,7 @@
+--- components/policy/resources/policy_templates.json.orig 2019-02-06 23:06:41.000000000 +0100
++++ components/policy/resources/policy_templates.json 2019-02-08 20:46:39.627324000 +0100
+@@ -723,7 +723,7 @@
'name': 'HomepageLocation',
'type': 'string',
'schema': { 'type': 'string' },
- 'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
-+ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.bsd:9-'],
++ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.freebsd:9-'],
'features': {
'can_be_recommended': True,
'dynamic_refresh': True,
-@@ -621,7 +621,7 @@
+@@ -751,7 +751,7 @@
'name': 'HomepageIsNewTabPage',
'type': 'main',
'schema': { 'type': 'boolean' },
- 'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
-+ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.bsd:9-'],
++ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.freebsd:9-'],
'features': {
'can_be_recommended': True,
'dynamic_refresh': True,
-@@ -648,7 +648,7 @@
+@@ -778,7 +778,7 @@
'name': 'NewTabPageLocation',
'type': 'string',
'schema': { 'type': 'string' },
- 'supported_on': ['chrome.*:58-', 'chrome_os:58-'],
-+ 'supported_on': ['chrome.*:58-', 'chrome_os:58-', 'chrome.bsd:9-'],
++ 'supported_on': ['chrome.*:58-', 'chrome_os:58-', 'chrome.freebsd:9-'],
'features': {
'can_be_recommended': True,
'dynamic_refresh': True,
-@@ -1339,7 +1339,7 @@
+@@ -1471,7 +1471,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.mac:25-', 'chrome_os:42-', 'chrome.bsd:25-'],
++ 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome_os:42-', 'chrome.freebsd:25-'],
'features': {
'dynamic_refresh': True,
'per_profile': False,
-@@ -2567,7 +2567,7 @@
+@@ -2946,7 +2946,7 @@
'name': 'GSSAPILibraryName',
'type': 'string',
'schema': { 'type': 'string' },
- 'supported_on': ['chrome.linux:9-'],
-+ 'supported_on': ['chrome.linux:9-', 'chrome.bsd:9-'],
++ 'supported_on': ['chrome.linux:9-', 'chrome.freebsd:9-'],
'features': {
'dynamic_refresh': False,
'per_profile': False,
-@@ -2619,7 +2619,7 @@
+@@ -2998,7 +2998,7 @@
'name': 'NtlmV2Enabled',
'type': 'main',
'schema': { 'type': 'boolean' },
- 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-'],
-+ 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-', 'chrome.bsd:63-'],
++ 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-', 'chrome.freebsd:63-'],
'features': {
'dynamic_refresh': True,
'per_profile': False,
-@@ -5229,7 +5229,7 @@
+@@ -5989,7 +5989,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.win:30-', 'chrome.bsd:30-'],
++ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-', 'chrome.freebsd:30-'],
'features': {
'dynamic_refresh': True,
'per_profile': False,
-@@ -6157,7 +6157,7 @@
+@@ -7058,7 +7058,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.bsd:19-'],
++ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.freebsd:19-'],
'features': {
'can_be_recommended': True,
'dynamic_refresh': True,
-@@ -6669,7 +6669,7 @@
+@@ -7573,7 +7573,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.bsd: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 902948b771fc..e2338585ebf0 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,20 +1,20 @@
---- components/policy/tools/generate_policy_source.py.orig 2017-12-15 02:04:15.000000000 +0100
-+++ components/policy/tools/generate_policy_source.py 2017-12-24 12:04:08.751317000 +0100
-@@ -91,7 +91,7 @@
- raise RuntimeError('is_device_only is only allowed for Chrome OS: "%s"'
- % p)
- if platform not in ['chrome_frame', 'chrome_os',
-- 'android', 'webview_android',
-+ 'android', 'webview_android', 'chrome.bsd',
- 'chrome.win', 'chrome.linux', 'chrome.mac',
- 'chrome.fuchsia', 'chrome.*']:
+--- components/policy/tools/generate_policy_source.py.orig 2019-02-06 23:06:41.000000000 +0100
++++ components/policy/tools/generate_policy_source.py 2019-02-08 20:44:33.267121000 +0100
+@@ -85,7 +85,7 @@
+ if platform not in [
+ 'chrome_frame', 'chrome_os', 'android', 'webview_android',
+ 'chrome.win', 'chrome.linux', 'chrome.mac', 'chrome.fuchsia',
+- 'chrome.*'
++ 'chrome.freebsd', 'chrome.*'
+ ]:
raise RuntimeError('Platform "%s" is not supported' % platform)
-@@ -111,7 +111,7 @@
+
+@@ -104,7 +104,7 @@
if platform.startswith('chrome.'):
platform_sub = platform[7:]
if platform_sub == '*':
- self.platforms.extend(['win', 'mac', 'linux', 'fuchsia'])
-+ self.platforms.extend(['win', 'mac', 'linux', 'fuchsia', 'bsd'])
++ self.platforms.extend(['win', 'mac', 'linux', 'fuchsia', 'freebsd'])
else:
self.platforms.append(platform_sub)
else:
diff --git a/www/chromium/files/patch-content_app_content_main_runner_impl.cc b/www/chromium/files/patch-content_app_content_main_runner_impl.cc
index 49f03c90bd0a..d68928a7b50f 100644
--- a/www/chromium/files/patch-content_app_content_main_runner_impl.cc
+++ b/www/chromium/files/patch-content_app_content_main_runner_impl.cc
@@ -1,6 +1,6 @@
---- content/app/content_main_runner_impl.cc.orig 2018-12-03 21:16:54.000000000 +0100
-+++ content/app/content_main_runner_impl.cc 2018-12-13 20:19:01.539883000 +0100
-@@ -90,10 +90,10 @@
+--- content/app/content_main_runner_impl.cc.orig 2019-01-30 02:17:57.000000000 +0100
++++ content/app/content_main_runner_impl.cc 2019-02-06 23:01:02.842834000 +0100
+@@ -91,17 +91,17 @@
#include "base/posix/global_descriptors.h"
#include "content/public/common/content_descriptors.h"
@@ -13,7 +13,24 @@
#include "sandbox/linux/services/libc_interceptor.h"
#include "services/service_manager/zygote/zygote_main.h"
#endif
-@@ -627,11 +627,11 @@
+
+ #endif // OS_POSIX || OS_FUCHSIA
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/native_library.h"
+ #include "base/rand_util.h"
+ #include "services/service_manager/zygote/common/common_sandbox_support_linux.h"
+@@ -307,7 +307,7 @@
+ }
+ #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+
+ #if BUILDFLAG(ENABLE_PLUGINS)
+ // Loads the (native) libraries but does not initialize them (i.e., does not
+@@ -635,11 +635,11 @@
base::GlobalDescriptors::kBaseDescriptor);
#endif // !OS_ANDROID
diff --git a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
index 785985154db1..1a5c389a8f8c 100644
--- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
+++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
@@ -1,6 +1,6 @@
---- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2018-12-12 22:56:07.000000000 +0100
-+++ content/browser/scheduler/responsiveness/native_event_observer.cc 2018-12-29 17:27:50.449973000 +0100
-@@ -17,7 +17,7 @@
+--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2019-01-30 02:17:59.000000000 +0100
++++ content/browser/scheduler/responsiveness/native_event_observer.cc 2019-02-01 00:19:02.237926000 +0100
+@@ -15,7 +15,7 @@
#include "ui/events/platform/platform_event_source.h"
@@ -9,16 +9,7 @@
#include "ui/aura/env.h"
#include "ui/events/event.h"
#endif
-@@ -29,7 +29,7 @@
- namespace content {
- namespace responsiveness {
-
--#if defined(OS_WIN) || (defined(OS_LINUX) && defined(USE_X11))
-+#if defined(OS_WIN) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_X11))
-
- namespace {
-
-@@ -64,7 +64,7 @@
+@@ -39,7 +39,7 @@
DeregisterObserver();
}
@@ -27,3 +18,12 @@
void NativeEventObserver::RegisterObserver() {
aura::Env::GetInstance()->AddWindowEventDispatcherObserver(this);
}
+@@ -61,7 +61,7 @@
+ did_run_event_callback_.Run(info.unique_id);
+ events_being_processed_.pop_back();
+ }
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ void NativeEventObserver::RegisterObserver() {
diff --git a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
index da769ebf4840..02993aea0da5 100644
--- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
+++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
@@ -1,6 +1,6 @@
---- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2018-12-12 22:56:07.000000000 +0100
-+++ content/browser/scheduler/responsiveness/native_event_observer.h 2018-12-30 00:51:50.166518000 +0100
-@@ -15,7 +15,7 @@
+--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2019-01-30 02:17:59.000000000 +0100
++++ content/browser/scheduler/responsiveness/native_event_observer.h 2019-02-01 00:24:39.349687000 +0100
+@@ -14,7 +14,7 @@
#include "content/public/browser/native_event_processor_observer_mac.h"
#endif
@@ -9,7 +9,7 @@
#include "ui/aura/window_event_dispatcher_observer.h"
#endif
-@@ -40,7 +40,7 @@
+@@ -39,7 +39,7 @@
class CONTENT_EXPORT NativeEventObserver
#if defined(OS_MACOSX)
: public NativeEventProcessorObserver
@@ -18,7 +18,7 @@
: public aura::WindowEventDispatcherObserver
#elif defined(OS_WIN)
: public base::MessagePumpForUI::Observer
-@@ -60,7 +60,7 @@
+@@ -56,7 +56,7 @@
NativeEventObserver(WillRunEventCallback will_run_event_callback,
DidRunEventCallback did_run_event_callback);
@@ -27,16 +27,16 @@
~NativeEventObserver() override;
#else
virtual ~NativeEventObserver();
-@@ -73,7 +73,7 @@
+@@ -68,7 +68,7 @@
+ // Exposed for tests.
void WillRunNativeEvent(const void* opaque_identifier) override;
- void DidRunNativeEvent(const void* opaque_identifier,
- base::TimeTicks creation_time) override;
+ void DidRunNativeEvent(const void* opaque_identifier) override;
-#elif defined(OS_LINUX)
+#elif defined(OS_LINUX) || defined(OS_BSD)
// aura::WindowEventDispatcherObserver overrides:
void OnWindowEventDispatcherStartedProcessing(
aura::WindowEventDispatcher* dispatcher,
-@@ -90,7 +90,7 @@
+@@ -85,7 +85,7 @@
void RegisterObserver();
void DeregisterObserver();
@@ -44,4 +44,4 @@
+#if defined(OS_LINUX) || defined(OS_BSD)
struct EventInfo {
const void* unique_id;
- base::TimeTicks creation_time;
+ };
diff --git a/www/chromium/files/patch-content_browser_service__manager_service__manager__context.cc b/www/chromium/files/patch-content_browser_service__manager_service__manager__context.cc
new file mode 100644
index 000000000000..fec40e1a7351
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_service__manager_service__manager__context.cc
@@ -0,0 +1,29 @@
+--- content/browser/service_manager/service_manager_context.cc.orig 2019-02-06 19:17:17.245963000 +0100
++++ content/browser/service_manager/service_manager_context.cc 2019-02-06 19:18:30.535127000 +0100
+@@ -100,7 +100,7 @@
+ #include "ui/aura/env.h"
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "components/services/font/font_service_app.h"
+ #include "components/services/font/public/interfaces/constants.mojom.h"
+ #endif
+@@ -436,7 +436,7 @@
+ BrowserMainLoop::GetAudioManager(), std::move(request)));
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void CreateFontService(service_manager::mojom::ServiceRequest request) {
+ // The font service owns itself here, deleting on self-termination.
+ auto service =
+@@ -700,7 +700,7 @@
+ out_of_process_services[data_decoder::mojom::kServiceName] =
+ base::BindRepeating(&base::ASCIIToUTF16, "Data Decoder Service");
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ packaged_services_connection_->AddServiceRequestHandler(
+ font_service::mojom::kServiceName,
+ base::BindRepeating([](service_manager::mojom::ServiceRequest request) {
diff --git a/www/chromium/files/patch-content_browser_service_worker_service_worker_fetch_dispatcher.cc b/www/chromium/files/patch-content_browser_service_worker_service_worker_fetch_dispatcher.cc
deleted file mode 100644
index 186da10fe523..000000000000
--- a/www/chromium/files/patch-content_browser_service_worker_service_worker_fetch_dispatcher.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/service_worker/service_worker_fetch_dispatcher.cc.orig 2019-01-09 21:08:27.096726000 +0100
-+++ content/browser/service_worker/service_worker_fetch_dispatcher.cc 2019-01-09 21:09:45.655612000 +0100
-@@ -625,7 +625,7 @@
- network::ResourceRequest request;
- request.method = original_request->method();
- request.url = original_request->url();
-- // TODO(horo): Set site_for_cookies to support Same-site Cookies.
-+ request.site_for_cookies = original_request->site_for_cookies();
- request.request_initiator =
- original_request->initiator().has_value()
- ? original_request->initiator()
diff --git a/www/chromium/files/patch-content_browser_webui_shared__resources__data__source.cc b/www/chromium/files/patch-content_browser_webui_shared__resources__data__source.cc
new file mode 100644
index 000000000000..5c64d2d2a978
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_webui_shared__resources__data__source.cc
@@ -0,0 +1,14 @@
+--- content/browser/webui/shared_resources_data_source.cc.orig 2019-02-06 23:05:16.881256000 +0100
++++ content/browser/webui/shared_resources_data_source.cc 2019-02-06 23:05:49.834217000 +0100
+@@ -73,9 +73,9 @@
+ return std::map<int, std::string> {
+ {IDR_MOJO_MOJO_BINDINGS_JS, "js/mojo_bindings.js"},
+ {IDR_MOJO_MOJO_BINDINGS_LITE_JS, "js/mojo_bindings_lite.js"},
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ {IDR_MOJO_TIME_MOJOM_JS, "js/time.mojom.js"},
+-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ };
+ }
+
diff --git a/www/chromium/files/patch-content_gpu_BUILD.gn b/www/chromium/files/patch-content_gpu_BUILD.gn
index 66bc40d92c15..07e763b7ad0a 100644
--- a/www/chromium/files/patch-content_gpu_BUILD.gn
+++ b/www/chromium/files/patch-content_gpu_BUILD.gn
@@ -1,6 +1,6 @@
---- content/gpu/BUILD.gn.orig 2018-06-13 00:10:17.000000000 +0200
-+++ content/gpu/BUILD.gn 2018-07-19 12:07:20.670815000 +0200
-@@ -127,7 +127,7 @@
+--- content/gpu/BUILD.gn.orig 2019-01-04 22:49:40.191544000 +0100
++++ content/gpu/BUILD.gn 2019-01-04 22:50:06.857572000 +0100
+@@ -131,7 +131,7 @@
# Use DRI on desktop Linux builds.
if (current_cpu != "s390x" && current_cpu != "ppc64" && is_desktop_linux &&
diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
index b6f57f8b006d..4544face56c0 100644
--- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
+++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
@@ -1,25 +1,16 @@
---- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2018-12-29 00:39:49.705019000 +0100
-+++ content/ppapi_plugin/ppapi_blink_platform_impl.cc 2018-12-29 00:41:23.442527000 +0100
-@@ -40,7 +40,7 @@
+--- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2019-01-30 02:17:59.000000000 +0100
++++ content/ppapi_plugin/ppapi_blink_platform_impl.cc 2019-02-01 00:41:49.296005000 +0100
+@@ -36,7 +36,7 @@
+
+ namespace content {
- class PpapiBlinkPlatformImpl::SandboxSupport : public WebSandboxSupport {
- public:
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- explicit SandboxSupport(sk_sp<font_service::FontLoader> font_loader)
- : font_loader_(std::move(font_loader)) {}
- #endif
-@@ -48,7 +48,7 @@
- #if defined(OS_MACOSX)
- bool LoadFont(CTFontRef srcFont, CGFontRef* out, uint32_t* fontID) override;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- SandboxSupport();
- void GetFallbackFontForCharacter(
- WebUChar32 character,
-@@ -140,7 +140,7 @@
- #endif // !defined(OS_ANDROID) && !defined(OS_WIN)
+ class PpapiBlinkPlatformImpl::SandboxSupport : public WebSandboxSupport {
+ public:
+@@ -118,7 +118,7 @@
+ #endif
PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() {
-#if defined(OS_LINUX)
@@ -27,3 +18,21 @@
font_loader_ =
sk_make_sp<font_service::FontLoader>(ChildThread::Get()->GetConnector());
SkFontConfigInterface::SetGlobal(font_loader_);
+@@ -134,7 +134,7 @@
+ }
+
+ void PpapiBlinkPlatformImpl::Shutdown() {
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ // SandboxSupport contains a map of OutOfProcessFont objects, which hold
+ // WebStrings and WebVectors, which become invalidated when blink is shut
+ // down. Hence, we need to clear that map now, just before blink::shutdown()
+@@ -144,7 +144,7 @@
+ }
+
+ blink::WebSandboxSupport* PpapiBlinkPlatformImpl::GetSandboxSupport() {
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ return sandbox_support_.get();
+ #else
+ return nullptr;
diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
index 8d5c0dd793b1..ba5605a56402 100644
--- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
+++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
@@ -1,5 +1,5 @@
---- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2018-12-29 00:40:09.590096000 +0100
-+++ content/ppapi_plugin/ppapi_blink_platform_impl.h 2018-12-29 00:41:23.439801000 +0100
+--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2019-01-30 02:17:59.000000000 +0100
++++ content/ppapi_plugin/ppapi_blink_platform_impl.h 2019-02-01 00:52:30.911304000 +0100
@@ -13,7 +13,7 @@
#include "build/build_config.h"
#include "content/child/blink_platform_impl.h"
@@ -9,12 +9,17 @@
#include "components/services/font/public/cpp/font_loader.h"
#include "third_party/skia/include/core/SkRefCnt.h"
#endif
-@@ -47,7 +47,7 @@
- std::unique_ptr<SandboxSupport> sandbox_support_;
+@@ -42,11 +42,11 @@
+ bool sync_dir) override;
+
+ private:
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
#endif
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
+ class SandboxSupport;
sk_sp<font_service::FontLoader> font_loader_;
#endif
-
diff --git a/www/chromium/files/patch-content_ppapi_plugin_ppapi_plugin_main.cc b/www/chromium/files/patch-content_ppapi_plugin_ppapi_plugin_main.cc
deleted file mode 100644
index e38610fc080b..000000000000
--- a/www/chromium/files/patch-content_ppapi_plugin_ppapi_plugin_main.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2018-02-24 16:25:14.000000000 +0100
-+++ content/ppapi_plugin/ppapi_plugin_main.cc 2018-03-04 01:29:08.347119000 +0100
-@@ -125,6 +125,8 @@
- service_manager::SandboxTypeFromCommandLine(command_line),
- service_manager::SandboxLinux::PreSandboxHook(),
- service_manager::SandboxLinux::Options());
-+#elif defined(OS_BSD)
-+ NOTIMPLEMENTED();
- #endif
-
- ChildProcess ppapi_process;
diff --git a/www/chromium/files/patch-content_renderer_media_audio_audio__device__factory.cc b/www/chromium/files/patch-content_renderer_media_audio_audio__device__factory.cc
new file mode 100644
index 000000000000..b07f06e41d0f
--- /dev/null
+++ b/www/chromium/files/patch-content_renderer_media_audio_audio__device__factory.cc
@@ -0,0 +1,11 @@
+--- content/renderer/media/audio/audio_device_factory.cc.orig 2019-02-06 23:09:19.538251000 +0100
++++ content/renderer/media/audio/audio_device_factory.cc 2019-02-06 23:09:35.343662000 +0100
+@@ -33,7 +33,7 @@
+
+ namespace {
+
+-#if defined(OS_WIN) || defined(OS_MACOSX) || \
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \
+ (defined(OS_LINUX) && !defined(OS_CHROMEOS))
+ // Due to driver deadlock issues on Windows (http://crbug/422522) there is a
+ // chance device authorization response is never received from the browser side.
diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
index 3e1206027bee..96c0e1edcf42 100644
--- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
+++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
@@ -1,56 +1,74 @@
---- content/renderer/renderer_blink_platform_impl.cc.orig 2018-12-03 21:16:57.000000000 +0100
-+++ content/renderer/renderer_blink_platform_impl.cc 2018-12-13 21:57:40.197655000 +0100
-@@ -119,7 +119,7 @@
-
- #if defined(OS_POSIX)
- #include "base/file_descriptor_posix.h"
--#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
-+#if !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
- #include <map>
- #include <string>
-
-@@ -197,7 +197,7 @@
+--- content/renderer/renderer_blink_platform_impl.cc.orig 2019-01-30 02:18:00.000000000 +0100
++++ content/renderer/renderer_blink_platform_impl.cc 2019-02-07 00:24:24.998896000 +0100
+@@ -193,7 +193,7 @@
//------------------------------------------------------------------------------
--#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA)
-+#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
class RendererBlinkPlatformImpl::SandboxSupport
: public blink::WebSandboxSupport {
public:
-@@ -268,7 +268,7 @@
+@@ -223,7 +223,7 @@
+ std::map<int32_t, blink::OutOfProcessFont> unicode_font_families_;
+ sk_sp<font_service::FontLoader> font_loader_;
+ };
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ //------------------------------------------------------------------------------
+
+@@ -247,7 +247,7 @@
+ ->Clone();
+ thread_safe_sender_ = RenderThreadImpl::current()->thread_safe_sender();
+ blob_registry_.reset(new WebBlobRegistryImpl(thread_safe_sender_.get()));
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ font_loader_ = sk_make_sp<font_service::FontLoader>(connector_.get());
+ SkFontConfigInterface::SetGlobal(font_loader_);
+ #endif
+@@ -256,7 +256,7 @@
connector_ = service_manager::Connector::Create(&request);
}
--#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA)
-+#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
if (g_sandbox_enabled && sandboxEnabled()) {
#if defined(OS_MACOSX)
- sandbox_support_.reset(new RendererBlinkPlatformImpl::SandboxSupport());
-@@ -297,7 +297,7 @@
+ sandbox_support_.reset(new WebSandboxSupportMac(connector_.get()));
+@@ -285,7 +285,7 @@
}
void RendererBlinkPlatformImpl::Shutdown() {
--#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA)
-+#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
// SandboxSupport contains a map of OutOfProcessFont objects, which hold
// WebStrings and WebVectors, which become invalidated when blink is shut
// down. Hence, we need to clear that map now, just before blink::shutdown()
-@@ -391,7 +391,7 @@
+@@ -366,7 +366,7 @@
+
+ void RendererBlinkPlatformImpl::SetDisplayThreadPriority(
+ base::PlatformThreadId thread_id) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) {
+ render_thread->render_message_filter()->SetThreadPriority(
+ thread_id, base::ThreadPriority::DISPLAY);
+@@ -379,7 +379,7 @@
}
blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
--#if defined(OS_ANDROID) || defined(OS_WIN) || defined(OS_FUCHSIA)
-+#if defined(OS_ANDROID) || defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD)
- // These platforms do not require sandbox support.
- return NULL;
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ return sandbox_support_.get();
#else
-@@ -591,7 +591,7 @@
- return content::LoadFont(src_font, out, font_id);
- }
+ // These platforms do not require sandbox support.
+@@ -560,7 +560,7 @@
+
+ //------------------------------------------------------------------------------
--#elif defined(OS_POSIX) && !defined(OS_ANDROID)
-+#elif defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_BSD)
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
void RendererBlinkPlatformImpl::SandboxSupport::GetFallbackFontForCharacter(
blink::WebUChar32 character,
diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
index 8204fc563cc8..7f62afb0dbdb 100644
--- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
+++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
@@ -1,11 +1,29 @@
---- content/renderer/renderer_blink_platform_impl.h.orig 2017-12-15 02:04:18.000000000 +0100
-+++ content/renderer/renderer_blink_platform_impl.h 2017-12-24 15:04:12.309104000 +0100
-@@ -286,7 +286,7 @@
- class FileUtilities;
- std::unique_ptr<FileUtilities> file_utilities_;
-
--#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA)
-+#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+--- content/renderer/renderer_blink_platform_impl.h.orig 2019-01-30 02:18:00.000000000 +0100
++++ content/renderer/renderer_blink_platform_impl.h 2019-02-06 23:14:36.979983000 +0100
+@@ -29,7 +29,7 @@
+ #include "third_party/blink/public/platform/modules/cache_storage/cache_storage.mojom.h"
+ #include "third_party/blink/public/platform/modules/webdatabase/web_database.mojom.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "components/services/font/public/cpp/font_loader.h" // nogncheck
+ #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
+ #endif
+@@ -264,7 +264,7 @@
+ std::unique_ptr<service_manager::Connector> connector_;
+ scoped_refptr<base::SingleThreadTaskRunner> io_runner_;
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
+ #endif
+
+@@ -299,7 +299,7 @@
+ blink::mojom::CodeCacheHostPtrInfo code_cache_host_info_;
+ scoped_refptr<blink::mojom::ThreadSafeCodeCacheHostPtr> code_cache_host_;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
class SandboxSupport;
- std::unique_ptr<SandboxSupport> sandbox_support_;
+ sk_sp<font_service::FontLoader> font_loader_;
#endif
diff --git a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
new file mode 100644
index 000000000000..6ad97cc12616
--- /dev/null
+++ b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
@@ -0,0 +1,52 @@
+--- content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2019-02-06 23:15:41.158565000 +0100
++++ content/utility/utility_blink_platform_with_sandbox_support_impl.cc 2019-02-06 23:16:32.076308000 +0100
+@@ -9,7 +9,7 @@
+ #if defined(OS_MACOSX)
+ #include "base/mac/foundation_util.h"
+ #include "content/child/child_process_sandbox_support_impl_mac.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/synchronization/lock.h"
+ #include "content/child/child_process_sandbox_support_impl_linux.h"
+ #include "content/child/child_thread_impl.h"
+@@ -26,7 +26,7 @@
+
+ namespace content {
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+
+ class UtilityBlinkPlatformWithSandboxSupportImpl::SandboxSupport
+ : public blink::WebSandboxSupport {
+@@ -59,12 +59,12 @@
+ sk_sp<font_service::FontLoader> font_loader_;
+ };
+
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ UtilityBlinkPlatformWithSandboxSupportImpl::
+ UtilityBlinkPlatformWithSandboxSupportImpl(
+ service_manager::Connector* connector) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ font_loader_ = sk_make_sp<font_service::FontLoader>(connector);
+ SkFontConfigInterface::SetGlobal(font_loader_);
+ sandbox_support_ = std::make_unique<SandboxSupport>(font_loader_);
+@@ -78,14 +78,14 @@
+
+ blink::WebSandboxSupport*
+ UtilityBlinkPlatformWithSandboxSupportImpl::GetSandboxSupport() {
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ return sandbox_support_.get();
+ #else
+ return nullptr;
+ #endif
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+
+ void UtilityBlinkPlatformWithSandboxSupportImpl::SandboxSupport::
+ GetFallbackFontForCharacter(blink::WebUChar32 character,
diff --git a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
new file mode 100644
index 000000000000..d8811a1de25f
--- /dev/null
+++ b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
@@ -0,0 +1,24 @@
+--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2019-02-06 23:17:20.242437000 +0100
++++ content/utility/utility_blink_platform_with_sandbox_support_impl.h 2019-02-06 23:17:37.808893000 +0100
+@@ -11,7 +11,7 @@
+ #include "build/build_config.h"
+ #include "third_party/blink/public/platform/platform.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "components/services/font/public/cpp/font_loader.h" // nogncheck
+ #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
+ #endif
+@@ -39,10 +39,10 @@
+ blink::WebSandboxSupport* GetSandboxSupport() override;
+
+ private:
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
+ #endif
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ class SandboxSupport;
+ sk_sp<font_service::FontLoader> font_loader_;
+ #endif
diff --git a/www/chromium/files/patch-extensions_common_api__permission_features.json b/www/chromium/files/patch-extensions_common_api__permission_features.json
index eeabd65225a2..4c2d0b7ec004 100644
--- a/www/chromium/files/patch-extensions_common_api__permission_features.json
+++ b/www/chromium/files/patch-extensions_common_api__permission_features.json
@@ -1,15 +1,15 @@
---- extensions/common/api/_permission_features.json.orig 2018-01-21 13:35:05.074386000 +0100
-+++ extensions/common/api/_permission_features.json 2018-01-21 13:36:11.759479000 +0100
-@@ -128,7 +128,7 @@
- "bluetoothPrivate": {
- "channel": "stable",
- "extension_types": ["platform_app"],
-- "platforms": ["chromeos", "win", "mac", "linux"],
-+ "platforms": ["chromeos", "win", "mac", "linux", "bsd"],
- "whitelist": [
- "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169
- "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169
-@@ -422,7 +422,7 @@
+--- extensions/common/api/_permission_features.json.orig 2019-01-30 02:18:01.000000000 +0100
++++ extensions/common/api/_permission_features.json 2019-02-06 23:58:00.090523000 +0100
+@@ -135,7 +135,7 @@
+ {
+ "channel": "stable",
+ "extension_types": ["platform_app"],
+- "platforms": ["chromeos", "win", "mac", "linux"],
++ "platforms": ["chromeos", "win", "mac", "linux", "bsd"],
+ "whitelist": [
+ "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169
+ "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169
+@@ -475,7 +475,7 @@
}, {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
@@ -18,7 +18,7 @@
"whitelist": [
"0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651
"1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683
-@@ -452,7 +452,7 @@
+@@ -506,7 +506,7 @@
"networkingPrivate": {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
diff --git a/www/chromium/files/patch-extensions_common_image__util.cc b/www/chromium/files/patch-extensions_common_image__util.cc
index 574969936fe4..9e0721278e10 100644
--- a/www/chromium/files/patch-extensions_common_image__util.cc
+++ b/www/chromium/files/patch-extensions_common_image__util.cc
@@ -1,14 +1,14 @@
---- extensions/common/image_util.cc.orig 2018-12-03 21:16:58.000000000 +0100
-+++ extensions/common/image_util.cc 2018-12-13 23:08:46.488425000 +0100
-@@ -13,7 +13,11 @@
- #include "base/strings/string_number_conversions.h"
- #include "base/strings/string_util.h"
+--- extensions/common/image_util.cc.orig 2019-01-30 02:18:01.000000000 +0100
++++ extensions/common/image_util.cc 2019-02-01 09:15:02.563494000 +0100
+@@ -18,7 +18,11 @@
#include "base/strings/stringprintf.h"
+ #include "base/time/time.h"
+ #include "base/timer/elapsed_timer.h"
+#if defined(OS_BSD)
+#include <re2/re2.h>
+#else
#include "third_party/re2/src/re2/re2.h"
-+#endif
++#endif // defined(OS_BSD)
#include "third_party/skia/include/core/SkBitmap.h"
+ #include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkColor.h"
- #include "third_party/skia/include/utils/SkParse.h"
diff --git a/www/chromium/files/patch-gpu_command_buffer_common_gpu_memory_buffer_support.cc b/www/chromium/files/patch-gpu_command_buffer_common_gpu_memory_buffer_support.cc
new file mode 100644
index 000000000000..76b6b1de6965
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command_buffer_common_gpu_memory_buffer_support.cc
@@ -0,0 +1,11 @@
+--- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2019-01-30 02:18:02.000000000 +0100
++++ gpu/command_buffer/common/gpu_memory_buffer_support.cc 2019-02-01 09:18:35.535261000 +0100
+@@ -89,7 +89,7 @@
+ uint32_t GetPlatformSpecificTextureTarget() {
+ #if defined(OS_MACOSX)
+ return GL_TEXTURE_RECTANGLE_ARB;
+-#elif defined(OS_ANDROID) || defined(OS_LINUX)
++#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
+ return GL_TEXTURE_EXTERNAL_OES;
+ #elif defined(OS_WIN)
+ return GL_TEXTURE_2D;
diff --git a/www/chromium/files/patch-gpu_config_gpu__control__list.cc b/www/chromium/files/patch-gpu_config_gpu__control__list.cc
index 63b73889d355..9904c9a55727 100644
--- a/www/chromium/files/patch-gpu_config_gpu__control__list.cc
+++ b/www/chromium/files/patch-gpu_config_gpu__control__list.cc
@@ -1,18 +1,18 @@
---- gpu/config/gpu_control_list.cc.orig 2017-12-15 02:04:19.000000000 +0100
-+++ gpu/config/gpu_control_list.cc 2017-12-24 16:25:45.151636000 +0100
+--- gpu/config/gpu_control_list.cc.orig 2019-01-30 02:18:02.000000000 +0100
++++ gpu/config/gpu_control_list.cc 2019-02-01 09:25:50.964382000 +0100
@@ -16,7 +16,11 @@
#include "base/values.h"
#include "build/build_config.h"
- #include "gpu/config/gpu_info.h"
+ #include "gpu/config/gpu_util.h"
+#if defined(OS_BSD)
+#include <re2/re2.h>
+#else
#include "third_party/re2/src/re2/re2.h"
-+#endif
++#endif // defined(OS_BSD)
namespace gpu {
namespace {
-@@ -211,7 +215,7 @@
+@@ -213,7 +217,7 @@
GpuControlList::GLType GpuControlList::More::GetDefaultGLType() {
#if defined(OS_CHROMEOS)
return kGLTypeGL;
@@ -21,7 +21,7 @@
return kGLTypeGL;
#elif defined(OS_MACOSX)
return kGLTypeGL;
-@@ -644,7 +648,7 @@
+@@ -683,7 +687,7 @@
return kOsAndroid;
#elif defined(OS_FUCHSIA)
return kOsFuchsia;
diff --git a/www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.cc b/www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.cc
index 8b240314dd01..a95210edffd9 100644
--- a/www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.cc
+++ b/www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.cc
@@ -1,5 +1,5 @@
---- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2018-06-13 00:10:19.000000000 +0200
-+++ gpu/ipc/common/gpu_memory_buffer_support.cc 2018-07-19 13:54:11.502121000 +0200
+--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2019-01-30 02:18:02.000000000 +0100
++++ gpu/ipc/common/gpu_memory_buffer_support.cc 2019-02-01 09:37:09.520829000 +0100
@@ -12,7 +12,7 @@
#include "gpu/ipc/common/gpu_memory_buffer_impl_io_surface.h"
#endif
@@ -9,7 +9,7 @@
#include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h"
#include "ui/gfx/client_native_pixmap_factory.h"
#include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h"
-@@ -36,13 +36,13 @@
+@@ -37,7 +37,7 @@
GpuMemoryBufferSupport::GpuMemoryBufferSupport() {
#if defined(USE_OZONE)
client_native_pixmap_factory_ = ui::CreateClientNativePixmapFactoryOzone();
@@ -18,14 +18,7 @@
client_native_pixmap_factory_.reset(
gfx::CreateClientNativePixmapFactoryDmabuf());
#endif
- }
-
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(USE_OZONE) || defined(OS_BSD)
- GpuMemoryBufferSupport::GpuMemoryBufferSupport(
- std::unique_ptr<gfx::ClientNativePixmapFactory>
- client_native_pixmap_factory)
-@@ -57,7 +57,7 @@
+@@ -51,7 +51,7 @@
return gfx::IO_SURFACE_BUFFER;
#elif defined(OS_ANDROID)
return gfx::ANDROID_HARDWARE_BUFFER;
@@ -34,21 +27,21 @@
return gfx::NATIVE_PIXMAP;
#elif defined(OS_WIN)
return gfx::DXGI_SHARED_HANDLE;
-@@ -112,7 +112,7 @@
- return false;
+@@ -109,7 +109,7 @@
#elif defined(USE_OZONE)
- return client_native_pixmap_factory_->IsConfigurationSupported(format, usage);
+ return ui::OzonePlatform::EnsureInstance()->IsNativePixmapConfigSupported(
+ format, usage);
-#elif defined(OS_LINUX)
+#elif defined(OS_LINUX) || defined(OS_BSD)
return false; // TODO(julian.isorce): Add linux support.
#elif defined(OS_WIN)
switch (usage) {
-@@ -168,7 +168,7 @@
+@@ -166,7 +166,7 @@
return GpuMemoryBufferImplIOSurface::CreateFromHandle(
- handle, size, format, usage, callback);
+ std::move(handle), size, format, usage, callback);
#endif
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
case gfx::NATIVE_PIXMAP:
return GpuMemoryBufferImplNativePixmap::CreateFromHandle(
- client_native_pixmap_factory(), handle, size, format, usage,
+ client_native_pixmap_factory(), std::move(handle), size, format,
diff --git a/www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.h b/www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.h
index aa670d3a2fee..9fdbfba1ebef 100644
--- a/www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.h
+++ b/www/chromium/files/patch-gpu_ipc_common_gpu_memory_buffer_support.h
@@ -1,6 +1,6 @@
---- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2018-07-19 13:55:08.335420000 +0200
-+++ gpu/ipc/common/gpu_memory_buffer_support.h 2018-07-19 13:56:28.243213000 +0200
-@@ -17,7 +17,7 @@
+--- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2019-01-30 02:18:02.000000000 +0100
++++ gpu/ipc/common/gpu_memory_buffer_support.h 2019-02-01 09:40:47.746184000 +0100
+@@ -16,7 +16,7 @@
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/gpu_memory_buffer.h"
@@ -9,16 +9,7 @@
namespace gfx {
class ClientNativePixmapFactory;
}
-@@ -29,7 +29,7 @@
- class GPU_EXPORT GpuMemoryBufferSupport {
- public:
- GpuMemoryBufferSupport();
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
- GpuMemoryBufferSupport(std::unique_ptr<gfx::ClientNativePixmapFactory>
- client_native_pixmap_factory);
- #endif
-@@ -43,7 +43,7 @@
+@@ -38,7 +38,7 @@
bool IsNativeGpuMemoryBufferConfigurationSupported(gfx::BufferFormat format,
gfx::BufferUsage usage);
@@ -27,7 +18,7 @@
gfx::ClientNativePixmapFactory* client_native_pixmap_factory() {
return client_native_pixmap_factory_.get();
}
-@@ -66,7 +66,7 @@
+@@ -61,7 +61,7 @@
const GpuMemoryBufferImpl::DestructionCallback& callback);
private:
diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu_watchdog_thread.cc b/www/chromium/files/patch-gpu_ipc_service_gpu_watchdog_thread.cc
new file mode 100644
index 000000000000..1f7077c96bd9
--- /dev/null
+++ b/www/chromium/files/patch-gpu_ipc_service_gpu_watchdog_thread.cc
@@ -0,0 +1,73 @@
+--- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2019-01-12 22:38:32.375483000 +0100
++++ gpu/ipc/service/gpu_watchdog_thread.cc 2019-01-12 22:42:03.901161000 +0100
+@@ -46,8 +46,10 @@
+ #endif
+
+ #if defined(USE_X11)
++#if !defined(OS_BSD)
+ const base::FilePath::CharType kTtyFilePath[] =
+ FILE_PATH_LITERAL("/sys/class/tty/tty0/active");
++#endif
+ const unsigned char text[20] = "check";
+ #endif
+
+@@ -70,8 +72,10 @@
+ display_(nullptr),
+ window_(0),
+ atom_(x11::None),
++#if !defined(OS_BSD)
+ host_tty_(-1),
+ #endif
++#endif
+ weak_factory_(this) {
+ base::subtle::NoBarrier_Store(&awaiting_acknowledge_, false);
+
+@@ -86,7 +90,9 @@
+ #endif
+
+ #if defined(USE_X11)
++#if !defined(OS_BSD)
+ tty_file_ = base::OpenFile(base::FilePath(kTtyFilePath), "r");
++#endif
+ SetupXServer();
+ #endif
+ watched_message_loop_->AddTaskObserver(&task_observer_);
+@@ -231,8 +237,10 @@
+ power_monitor->RemoveObserver(this);
+
+ #if defined(USE_X11)
++#if !defined(OS_BSD)
+ if (tty_file_)
+ fclose(tty_file_);
++#endif
+ if (display_) {
+ DCHECK(window_);
+ XDestroyWindow(display_, window_);
+@@ -453,7 +461,7 @@
+ return;
+ #endif
+
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ // Don't crash if we're not on the TTY of our host X11 server.
+ int active_tty = GetActiveTTY();
+ if (host_tty_ != -1 && active_tty != -1 && host_tty_ != active_tty) {
+@@ -516,7 +524,9 @@
+ CopyFromParent, InputOutput, CopyFromParent, 0, nullptr);
+ atom_ = XInternAtom(display_, "CHECK", x11::False);
+ }
++#if !defined(OS_BSD)
+ host_tty_ = GetActiveTTY();
++#endif
+ }
+
+ void GpuWatchdogThread::SetupXChangeProp() {
+@@ -617,7 +627,7 @@
+ }
+ #endif
+
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ int GpuWatchdogThread::GetActiveTTY() const {
+ char tty_string[8] = {0};
+ if (tty_file_ && !fseek(tty_file_, 0, SEEK_SET) &&
diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu_watchdog_thread.h b/www/chromium/files/patch-gpu_ipc_service_gpu_watchdog_thread.h
new file mode 100644
index 000000000000..a4a113856bbe
--- /dev/null
+++ b/www/chromium/files/patch-gpu_ipc_service_gpu_watchdog_thread.h
@@ -0,0 +1,13 @@
+--- gpu/ipc/service/gpu_watchdog_thread.h.orig 2019-01-12 22:38:38.703173000 +0100
++++ gpu/ipc/service/gpu_watchdog_thread.h 2019-01-12 22:39:05.661205000 +0100
+@@ -190,8 +190,10 @@
+ XDisplay* display_;
+ gfx::AcceleratedWidget window_;
+ XAtom atom_;
++#if !defined(OS_BSD)
+ FILE* tty_file_;
+ int host_tty_;
++#endif
+ #endif
+
+ base::RepeatingClosure alternative_terminate_for_testing_;
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 626c7c1a749a..6782845f3633 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 2018-12-03 21:16:59.000000000 +0100
-+++ headless/lib/browser/headless_content_browser_client.h 2018-12-13 23:21:30.880956000 +0100
-@@ -32,7 +32,7 @@
- content::BrowserContext* context,
- content::StoragePartition* partition,
+--- headless/lib/browser/headless_content_browser_client.h.orig 2019-01-30 02:18:02.000000000 +0100
++++ headless/lib/browser/headless_content_browser_client.h 2019-02-01 09:56:18.585343000 +0100
+@@ -34,7 +34,7 @@
::storage::OptionalQuotaSettingsCallback callback) override;
+ content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings(
+ content::BrowserContext* context) override;
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
void GetAdditionalMappedFilesForChildProcess(
diff --git a/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc b/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc
index 6f0d4ec44d39..34696f7e2ae3 100644
--- a/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc
+++ b/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc
@@ -1,5 +1,5 @@
---- headless/lib/browser/headless_request_context_manager.cc.orig 2019-01-09 12:40:33.617895000 +0100
-+++ headless/lib/browser/headless_request_context_manager.cc 2019-01-09 12:41:13.269426000 +0100
+--- headless/lib/browser/headless_request_context_manager.cc.orig 2019-01-30 02:18:02.000000000 +0100
++++ headless/lib/browser/headless_request_context_manager.cc 2019-02-01 10:01:59.179234000 +0100
@@ -35,7 +35,7 @@
namespace {
@@ -9,12 +9,12 @@
static char kProductName[] = "HeadlessChrome";
#endif
-@@ -252,7 +252,7 @@
- command_line->GetSwitchValueASCII(switches::kAuthServerWhitelist);
- network_service->ConfigureHttpAuthPrefs(std::move(auth_params));
-
+@@ -367,7 +367,7 @@
+ return;
+ if (user_data_path_.empty())
+ return;
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- if (manager->user_data_path_.empty()) {
- ::network::mojom::CryptConfigPtr config =
- ::network::mojom::CryptConfig::New();
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ ::network::mojom::CryptConfigPtr config =
+ ::network::mojom::CryptConfig::New();
+ config->store = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
diff --git a/www/chromium/files/patch-media_audio_audio__manager.cc b/www/chromium/files/patch-media_audio_audio__manager.cc
index a80ccb2948e0..72336749ca09 100644
--- a/www/chromium/files/patch-media_audio_audio__manager.cc
+++ b/www/chromium/files/patch-media_audio_audio__manager.cc
@@ -1,6 +1,6 @@
---- media/audio/audio_manager.cc.orig 2017-12-15 02:04:21.000000000 +0100
-+++ media/audio/audio_manager.cc 2017-12-24 17:10:24.736979000 +0100
-@@ -94,7 +94,7 @@
+--- media/audio/audio_manager.cc.orig 2019-01-30 02:18:05.000000000 +0100
++++ media/audio/audio_manager.cc 2019-02-01 10:05:43.833445000 +0100
+@@ -48,7 +48,7 @@
}
#endif
@@ -9,7 +9,7 @@
void set_app_name(const std::string& app_name) { app_name_ = app_name; }
const std::string& app_name() const { return app_name_; }
#endif
-@@ -229,7 +229,7 @@
+@@ -59,7 +59,7 @@
std::unique_ptr<base::win::ScopedCOMInitializer> com_initializer_for_testing_;
#endif
@@ -18,8 +18,8 @@
std::string app_name_;
#endif
-@@ -313,7 +313,7 @@
- GetHelper()->StartHangTimer(std::move(task_runner));
+@@ -128,7 +128,7 @@
+ return Create(std::move(audio_thread), GetHelper()->fake_log_factory());
}
-#if defined(OS_LINUX)
diff --git a/www/chromium/files/patch-media_capture_video_shared_memory_handler_provider.cc b/www/chromium/files/patch-media_capture_video_shared_memory_handler_provider.cc
new file mode 100644
index 000000000000..afc246bc9d19
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_shared_memory_handler_provider.cc
@@ -0,0 +1,11 @@
+--- media/capture/video/shared_memory_handle_provider.cc.orig 2019-01-12 22:31:08.999805000 +0100
++++ media/capture/video/shared_memory_handle_provider.cc 2019-01-12 22:31:53.741578000 +0100
+@@ -63,7 +63,7 @@
+ return true;
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ bool SharedMemoryHandleProvider::InitAsReadOnlyFromRawFileDescriptor(
+ mojo::ScopedHandle fd_handle,
+ uint32_t memory_size_in_bytes) {
diff --git a/www/chromium/files/patch-media_capture_video_shared_memory_handler_provider.h b/www/chromium/files/patch-media_capture_video_shared_memory_handler_provider.h
new file mode 100644
index 000000000000..0ee1ec6b60a3
--- /dev/null
+++ b/www/chromium/files/patch-media_capture_video_shared_memory_handler_provider.h
@@ -0,0 +1,11 @@
+--- media/capture/video/shared_memory_handle_provider.h.orig 2019-01-12 22:31:28.927630000 +0100
++++ media/capture/video/shared_memory_handle_provider.h 2019-01-12 22:32:13.374251000 +0100
+@@ -38,7 +38,7 @@
+
+ // This requires platforms where base::SharedMemoryHandle is backed by a
+ // file descriptor.
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ bool InitAsReadOnlyFromRawFileDescriptor(mojo::ScopedHandle fd_handle,
+ uint32_t memory_size_in_bytes);
+ #endif // defined(OS_LINUX)
diff --git a/www/chromium/files/patch-mojo_public_js_mojo__bindings__resources.grd b/www/chromium/files/patch-mojo_public_js_mojo__bindings__resources.grd
new file mode 100644
index 000000000000..83d95900b043
--- /dev/null
+++ b/www/chromium/files/patch-mojo_public_js_mojo__bindings__resources.grd
@@ -0,0 +1,11 @@
+--- mojo/public/js/mojo_bindings_resources.grd.orig 2019-02-06 23:25:43.571727000 +0100
++++ mojo/public/js/mojo_bindings_resources.grd 2019-02-06 23:25:53.104828000 +0100
+@@ -23,7 +23,7 @@
+ use_base_dir="false"
+ type="BINDATA"
+ compress="gzip" />
+- <if expr="is_win or is_macosx or is_linux">
++ <if expr="is_win or is_macosx or is_posix">
+ <include name="IDR_MOJO_TIME_MOJOM_JS"
+ file="${root_gen_dir}/mojo/public/mojom/base/time.mojom.js"
+ use_base_dir="false"
diff --git a/www/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn
index 7a66e7c0b09f..b83e93ba8d9c 100644
--- a/www/chromium/files/patch-net_BUILD.gn
+++ b/www/chromium/files/patch-net_BUILD.gn
@@ -1,15 +1,24 @@
---- net/BUILD.gn.orig 2017-12-15 02:04:22.000000000 +0100
-+++ net/BUILD.gn 2017-12-30 02:46:23.419099000 +0100
-@@ -99,7 +99,7 @@
- net_configs += [ "//build/config/linux/gconf" ]
- }
+--- net/BUILD.gn.orig 2019-02-06 23:06:45.000000000 +0100
++++ net/BUILD.gn 2019-02-08 22:09:39.080475000 +0100
+@@ -97,7 +97,7 @@
+ "//build/config/compiler:wexit_time_destructors",
+ ]
-if (is_linux) {
+if (is_linux && !is_bsd) {
net_configs += [ "//build/config/linux:libresolv" ]
}
-@@ -1954,6 +1954,17 @@
+@@ -1854,7 +1854,7 @@
+ }
+
+ # Use getifaddrs() on POSIX platforms, except Linux and Android.
+- if (is_posix && !is_linux && !is_android) {
++ if (is_posix && ((!is_linux && !is_android) || (is_bsd))) {
+ sources += [
+ "base/network_interfaces_getifaddrs.cc",
+ "base/network_interfaces_getifaddrs.h",
+@@ -1947,6 +1947,16 @@
]
sources -= [ "disk_cache/blockfile/file_posix.cc" ]
@@ -23,7 +32,6 @@
+ "base/network_change_notifier_linux.h",
+ "base/network_interfaces_linux.cc",
+ ]
-+ sources += [ "base/network_interfaces_freebsd.cc" ]
}
if (is_ios || is_mac) {
diff --git a/www/chromium/files/patch-net_base_network__interfaces__freebsd.cc b/www/chromium/files/patch-net_base_network__interfaces__freebsd.cc
deleted file mode 100644
index aa0e5720506b..000000000000
--- a/www/chromium/files/patch-net_base_network__interfaces__freebsd.cc
+++ /dev/null
@@ -1,243 +0,0 @@
---- net/base/network_interfaces_freebsd.cc.orig 2017-07-05 18:08:44.779023000 +0200
-+++ net/base/network_interfaces_freebsd.cc 2017-07-05 22:03:18.679624000 +0200
-@@ -0,0 +1,240 @@
-+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style license that can be
-+// found in the LICENSE file.
-+
-+#include "net/base/network_interfaces_freebsd.h"
-+
-+#include <ifaddrs.h>
-+#include <net/if.h>
-+#include <netinet/in.h>
-+#include <sys/types.h>
-+#include <net/if_media.h>
-+#include <net/if_var.h>
-+#include <netinet/in_var.h>
-+#include <netinet6/in6_var.h>
-+#include <sys/ioctl.h>
-+
-+#include <memory>
-+#include <set>
-+
-+#include "base/files/file_path.h"
-+#include "base/logging.h"
-+#include "base/strings/string_number_conversions.h"
-+#include "base/strings/string_tokenizer.h"
-+#include "base/strings/string_util.h"
-+#include "base/threading/thread_restrictions.h"
-+#include "net/base/escape.h"
-+#include "net/base/ip_endpoint.h"
-+#include "net/base/net_errors.h"
-+#include "net/base/network_interfaces_posix.h"
-+#include "url/gurl.h"
-+
-+namespace net {
-+
-+namespace {
-+
-+// FreeBSD implementation of IPAttributesGetterFreeBSD which calls ioctl on socket to
-+// retrieve IP attributes.
-+class IPAttributesGetterFreeBSDImpl : public internal::IPAttributesGetterFreeBSD {
-+ public:
-+ IPAttributesGetterFreeBSDImpl();
-+ ~IPAttributesGetterFreeBSDImpl() override;
-+ bool IsInitialized() const override;
-+ bool GetIPAttributes(const char* ifname,
-+ const sockaddr* sock_addr,
-+ int* native_attributes) override;
-+
-+ private:
-+ int ioctl_socket_;
-+};
-+
-+IPAttributesGetterFreeBSDImpl::IPAttributesGetterFreeBSDImpl()
-+ : ioctl_socket_(socket(AF_INET6, SOCK_DGRAM, 0)) {
-+ DCHECK_GE(ioctl_socket_, 0);
-+}
-+
-+bool IPAttributesGetterFreeBSDImpl::IsInitialized() const {
-+ return ioctl_socket_ >= 0;
-+}
-+
-+IPAttributesGetterFreeBSDImpl::~IPAttributesGetterFreeBSDImpl() {
-+ if (ioctl_socket_ >= 0) {
-+ close(ioctl_socket_);
-+ }
-+}
-+
-+bool IPAttributesGetterFreeBSDImpl::GetIPAttributes(const char* ifname,
-+ const sockaddr* sock_addr,
-+ int* native_attributes) {
-+ struct in6_ifreq ifr = {};
-+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name) - 1);
-+ memcpy(&ifr.ifr_ifru.ifru_addr, sock_addr, sock_addr->sa_len);
-+ int rv = ioctl(ioctl_socket_, SIOCGIFAFLAG_IN6, &ifr);
-+ if (rv >= 0) {
-+ *native_attributes = ifr.ifr_ifru.ifru_flags;
-+ }
-+ return (rv >= 0);
-+}
-+
-+// When returning true, the platform native IPv6 address attributes were
-+// successfully converted to net IP address attributes. Otherwise, returning
-+// false and the caller should drop the IP address which can't be used by the
-+// application layer.
-+bool TryConvertNativeToNetIPAttributes(int native_attributes,
-+ int* net_attributes) {
-+ // For FreeBSD, we disallow addresses with attributes IN6_IFF_ANYCASE,
-+ // IN6_IFF_DUPLICATED, IN6_IFF_TENTATIVE, and IN6_IFF_DETACHED as these are
-+ // still progressing through duplicated address detection (DAD) or are not
-+ // suitable to be used in an one-to-one communication and shouldn't be used
-+ // by the application layer.
-+ if (native_attributes & (IN6_IFF_ANYCAST | IN6_IFF_DUPLICATED |
-+ IN6_IFF_TENTATIVE | IN6_IFF_DETACHED)) {
-+ return false;
-+ }
-+
-+ if (native_attributes & IN6_IFF_DEPRECATED) {
-+ *net_attributes |= IP_ADDRESS_ATTRIBUTE_DEPRECATED;
-+ }
-+
-+ return true;
-+}
-+
-+NetworkChangeNotifier::ConnectionType GetNetworkInterfaceType(
-+ int addr_family,
-+ const std::string& interface_name) {
-+ NetworkChangeNotifier::ConnectionType type =
-+ NetworkChangeNotifier::CONNECTION_UNKNOWN;
-+
-+ struct ifmediareq ifmr = {};
-+ strncpy(ifmr.ifm_name, interface_name.c_str(), sizeof(ifmr.ifm_name) - 1);
-+
-+ int s = socket(addr_family, SOCK_DGRAM, 0);
-+ if (s == -1) {
-+ return type;
-+ }
-+
-+ if (ioctl(s, SIOCGIFMEDIA, &ifmr) != -1) {
-+ if (ifmr.ifm_current & IFM_IEEE80211) {
-+ type = NetworkChangeNotifier::CONNECTION_WIFI;
-+ } else if (ifmr.ifm_current & IFM_ETHER) {
-+ type = NetworkChangeNotifier::CONNECTION_ETHERNET;
-+ }
-+ }
-+ close(s);
-+ return type;
-+}
-+
-+} // namespace
-+
-+namespace internal {
-+
-+bool GetNetworkListImpl(NetworkInterfaceList* networks,
-+ int policy,
-+ const ifaddrs* interfaces,
-+ IPAttributesGetterFreeBSD* ip_attributes_getter) {
-+ // Enumerate the addresses assigned to network interfaces which are up.
-+ for (const ifaddrs* interface = interfaces; interface != NULL;
-+ interface = interface->ifa_next) {
-+ // Skip loopback interfaces, and ones which are down.
-+ if (!(IFF_RUNNING & interface->ifa_flags))
-+ continue;
-+ if (IFF_LOOPBACK & interface->ifa_flags)
-+ continue;
-+ // Skip interfaces with no address configured.
-+ struct sockaddr* addr = interface->ifa_addr;
-+ if (!addr)
-+ continue;
-+
-+ // Skip unspecified addresses (i.e. made of zeroes) and loopback addresses
-+ // configured on non-loopback interfaces.
-+ if (IsLoopbackOrUnspecifiedAddress(addr))
-+ continue;
-+
-+ const std::string& name = interface->ifa_name;
-+ // Filter out VMware interfaces, typically named vmnet1 and vmnet8.
-+ if (ShouldIgnoreInterface(name, policy)) {
-+ continue;
-+ }
-+
-+ NetworkChangeNotifier::ConnectionType connection_type =
-+ NetworkChangeNotifier::CONNECTION_UNKNOWN;
-+
-+ int ip_attributes = IP_ADDRESS_ATTRIBUTE_NONE;
-+
-+ // Retrieve native ip attributes and convert to net version if a getter is
-+ // given.
-+ if (ip_attributes_getter && ip_attributes_getter->IsInitialized()) {
-+ int native_attributes = 0;
-+ if (addr->sa_family == AF_INET6 &&
-+ ip_attributes_getter->GetIPAttributes(
-+ interface->ifa_name, interface->ifa_addr, &native_attributes)) {
-+ if (!TryConvertNativeToNetIPAttributes(native_attributes,
-+ &ip_attributes)) {
-+ continue;
-+ }
-+ }
-+ }
-+
-+ connection_type = GetNetworkInterfaceType(addr->sa_family, name);
-+
-+ IPEndPoint address;
-+
-+ int addr_size = 0;
-+ if (addr->sa_family == AF_INET6) {
-+ addr_size = sizeof(sockaddr_in6);
-+ } else if (addr->sa_family == AF_INET) {
-+ addr_size = sizeof(sockaddr_in);
-+ }
-+
-+ if (address.FromSockAddr(addr, addr_size)) {
-+ uint8_t prefix_length = 0;
-+ if (interface->ifa_netmask) {
-+ // If not otherwise set, assume the same sa_family as ifa_addr.
-+ if (interface->ifa_netmask->sa_family == 0) {
-+ interface->ifa_netmask->sa_family = addr->sa_family;
-+ }
-+ IPEndPoint netmask;
-+ if (netmask.FromSockAddr(interface->ifa_netmask, addr_size)) {
-+ prefix_length = MaskPrefixLength(netmask.address());
-+ }
-+ }
-+ networks->push_back(NetworkInterface(
-+ name, name, if_nametoindex(name.c_str()), connection_type,
-+ address.address(), prefix_length, ip_attributes));
-+ }
-+ }
-+
-+ return true;
-+}
-+
-+} // namespace internal
-+
-+bool GetNetworkList(NetworkInterfaceList* networks, int policy) {
-+ if (networks == NULL)
-+ return false;
-+
-+ // getifaddrs() may require IO operations.
-+ base::AssertBlockingAllowed();
-+
-+ ifaddrs* interfaces;
-+ if (getifaddrs(&interfaces) < 0) {
-+ PLOG(ERROR) << "getifaddrs";
-+ return false;
-+ }
-+
-+ std::unique_ptr<internal::IPAttributesGetterFreeBSD> ip_attributes_getter;
-+
-+ ip_attributes_getter.reset(new IPAttributesGetterFreeBSDImpl());
-+
-+ bool result = internal::GetNetworkListImpl(networks, policy, interfaces,
-+ ip_attributes_getter.get());
-+ freeifaddrs(interfaces);
-+ return result;
-+}
-+
-+std::string GetWifiSSID() {
-+ NOTIMPLEMENTED();
-+ return "";
-+}
-+
-+} // namespace net
diff --git a/www/chromium/files/patch-net_base_network__interfaces__freebsd.h b/www/chromium/files/patch-net_base_network__interfaces__freebsd.h
deleted file mode 100644
index 71bffa3b5585..000000000000
--- a/www/chromium/files/patch-net_base_network__interfaces__freebsd.h
+++ /dev/null
@@ -1,47 +0,0 @@
---- net/base/network_interfaces_freebsd.h.orig 2017-07-04 23:05:05.313339000 +0200
-+++ net/base/network_interfaces_freebsd.h 2017-07-04 23:04:51.039635000 +0200
-@@ -0,0 +1,44 @@
-+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style license that can be
-+// found in the LICENSE file.
-+
-+#ifndef NET_BASE_NETWORK_INTERFACES_FREEBSD_H_
-+#define NET_BASE_NETWORK_INTERFACES_FREEBSD_H_
-+
-+// This file is only used to expose some of the internals
-+// of network_interfaces_mac.cc to tests.
-+
-+#include <sys/socket.h>
-+
-+#include "base/macros.h"
-+#include "net/base/net_export.h"
-+#include "net/base/network_interfaces.h"
-+
-+struct ifaddrs;
-+struct sockaddr;
-+
-+namespace net {
-+namespace internal {
-+
-+class NET_EXPORT IPAttributesGetterFreeBSD {
-+ public:
-+ IPAttributesGetterFreeBSD() {}
-+ virtual ~IPAttributesGetterFreeBSD() {}
-+ virtual bool IsInitialized() const = 0;
-+ virtual bool GetIPAttributes(const char* ifname,
-+ const sockaddr* sock_addr,
-+ int* native_attributes) = 0;
-+
-+ private:
-+ DISALLOW_COPY_AND_ASSIGN(IPAttributesGetterFreeBSD);
-+};
-+
-+NET_EXPORT bool GetNetworkListImpl(NetworkInterfaceList* networks,
-+ int policy,
-+ const ifaddrs* interfaces,
-+ IPAttributesGetterFreeBSD* ip_attributes_getter);
-+
-+} // namespace internal
-+} // namespace net
-+
-+#endif // NET_BASE_NETWORK_INTERFACES_FREEBSD_H_
diff --git a/www/chromium/files/patch-net_features.gni b/www/chromium/files/patch-net_features.gni
index f7f9025f7f40..aa4c00eedef3 100644
--- a/www/chromium/files/patch-net_features.gni
+++ b/www/chromium/files/patch-net_features.gni
@@ -1,11 +1,11 @@
---- net/features.gni.orig 2018-12-03 21:17:07.000000000 +0100
-+++ net/features.gni 2018-12-14 00:32:48.565388000 +0100
+--- net/features.gni.orig 2019-01-30 02:18:08.000000000 +0100
++++ net/features.gni 2019-02-01 10:21:10.600808000 +0100
@@ -27,7 +27,7 @@
disable_brotli_filter = false
# Multicast DNS.
-- enable_mdns = is_win || is_linux || is_fuchsia
-+ enable_mdns = is_win || is_linux || is_fuchsia || is_bsd
+- enable_mdns = is_win || is_linux || is_fuchsia || is_mac || is_ios
++ enable_mdns = is_win || is_linux || is_fuchsia || is_mac || is_ios || is_bsd
# Reporting not used on iOS.
enable_reporting = !is_ios
diff --git a/www/chromium/files/patch-net_socket_udp__socket__posix.cc b/www/chromium/files/patch-net_socket_udp__socket__posix.cc
index 543e1aac1bd4..1e0920bb54a5 100644
--- a/www/chromium/files/patch-net_socket_udp__socket__posix.cc
+++ b/www/chromium/files/patch-net_socket_udp__socket__posix.cc
@@ -1,5 +1,5 @@
---- net/socket/udp_socket_posix.cc.orig 2018-12-12 22:56:10.000000000 +0100
-+++ net/socket/udp_socket_posix.cc 2019-01-09 23:47:20.865195000 +0100
+--- net/socket/udp_socket_posix.cc.orig 2019-01-30 02:18:08.000000000 +0100
++++ net/socket/udp_socket_posix.cc 2019-02-01 23:56:02.678455000 +0100
@@ -68,7 +68,7 @@
const base::TimeDelta kActivityMonitorMsThreshold =
base::TimeDelta::FromMilliseconds(100);
@@ -18,7 +18,7 @@
#if defined(OS_MACOSX) && !defined(OS_IOS)
-@@ -632,13 +632,13 @@
+@@ -641,13 +641,13 @@
}
void UDPSocketPosix::SetMsgConfirm(bool confirm) {
@@ -34,7 +34,7 @@
}
int UDPSocketPosix::AllowAddressReuse() {
-@@ -653,17 +653,20 @@
+@@ -662,17 +662,20 @@
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
int value = broadcast ? 1 : 0;
int rv;
@@ -57,7 +57,7 @@
rv = setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &value, sizeof(value));
return rv == 0 ? OK : MapSystemError(errno);
-@@ -901,19 +904,24 @@
+@@ -934,19 +937,24 @@
if (multicast_interface_ != 0) {
switch (addr_family_) {
case AF_INET: {
@@ -76,7 +76,7 @@
-#endif // !defined(OS_MACOSX)
+#endif // !defined(OS_MACOSX) || defined(OS_BSD)
int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF,
-+#ifdef defined(OS_BSD)
++#if defined(OS_BSD)
+ reinterpret_cast<const char*>(&mreq.imr_interface.s_addr),
+ sizeof(mreq.imr_interface.s_addr));
+#else
@@ -85,7 +85,7 @@
if (rv)
return MapSystemError(errno);
break;
-@@ -975,7 +983,7 @@
+@@ -1008,7 +1016,7 @@
if (addr_family_ != AF_INET)
return ERR_ADDRESS_INVALID;
@@ -94,7 +94,7 @@
ip_mreq mreq = {};
int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
&mreq.imr_interface.s_addr);
-@@ -1023,9 +1031,18 @@
+@@ -1056,9 +1064,18 @@
case IPAddress::kIPv4AddressSize: {
if (addr_family_ != AF_INET)
return ERR_ADDRESS_INVALID;
diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
index ec39808adad4..aa1f5eb7c358 100644
--- a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
@@ -1,5 +1,5 @@
---- services/device/hid/hid_connection_freebsd.cc.orig 2018-12-27 21:14:54.188404000 +0100
-+++ services/device/hid/hid_connection_freebsd.cc 2018-12-29 17:34:19.982594000 +0100
+--- services/device/hid/hid_connection_freebsd.cc.orig 2019-02-01 16:07:39.214979000 +0100
++++ services/device/hid/hid_connection_freebsd.cc 2019-02-02 01:21:12.648154000 +0100
@@ -0,0 +1,191 @@
+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
@@ -45,7 +45,7 @@
+ // Must be called on a thread that has a base::MessageLoopForIO.
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ base::AssertBlockingAllowed();
++ base::internal::AssertBlockingAllowed();
+ }
+
+ void Write(scoped_refptr<base::RefCountedBytes> buffer,
diff --git a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
index d4249f71f4c4..fdf5ea57df56 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
@@ -1,5 +1,5 @@
---- services/device/hid/hid_service_freebsd.cc.orig 2018-12-27 21:14:54.193271000 +0100
-+++ services/device/hid/hid_service_freebsd.cc 2018-12-28 15:20:01.597855000 +0100
+--- services/device/hid/hid_service_freebsd.cc.orig 2019-02-01 16:07:39.219688000 +0100
++++ services/device/hid/hid_service_freebsd.cc 2019-02-02 00:41:58.747111000 +0100
@@ -0,0 +1,371 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
@@ -71,7 +71,7 @@
+ }
+
+ void Start() {
-+ base::AssertBlockingAllowed();
++ base::internal::AssertBlockingAllowed();
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ const base::FilePath kDevRoot("/dev");
@@ -97,7 +97,7 @@
+
+ bool HaveReadWritePermissions(std::string device_id) {
+ std::string device_node = "/dev/" + device_id;
-+ base::AssertBlockingAllowed();
++ base::internal::AssertBlockingAllowed();
+
+ base::FilePath device_path(device_node);
+ base::File device_file;
@@ -119,7 +119,7 @@
+
+ std::vector<uint8_t> report_descriptor;
+
-+ base::AssertBlockingAllowed();
++ base::internal::AssertBlockingAllowed();
+
+ base::FilePath device_path(device_node);
+ base::File device_file;
@@ -177,7 +177,7 @@
+ private:
+
+ void CheckPendingPermissionChange() {
-+ base::AssertBlockingAllowed();
++ base::internal::AssertBlockingAllowed();
+ std::map<std::string, int>::iterator it;
+ for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) {
+ std::string device_name = it->first;
@@ -203,7 +203,7 @@
+ }
+
+ void SetupDevdMonitor() {
-+ base::AssertBlockingAllowed();
++ base::internal::AssertBlockingAllowed();
+
+ int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
+ if (devd_fd < 0)
@@ -312,7 +312,7 @@
+// static
+void HidServiceFreeBSD::OpenOnBlockingThread(
+ std::unique_ptr<ConnectParams> params) {
-+ base::AssertBlockingAllowed();
++ base::internal::AssertBlockingAllowed();
+ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
+
+ base::FilePath device_path(params->device_info->device_node());
@@ -355,7 +355,7 @@
+
+// static
+void HidServiceFreeBSD::FinishOpen(std::unique_ptr<ConnectParams> params) {
-+ base::AssertBlockingAllowed();
++ base::internal::AssertBlockingAllowed();
+ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
+
+ task_runner->PostTask(
diff --git a/www/chromium/files/patch-services_network_network__service.h b/www/chromium/files/patch-services_network_network__service.h
index 62c1ea0ddf31..d32e03e7b187 100644
--- a/www/chromium/files/patch-services_network_network__service.h
+++ b/www/chromium/files/patch-services_network_network__service.h
@@ -1,9 +1,9 @@
---- services/network/network_service.h.orig 2018-12-28 15:42:09.726485000 +0100
-+++ services/network/network_service.h 2018-12-28 15:43:21.875987000 +0100
-@@ -148,7 +148,7 @@
- mojom::NetworkService::GetTotalNetworkUsagesCallback callback) override;
- void UpdateSignedTreeHead(const net::ct::SignedTreeHead& sth) override;
+--- services/network/network_service.h.orig 2019-01-30 02:18:10.000000000 +0100
++++ services/network/network_service.h 2019-02-01 10:39:31.949929000 +0100
+@@ -174,7 +174,7 @@
+ #endif // !BUILDFLAG(IS_CT_SUPPORTED)
void UpdateCRLSet(base::span<const uint8_t> crl_set) override;
+ void OnCertDBChanged() override;
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
void SetCryptConfig(mojom::CryptConfigPtr crypt_config) override;
diff --git a/www/chromium/files/patch-services_service__manager_zygote_host_zygote_host_impl_linux.h b/www/chromium/files/patch-services_service__manager_zygote_host_zygote_host_impl_linux.h
index ef3eeef854ec..a362b5c8de64 100644
--- a/www/chromium/files/patch-services_service__manager_zygote_host_zygote_host_impl_linux.h
+++ b/www/chromium/files/patch-services_service__manager_zygote_host_zygote_host_impl_linux.h
@@ -1,5 +1,5 @@
---- services/service_manager/zygote/host/zygote_host_impl_linux.h.orig 2018-08-04 19:08:46.425404000 +0200
-+++ services/service_manager/zygote/host/zygote_host_impl_linux.h 2018-08-04 19:09:48.783775000 +0200
+--- services/service_manager/zygote/host/zygote_host_impl_linux.h.orig 2019-01-30 02:18:10.000000000 +0100
++++ services/service_manager/zygote/host/zygote_host_impl_linux.h 2019-02-01 10:48:51.105096000 +0100
@@ -44,8 +44,10 @@
base::ScopedFD* control_fd,
base::FileHandleMappingVector additional_remapped_fds);
@@ -8,6 +8,6 @@
void AdjustRendererOOMScore(base::ProcessHandle process_handle,
int score) override;
+#endif
+ bool HasZygote() { return !zygote_pids_.empty(); }
private:
- friend struct base::DefaultSingletonTraits<ZygoteHostImpl>;
diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp
index 7904ed1747f1..6457e5388922 100644
--- a/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp
+++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp
@@ -1,20 +1,20 @@
---- third_party/angle/src/libANGLE/Display.cpp.orig 2017-08-02 15:04:04.122103000 +0200
-+++ third_party/angle/src/libANGLE/Display.cpp 2017-08-02 15:04:56.343338000 +0200
-@@ -61,7 +61,7 @@
+--- third_party/angle/src/libANGLE/Display.cpp.orig 2019-01-30 02:20:31.000000000 +0100
++++ third_party/angle/src/libANGLE/Display.cpp 2019-02-01 11:09:24.980814000 +0100
+@@ -63,7 +63,7 @@
#if defined(ANGLE_ENABLE_VULKAN)
- #if defined(ANGLE_PLATFORM_WINDOWS)
- #include "libANGLE/renderer/vulkan/win32/DisplayVkWin32.h"
--#elif defined(ANGLE_PLATFORM_LINUX)
-+#elif defined(ANGLE_PLATFORM_POSIX)
- #include "libANGLE/renderer/vulkan/xcb/DisplayVkXcb.h"
- #else
- #error Unsupported Vulkan platform.
-@@ -207,7 +207,7 @@
+ # if defined(ANGLE_PLATFORM_WINDOWS)
+ # include "libANGLE/renderer/vulkan/win32/DisplayVkWin32.h"
+-# elif defined(ANGLE_PLATFORM_LINUX)
++# elif defined(ANGLE_PLATFORM_POSIX)
+ # include "libANGLE/renderer/vulkan/xcb/DisplayVkXcb.h"
+ # elif defined(ANGLE_PLATFORM_ANDROID)
+ # include "libANGLE/renderer/vulkan/android/DisplayVkAndroid.h"
+@@ -215,7 +215,7 @@
#if defined(ANGLE_ENABLE_VULKAN)
- #if defined(ANGLE_PLATFORM_WINDOWS)
+ # if defined(ANGLE_PLATFORM_WINDOWS)
impl = new rx::DisplayVkWin32(state);
--#elif defined(ANGLE_PLATFORM_LINUX)
-+#elif defined(ANGLE_PLATFORM_POSIX)
+-# elif defined(ANGLE_PLATFORM_LINUX)
++# elif defined(ANGLE_PLATFORM_POSIX)
impl = new rx::DisplayVkXcb(state);
- #else
- #error Unsupported Vulkan platform.
+ # elif defined(ANGLE_PLATFORM_ANDROID)
+ impl = new rx::DisplayVkAndroid(state);
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc b/www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
new file mode 100644
index 000000000000..34ea6b07c91d
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/core/paint/paint_layer.cc.orig 2019-02-06 23:36:21.401100000 +0100
++++ third_party/blink/renderer/core/paint/paint_layer.cc 2019-02-06 23:38:08.649536000 +0100
+@@ -104,7 +104,7 @@
+ static CompositingQueryMode g_compositing_query_mode =
+ kCompositingQueriesAreOnlyAllowedInCertainDocumentLifecyclePhases;
+
+-#ifdef OS_LINUX
++#if defined(OS_LINUX) || defined(OS_BSD)
+ struct SameSizeAsPaintLayer : DisplayItemClient {
+ // The bit fields may fit into the machine word of DisplayItemClient which
+ // has only 8-bit data.
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc
new file mode 100644
index 000000000000..864e1b479748
--- /dev/null
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc
@@ -0,0 +1,20 @@
+--- third_party/blink/renderer/platform/fonts/font_unique_name_lookup.cc.orig 2019-02-04 23:35:56.748592000 +0100
++++ third_party/blink/renderer/platform/fonts/font_unique_name_lookup.cc 2019-02-04 23:36:16.158548000 +0100
+@@ -8,7 +8,7 @@
+
+ #if defined(OS_ANDROID)
+ #include "third_party/blink/renderer/platform/fonts/android/font_unique_name_lookup_android.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "third_party/blink/renderer/platform/fonts/linux/font_unique_name_lookup_linux.h"
+ #endif
+
+@@ -21,7 +21,7 @@
+ FontUniqueNameLookup::GetPlatformUniqueNameLookup() {
+ #if defined(OS_ANDROID)
+ return std::make_unique<FontUniqueNameLookupAndroid>();
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return std::make_unique<FontUniqueNameLookupLinux>();
+ #else
+ NOTREACHED();
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__face.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__face.cc
deleted file mode 100644
index 08f381854af3..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__face.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc.orig 2018-12-29 14:23:27.944448000 +0100
-+++ third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc 2018-12-29 14:29:49.494355000 +0100
-@@ -139,7 +139,7 @@
- static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font,
- void* font_data,
- unsigned count,
-- hb_codepoint_t* first_glyph,
-+ const hb_codepoint_t* first_glyph,
- unsigned int glyph_stride,
- hb_position_t* first_advance,
- unsigned int advance_stride,
-@@ -147,7 +147,7 @@
- HarfBuzzFontData* hb_font_data =
- reinterpret_cast<HarfBuzzFontData*>(font_data);
- SkiaTextMetrics(&hb_font_data->paint_)
-- .GetGlyphWidthForHarfBuzz(count, first_glyph, glyph_stride, first_advance,
-+ .GetGlyphWidthForHarfBuzz(count, const_cast<hb_codepoint_t*>(first_glyph), glyph_stride, first_advance,
- advance_stride);
- }
-
diff --git a/www/chromium/files/patch-third__party_pdfium_fxjs_js__define.cpp b/www/chromium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
index a08e8fe395f5..a43515e700c3 100644
--- a/www/chromium/files/patch-third__party_pdfium_fxjs_js__define.cpp
+++ b/www/chromium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
@@ -1,6 +1,6 @@
---- third_party/pdfium/fxjs/js_define.cpp.orig 2018-12-15 15:47:24.332696000 +0100
-+++ third_party/pdfium/fxjs/js_define.cpp 2018-12-15 15:47:30.435519000 +0100
-@@ -24,6 +24,11 @@
+--- third_party/pdfium/fxjs/fx_date_helpers.cpp.orig 2019-02-01 12:43:47.112647000 +0100
++++ third_party/pdfium/fxjs/fx_date_helpers.cpp 2019-02-01 12:49:38.012493000 +0100
+@@ -34,6 +34,11 @@
return 0;
time_t t = 0;
FXSYS_time(&t);
@@ -9,10 +9,10 @@
+ localtime_r(&t, &lt);
+ return (double)(-(lt.tm_gmtoff * 1000));
+#else
- localtime(&t);
+ FXSYS_localtime(&t);
#if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
// In gcc 'timezone' is a global variable declared in time.h. In VC++, that
-@@ -32,6 +37,7 @@
+@@ -42,6 +47,7 @@
_get_timezone(&timezone);
#endif // _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
return (double)(-(timezone * 1000));
diff --git a/www/chromium/files/patch-third__party_pdfium_third__party_base_logging.h b/www/chromium/files/patch-third__party_pdfium_third__party_base_logging.h
deleted file mode 100644
index 1dbb5dcc61e3..000000000000
--- a/www/chromium/files/patch-third__party_pdfium_third__party_base_logging.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/pdfium/third_party/base/logging.h.orig 2017-04-19 19:07:50 UTC
-+++ third_party/pdfium/third_party/base/logging.h
-@@ -10,7 +10,7 @@
-
- #ifndef _WIN32
- #define NULL_DEREF_IF_POSSIBLE \
-- *(reinterpret_cast<volatile char*>(NULL) + 42) = 0x42;
-+ *(reinterpret_cast<volatile char*>(__null) + 42) = 0x42;
- #else
- #define NULL_DEREF_IF_POSSIBLE
- #endif
diff --git a/www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc b/www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
index 31e7c6f75a23..390606ea9427 100644
--- a/www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
+++ b/www/chromium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
@@ -1,6 +1,16 @@
---- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2018-12-15 19:14:38.117664000 +0100
-+++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc 2018-12-15 19:15:20.324077000 +0100
-@@ -1231,7 +1231,8 @@
+--- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2018-12-12 23:03:02.000000000 +0100
++++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc 2019-01-12 23:04:39.364791000 +0100
+@@ -1180,7 +1180,8 @@
+
+ void TracingServiceImpl::UpdateMemoryGuardrail() {
+ #if !PERFETTO_BUILDFLAG(PERFETTO_CHROMIUM_BUILD) && \
+- !PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX)
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ uint64_t total_buffer_bytes = 0;
+
+ // Sum up all the shared memory buffers.
+@@ -1231,7 +1232,8 @@
protos::ClockSnapshot* clock_snapshot = packet.mutable_clock_snapshot();
#if !PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) && \
diff --git a/www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_Freetype.cpp b/www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_Freetype.cpp
index ab336e21f600..f371976cc61f 100644
--- a/www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_Freetype.cpp
+++ b/www/chromium/files/patch-third__party_skia_src_ports_SkFontHost_Freetype.cpp
@@ -1,15 +1,15 @@
---- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2018-07-20 01:19:49.019547000 +0200
-+++ third_party/skia/src/ports/SkFontHost_FreeType.cpp 2018-07-20 01:24:40.435966000 +0200
-@@ -99,8 +99,6 @@
- FreeTypeLibrary()
+--- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2019-01-30 02:20:41.000000000 +0100
++++ third_party/skia/src/ports/SkFontHost_FreeType.cpp 2019-02-01 13:08:18.165178000 +0100
+@@ -121,8 +121,6 @@
: fGetVarDesignCoordinates(nullptr)
+ , fGetVarAxisFlags(nullptr)
, fLibrary(nullptr)
- , fIsLCDSupported(false)
- , fLCDExtra(0)
{
if (FT_New_Library(&gFTMemory, &fLibrary)) {
return;
-@@ -147,12 +145,7 @@
+@@ -182,12 +180,7 @@
}
#endif
@@ -23,7 +23,7 @@
}
~FreeTypeLibrary() {
if (fLibrary) {
-@@ -161,8 +154,6 @@
+@@ -196,8 +189,6 @@
}
FT_Library library() { return fLibrary; }
@@ -32,7 +32,7 @@
// FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1.
// Prior to this there was no way to get the coordinates out of the FT_Face.
-@@ -173,8 +164,6 @@
+@@ -214,8 +205,6 @@
private:
FT_Library fLibrary;
@@ -41,7 +41,7 @@
// FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0.
// The following platforms provide FreeType of at least 2.4.0.
-@@ -660,17 +649,6 @@
+@@ -713,17 +702,6 @@
rec->fTextSize = SkIntToScalar(1 << 14);
}
@@ -56,12 +56,12 @@
- unref_ft_library();
- }
-
- SkPaint::Hinting h = rec->getHinting();
- if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) {
+ SkFontHinting h = rec->getHinting();
+ if (kFull_SkFontHinting == h && !isLCD(*rec)) {
// collapse full->normal hinting if we're not doing LCD
-@@ -1063,11 +1041,11 @@
+@@ -1137,11 +1115,11 @@
void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) {
- if (isLCD(fRec)) {
+ if (glyph->fMaskFormat == SkMask::kLCD16_Format) {
if (fLCDIsVert) {
- glyph->fHeight += gFTLibrary->lcdExtra();
- glyph->fTop -= gFTLibrary->lcdExtra() >> 1;
diff --git a/www/chromium/files/patch-third__party_swiftshader_BUILD.gn b/www/chromium/files/patch-third__party_swiftshader_BUILD.gn
index 3d3fcc58a22c..4aef49af7ad6 100644
--- a/www/chromium/files/patch-third__party_swiftshader_BUILD.gn
+++ b/www/chromium/files/patch-third__party_swiftshader_BUILD.gn
@@ -1,10 +1,19 @@
---- third_party/swiftshader/BUILD.gn.orig 2017-06-26 22:05:22.958335000 +0200
-+++ third_party/swiftshader/BUILD.gn 2017-06-26 22:05:34.834212000 +0200
-@@ -85,7 +85,6 @@
+--- third_party/swiftshader/BUILD.gn.orig 2019-01-30 02:20:34.000000000 +0100
++++ third_party/swiftshader/BUILD.gn 2019-02-01 13:30:51.566784000 +0100
+@@ -118,16 +118,12 @@
- if (is_linux) {
- ldflags = [
-- "-Wl,--hash-style=both",
- "-Wl,--gc-sections",
- ]
- }
+ if (target_cpu == "mipsel") {
+ ldflags += [
+- "-Wl,--hash-style=sysv",
+ "-mips32r2",
+ ]
+ } else if (target_cpu == "mips64el") {
+ ldflags += [
+- "-Wl,--hash-style=sysv",
+ "-mips64r2",
+ ]
+- } else {
+- ldflags += [ "-Wl,--hash-style=both" ]
+ }
+
+ # A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532)
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp b/www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
index efddc0e2168c..4f5d5e9ac54e 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
@@ -7,7 +7,7 @@
+#if !defined(__FreeBSD__)
bool noConfig = stat("SwiftShader.ini", &status) != 0;
+#else
-+ bool noConfig = false;
++ bool noConfig = false;
+#endif
newConfig = !noConfig && abs((int)status.st_mtime - lastModified) > 1;
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
new file mode 100644
index 000000000000..e01dfdf4d9ce
--- /dev/null
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
@@ -0,0 +1,20 @@
+--- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig 2019-01-12 22:59:44.902034000 +0100
++++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp 2019-01-12 23:00:33.372667000 +0100
+@@ -684,7 +684,7 @@
+ return status != 0;
+ }
+ return false;
+- #elif defined(__linux__)
++ #elif defined(__linux__) || defined(__FreeBSD__)
+ return false; // Non X11 linux is headless only
+ #elif defined(__APPLE__)
+ return sw::OSX::IsValidWindow(window);
+@@ -860,7 +860,7 @@
+ {
+ return sw::FORMAT_X8R8G8B8;
+ }
+- #elif defined(__linux__) // Non X11 linux is headless only
++ #elif defined(__linux__) || defined(__FreeBSD__) // Non X11 linux is headless only
+ return sw::FORMAT_A8B8G8R8;
+ #elif defined(__APPLE__)
+ return sw::FORMAT_A8B8G8R8;
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
new file mode 100644
index 000000000000..4c8b95a989cd
--- /dev/null
+++ b/www/chromium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
@@ -0,0 +1,11 @@
+--- third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp.orig 2019-01-12 22:56:53.902120000 +0100
++++ third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp 2019-01-12 22:57:13.884671000 +0100
+@@ -352,7 +352,7 @@
+
+ int windowWidth = windowAttributes.width;
+ int windowHeight = windowAttributes.height;
+- #elif defined(__linux__)
++ #elif defined(__linux__) || defined(__FreeBSD__)
+ // Non X11 linux is headless only
+ int windowWidth = 100;
+ int windowHeight = 100;
diff --git a/www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc b/www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
index 5bcf67950982..53b3208ea2e0 100644
--- a/www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
+++ b/www/chromium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
@@ -1,10 +1,10 @@
---- third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc.orig 2017-04-19 19:07:53 UTC
-+++ third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc
-@@ -13,6 +13,7 @@
- #include <string.h>
+--- third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc.orig 2019-01-30 02:20:37.000000000 +0100
++++ third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc 2019-02-01 13:38:23.452214000 +0100
+@@ -12,6 +12,7 @@
+ #include <string.h>
#include <algorithm>
+#include <cstdlib>
- #include <iterator>
#include <utility>
+ #include "modules/include/module_common_types_public.h"
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.cc
new file mode 100644
index 000000000000..317846880623
--- /dev/null
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.cc
@@ -0,0 +1,12 @@
+--- third_party/webrtc/rtc_base/ipaddress.cc.orig 2019-02-01 23:33:19.402949000 +0100
++++ third_party/webrtc/rtc_base/ipaddress.cc 2019-02-01 23:42:10.940296000 +0100
+@@ -11,6 +11,9 @@
+ #if defined(WEBRTC_POSIX)
+ #include <netinet/in.h>
+ #include <sys/socket.h>
++#if defined(WEBRTC_BSD)
++#include <sys/types.h>
++#endif
+ #ifdef OPENBSD
+ #include <netinet/in_systm.h>
+ #endif
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.h b/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.h
index c9fda9dcddee..9260ad8f423f 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.h
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_ipaddress.h
@@ -1,8 +1,8 @@
---- 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
+--- third_party/webrtc/rtc_base/ipaddress.h.orig 2019-01-30 02:20:38.000000000 +0100
++++ third_party/webrtc/rtc_base/ipaddress.h 2019-02-01 23:40:04.663435000 +0100
@@ -17,6 +17,10 @@
- #include <arpa/inet.h>
- #include <netdb.h>
+ #include <netinet/in.h>
+ #include <sys/socket.h>
#endif
+#if defined(WEBRTC_BSD)
+#include <sys/types.h>
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_platform_thread.cc b/www/chromium/files/patch-third__party_webrtc_rtc_base_platform_thread.cc
deleted file mode 100644
index a355353f01bb..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_rtc_base_platform_thread.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/webrtc/rtc_base/platform_thread.cc.orig 2018-06-13 00:12:10.000000000 +0200
-+++ third_party/webrtc/rtc_base/platform_thread.cc 2018-07-19 21:16:37.263549000 +0200
-@@ -15,7 +15,9 @@
- #include "rtc_base/timeutils.h"
-
- #if defined(WEBRTC_LINUX)
-+#if !defined(__FreeBSD__)
- #include <sys/prctl.h>
-+#endif
- #include <sys/syscall.h>
- #endif
-
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc_base_stringutils.h b/www/chromium/files/patch-third__party_webrtc_rtc_base_stringutils.h
index debbb1865be5..17776644b0de 100644
--- a/www/chromium/files/patch-third__party_webrtc_rtc_base_stringutils.h
+++ b/www/chromium/files/patch-third__party_webrtc_rtc_base_stringutils.h
@@ -1,6 +1,6 @@
---- 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 @@
+--- third_party/webrtc/rtc_base/stringutils.h.orig 2019-01-30 02:20:38.000000000 +0100
++++ third_party/webrtc/rtc_base/stringutils.h 2019-02-01 16:59:24.656841000 +0100
+@@ -25,11 +25,11 @@
#endif // WEBRTC_WIN
#if defined(WEBRTC_POSIX)
@@ -12,6 +12,6 @@
#include <alloca.h>
-#endif // !BSD
+#endif // !WEBRTC_BSD
+ #include <strings.h>
#endif // WEBRTC_POSIX
- #include <string>
diff --git a/www/chromium/files/patch-third__party_webrtc_webrtc.gni b/www/chromium/files/patch-third__party_webrtc_webrtc.gni
index 0369772412e8..30f4ca6a7802 100644
--- a/www/chromium/files/patch-third__party_webrtc_webrtc.gni
+++ b/www/chromium/files/patch-third__party_webrtc_webrtc.gni
@@ -1,11 +1,11 @@
---- third_party/webrtc/webrtc.gni.orig 2018-03-20 23:06:54.000000000 +0100
-+++ third_party/webrtc/webrtc.gni 2018-03-24 18:56:59.262948000 +0100
-@@ -206,7 +206,7 @@
- rtc_opus_dir = "//third_party/opus"
+--- third_party/webrtc/webrtc.gni.orig 2019-01-30 02:20:39.000000000 +0100
++++ third_party/webrtc/webrtc.gni 2019-02-01 14:19:52.625516000 +0100
+@@ -234,7 +234,7 @@
# Desktop capturer is supported only on Windows, OSX and Linux.
--rtc_desktop_capture_supported = is_win || is_mac || (is_linux && rtc_use_x11)
-+rtc_desktop_capture_supported = is_win || is_mac || ((is_linux && rtc_use_x11) && !is_bsd)
+ rtc_desktop_capture_supported =
+- is_win || is_mac || (is_linux && (rtc_use_x11 || rtc_use_pipewire))
++ is_win || is_mac || (is_linux && (rtc_use_x11 || rtc_use_pipewire) && !is_bsd)
###############################################################################
# Templates
diff --git a/www/chromium/files/patch-third__party_zlib_arm__features.c b/www/chromium/files/patch-third__party_zlib_arm__features.c
index 9e5cc0c98e0a..4a251e38325c 100644
--- a/www/chromium/files/patch-third__party_zlib_arm__features.c
+++ b/www/chromium/files/patch-third__party_zlib_arm__features.c
@@ -1,6 +1,6 @@
---- third_party/zlib/arm_features.c.orig 2018-09-11 22:58:25 UTC
-+++ third_party/zlib/arm_features.c
-@@ -16,12 +16,13 @@
+--- third_party/zlib/arm_features.c.orig 2019-01-30 02:18:52.000000000 +0100
++++ third_party/zlib/arm_features.c 2019-02-01 14:35:44.086582000 +0100
+@@ -21,9 +21,10 @@
#include <asm/hwcap.h>
#include <sys/auxv.h>
#else
@@ -8,14 +8,11 @@
+/* #error ### No ARM CPU features detection in your platform/OS */
#endif
- int ZLIB_INTERNAL arm_cpu_enable_crc32 = 0;
- int ZLIB_INTERNAL arm_cpu_enable_pmull = 0;
-
+#ifdef ARMV8_OS_LINUX
static pthread_once_t cpu_check_inited_once = PTHREAD_ONCE_INIT;
static void init_arm_features(void)
-@@ -53,8 +54,11 @@ static void init_arm_features(void)
+@@ -55,10 +56,13 @@
if (capabilities & flag_pmull)
arm_cpu_enable_pmull = 1;
}
@@ -27,3 +24,5 @@
pthread_once(&cpu_check_inited_once, init_arm_features);
+#endif
}
+ #else
+ #include <windows.h>
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc
index 7887ef2dee27..e1efa4c7fc22 100644
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc
+++ b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.cc
@@ -1,5 +1,5 @@
---- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2018-12-12 22:56:23.000000000 +0100
-+++ third_party/blink/renderer/platform/fonts/font_cache.cc 2018-12-29 13:18:26.479678000 +0100
+--- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2019-01-30 02:18:16.000000000 +0100
++++ third_party/blink/renderer/platform/fonts/font_cache.cc 2019-02-01 14:43:30.711803000 +0100
@@ -65,7 +65,7 @@
SkFontMgr* FontCache::static_font_manager_ = nullptr;
@@ -15,6 +15,6 @@
const AtomicString& family = FontCache::SystemFontFamily();
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- if (family.IsEmpty() || family == FontFamilyNames::system_ui)
+ if (family.IsEmpty() || family == font_family_names::kSystemUi)
return nullptr;
#else
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.h b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.h
index dd54e5d71cf4..7fec2c44c44e 100644
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.h
+++ b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_font_cache.h
@@ -1,5 +1,5 @@
---- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2018-12-12 22:56:23.000000000 +0100
-+++ third_party/blink/renderer/platform/fonts/font_cache.h 2018-12-29 13:18:26.483036000 +0100
+--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2019-01-30 02:18:16.000000000 +0100
++++ third_party/blink/renderer/platform/fonts/font_cache.h 2019-02-02 11:22:47.863990000 +0100
@@ -157,7 +157,7 @@
sk_sp<SkFontMgr> FontManager() { return font_manager_; }
static void SetFontManager(sk_sp<SkFontMgr>);
@@ -18,7 +18,16 @@
struct PlatformFallbackFont {
String name;
CString filename;
-@@ -291,7 +291,7 @@
+@@ -230,7 +230,7 @@
+ static void GetFontForCharacter(UChar32,
+ const char* preferred_locale,
+ PlatformFallbackFont*);
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ scoped_refptr<SimpleFontData> FontDataFromFontPlatformData(
+ const FontPlatformData*,
+@@ -291,12 +291,12 @@
const FontFaceCreationParams&,
CString& name);
@@ -27,6 +36,12 @@
static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
UChar32,
const FontDescription&,
+ FontFallbackPriority);
+-#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_FUCHSIA)
++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
+
+ scoped_refptr<SimpleFontData> FallbackOnStandardFontStyle(const FontDescription&,
+ UChar32);
@@ -327,7 +327,7 @@
bool is_test_font_mgr_ = false;
#endif // defined(OS_WIN)
diff --git a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_skia_font_cache_skia.cc b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_skia_font_cache_skia.cc
index 331eb842671b..fc9757eeb81f 100644
--- a/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_skia_font_cache_skia.cc
+++ b/www/chromium/files/patch-third_party_blink_renderer_platform_fonts_skia_font_cache_skia.cc
@@ -1,6 +1,15 @@
---- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2018-07-19 19:29:54.256436000 +0200
-+++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc 2018-07-19 19:30:19.879244000 +0200
-@@ -60,7 +60,7 @@
+--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2019-01-30 02:18:16.000000000 +0100
++++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc 2019-02-02 11:10:08.595129000 +0100
+@@ -57,7 +57,7 @@
+
+ namespace blink {
+
+-#if defined(OS_ANDROID) || defined(OS_LINUX)
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
+ namespace {
+
+ static sk_sp<SkTypeface> CreateTypefaceFromUniqueName(
+@@ -80,7 +80,7 @@
return AtomicString::FromUTF8(str.c_str(), str.size());
}
@@ -9,7 +18,7 @@
// 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 @@
+@@ -269,7 +269,7 @@
}
#endif
@@ -18,3 +27,12 @@
// 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
+@@ -296,7 +296,7 @@
+ CString name;
+
+ sk_sp<SkTypeface> typeface;
+-#if defined(OS_ANDROID) || defined(OS_LINUX)
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
+ if (alternate_name == AlternateFontName::kLocalUniqueFace &&
+ RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) {
+ typeface = CreateTypefaceFromUniqueName(creation_params, name);
diff --git a/www/chromium/files/patch-third_party_crashpad_crashpad_client_BUILD.gn b/www/chromium/files/patch-third_party_crashpad_crashpad_client_BUILD.gn
new file mode 100644
index 000000000000..6e19ca4a4da6
--- /dev/null
+++ b/www/chromium/files/patch-third_party_crashpad_crashpad_client_BUILD.gn
@@ -0,0 +1,15 @@
+--- third_party/crashpad/crashpad/client/BUILD.gn.orig 2019-01-12 23:20:12.535371000 +0100
++++ third_party/crashpad/crashpad/client/BUILD.gn 2019-01-12 23:21:47.786624000 +0100
+@@ -71,6 +71,12 @@
+ sources += [ "crashpad_client_fuchsia.cc" ]
+ }
+
++ if (crashpad_is_posix) {
++ sources += [
++ "crashpad_client_posix.cc",
++ ]
++ }
++
+ if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
+ sources += [ "crash_report_database_generic.cc" ]
+ }
diff --git a/www/chromium/files/patch-third_party_crashpad_crashpad_client_crashpad_client_posix.cc b/www/chromium/files/patch-third_party_crashpad_crashpad_client_crashpad_client_posix.cc
new file mode 100644
index 000000000000..e46b58a5c9e2
--- /dev/null
+++ b/www/chromium/files/patch-third_party_crashpad_crashpad_client_crashpad_client_posix.cc
@@ -0,0 +1,41 @@
+--- third_party/crashpad/crashpad/client/crashpad_client_posix.cc.orig 2019-01-12 23:16:55.468608000 +0100
++++ third_party/crashpad/crashpad/client/crashpad_client_posix.cc 2019-01-12 23:18:00.395212000 +0100
+@@ -0,0 +1,38 @@
++// Copyright 2017 The Crashpad Authors. All rights reserved.
++//
++// Licensed under the Apache License, Version 2.0 (the "License");
++// you may not use this file except in compliance with the License.
++// You may obtain a copy of the License at
++//
++// http://www.apache.org/licenses/LICENSE-2.0
++//
++// Unless required by applicable law or agreed to in writing, software
++// distributed under the License is distributed on an "AS IS" BASIS,
++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++// See the License for the specific language governing permissions and
++// limitations under the License.
++
++#include "client/crashpad_client.h"
++
++#include "base/logging.h"
++
++namespace crashpad {
++
++CrashpadClient::CrashpadClient() {}
++
++CrashpadClient::~CrashpadClient() {}
++
++bool CrashpadClient::StartHandler(
++ const base::FilePath& handler,
++ const base::FilePath& database,
++ const base::FilePath& metrics_dir,
++ const std::string& url,
++ const std::map<std::string, std::string>& annotations,
++ const std::vector<std::string>& arguments,
++ bool restartable,
++ bool asynchronous_start) {
++ NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196
++ return false;
++}
++
++} // namespace crashpad
diff --git a/www/chromium/files/patch-tools_gn_base_files_file__posix.cc b/www/chromium/files/patch-tools_gn_base_files_file__posix.cc
index 11acf38cd2eb..e79f953601e5 100644
--- a/www/chromium/files/patch-tools_gn_base_files_file__posix.cc
+++ b/www/chromium/files/patch-tools_gn_base_files_file__posix.cc
@@ -1,11 +1,11 @@
---- tools/gn/base/files/file_posix.cc.orig 2018-12-12 23:06:54.000000000 +0100
-+++ tools/gn/base/files/file_posix.cc 2018-12-15 21:58:11.127692000 +0100
-@@ -86,7 +86,7 @@
- is_symbolic_link = S_ISLNK(stat_info.st_mode);
- size = stat_info.st_size;
+--- tools/gn/base/files/file_posix.cc.orig 2019-02-06 23:16:22.000000000 +0100
++++ tools/gn/base/files/file_posix.cc 2019-02-08 18:18:17.423059000 +0100
+@@ -414,7 +414,7 @@
+ bool File::Flush() {
+ DCHECK(IsValid());
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- time_t last_modified_sec = stat_info.st_mtim.tv_sec;
- int64_t last_modified_nsec = stat_info.st_mtim.tv_nsec;
- time_t last_accessed_sec = stat_info.st_atim.tv_sec;
+ return !HANDLE_EINTR(fdatasync(file_.get()));
+ #else
+ return !HANDLE_EINTR(fsync(file_.get()));
diff --git a/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py b/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py
deleted file mode 100644
index 13ad8adcebf7..000000000000
--- a/www/chromium/files/patch-tools_gn_bootstrap_bootstrap.py
+++ /dev/null
@@ -1,20 +0,0 @@
---- tools/gn/bootstrap/bootstrap.py.orig 2018-12-12 22:56:27.000000000 +0100
-+++ tools/gn/bootstrap/bootstrap.py 2018-12-16 00:01:37.174054000 +0100
-@@ -76,8 +76,6 @@
- '--no-last-commit-position',
- '--out-path=' + gn_build_dir,
- ]
-- if not options.with_sysroot:
-- cmd.append('--no-sysroot')
- if options.debug:
- cmd.append('--debug')
- subprocess.check_call(cmd)
-@@ -86,6 +84,8 @@
- os.path.join(BOOTSTRAP_DIR, 'last_commit_position.h'), gn_build_dir)
- subprocess.check_call(
- ['ninja', '-C', gn_build_dir, 'gn', '-w', 'dupbuild=err'])
-+ subprocess.check_call(
-+ ['ninja', '-C', gn_build_dir, 'gn_unittests', '-w', 'dupbuild=err'])
- shutil.copy2(os.path.join(gn_build_dir, 'gn'), gn_path)
-
- if not options.skip_generate_buildfiles:
diff --git a/www/chromium/files/patch-tools_gn_build_gen.py b/www/chromium/files/patch-tools_gn_build_gen.py
index 2c2bfaa99f9d..30de95b46836 100644
--- a/www/chromium/files/patch-tools_gn_build_gen.py
+++ b/www/chromium/files/patch-tools_gn_build_gen.py
@@ -1,50 +1,33 @@
---- tools/gn/build/gen.py.orig 2018-12-12 23:06:54.000000000 +0100
-+++ tools/gn/build/gen.py 2018-12-15 23:20:32.529540000 +0100
-@@ -39,10 +39,12 @@
- self._platform = 'aix'
- elif self._platform.startswith('fuchsia'):
- self._platform = 'fuchsia'
-+ elif self._platform.lower().startswith('freebsd'):
-+ self._platform = 'bsd'
+--- tools/gn/build/gen.py.orig 2019-02-06 23:16:22.000000000 +0100
++++ tools/gn/build/gen.py 2019-02-08 18:27:37.227094000 +0100
+@@ -44,7 +44,7 @@
@staticmethod
def known_platforms():
- return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia']
-+ return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia', 'bsd']
++ return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia', 'freebsd']
def platform(self):
return self._platform
-@@ -65,8 +67,11 @@
+@@ -67,6 +67,9 @@
def is_aix(self):
return self._platform == 'aix'
-+ def is_bsd(self):
-+ return self._platform == 'bsd'
++ def is_freebsd(self):
++ return self._platform == 'freebsd'
+
def is_posix(self):
-- return self._platform in ['linux', 'darwin', 'aix']
-+ return self._platform in ['linux', 'darwin', 'aix', 'bsd']
+ return self._platform in ['linux', 'freebsd', 'darwin', 'aix']
-
- def main(argv):
-@@ -168,6 +173,7 @@
- 'darwin': 'build_mac.ninja.template',
- 'linux': 'build_linux.ninja.template',
- 'aix': 'build_aix.ninja.template',
-+ 'bsd': 'build_linux.ninja.template'
- }[platform.platform()])
-
- with open(template_filename) as f:
-@@ -327,7 +333,11 @@
+@@ -332,6 +335,11 @@
elif platform.is_aix():
cflags_cc.append('-maix64')
- ldflags.extend(['-maix64', '-pthread'])
--
-+ elif platform.is_bsd():
+ ldflags.append('-maix64')
++ elif platform.is_freebsd():
+ cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality'])
+ ldflags.extend(['-pthread'])
-+ libs.extend(['-lexecinfo', '-lkvm'])
++ libs.extend(['-lexecinfo', '-lkvm', '-lutil'])
+ include_dirs += ['/usr/local/include']
- if options.use_lto:
- cflags.extend(['-flto', '-fwhole-program-vtables'])
- ldflags.extend(['-flto', '-fwhole-program-vtables'])
+
+ if platform.is_posix():
+ ldflags.append('-pthread')
diff --git a/www/chromium/files/patch-tools_gn_tools_gn_args.cc b/www/chromium/files/patch-tools_gn_tools_gn_args.cc
deleted file mode 100644
index 26fccbe5dca0..000000000000
--- a/www/chromium/files/patch-tools_gn_tools_gn_args.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/tools/gn/args.cc.orig 2018-12-15 19:22:28.337753000 +0100
-+++ tools/gn/tools/gn/args.cc 2018-12-15 19:22:44.479580000 +0100
-@@ -294,6 +294,8 @@
- os = "mac";
- #elif defined(OS_LINUX)
- os = "linux";
-+#elif defined(OS_BSD)
-+ os = "bsd";
- #elif defined(OS_AIX)
- os = "aix";
- #else
diff --git a/www/chromium/files/patch-tools_gn_util_exe__path.cc b/www/chromium/files/patch-tools_gn_util_exe__path.cc
deleted file mode 100644
index 8b8f1b418999..000000000000
--- a/www/chromium/files/patch-tools_gn_util_exe__path.cc
+++ /dev/null
@@ -1,33 +0,0 @@
---- tools/gn/util/exe_path.cc.orig 2018-12-12 23:06:54.000000000 +0100
-+++ tools/gn/util/exe_path.cc 2018-12-15 23:13:30.454635000 +0100
-@@ -13,6 +13,9 @@
- #include <mach-o/dyld.h>
- #elif defined(OS_WIN)
- #include <windows.h>
-+#elif defined(OS_FREEBSD)
-+#include <sys/param.h>
-+#include <sys/sysctl.h>
- #endif
-
- #if defined(OS_MACOSX)
-@@ -44,6 +47,20 @@
- return base::FilePath();
- }
- return base::FilePath(system_buffer);
-+}
-+
-+#elif defined(OS_FREEBSD)
-+
-+base::FilePath GetExePath() {
-+ int name[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
-+ char system_buffer[PATH_MAX + 1];
-+ size_t length = sizeof(system_buffer);
-+ int error = sysctl(name, 4, system_buffer, &length, NULL, 0);
-+ if (error < 0 || length <= 1) {
-+ NOTREACHED() << "Unable to resolve path.";
-+ return base::FilePath();
-+ }
-+ return base::FilePath(base::FilePath::StringType(system_buffer, length - 1));
- }
-
- #else
diff --git a/www/chromium/files/patch-tools_gn_util_semaphore.cc b/www/chromium/files/patch-tools_gn_util_semaphore.cc
deleted file mode 100644
index 322d66cb57d1..000000000000
--- a/www/chromium/files/patch-tools_gn_util_semaphore.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/util/semaphore.cc.orig 2018-12-12 23:06:54.000000000 +0100
-+++ tools/gn/util/semaphore.cc 2018-12-15 22:08:39.431096000 +0100
-@@ -36,7 +36,7 @@
- }
- }
-
--#elif defined(OS_LINUX) || defined(OS_AIX)
-+#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
-
- Semaphore::Semaphore(int count) {
- DCHECK_GE(count, 0);
diff --git a/www/chromium/files/patch-tools_gn_util_semaphore.h b/www/chromium/files/patch-tools_gn_util_semaphore.h
deleted file mode 100644
index d25547eb18c5..000000000000
--- a/www/chromium/files/patch-tools_gn_util_semaphore.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- tools/gn/util/semaphore.h.orig 2018-12-12 23:06:54.000000000 +0100
-+++ tools/gn/util/semaphore.h 2018-12-15 22:00:54.077539000 +0100
-@@ -15,7 +15,7 @@
- #include <windows.h>
- #elif defined(OS_MACOSX)
- #include <mach/mach.h>
--#elif defined(OS_LINUX) || defined(OS_AIX)
-+#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- #include <semaphore.h>
- #else
- #error Port.
-@@ -35,7 +35,7 @@
-
- #if defined(OS_MACOSX)
- typedef semaphore_t NativeHandle;
--#elif defined(OS_LINUX) || defined(OS_AIX)
-+#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- typedef sem_t NativeHandle;
- #elif defined(OS_WIN)
- typedef HANDLE NativeHandle;
diff --git a/www/chromium/files/patch-tools_gn_util_ticks.cc b/www/chromium/files/patch-tools_gn_util_ticks.cc
deleted file mode 100644
index 5e486b9177ff..000000000000
--- a/www/chromium/files/patch-tools_gn_util_ticks.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- tools/gn/util/ticks.cc.orig 2018-12-12 23:06:54.000000000 +0100
-+++ tools/gn/util/ticks.cc 2018-12-15 22:06:44.653261000 +0100
-@@ -11,7 +11,7 @@
- #include <windows.h>
- #elif defined(OS_MACOSX)
- #include <mach/mach_time.h>
--#elif defined(OS_LINUX) || defined(OS_AIX)
-+#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- #include <time.h>
- #else
- #error Port.
-@@ -27,7 +27,7 @@
- #elif defined(OS_MACOSX)
- mach_timebase_info_data_t g_timebase;
- uint64_t g_start;
--#elif defined(OS_LINUX) || defined(OS_AIX)
-+#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- uint64_t g_start;
- #else
- #error Port.
-@@ -44,7 +44,7 @@
- #elif defined(OS_MACOSX)
- mach_timebase_info(&g_timebase);
- g_start = (mach_absolute_time() * g_timebase.numer) / g_timebase.denom;
--#elif defined(OS_LINUX) || defined(OS_AIX)
-+#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- struct timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- g_start = static_cast<uint64_t>(ts.tv_sec) * kNano +
-@@ -74,7 +74,7 @@
- #elif defined(OS_MACOSX)
- now =
- ((mach_absolute_time() * g_timebase.numer) / g_timebase.denom) - g_start;
--#elif defined(OS_LINUX) || defined(OS_AIX)
-+#elif defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- struct timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- now = (static_cast<uint64_t>(ts.tv_sec) * kNano +
diff --git a/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py b/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py
index 8a2e8f61a1f0..3a30a8b7e5bf 100644
--- a/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py
+++ b/www/chromium/files/patch-tools_variations_fieldtrial__to__struct.py
@@ -1,10 +1,10 @@
---- tools/variations/fieldtrial_to_struct.py.orig 2018-12-03 21:18:05.000000000 +0100
-+++ tools/variations/fieldtrial_to_struct.py 2018-12-15 20:10:55.090226000 +0100
+--- tools/variations/fieldtrial_to_struct.py.orig 2019-02-06 23:07:02.000000000 +0100
++++ tools/variations/fieldtrial_to_struct.py 2019-02-08 19:20:20.308979000 +0100
@@ -24,6 +24,7 @@
_platforms = [
'android',
'android_webview',
-+ 'bsd',
++ 'freebsd',
'chromeos',
'fuchsia',
'ios',
diff --git a/www/chromium/files/patch-ui_gfx_font__render__params.h b/www/chromium/files/patch-ui_gfx_font__render__params.h
index 574c537d4e75..ec0409fa71c1 100644
--- a/www/chromium/files/patch-ui_gfx_font__render__params.h
+++ b/www/chromium/files/patch-ui_gfx_font__render__params.h
@@ -1,5 +1,5 @@
---- ui/gfx/font_render_params.h.orig 2018-12-03 21:18:06.000000000 +0100
-+++ ui/gfx/font_render_params.h 2018-12-15 20:21:38.472663000 +0100
+--- ui/gfx/font_render_params.h.orig 2019-01-30 02:18:54.000000000 +0100
++++ ui/gfx/font_render_params.h 2019-02-01 15:04:34.285442000 +0100
@@ -111,13 +111,13 @@
const FontRenderParamsQuery& query,
std::string* family_out);
@@ -11,8 +11,8 @@
GFX_EXPORT void ClearFontRenderParamsCacheForTest();
#endif
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
+-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
// Gets the device scale factor to query the FontRenderParams.
GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor();
diff --git a/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.cc b/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.cc
index f807cbc71ebc..7ddbe8d3f443 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,42 +1,38 @@
---- ui/gfx/mojo/buffer_types_struct_traits.cc.orig 2017-12-15 02:04:51.000000000 +0100
-+++ ui/gfx/mojo/buffer_types_struct_traits.cc 2017-12-24 20:18:51.935594000 +0100
-@@ -12,10 +12,10 @@
- StructTraits<gfx::mojom::NativePixmapHandleDataView, gfx::NativePixmapHandle>::
- fds(const gfx::NativePixmapHandle& pixmap_handle) {
- std::vector<mojo::ScopedHandle> handles;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- 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 handles;
+--- ui/gfx/mojo/buffer_types_struct_traits.cc.orig 2019-01-30 02:18:54.000000000 +0100
++++ ui/gfx/mojo/buffer_types_struct_traits.cc 2019-02-01 15:10:31.292361000 +0100
+@@ -28,7 +28,7 @@
+ return data.ReadUsage(&out->usage) && data.ReadFormat(&out->format);
}
-@@ -23,7 +23,7 @@
- gfx::mojom::NativePixmapHandleDataView,
- gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data,
- gfx::NativePixmapHandle* out) {
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- mojo::ArrayDataView<mojo::ScopedHandle> handles_data_view;
- data.GetFdsDataView(&handles_data_view);
- for (size_t i = 0; i < handles_data_view.size(); ++i) {
+ std::vector<mojo::ScopedHandle>
+ StructTraits<gfx::mojom::NativePixmapHandleDataView, gfx::NativePixmapHandle>::
+ fds(const gfx::NativePixmapHandle& pixmap_handle) {
@@ -55,7 +55,7 @@
- StructTraits<gfx::mojom::GpuMemoryBufferHandleDataView,
- gfx::GpuMemoryBufferHandle>::
- native_pixmap_handle(const gfx::GpuMemoryBufferHandle& handle) {
+ }
+ return data.ReadPlanes(&out->planes);
+ }
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTraits<
+ gfx::mojom::GpuMemoryBufferHandleDataView,
+@@ -68,7 +68,7 @@
+ return gfx::mojom::GpuMemoryBufferPlatformHandle::NewSharedMemoryHandle(
+ std::move(handle.region));
+ case gfx::NATIVE_PIXMAP:
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- return handle.native_pixmap_handle;
+ return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle(
+ handle.native_pixmap_handle);
#else
- static gfx::NativePixmapHandle pixmap_handle;
-@@ -94,7 +94,7 @@
- out->offset = data.offset();
- out->stride = data.stride();
- }
+@@ -144,7 +144,7 @@
+ out->type = gfx::SHARED_MEMORY_BUFFER;
+ out->region = std::move(platform_handle->get_shared_memory_handle());
+ return true;
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- if (out->type == gfx::NATIVE_PIXMAP &&
- !data.ReadNativePixmapHandle(&out->native_pixmap_handle))
- return false;
+ case gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag::
+ NATIVE_PIXMAP_HANDLE:
+ out->type = gfx::NATIVE_PIXMAP;
diff --git a/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.h b/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.h
index b48369ec222f..c06d88ae83bf 100644
--- a/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.h
+++ b/www/chromium/files/patch-ui_gfx_mojo_buffer_types_struct_traits.h
@@ -1,11 +1,20 @@
---- ui/gfx/mojo/buffer_types_struct_traits.h.orig 2017-08-02 17:14:09.584825000 +0200
-+++ ui/gfx/mojo/buffer_types_struct_traits.h 2017-08-02 17:14:27.990894000 +0200
-@@ -240,7 +240,7 @@
- void* context);
+--- ui/gfx/mojo/buffer_types_struct_traits.h.orig 2019-01-30 02:18:54.000000000 +0100
++++ ui/gfx/mojo/buffer_types_struct_traits.h 2019-02-01 15:19:04.908647000 +0100
+@@ -189,7 +189,7 @@
+ }
+ };
- static bool IsNull(const gfx::NativePixmapHandle& handle) {
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
- return false;
- #else
- // NativePixmapHandle are not used on non-linux platforms.
+ template <>
+ struct StructTraits<gfx::mojom::NativePixmapPlaneDataView,
+ gfx::NativePixmapPlane> {
+@@ -229,7 +229,7 @@
+ static bool Read(gfx::mojom::NativePixmapHandleDataView data,
+ gfx::NativePixmapHandle* out);
+ };
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ template <>
+ struct StructTraits<gfx::mojom::GpuMemoryBufferHandleDataView,
diff --git a/www/chromium/files/patch-v8_BUILD.gn b/www/chromium/files/patch-v8_BUILD.gn
index 0d82e1daa68b..37fc8f749ba5 100644
--- a/www/chromium/files/patch-v8_BUILD.gn
+++ b/www/chromium/files/patch-v8_BUILD.gn
@@ -1,15 +1,6 @@
---- v8/BUILD.gn.orig 2018-08-01 00:10:59.000000000 +0200
-+++ v8/BUILD.gn 2018-08-05 12:16:07.941632000 +0200
-@@ -2529,7 +2529,7 @@
- "src/x64/simulator-x64.h",
- "src/x64/sse-instr.h",
- ]
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- sources += [
- "src/trap-handler/handler-inside-linux.cc",
- "src/trap-handler/handler-outside-linux.cc",
-@@ -2875,7 +2875,7 @@
+--- v8/BUILD.gn.orig 2019-01-30 02:20:39.000000000 +0100
++++ v8/BUILD.gn 2019-02-01 15:22:52.852309000 +0100
+@@ -3254,7 +3254,7 @@
}
}
@@ -18,7 +9,7 @@
sources += [
"src/base/debug/stack_trace_posix.cc",
"src/base/platform/platform-linux.cc",
-@@ -2895,6 +2895,12 @@
+@@ -3274,6 +3274,12 @@
"dl",
"rt",
]
@@ -31,8 +22,8 @@
} else if (is_android) {
if (current_toolchain == host_toolchain) {
libs = [
-@@ -3064,6 +3070,7 @@
- sources = [
+@@ -3478,6 +3484,7 @@
+ "src/snapshot/embedded-file-writer.h",
"src/snapshot/mksnapshot.cc",
]
+ libs = ["execinfo"]
diff --git a/www/chromium/files/patch-v8_src_api.cc b/www/chromium/files/patch-v8_src_api.cc
new file mode 100644
index 000000000000..4fa3d118e2e2
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_api.cc
@@ -0,0 +1,20 @@
+--- v8/src/api.cc.orig 2019-02-06 23:49:54.462307000 +0100
++++ v8/src/api.cc 2019-02-06 23:50:45.414499000 +0100
+@@ -105,7 +105,7 @@
+ #include "src/wasm/wasm-result.h"
+ #include "src/wasm/wasm-serialization.h"
+
+-#if V8_OS_LINUX || V8_OS_MACOSX
++#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD
+ #include <signal.h>
+ #include "src/trap-handler/handler-inside-posix.h"
+ #endif
+@@ -5885,7 +5885,7 @@
+ return true;
+ }
+
+-#if V8_OS_LINUX || V8_OS_MACOSX
++#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD
+ bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info,
+ void* context) {
+ #if V8_TARGET_ARCH_X64 && !V8_OS_ANDROID
diff --git a/www/chromium/files/patch-v8_src_builtins_builtins-iterator-gen.cc b/www/chromium/files/patch-v8_src_builtins_builtins-iterator-gen.cc
deleted file mode 100644
index 9653cde3ad1d..000000000000
--- a/www/chromium/files/patch-v8_src_builtins_builtins-iterator-gen.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- v8/src/builtins/builtins-iterator-gen.cc.orig 2019-01-09 20:18:02.120534000 +0100
-+++ v8/src/builtins/builtins-iterator-gen.cc 2019-01-09 21:49:23.285517000 +0100
-@@ -284,12 +284,12 @@
-
- BIND(&check_string);
- {
-+ Label string_fast_call(this);
- StringBuiltinsAssembler string_assembler(state());
-- GotoIfNot(string_assembler.IsStringPrimitiveWithNoCustomIteration(iterable,
-- context),
-- &slow_path);
-+ string_assembler.BranchIfStringPrimitiveWithNoCustomIteration(
-+ iterable, context, &string_fast_call, &slow_path);
-
-- // Fast path for strings.
-+ BIND(&string_fast_call);
- TailCallBuiltin(Builtins::kStringToList, context, iterable);
- }
-
diff --git a/www/chromium/files/patch-v8_src_builtins_builtins-string-gen.cc b/www/chromium/files/patch-v8_src_builtins_builtins-string-gen.cc
deleted file mode 100644
index 6acc54688ee1..000000000000
--- a/www/chromium/files/patch-v8_src_builtins_builtins-string-gen.cc
+++ /dev/null
@@ -1,61 +0,0 @@
---- v8/src/builtins/builtins-string-gen.cc.orig 2019-01-09 20:22:12.074879000 +0100
-+++ v8/src/builtins/builtins-string-gen.cc 2019-01-09 21:52:28.439367000 +0100
-@@ -2493,41 +2493,38 @@
- }
- }
-
--TNode<BoolT> StringBuiltinsAssembler::IsStringPrimitiveWithNoCustomIteration(
-- TNode<Object> object, TNode<Context> context) {
-- Label if_false(this, Label::kDeferred), exit(this);
-- TVARIABLE(BoolT, var_result);
-+void StringBuiltinsAssembler::BranchIfStringPrimitiveWithNoCustomIteration(
-+ TNode<Object> object, TNode<Context> context, Label* if_true,
-+ Label* if_false) {
-+ GotoIf(TaggedIsSmi(object), if_false);
-+ GotoIfNot(IsString(CAST(object)), if_false);
-
-- GotoIf(TaggedIsSmi(object), &if_false);
-- GotoIfNot(IsString(CAST(object)), &if_false);
-+ // Bailout if the new array doesn't fit in new space.
-+ const TNode<IntPtrT> length = LoadStringLengthAsWord(CAST(object));
-+ // Since we don't have allocation site, base size does not include
-+ // AllocationMemento::kSize.
-+ GotoIfFixedArraySizeDoesntFitInNewSpace(
-+ length, if_false, JSArray::kSize + FixedArray::kHeaderSize,
-+ INTPTR_PARAMETERS);
-
- // Check that the String iterator hasn't been modified in a way that would
- // affect iteration.
- Node* protector_cell = LoadRoot(RootIndex::kStringIteratorProtector);
- DCHECK(isolate()->heap()->string_iterator_protector()->IsPropertyCell());
-- var_result =
-- WordEqual(LoadObjectField(protector_cell, PropertyCell::kValueOffset),
-- SmiConstant(Isolate::kProtectorValid));
-- Goto(&exit);
--
-- BIND(&if_false);
-- {
-- var_result = Int32FalseConstant();
-- Goto(&exit);
-- }
--
-- BIND(&exit);
-- return var_result.value();
-+ Branch(WordEqual(LoadObjectField(protector_cell, PropertyCell::kValueOffset),
-+ SmiConstant(Isolate::kProtectorValid)),
-+ if_true, if_false);
- }
-
-+// This function assumes StringPrimitiveWithNoCustomIteration is true.
- TNode<JSArray> StringBuiltinsAssembler::StringToList(TNode<Context> context,
- TNode<String> string) {
-- CSA_ASSERT(this, IsStringPrimitiveWithNoCustomIteration(string, context));
- const ElementsKind kind = PACKED_ELEMENTS;
- const TNode<IntPtrT> length = LoadStringLengthAsWord(string);
-
- Node* const array_map =
- LoadJSArrayElementsMap(kind, LoadNativeContext(context));
-+ // Allocate the array to new space, assuming that the new array will fit in.
- Node* const array = AllocateJSArray(kind, array_map, length, SmiTag(length));
- Node* const elements = LoadElements(array);
-
diff --git a/www/chromium/files/patch-v8_src_builtins_builtins-string-gen.h b/www/chromium/files/patch-v8_src_builtins_builtins-string-gen.h
deleted file mode 100644
index 0d9ff7bfa505..000000000000
--- a/www/chromium/files/patch-v8_src_builtins_builtins-string-gen.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- v8/src/builtins/builtins-string-gen.h.orig 2019-01-09 20:22:23.363855000 +0100
-+++ v8/src/builtins/builtins-string-gen.h 2019-01-09 20:25:02.361877000 +0100
-@@ -23,8 +23,10 @@
- Node* rhs, Node* rhs_instance_type,
- TNode<IntPtrT> length, Label* if_equal,
- Label* if_not_equal, Label* if_indirect);
-- TNode<BoolT> IsStringPrimitiveWithNoCustomIteration(TNode<Object> object,
-- TNode<Context> context);
-+ void BranchIfStringPrimitiveWithNoCustomIteration(TNode<Object> object,
-+ TNode<Context> context,
-+ Label* if_true,
-+ Label* if_false);
-
- protected:
- TNode<JSArray> StringToList(TNode<Context> context, TNode<String> string);
diff --git a/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc
new file mode 100644
index 000000000000..b5b3f979ed1d
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc
@@ -0,0 +1,20 @@
+--- v8/src/trap-handler/handler-inside-posix.cc.orig 2019-02-02 10:20:15.963337000 +0100
++++ v8/src/trap-handler/handler-inside-posix.cc 2019-02-02 10:41:12.897011000 +0100
+@@ -27,7 +27,7 @@
+
+ #include <signal.h>
+
+-#ifdef V8_OS_LINUX
++#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
+ #include <ucontext.h>
+ #elif V8_OS_MACOSX
+ #include <sys/ucontext.h>
+@@ -109,6 +109,8 @@
+ auto* context_rip = &uc->uc_mcontext.gregs[REG_RIP];
+ #elif V8_OS_MACOSX
+ auto* context_rip = &uc->uc_mcontext->__ss.__rip;
++#elif V8_OS_FREEBSD
++ auto* context_rip = &uc->uc_mcontext.mc_rip;
+ #else
+ #error Unsupported platform
+ #endif
diff --git a/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h
new file mode 100644
index 000000000000..2cfa80c34aa4
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h
@@ -0,0 +1,11 @@
+--- v8/src/trap-handler/handler-inside-posix.h.orig 2019-02-02 10:19:11.070129000 +0100
++++ v8/src/trap-handler/handler-inside-posix.h 2019-02-02 10:19:28.516985000 +0100
+@@ -12,7 +12,7 @@
+ namespace internal {
+ namespace trap_handler {
+
+-#if V8_OS_LINUX
++#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
+ constexpr int kOobSignal = SIGSEGV;
+ #elif V8_OS_MACOSX
+ constexpr int kOobSignal = SIGBUS;
diff --git a/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h b/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h
new file mode 100644
index 000000000000..4003178f8df0
--- /dev/null
+++ b/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h
@@ -0,0 +1,11 @@
+--- v8/src/trap-handler/trap-handler.h.orig 2019-02-02 10:48:04.472258000 +0100
++++ v8/src/trap-handler/trap-handler.h 2019-02-02 10:49:11.178676000 +0100
+@@ -23,6 +23,8 @@
+ #define V8_TRAP_HANDLER_SUPPORTED true
+ #elif V8_TARGET_ARCH_X64 && V8_OS_MACOSX
+ #define V8_TRAP_HANDLER_SUPPORTED true
++#elif V8_TARGET_ARCH_X64 && V8_OS_FREEBSD
++#define V8_TRAP_HANDLER_SUPPORTED true
+ #else
+ #define V8_TRAP_HANDLER_SUPPORTED false
+ #endif
diff --git a/www/chromium/pkg-plist b/www/chromium/pkg-plist
index dd30da5cc349..8cad1f2bbb47 100644
--- a/www/chromium/pkg-plist
+++ b/www/chromium/pkg-plist
@@ -194,7 +194,6 @@ bin/chrome
%%DATADIR%%/resources/inspector/audits2_worker.js
%%DATADIR%%/resources/inspector/audits2_worker/audits2_worker_module.js
%%DATADIR%%/resources/inspector/bindings_test_runner/bindings_test_runner_module.js
-%%DATADIR%%/resources/inspector/browser_console/browser_console_module.js
%%DATADIR%%/resources/inspector/browser_debugger/browser_debugger_module.js
%%DATADIR%%/resources/inspector/changes/changes_module.js
%%DATADIR%%/resources/inspector/cm/cm_module.js
@@ -256,8 +255,8 @@ bin/chrome
%%DATADIR%%/resources/inspector/emulated_devices/iPhone6Plus-portrait.svg
%%DATADIR%%/resources/inspector/event_listeners/event_listeners_module.js
%%DATADIR%%/resources/inspector/extensions_test_runner/extensions_test_runner_module.js
-%%DATADIR%%/resources/inspector/formatter_worker.js
%%DATADIR%%/resources/inspector/formatter/formatter_module.js
+%%DATADIR%%/resources/inspector/formatter_worker.js
%%DATADIR%%/resources/inspector/har_importer/har_importer_module.js
%%DATADIR%%/resources/inspector/heap_profiler_test_runner/heap_profiler_test_runner_module.js
%%DATADIR%%/resources/inspector/heap_snapshot_model/heap_snapshot_model_module.js
@@ -323,6 +322,8 @@ bin/chrome
%%DEBUG%%%%DATADIR%%/libVkLayer_parameter_validation.so
%%DEBUG%%%%DATADIR%%/libVkLayer_threading.so
%%DEBUG%%%%DATADIR%%/libVkLayer_unique_objects.so
+%%DEBUG%%%%DATADIR%%/libmalloc_wrapper.so
+%%DEBUG%%%%DATADIR%%/libtest_shared_library.so
%%DRIVER%%bin/chromedriver
man/man1/chrome.1.gz
share/applications/chromium-browser.desktop