pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

chromium: Update to 56.0.2924.87



Module Name:	pkgsrc-wip
Committed By:	Ryo ONODERA <ryoon%NetBSD.org@localhost>
Pushed By:	ryoon
Date:		Sat Feb 18 07:27:08 2017 +0900
Changeset:	37f89e91f6ef2aff497b94e1db37a358c024225f

Modified Files:
	chromium-new/Makefile
	chromium-new/PLIST
	chromium-new/distinfo
	chromium-new/options.mk
	chromium-new/patches/patch-BUILD.gn
	chromium-new/patches/patch-base_BUILD.gn
	chromium-new/patches/patch-base_allocator_BUILD.gn
	chromium-new/patches/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
	chromium-new/patches/patch-base_allocator_allocator__shim__override__libc__symbols.h
	chromium-new/patches/patch-base_allocator_allocator__shim__unittest.cc
	chromium-new/patches/patch-base_base__paths__posix.cc
	chromium-new/patches/patch-base_debug_proc__maps__linux.cc
	chromium-new/patches/patch-base_debug_stack__trace__posix.cc
	chromium-new/patches/patch-base_files_file__path__unittest.cc
	chromium-new/patches/patch-base_files_file__path__watcher__kqueue.h
	chromium-new/patches/patch-base_files_file__util.h
	chromium-new/patches/patch-base_linux__util.cc
	chromium-new/patches/patch-base_native__library__posix.cc
	chromium-new/patches/patch-base_posix_unix__domain__socket__linux.cc
	chromium-new/patches/patch-base_posix_unix__domain__socket__linux__unittest.cc
	chromium-new/patches/patch-base_process_internal__linux.h
	chromium-new/patches/patch-base_process_launch.cc
	chromium-new/patches/patch-base_process_launch.h
	chromium-new/patches/patch-base_process_launch__posix.cc
	chromium-new/patches/patch-base_process_memory.h
	chromium-new/patches/patch-base_process_memory__stubs.cc
	chromium-new/patches/patch-base_process_memory__unittest.cc
	chromium-new/patches/patch-base_process_process__handle__freebsd.cc
	chromium-new/patches/patch-base_process_process__iterator__freebsd.cc
	chromium-new/patches/patch-base_process_process__metrics.h
	chromium-new/patches/patch-base_process_process__metrics__freebsd.cc
	chromium-new/patches/patch-base_process_process__posix.cc
	chromium-new/patches/patch-base_profiler_stack__sampling__profiler__unittest.cc
	chromium-new/patches/patch-base_security__unittest.cc
	chromium-new/patches/patch-base_sys__info__freebsd.cc
	chromium-new/patches/patch-base_sys__info__posix.cc
	chromium-new/patches/patch-base_test_BUILD.gn
	chromium-new/patches/patch-base_test_launcher_test__launcher.cc
	chromium-new/patches/patch-base_test_test__file__util__posix.cc
	chromium-new/patches/patch-base_third__party_libevent_BUILD.gn
	chromium-new/patches/patch-base_threading_platform__thread__posix.cc
	chromium-new/patches/patch-base_trace__event_malloc__dump__provider.cc
	chromium-new/patches/patch-base_trace__event_process__memory__dump.cc
	chromium-new/patches/patch-base_trace__event_process__memory__dump.h
	chromium-new/patches/patch-breakpad_BUILD.gn
	chromium-new/patches/patch-build_config_BUILD.gn
	chromium-new/patches/patch-build_config_BUILDCONFIG.gn
	chromium-new/patches/patch-build_config_allocator.gni
	chromium-new/patches/patch-build_config_clang_BUILD.gn
	chromium-new/patches/patch-build_config_compiler_BUILD.gn
	chromium-new/patches/patch-build_config_crypto.gni
	chromium-new/patches/patch-build_config_features.gni
	chromium-new/patches/patch-build_config_linux_gtk2_BUILD.gn
	chromium-new/patches/patch-build_config_linux_gtk3_BUILD.gn
	chromium-new/patches/patch-build_config_linux_pkg-config.py
	chromium-new/patches/patch-build_config_sanitizers_BUILD.gn
	chromium-new/patches/patch-build_config_sanitizers_sanitizers.gni
	chromium-new/patches/patch-build_config_ui.gni
	chromium-new/patches/patch-build_linux_libpci_BUILD.gn
	chromium-new/patches/patch-build_secondary_third__party_nss_BUILD.gn
	chromium-new/patches/patch-build_toolchain_gcc__toolchain.gni
	chromium-new/patches/patch-build_toolchain_get__concurrent__links.py
	chromium-new/patches/patch-cc_layers_scrollbar__layer__impl__base.cc
	chromium-new/patches/patch-cc_trees_property__tree.cc
	chromium-new/patches/patch-chrome_BUILD.gn
	chromium-new/patches/patch-chrome_app_chrome__command__ids.h
	chromium-new/patches/patch-chrome_app_chrome__main__delegate.cc
	chromium-new/patches/patch-chrome_app_chrome__main__delegate.h
	chromium-new/patches/patch-chrome_app_chromium__strings.grd
	chromium-new/patches/patch-chrome_app_generated__resources.grd
	chromium-new/patches/patch-chrome_app_resources_locale__settings.grd
	chromium-new/patches/patch-chrome_browser_BUILD.gn
	chromium-new/patches/patch-chrome_browser_about__flags.cc
	chromium-new/patches/patch-chrome_browser_browser__process__impl.cc
	chromium-new/patches/patch-chrome_browser_browser__process__impl.h
	chromium-new/patches/patch-chrome_browser_chrome__browser__main.cc
	chromium-new/patches/patch-chrome_browser_chrome__browser__main__linux.cc
	chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc
	chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.cc
	chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.h
	chromium-new/patches/patch-chrome_browser_defaults.cc
	chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.cc
	chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.h
	chromium-new/patches/patch-chrome_browser_download_chrome__download__manager__delegate.cc
	chromium-new/patches/patch-chrome_browser_download_download__commands.cc
	chromium-new/patches/patch-chrome_browser_download_download__commands.h
	chromium-new/patches/patch-chrome_browser_download_download__prefs.cc
	chromium-new/patches/patch-chrome_browser_download_download__prefs.h
	chromium-new/patches/patch-chrome_browser_download_download__query.cc
	chromium-new/patches/patch-chrome_browser_download_download__shelf__context__menu.cc
	chromium-new/patches/patch-chrome_browser_extensions_BUILD.gn
	chromium-new/patches/patch-chrome_browser_extensions_activity__log_activity__log.cc
	chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_image__writer__private__api.cc
	chromium-new/patches/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h
	chromium-new/patches/patch-chrome_browser_extensions_api_messaging_message__service.cc
	chromium-new/patches/patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc
	chromium-new/patches/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
	chromium-new/patches/patch-chrome_browser_extensions_external__provider__impl.cc
	chromium-new/patches/patch-chrome_browser_gpu_gl__string__manager.cc
	chromium-new/patches/patch-chrome_browser_gpu_gpu__feature__checker.cc
	chromium-new/patches/patch-chrome_browser_interstitials_chrome__controller__client.cc
	chromium-new/patches/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
	chromium-new/patches/patch-chrome_browser_media__galleries_media__file__system__registry.cc
	chromium-new/patches/patch-chrome_browser_memory__details.cc
	chromium-new/patches/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
	chromium-new/patches/patch-chrome_browser_notifications_message__center__notification__manager.cc
	chromium-new/patches/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
	chromium-new/patches/patch-chrome_browser_platform__util.h
	chromium-new/patches/patch-chrome_browser_plugins_plugins__resource__service.cc
	chromium-new/patches/patch-chrome_browser_policy_policy__prefs__browsertest.cc
	chromium-new/patches/patch-chrome_browser_process__singleton__posix.cc
	chromium-new/patches/patch-chrome_browser_renderer__preferences__util.cc
	chromium-new/patches/patch-chrome_browser_resources_safe__browsing_BUILD.gn
	chromium-new/patches/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py
	chromium-new/patches/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
	chromium-new/patches/patch-chrome_browser_safe__browsing_permission__reporter.cc
	chromium-new/patches/patch-chrome_browser_search_local__files__ntp__source.cc
	chromium-new/patches/patch-chrome_browser_sync_chrome__sync__client.cc
	chromium-new/patches/patch-chrome_browser_tracing_crash__service__uploader.cc
	chromium-new/patches/patch-chrome_browser_ui_BUILD.gn
	chromium-new/patches/patch-chrome_browser_ui_browser__command__controller.cc
	chromium-new/patches/patch-chrome_browser_ui_browser__view__prefs.cc
	chromium-new/patches/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
	chromium-new/patches/patch-chrome_browser_ui_input__method_input__method__engine__base.cc
	chromium-new/patches/patch-chrome_browser_ui_startup_startup__browser__creator.cc
	chromium-new/patches/patch-chrome_browser_ui_toolbar_app__menu__model.cc
	chromium-new/patches/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
	chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.cc
	chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.h
	chromium-new/patches/patch-chrome_browser_ui_views_first__run__dialog.cc
	chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__frame.cc
	chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__view.cc
	chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
	chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout.cc
	chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
	chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
	chromium-new/patches/patch-chrome_browser_ui_views_message__center_message__center__frame__view.cc
	chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
	chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__strip.cc
	chromium-new/patches/patch-chrome_browser_ui_webui_about__ui.cc
	chromium-new/patches/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
	chromium-new/patches/patch-chrome_browser_ui_webui_extensions_extension__loader__handler.cc
	chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.cc
	chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.h
	chromium-new/patches/patch-chrome_browser_web__applications_web__app.cc
	chromium-new/patches/patch-chrome_browser_web__applications_web__app.h
	chromium-new/patches/patch-chrome_common_BUILD.gn
	chromium-new/patches/patch-chrome_common_chrome__paths.cc
	chromium-new/patches/patch-chrome_common_chrome__paths.h
	chromium-new/patches/patch-chrome_common_chrome__paths__internal.h
	chromium-new/patches/patch-chrome_common_chrome__switches.cc
	chromium-new/patches/patch-chrome_common_chrome__switches.h
	chromium-new/patches/patch-chrome_common_extensions_command.cc
	chromium-new/patches/patch-chrome_common_features.gni
	chromium-new/patches/patch-chrome_common_pref__names.cc
	chromium-new/patches/patch-chrome_common_pref__names.h
	chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
	chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
	chromium-new/patches/patch-chrome_test_BUILD.gn
	chromium-new/patches/patch-chrome_test_base_in__process__browser__test.cc
	chromium-new/patches/patch-chrome_test_base_testing__browser__process.h
	chromium-new/patches/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
	chromium-new/patches/patch-chromecast_BUILD.gn
	chromium-new/patches/patch-chromecast_browser_BUILD.gn
	chromium-new/patches/patch-chromecast_browser_metrics_BUILD.gn
	chromium-new/patches/patch-chromecast_crash_BUILD.gn
	chromium-new/patches/patch-components_BUILD.gn
	chromium-new/patches/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
	chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.cc
	chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.h
	chromium-new/patches/patch-components_cookie__config_cookie__store__util.cc
	chromium-new/patches/patch-components_crash_content_app_BUILD.gn
	chromium-new/patches/patch-components_crash_content_browser_BUILD.gn
	chromium-new/patches/patch-components_drive_drive__api__util.cc
	chromium-new/patches/patch-components_feedback_anonymizer__tool.cc
	chromium-new/patches/patch-components_flags__ui_flags__state.cc
	chromium-new/patches/patch-components_gcm__driver_gcm__client.h
	chromium-new/patches/patch-components_gcm__driver_gcm__client__impl.cc
	chromium-new/patches/patch-components_json__schema_json__schema__validator.cc
	chromium-new/patches/patch-components_keyed__service_core_dependency__graph__unittest.cc
	chromium-new/patches/patch-components_metrics_BUILD.gn
	chromium-new/patches/patch-components_metrics_drive__metrics__provider__linux.cc
	chromium-new/patches/patch-components_metrics_system__memory__stats__recorder__linux.cc
	chromium-new/patches/patch-components_neterror_resources_neterror.js
	chromium-new/patches/patch-components_os__crypt_os__crypt.h
	chromium-new/patches/patch-components_password__manager_core_browser_import_csv__reader.cc
	chromium-new/patches/patch-components_plugins_renderer_BUILD.gn
	chromium-new/patches/patch-components_plugins_renderer_plugin__placeholder.cc
	chromium-new/patches/patch-components_policy_BUILD.gn
	chromium-new/patches/patch-components_policy_core_common_schema.cc
	chromium-new/patches/patch-components_policy_resources_policy__templates.json
	chromium-new/patches/patch-components_policy_tools_generate__policy__source.py
	chromium-new/patches/patch-components_storage__monitor_BUILD.gn
	chromium-new/patches/patch-components_storage__monitor_storage__monitor.cc
	chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.cc
	chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.h
	chromium-new/patches/patch-components_storage__monitor_storage__monitor__netbsd.h
	chromium-new/patches/patch-components_sync_base_get__session__name__linux.cc
	chromium-new/patches/patch-components_update__client_update__query__params.cc
	chromium-new/patches/patch-components_url__matcher_regex__set__matcher.cc
	chromium-new/patches/patch-components_url__matcher_url__matcher__factory.cc
	chromium-new/patches/patch-components_variations_proto_study.proto
	chromium-new/patches/patch-components_webcrypto_algorithms_test__helpers.cc
	chromium-new/patches/patch-content_app_BUILD.gn
	chromium-new/patches/patch-content_app_content__main__runner.cc
	chromium-new/patches/patch-content_browser_BUILD.gn
	chromium-new/patches/patch-content_browser_accessibility_browser__accessibility.h
	chromium-new/patches/patch-content_browser_accessibility_browser__accessibility__manager.h
	chromium-new/patches/patch-content_browser_browser__main__loop.cc
	chromium-new/patches/patch-content_browser_child__process__launcher.cc
	chromium-new/patches/patch-content_browser_device__sensors_data__fetcher__shared__memory.h
	chromium-new/patches/patch-content_browser_devtools_protocol_color__picker.cc
	chromium-new/patches/patch-content_browser_download_base__file.cc
	chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.cc
	chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.h
	chromium-new/patches/patch-content_browser_gpu_gpu__internals__ui.cc
	chromium-new/patches/patch-content_browser_gpu_gpu__process__host.cc
	chromium-new/patches/patch-content_browser_media_media__internals.cc
	chromium-new/patches/patch-content_browser_ppapi__plugin__process__host.cc
	chromium-new/patches/patch-content_browser_renderer__host_render__process__host__impl.cc
	chromium-new/patches/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
	chromium-new/patches/patch-content_browser_tracing_tracing__controller__impl.cc
	chromium-new/patches/patch-content_browser_utility__process__host__impl.cc
	chromium-new/patches/patch-content_common_BUILD.gn
	chromium-new/patches/patch-content_common_sandbox__linux_sandbox__debug__handling__linux.cc
	chromium-new/patches/patch-content_common_set__process__title__linux.cc
	chromium-new/patches/patch-content_common_set__process__title__linux.h
	chromium-new/patches/patch-content_gpu_BUILD.gn
	chromium-new/patches/patch-content_gpu_gpu__child__thread.cc
	chromium-new/patches/patch-content_gpu_gpu__main.cc
	chromium-new/patches/patch-content_public_common_child__process__host.h
	chromium-new/patches/patch-content_public_common_content__switches.cc
	chromium-new/patches/patch-content_public_common_content__switches.h
	chromium-new/patches/patch-content_public_test_browser__test__base.cc
	chromium-new/patches/patch-content_renderer_media_webrtc_processed__local__audio__source.cc
	chromium-new/patches/patch-content_renderer_render__thread__impl.cc
	chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.cc
	chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.h
	chromium-new/patches/patch-content_renderer_renderer__main__platform__delegate__linux.cc
	chromium-new/patches/patch-content_shell_BUILD.gn
	chromium-new/patches/patch-content_shell_browser_shell__browser__context.cc
	chromium-new/patches/patch-content_shell_browser_shell__browser__main__parts.cc
	chromium-new/patches/patch-content_test_BUILD.gn
	chromium-new/patches/patch-crypto_nss__util.cc
	chromium-new/patches/patch-device_BUILD.gn
	chromium-new/patches/patch-device_battery_BUILD.gn
	chromium-new/patches/patch-device_geolocation_BUILD.gn
	chromium-new/patches/patch-device_hid_BUILD.gn
	chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__manager.h
	chromium-new/patches/patch-device_serial_BUILD.gn
	chromium-new/patches/patch-device_serial_serial__io__handler__posix.cc
	chromium-new/patches/patch-device_usb_usb__context.cc
	chromium-new/patches/patch-device_usb_usb__context__unittest.cc
	chromium-new/patches/patch-device_usb_usb__device__handle__impl.cc
	chromium-new/patches/patch-device_usb_usb__device__handle__impl.h
	chromium-new/patches/patch-device_usb_usb__device__impl.cc
	chromium-new/patches/patch-device_usb_usb__error.cc
	chromium-new/patches/patch-device_usb_usb__service__impl.cc
	chromium-new/patches/patch-device_usb_usb__service__impl.h
	chromium-new/patches/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
	chromium-new/patches/patch-extensions_browser_api_serial_serial__api.cc
	chromium-new/patches/patch-extensions_browser_api_web__request_form__data__parser.cc
	chromium-new/patches/patch-extensions_common_image__util.cc
	chromium-new/patches/patch-extensions_common_stack__frame.cc
	chromium-new/patches/patch-gpu_BUILD.gn
	chromium-new/patches/patch-gpu_command__buffer_service_program__manager.cc
	chromium-new/patches/patch-gpu_config_BUILD.gn
	chromium-new/patches/patch-gpu_config_gpu__control__list.cc
	chromium-new/patches/patch-gpu_config_gpu__control__list__unittest.cc
	chromium-new/patches/patch-gpu_config_gpu__info__collector.cc
	chromium-new/patches/patch-gpu_config_gpu__test__config.cc
	chromium-new/patches/patch-gpu_gles2__conform__support_BUILD.gn
	chromium-new/patches/patch-gpu_gles2__conform__support_native_BUILD.gn
	chromium-new/patches/patch-gpu_ipc_client_BUILD.gn
	chromium-new/patches/patch-gpu_ipc_service_BUILD.gn
	chromium-new/patches/patch-gpu_tools_compositor__model__bench_BUILD.gn
	chromium-new/patches/patch-gpu_vulkan_BUILD.gn
	chromium-new/patches/patch-ipc_ipc__channel.h
	chromium-new/patches/patch-ipc_ipc__message__utils.cc
	chromium-new/patches/patch-ipc_ipc__message__utils.h
	chromium-new/patches/patch-ipc_unix__domain__socket__util.cc
	chromium-new/patches/patch-media_audio_BUILD.gn
	chromium-new/patches/patch-media_audio_alsa_audio__manager__alsa.cc
	chromium-new/patches/patch-media_audio_audio__manager.cc
	chromium-new/patches/patch-media_audio_audio__manager.h
	chromium-new/patches/patch-media_base_BUILD.gn
	chromium-new/patches/patch-media_capture_BUILD.gn
	chromium-new/patches/patch-media_capture_video_fake__video__capture__device__factory.cc
	chromium-new/patches/patch-media_capture_video_file__video__capture__device__factory.cc
	chromium-new/patches/patch-media_capture_video_linux_video__capture__device__linux.cc
	chromium-new/patches/patch-media_capture_video_video__capture__device__factory.cc
	chromium-new/patches/patch-media_cast_BUILD.gn
	chromium-new/patches/patch-media_cdm_ppapi_ppapi__cdm__adapter.gni
	chromium-new/patches/patch-media_filters_vp9__parser.h
	chromium-new/patches/patch-media_formats_common_offset__byte__queue.cc
	chromium-new/patches/patch-media_formats_common_offset__byte__queue.h
	chromium-new/patches/patch-media_formats_mp2t_es__parser__adts.cc
	chromium-new/patches/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
	chromium-new/patches/patch-mojo_BUILD.gn
	chromium-new/patches/patch-mojo_edk_test_BUILD.gn
	chromium-new/patches/patch-native__client__sdk_src_BUILD.gn
	chromium-new/patches/patch-net_BUILD.gn
	chromium-new/patches/patch-net_base_address__tracker__linux.h
	chromium-new/patches/patch-net_base_address__tracker__linux__unittest.cc
	chromium-new/patches/patch-net_base_mime__util__unittest.cc
	chromium-new/patches/patch-net_base_network__change__notifier.cc
	chromium-new/patches/patch-net_base_network__change__notifier.h
	chromium-new/patches/patch-net_base_network__interfaces__linux.cc
	chromium-new/patches/patch-net_base_network__interfaces__posix.cc
	chromium-new/patches/patch-net_dns_address__sorter__posix.cc
	chromium-new/patches/patch-net_dns_dns__config__service__posix__unittest.cc
	chromium-new/patches/patch-net_http_http__auth__gssapi__posix.cc
	chromium-new/patches/patch-net_proxy_proxy__config__service__linux.cc
	chromium-new/patches/patch-net_proxy_proxy__service.cc
	chromium-new/patches/patch-net_socket_socks5__client__socket.cc
	chromium-new/patches/patch-pdf_pdfium_pdfium__engine.cc
	chromium-new/patches/patch-ppapi_proxy_file__io__resource.cc
	chromium-new/patches/patch-ppapi_shared__impl_private_net__address__private__impl.cc
	chromium-new/patches/patch-ppapi_tests_extensions_BUILD.gn
	chromium-new/patches/patch-printing_BUILD.gn
	chromium-new/patches/patch-printing_cups__config__helper.py
	chromium-new/patches/patch-remoting_host_BUILD.gn
	chromium-new/patches/patch-sdch_BUILD.gn
	chromium-new/patches/patch-skia_BUILD.gn
	chromium-new/patches/patch-skia_ext_SkMemory__new__handler.cpp
	chromium-new/patches/patch-skia_ext_platform__canvas.h
	chromium-new/patches/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
	chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h
	chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_GCInfo.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_wtf_Assertions.cpp
	chromium-new/patches/patch-third__party_WebKit_Source_wtf_Atomics.h
	chromium-new/patches/patch-third__party_WebKit_Source_wtf_ByteSwap.h
	chromium-new/patches/patch-third__party_WebKit_Source_wtf_ContainerAnnotations.h
	chromium-new/patches/patch-third__party_WebKit_Source_wtf_ThreadingPthreads.cpp
	chromium-new/patches/patch-third__party_angle_src_tests_BUILD.gn
	chromium-new/patches/patch-third__party_boringssl_BUILD.gn
	chromium-new/patches/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h
	chromium-new/patches/patch-third__party_expat_BUILD.gn
	chromium-new/patches/patch-third__party_ffmpeg_ffmpeg__generated.gni
	chromium-new/patches/patch-third__party_fontconfig_BUILD.gn
	chromium-new/patches/patch-third__party_freetype2_BUILD.gn
	chromium-new/patches/patch-third__party_glslang_BUILD.gn
	chromium-new/patches/patch-third__party_harfbuzz-ng_BUILD.gn
	chromium-new/patches/patch-third__party_icu_android_patch__locale.sh
	chromium-new/patches/patch-third__party_icu_source_configure
	chromium-new/patches/patch-third__party_leveldatabase_env__chromium.cc
	chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
	chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
	chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
	chromium-new/patches/patch-third__party_libusb_BUILD.gn
	chromium-new/patches/patch-third__party_libyuv_include_libyuv_row.h
	chromium-new/patches/patch-third__party_mesa_BUILD.gn
	chromium-new/patches/patch-third__party_minigbm_BUILD.gn
	chromium-new/patches/patch-third__party_opus_BUILD.gn
	chromium-new/patches/patch-third__party_ots_include_opentype-sanitiser.h
	chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp
	chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_PublicMethods.cpp
	chromium-new/patches/patch-third__party_pdfium_skia_BUILD.gn
	chromium-new/patches/patch-third__party_protobuf_post__process__dist.sh
	chromium-new/patches/patch-third__party_sqlite_BUILD.gn
	chromium-new/patches/patch-third__party_usrsctp_BUILD.gn
	chromium-new/patches/patch-third__party_webrtc_BUILD.gn
	chromium-new/patches/patch-third__party_webrtc_base_httpcommon.cc
	chromium-new/patches/patch-third__party_webrtc_base_ifaddrs__converter.h
	chromium-new/patches/patch-third__party_webrtc_base_ipaddress.h
	chromium-new/patches/patch-third__party_webrtc_base_linux.cc
	chromium-new/patches/patch-third__party_webrtc_base_linux.h
	chromium-new/patches/patch-third__party_webrtc_base_network.cc
	chromium-new/patches/patch-third__party_webrtc_base_network.h
	chromium-new/patches/patch-third__party_webrtc_base_physicalsocketserver.cc
	chromium-new/patches/patch-third__party_webrtc_base_stringutils.h
	chromium-new/patches/patch-third__party_webrtc_base_systeminfo.cc
	chromium-new/patches/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
	chromium-new/patches/patch-third__party_webrtc_system__wrappers_BUILD.gn
	chromium-new/patches/patch-third__party_widevine_cdm_BUILD.gn
	chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal
	chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal.in
	chromium-new/patches/patch-third__party_yasm_BUILD.gn
	chromium-new/patches/patch-third__party_zlib_BUILD.gn
	chromium-new/patches/patch-tools_battor__agent_BUILD.gn
	chromium-new/patches/patch-tools_gn_bootstrap_bootstrap.py
	chromium-new/patches/patch-ui_accessibility_platform_ax__platform__node.h
	chromium-new/patches/patch-ui_app__list_app__list__constants.cc
	chromium-new/patches/patch-ui_app__list_app__list__constants.h
	chromium-new/patches/patch-ui_app__list_views_app__list__item__view.cc
	chromium-new/patches/patch-ui_app__list_views_app__list__view.cc
	chromium-new/patches/patch-ui_aura_BUILD.gn
	chromium-new/patches/patch-ui_base_BUILD.gn
	chromium-new/patches/patch-ui_base_ime_BUILD.gn
	chromium-new/patches/patch-ui_base_ime_ime__engine__handler__interface.h
	chromium-new/patches/patch-ui_base_ime_input__method__factory.cc
	chromium-new/patches/patch-ui_base_ime_input__method__initializer.cc
	chromium-new/patches/patch-ui_base_resource_resource__bundle.cc
	chromium-new/patches/patch-ui_base_ui__features.gni
	chromium-new/patches/patch-ui_base_webui_web__ui__util.cc
	chromium-new/patches/patch-ui_compositor_BUILD.gn
	chromium-new/patches/patch-ui_events_event__switches.cc
	chromium-new/patches/patch-ui_events_event__switches.h
	chromium-new/patches/patch-ui_events_keycodes_dom_keycode__converter.cc
	chromium-new/patches/patch-ui_gfx_BUILD.gn
	chromium-new/patches/patch-ui_gfx_canvas__skia.cc
	chromium-new/patches/patch-ui_gfx_font__fallback__linux.cc
	chromium-new/patches/patch-ui_gfx_font__render__params.h
	chromium-new/patches/patch-ui_gfx_render__text.cc
	chromium-new/patches/patch-ui_gl_BUILD.gn
	chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.cc
	chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.h
	chromium-new/patches/patch-ui_message__center_message__center__style.h
	chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.cc
	chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.h
	chromium-new/patches/patch-ui_message__center_views_message__view__factory.cc
	chromium-new/patches/patch-ui_resources_ui__resources.grd
	chromium-new/patches/patch-ui_views_BUILD.gn
	chromium-new/patches/patch-ui_views_accessibility_native__view__accessibility.h
	chromium-new/patches/patch-ui_views_bubble_bubble__dialog__delegate.cc
	chromium-new/patches/patch-ui_views_controls_textfield_textfield.cc
	chromium-new/patches/patch-ui_views_controls_webview_BUILD.gn
	chromium-new/patches/patch-ui_views_examples_widget__example.cc
	chromium-new/patches/patch-ui_views_style_platform__style.cc
	chromium-new/patches/patch-ui_views_views__delegate.cc
	chromium-new/patches/patch-ui_views_views__delegate.h
	chromium-new/patches/patch-ui_views_views__switches.cc
	chromium-new/patches/patch-ui_views_window_custom__frame__view.cc
	chromium-new/patches/patch-ui_views_window_dialog__delegate.cc
	chromium-new/patches/patch-ui_webui_resources_js_cr.js
	chromium-new/patches/patch-ui_webui_resources_js_icon.js
	chromium-new/patches/patch-v8_src_base_platform_platform-posix.cc
	chromium-new/patches/patch-v8_tools_run-llprof.sh
Added Files:
	chromium-new/patches/patch-apps_ui_views_app__window__frame__view.cc
	chromium-new/patches/patch-ash_display_mirror__window__controller.cc
	chromium-new/patches/patch-ash_shell.cc
	chromium-new/patches/patch-base_debug_thread__heap__usage__tracker.cc
	chromium-new/patches/patch-base_threading_platform__thread.h
	chromium-new/patches/patch-base_threading_platform__thread__linux.cc
	chromium-new/patches/patch-chrome_browser_extensions_api_omnibox_omnibox__api.cc
	chromium-new/patches/patch-chrome_browser_extensions_bookmark__app__helper.cc
	chromium-new/patches/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
	chromium-new/patches/patch-chrome_browser_net_async__dns__field__trial.cc
	chromium-new/patches/patch-chrome_browser_profiles_profile__impl__io__data.cc
	chromium-new/patches/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
	chromium-new/patches/patch-chrome_browser_speech_tts__controller__impl.cc
	chromium-new/patches/patch-chrome_browser_ui_libgtkui_BUILD.gn
	chromium-new/patches/patch-chrome_browser_ui_libgtkui_print__dialog__gtk.cc
	chromium-new/patches/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
	chromium-new/patches/patch-chrome_browser_ui_views_accelerator__table.cc
	chromium-new/patches/patch-chrome_browser_ui_views_app__list_linux_app__list__linux.cc
	chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
	chromium-new/patches/patch-chrome_common_extensions_chrome__extensions__client.cc
	chromium-new/patches/patch-content_browser_memory_memory__coordinator__impl.cc
	chromium-new/patches/patch-content_browser_memory_memory__monitor.cc
	chromium-new/patches/patch-content_gpu_in__process__gpu__thread.cc
	chromium-new/patches/patch-content_public_common_renderer__preferences.h
	chromium-new/patches/patch-content_renderer_pepper_pepper__media__device__manager.cc
	chromium-new/patches/patch-content_renderer_webscrollbarbehavior__impl__aura.cc
	chromium-new/patches/patch-device_bluetooth_BUILD.gn
	chromium-new/patches/patch-device_gamepad_gamepad__provider.cc
	chromium-new/patches/patch-device_geolocation_location__arbitrator.cc
	chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__daemon__client.h
	chromium-new/patches/patch-device_time__zone__monitor_time__zone__monitor.cc
	chromium-new/patches/patch-device_time__zone__monitor_time__zone__monitor__linux.cc
	chromium-new/patches/patch-extensions_browser_api_networking__private_networking__private__event__router__factory.cc
	chromium-new/patches/patch-gpu_ipc_service_gpu__init.cc
	chromium-new/patches/patch-ipc_ipc__channel__common.cc
	chromium-new/patches/patch-media_capture_video_linux_v4l2__capture__delegate.cc
	chromium-new/patches/patch-media_capture_video_video__capture__device__client.cc
	chromium-new/patches/patch-media_ffmpeg_ffmpeg__common.h
	chromium-new/patches/patch-media_filters_ffmpeg__demuxer.cc
	chromium-new/patches/patch-mojo_edk_embedder_platform__channel__utils__posix.cc
	chromium-new/patches/patch-net_http_http__network__session.cc
	chromium-new/patches/patch-net_socket_udp__socket__posix.cc
	chromium-new/patches/patch-net_tools_get__server__time_get__server__time.cc
	chromium-new/patches/patch-net_url__request_url__request__context__builder.cc
	chromium-new/patches/patch-services_service__manager_runner_host_BUILD.gn
	chromium-new/patches/patch-services_service__manager_standalone_context.cc
	chromium-new/patches/patch-services_ui_BUILD.gn
	chromium-new/patches/patch-services_ui_ime_BUILD.gn
	chromium-new/patches/patch-services_ui_public_cpp_gles2__context.cc
	chromium-new/patches/patch-services_ui_surfaces_surfaces__context__provider.cc
	chromium-new/patches/patch-testing_gtest_src_gtest.cc
	chromium-new/patches/patch-third__party_WebKit_Source_core_layout_BUILD.gn
	chromium-new/patches/patch-third__party_WebKit_Source_wtf_BUILD.gn
	chromium-new/patches/patch-third__party_angle_BUILD.gn
	chromium-new/patches/patch-third__party_angle_gni_angle.gni
	chromium-new/patches/patch-third__party_boringssl_src_crypto_ex__data.c
	chromium-new/patches/patch-third__party_ffmpeg_BUILD.gn
	chromium-new/patches/patch-third__party_ffmpeg_libavutil_cpu.c
	chromium-new/patches/patch-third__party_ffmpeg_libavutil_mem.c
	chromium-new/patches/patch-third__party_libxml_BUILD.gn
	chromium-new/patches/patch-third__party_libxslt_BUILD.gn
	chromium-new/patches/patch-third__party_pdfium_BUILD.gn
	chromium-new/patches/patch-third__party_pdfium_core_fxcrt_fx__system.h
	chromium-new/patches/patch-third__party_pdfium_third__party_base_logging.h
	chromium-new/patches/patch-third__party_webrtc_base_BUILD.gn
	chromium-new/patches/patch-third__party_webrtc_modules_audio__device_BUILD.gn
	chromium-new/patches/patch-third__party_webrtc_modules_video__coding_BUILD.gn
	chromium-new/patches/patch-third__party_webrtc_system__wrappers_source_atomic32__non__darwin__unix.cc
	chromium-new/patches/patch-third__party_webrtc_voice__engine_voice__engine__defines.h
	chromium-new/patches/patch-tools_variations_fieldtrial__to__struct.py
	chromium-new/patches/patch-ui_views_controls_label.cc
	chromium-new/patches/patch-ui_views_corewm_tooltip__aura.cc
	chromium-new/patches/patch-ui_views_selection__controller.cc
	chromium-new/patches/patch-v8_src_globals.h
Removed Files:
	chromium-new/patches/patch-base_process_process__metrics__posix.cc
	chromium-new/patches/patch-base_strings_safe__sprintf.cc
	chromium-new/patches/patch-chrome_browser_media_webrtc__log__uploader.cc
	chromium-new/patches/patch-chrome_browser_ui_libgtk2ui_BUILD.gn
	chromium-new/patches/patch-chrome_common_extensions_api_schemas.gni
	chromium-new/patches/patch-chrome_common_variations_BUILD.gn
	chromium-new/patches/patch-components_arc_metrics_oom__kills__monitor.cc
	chromium-new/patches/patch-components_autofill_core_browser_address__rewriter.cc
	chromium-new/patches/patch-components_autofill_core_browser_form__structure.cc
	chromium-new/patches/patch-components_dom__distiller_core_page__features.cc
	chromium-new/patches/patch-content_browser_download_base__file__linux.cc
	chromium-new/patches/patch-content_browser_indexed__db_indexed__db__backing__store.cc
	chromium-new/patches/patch-content_browser_renderer__host_media_video__capture__device__client.cc
	chromium-new/patches/patch-content_browser_time__zone__monitor.cc
	chromium-new/patches/patch-content_browser_time__zone__monitor__linux.cc
	chromium-new/patches/patch-content_renderer_devtools_v8__sampling__profiler.cc
	chromium-new/patches/patch-content_renderer_webscrollbarbehavior__impl__gtkoraura.cc
	chromium-new/patches/patch-device_geolocation_location__arbitrator__impl.cc
	chromium-new/patches/patch-device_serial_serial__service__impl.cc
	chromium-new/patches/patch-extensions_browser_BUILD.gn
	chromium-new/patches/patch-ipc_ipc__channel__posix.cc
	chromium-new/patches/patch-ipc_ipc__channel__posix.h
	chromium-new/patches/patch-media_base_audio__splicer.cc
	chromium-new/patches/patch-media_filters_decrypting__audio__decoder.cc
	chromium-new/patches/patch-net_base_address__tracker__linux.cc
	chromium-new/patches/patch-net_dns_dns__session.cc
	chromium-new/patches/patch-net_net.gyp
	chromium-new/patches/patch-net_udp_udp__socket__posix.cc
	chromium-new/patches/patch-net_udp_udp__socket__unittest.cc
	chromium-new/patches/patch-services_shell_standalone_context.cc
	chromium-new/patches/patch-services_ui_ws_BUILD.gn
	chromium-new/patches/patch-third__party_WebKit_Source_core_BUILD.gn
	chromium-new/patches/patch-third__party_cython_rules.gni
	chromium-new/patches/patch-third__party_ffmpeg_chromium_scripts_generate__gyp.py
	chromium-new/patches/patch-third__party_pdfium_core_fxcrt_include_fx__system.h
	chromium-new/patches/patch-third__party_swiftshader_third__party_LLVM_utils_buildit_build__llvm
	chromium-new/patches/patch-third__party_webrtc_common__audio_wav__file.h
	chromium-new/patches/patch-third__party_webrtc_modules_remote__bitrate__estimator_overuse__detector.cc
	chromium-new/patches/patch-third__party_webrtc_modules_video__coding_receiver.cc
	chromium-new/patches/patch-tools_gn_gn__unittests.isolate
	chromium-new/patches/patch-ui_app__list_app__list__menu.cc

Log Message:
chromium: Update to 56.0.2924.87

* Change audio backend to pulaseaudio. Soundcloud HTML5 audio playback
  works. However YouTube gets segfault.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=37f89e91f6ef2aff497b94e1db37a358c024225f

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 chromium-new/Makefile                              |  13 +-
 chromium-new/PLIST                                 |  14 +-
 chromium-new/distinfo                              | 985 +++++++++++----------
 chromium-new/options.mk                            |   2 +-
 chromium-new/patches/patch-BUILD.gn                |  59 +-
 ...patch-apps_ui_views_app__window__frame__view.cc |  13 +
 ...patch-ash_display_mirror__window__controller.cc |  16 +
 chromium-new/patches/patch-ash_shell.cc            |  13 +
 chromium-new/patches/patch-base_BUILD.gn           |  46 +-
 chromium-new/patches/patch-base_allocator_BUILD.gn |   4 +-
 ...llocator__shim__default__dispatch__to__glibc.cc |  20 +-
 ...ator_allocator__shim__override__libc__symbols.h |   2 +-
 ...tch-base_allocator_allocator__shim__unittest.cc |   2 +-
 .../patches/patch-base_base__paths__posix.cc       |   2 +-
 .../patches/patch-base_debug_proc__maps__linux.cc  |   2 +-
 .../patch-base_debug_stack__trace__posix.cc        |   2 +-
 ...atch-base_debug_thread__heap__usage__tracker.cc |  18 +
 .../patch-base_files_file__path__unittest.cc       |   2 +-
 .../patch-base_files_file__path__watcher__kqueue.h |   4 +-
 chromium-new/patches/patch-base_files_file__util.h |   4 +-
 chromium-new/patches/patch-base_linux__util.cc     |   2 +-
 .../patches/patch-base_native__library__posix.cc   |   6 +-
 ...patch-base_posix_unix__domain__socket__linux.cc |   2 +-
 ..._posix_unix__domain__socket__linux__unittest.cc |   2 +-
 .../patches/patch-base_process_internal__linux.h   |   2 +-
 chromium-new/patches/patch-base_process_launch.cc  |   2 +-
 chromium-new/patches/patch-base_process_launch.h   |   4 +-
 .../patches/patch-base_process_launch__posix.cc    |  18 +-
 chromium-new/patches/patch-base_process_memory.h   |   2 +-
 .../patches/patch-base_process_memory__stubs.cc    |   2 +-
 .../patches/patch-base_process_memory__unittest.cc |   2 +-
 .../patch-base_process_process__handle__freebsd.cc |   2 +-
 ...atch-base_process_process__iterator__freebsd.cc |   2 +-
 .../patches/patch-base_process_process__metrics.h  |   4 +-
 ...patch-base_process_process__metrics__freebsd.cc |   2 +-
 .../patch-base_process_process__metrics__posix.cc  |  13 -
 .../patches/patch-base_process_process__posix.cc   |  22 +-
 ...profiler_stack__sampling__profiler__unittest.cc |   4 +-
 .../patches/patch-base_security__unittest.cc       |   2 +-
 .../patches/patch-base_strings_safe__sprintf.cc    |  18 -
 .../patches/patch-base_sys__info__freebsd.cc       |   2 +-
 .../patches/patch-base_sys__info__posix.cc         |   2 +-
 chromium-new/patches/patch-base_test_BUILD.gn      |   4 +-
 .../patch-base_test_launcher_test__launcher.cc     |   4 +-
 .../patch-base_test_test__file__util__posix.cc     |   2 +-
 .../patch-base_third__party_libevent_BUILD.gn      |   2 +-
 .../patch-base_threading_platform__thread.h        |  13 +
 ...patch-base_threading_platform__thread__linux.cc |  32 +
 ...patch-base_threading_platform__thread__posix.cc |   2 +-
 ...tch-base_trace__event_malloc__dump__provider.cc |   4 +-
 ...atch-base_trace__event_process__memory__dump.cc |   4 +-
 ...patch-base_trace__event_process__memory__dump.h |   2 +-
 chromium-new/patches/patch-breakpad_BUILD.gn       |  14 +-
 chromium-new/patches/patch-build_config_BUILD.gn   |   6 +-
 .../patches/patch-build_config_BUILDCONFIG.gn      |   4 +-
 .../patches/patch-build_config_allocator.gni       |   2 +-
 .../patches/patch-build_config_clang_BUILD.gn      |   6 +-
 .../patches/patch-build_config_compiler_BUILD.gn   |  38 +-
 chromium-new/patches/patch-build_config_crypto.gni |   2 +-
 .../patches/patch-build_config_features.gni        |  26 +-
 .../patches/patch-build_config_linux_gtk2_BUILD.gn |   2 +-
 .../patches/patch-build_config_linux_gtk3_BUILD.gn |   2 +-
 .../patches/patch-build_config_linux_pkg-config.py |   2 +-
 .../patches/patch-build_config_sanitizers_BUILD.gn |   6 +-
 .../patch-build_config_sanitizers_sanitizers.gni   |   9 +-
 chromium-new/patches/patch-build_config_ui.gni     |   6 +-
 .../patches/patch-build_linux_libpci_BUILD.gn      |   2 +-
 ...patch-build_secondary_third__party_nss_BUILD.gn |   2 +-
 .../patch-build_toolchain_gcc__toolchain.gni       |  18 +-
 ...patch-build_toolchain_get__concurrent__links.py |   2 +-
 ...patch-cc_layers_scrollbar__layer__impl__base.cc |   2 +-
 .../patches/patch-cc_trees_property__tree.cc       |   6 +-
 chromium-new/patches/patch-chrome_BUILD.gn         |   8 +-
 .../patch-chrome_app_chrome__command__ids.h        |   2 +-
 .../patch-chrome_app_chrome__main__delegate.cc     |  16 +-
 .../patch-chrome_app_chrome__main__delegate.h      |   4 +-
 .../patches/patch-chrome_app_chromium__strings.grd |   4 +-
 .../patch-chrome_app_generated__resources.grd      |  10 +-
 ...patch-chrome_app_resources_locale__settings.grd |   4 +-
 chromium-new/patches/patch-chrome_browser_BUILD.gn |  38 +-
 .../patches/patch-chrome_browser_about__flags.cc   |   8 +-
 .../patch-chrome_browser_browser__process__impl.cc |   8 +-
 .../patch-chrome_browser_browser__process__impl.h  |   4 +-
 .../patch-chrome_browser_chrome__browser__main.cc  |   6 +-
 ...-chrome_browser_chrome__browser__main__linux.cc |   2 +-
 ...-chrome_browser_chrome__browser__main__posix.cc |   4 +-
 ...ome_browser_chrome__content__browser__client.cc |  22 +-
 ...rome_browser_chrome__content__browser__client.h |   4 +-
 .../patches/patch-chrome_browser_defaults.cc       |   2 +-
 ...rome_browser_diagnostics_diagnostics__writer.cc |   2 +-
 ...hrome_browser_diagnostics_diagnostics__writer.h |   2 +-
 ...download_chrome__download__manager__delegate.cc |   6 +-
 ...h-chrome_browser_download_download__commands.cc |  10 +-
 ...ch-chrome_browser_download_download__commands.h |   2 +-
 ...atch-chrome_browser_download_download__prefs.cc |  20 +-
 ...patch-chrome_browser_download_download__prefs.h |   8 +-
 ...atch-chrome_browser_download_download__query.cc |   4 +-
 ...wser_download_download__shelf__context__menu.cc |   2 +-
 .../patch-chrome_browser_extensions_BUILD.gn       |  10 +-
 ...owser_extensions_activity__log_activity__log.cc |   4 +-
 ..._writer__private_image__writer__private__api.cc |   2 +-
 ...ser_extensions_api_input__ime_input__ime__api.h |   2 +-
 ...er_extensions_api_messaging_message__service.cc |  19 +-
 ...pi_music__manager__private_device__id__linux.cc |  10 +-
 ..._browser_extensions_api_omnibox_omnibox__api.cc |  13 +
 ...ome_browser_extensions_bookmark__app__helper.cc |  13 +
 ..._browser__context__keyed__service__factories.cc |   6 +-
 ..._browser_extensions_external__provider__impl.cc |  22 +-
 ...patch-chrome_browser_gpu_gl__string__manager.cc |   2 +-
 ...tch-chrome_browser_gpu_gpu__feature__checker.cc |   2 +-
 ...ser_interstitials_chrome__controller__client.cc |  14 +-
 ..._galleries_fileapi_mtp__device__map__service.cc |   4 +-
 ...dia__galleries_media__file__system__registry.cc |   2 +-
 ...h-chrome_browser_media_webrtc__log__uploader.cc |  13 -
 ...e_browser_media_webrtc_webrtc__log__uploader.cc |  15 +
 .../patch-chrome_browser_memory__details.cc        |   8 +-
 ...chrome__browser__main__extra__parts__metrics.cc |   4 +-
 ...-chrome_browser_net_async__dns__field__trial.cc |  13 +
 ...tions_message__center__notification__manager.cc |   4 +-
 ...d__manager_chrome__password__manager__client.cc |   4 +-
 .../patches/patch-chrome_browser_platform__util.h  |   2 +-
 ...e_browser_plugins_plugins__resource__service.cc |   2 +-
 ...me_browser_policy_policy__prefs__browsertest.cc |   2 +-
 ...tch-chrome_browser_process__singleton__posix.cc |   8 +-
 ...ome_browser_profiles_profile__impl__io__data.cc |  13 +
 ...r__context__menu_render__view__context__menu.cc |  31 +
 ...h-chrome_browser_renderer__preferences__util.cc |  16 +-
 ...hrome_browser_resources_safe__browsing_BUILD.gn |   2 +-
 ...ources_safe__browsing_gen__file__type__proto.py |   6 +-
 ..._incident__reporting_incident__handler__util.cc |   2 +-
 ..._browser_safe__browsing_permission__reporter.cc |   4 +-
 ...ome_browser_search_local__files__ntp__source.cc |   2 +-
 ...-chrome_browser_speech_tts__controller__impl.cc |  18 +
 ...tch-chrome_browser_sync_chrome__sync__client.cc |   6 +-
 ...ome_browser_tracing_crash__service__uploader.cc |   4 +-
 .../patches/patch-chrome_browser_ui_BUILD.gn       |  14 +-
 ...rome_browser_ui_browser__command__controller.cc |  10 +-
 ...patch-chrome_browser_ui_browser__view__prefs.cc |  15 +-
 ..._exclusive__access_exclusive__access__bubble.cc |   4 +-
 ...ui_input__method_input__method__engine__base.cc |   2 +-
 .../patch-chrome_browser_ui_libgtk2ui_BUILD.gn     |  13 -
 .../patch-chrome_browser_ui_libgtkui_BUILD.gn      |  13 +
 ...hrome_browser_ui_libgtkui_print__dialog__gtk.cc |  12 +
 ...chrome_browser_ui_startup_bad__flags__prompt.cc |  13 +
 ...browser_ui_startup_startup__browser__creator.cc |  20 +-
 ...h-chrome_browser_ui_toolbar_app__menu__model.cc |   4 +-
 ...h-chrome_browser_ui_views_accelerator__table.cc |  31 +
 ...er_ui_views_app__list_linux_app__list__linux.cc |  13 +
 ...pps_chrome__native__app__window__views__aura.cc |   2 +-
 ...ome_browser_ui_views_chrome__views__delegate.cc |   8 +-
 ...rome_browser_ui_views_chrome__views__delegate.h |   2 +-
 ...h-chrome_browser_ui_views_first__run__dialog.cc |   4 +-
 ...chrome_browser_ui_views_frame_browser__frame.cc |  13 +-
 ...-chrome_browser_ui_views_frame_browser__view.cc |  15 +-
 ..._ui_views_frame_opaque__browser__frame__view.cc |   4 +-
 ...s_frame_opaque__browser__frame__view__layout.cc |   4 +-
 ...ue__browser__frame__view__platform__specific.cc |   4 +-
 ..._ui_views_frame_system__menu__model__builder.cc |   4 +-
 ...ui_views_frame_system__menu__model__delegate.cc |  22 +
 ...message__center_message__center__frame__view.cc |   4 +-
 ..._browser_ui_views_tabs_tab__drag__controller.cc |   8 +-
 ...atch-chrome_browser_ui_views_tabs_tab__strip.cc |   4 +-
 .../patch-chrome_browser_ui_webui_about__ui.cc     |   6 +-
 ...i_webui_chrome__web__ui__controller__factory.cc |  10 +-
 ..._webui_extensions_extension__loader__handler.cc |   2 +-
 ...r_ui_webui_options_browser__options__handler.cc |  10 +-
 ...er_ui_webui_options_browser__options__handler.h |   4 +-
 ...ch-chrome_browser_web__applications_web__app.cc |   4 +-
 ...tch-chrome_browser_web__applications_web__app.h |   4 +-
 chromium-new/patches/patch-chrome_common_BUILD.gn  |  10 +-
 .../patches/patch-chrome_common_chrome__paths.cc   |  16 +-
 .../patches/patch-chrome_common_chrome__paths.h    |   8 +-
 .../patch-chrome_common_chrome__paths__internal.h  |   2 +-
 .../patch-chrome_common_chrome__switches.cc        |   4 +-
 .../patches/patch-chrome_common_chrome__switches.h |   4 +-
 .../patch-chrome_common_extensions_api_schemas.gni |  13 -
 ...common_extensions_chrome__extensions__client.cc |  16 +
 .../patch-chrome_common_extensions_command.cc      |   4 +-
 .../patches/patch-chrome_common_features.gni       |  10 +-
 .../patches/patch-chrome_common_pref__names.cc     |   8 +-
 .../patches/patch-chrome_common_pref__names.h      |  12 +-
 .../patch-chrome_common_variations_BUILD.gn        |  13 -
 ...derer_pepper_pepper__flash__font__file__host.cc |   2 +-
 ...nderer_pepper_pepper__flash__font__file__host.h |   2 +-
 chromium-new/patches/patch-chrome_test_BUILD.gn    |  79 +-
 ...-chrome_test_base_in__process__browser__test.cc |   4 +-
 ...ch-chrome_test_base_testing__browser__process.h |   4 +-
 ...rome_test_chromedriver_chrome_chrome__finder.cc |   2 +-
 chromium-new/patches/patch-chromecast_BUILD.gn     |   8 +-
 .../patches/patch-chromecast_browser_BUILD.gn      |   6 +-
 .../patch-chromecast_browser_metrics_BUILD.gn      |   2 +-
 .../patches/patch-chromecast_crash_BUILD.gn        |   2 +-
 chromium-new/patches/patch-components_BUILD.gn     |  10 +-
 ...h-components_arc_metrics_oom__kills__monitor.cc |  18 -
 ...t_renderer_password__form__conversion__utils.cc |   4 +-
 ...ents_autofill_core_browser_address__rewriter.cc |  16 -
 ...onents_autofill_core_browser_form__structure.cc |  17 -
 ...ngs_core_browser_website__settings__registry.cc |   2 +-
 ...ings_core_browser_website__settings__registry.h |   2 +-
 ...omponents_cookie__config_cookie__store__util.cc |   2 +-
 .../patch-components_crash_content_app_BUILD.gn    |   8 +-
 ...patch-components_crash_content_browser_BUILD.gn |   2 +-
 ...omponents_dom__distiller_core_page__features.cc |  16 -
 .../patch-components_drive_drive__api__util.cc     |   2 +-
 .../patch-components_feedback_anonymizer__tool.cc  |   2 +-
 .../patch-components_flags__ui_flags__state.cc     |   4 +-
 .../patch-components_gcm__driver_gcm__client.h     |   2 +-
 ...tch-components_gcm__driver_gcm__client__impl.cc |   4 +-
 ...ponents_json__schema_json__schema__validator.cc |   2 +-
 ...ed__service_core_dependency__graph__unittest.cc |   2 +-
 .../patches/patch-components_metrics_BUILD.gn      |  10 +-
 ...ents_metrics_drive__metrics__provider__linux.cc |   2 +-
 ...trics_system__memory__stats__recorder__linux.cc |   6 +-
 ...patch-components_neterror_resources_neterror.js |   4 +-
 .../patches/patch-components_os__crypt_os__crypt.h |   2 +-
 ...ord__manager_core_browser_import_csv__reader.cc |   2 +-
 .../patch-components_plugins_renderer_BUILD.gn     |   6 +-
 ...ponents_plugins_renderer_plugin__placeholder.cc |   2 +-
 .../patches/patch-components_policy_BUILD.gn       |  20 +-
 .../patch-components_policy_core_common_schema.cc  |   4 +-
 ...ponents_policy_resources_policy__templates.json |  12 +-
 ...onents_policy_tools_generate__policy__source.py |   2 +-
 .../patch-components_storage__monitor_BUILD.gn     |  36 +-
 ...components_storage__monitor_storage__monitor.cc |   2 +-
 ...s_storage__monitor_storage__monitor__freebsd.cc |   2 +-
 ...ts_storage__monitor_storage__monitor__freebsd.h |   2 +-
 ...nts_storage__monitor_storage__monitor__netbsd.h |   5 +-
 ...mponents_sync_base_get__session__name__linux.cc |   2 +-
 ...ponents_update__client_update__query__params.cc |   2 +-
 ...-components_url__matcher_regex__set__matcher.cc |   4 +-
 ...omponents_url__matcher_url__matcher__factory.cc |   2 +-
 .../patch-components_variations_proto_study.proto  |   4 +-
 ...omponents_webcrypto_algorithms_test__helpers.cc |   2 +-
 chromium-new/patches/patch-content_app_BUILD.gn    |   4 +-
 .../patch-content_app_content__main__runner.cc     |   8 +-
 .../patches/patch-content_browser_BUILD.gn         |  38 +-
 ..._browser_accessibility_browser__accessibility.h |  11 +-
 ...accessibility_browser__accessibility__manager.h |   6 +-
 .../patch-content_browser_browser__main__loop.cc   |  36 +-
 ...tch-content_browser_child__process__launcher.cc |  25 +-
 ...device__sensors_data__fetcher__shared__memory.h |   2 +-
 ...tent_browser_devtools_protocol_color__picker.cc |   2 +-
 .../patch-content_browser_download_base__file.cc   |  20 +-
 ...h-content_browser_download_base__file__linux.cc |  14 -
 ...rowser_gpu_gpu__data__manager__impl__private.cc |  10 +-
 ...browser_gpu_gpu__data__manager__impl__private.h |   4 +-
 ...patch-content_browser_gpu_gpu__internals__ui.cc |   4 +-
 ...patch-content_browser_gpu_gpu__process__host.cc |   4 +-
 ...wser_indexed__db_indexed__db__backing__store.cc |  13 -
 ...patch-content_browser_media_media__internals.cc |   4 +-
 ...ent_browser_memory_memory__coordinator__impl.cc |  17 +
 ...patch-content_browser_memory_memory__monitor.cc |  23 +
 ...content_browser_ppapi__plugin__process__host.cc |  28 +-
 ...r__host_media_video__capture__device__client.cc |  13 -
 ...r_renderer__host_render__process__host__impl.cc |  30 +-
 ...derer__host_render__widget__host__view__aura.cc |   8 +-
 .../patch-content_browser_time__zone__monitor.cc   |  13 -
 ...h-content_browser_time__zone__monitor__linux.cc |  24 -
 ...nt_browser_tracing_tracing__controller__impl.cc |   4 +-
 ...content_browser_utility__process__host__impl.cc |  61 +-
 chromium-new/patches/patch-content_common_BUILD.gn |   6 +-
 ...ndbox__linux_sandbox__debug__handling__linux.cc |   2 +-
 ...ch-content_common_set__process__title__linux.cc |   4 +-
 ...tch-content_common_set__process__title__linux.h |   4 +-
 chromium-new/patches/patch-content_gpu_BUILD.gn    |   4 +-
 .../patch-content_gpu_gpu__child__thread.cc        |   6 +-
 .../patches/patch-content_gpu_gpu__main.cc         |  82 +-
 .../patch-content_gpu_in__process__gpu__thread.cc  |  13 +
 ...ch-content_public_common_child__process__host.h |   6 +-
 ...atch-content_public_common_content__switches.cc |   4 +-
 ...patch-content_public_common_content__switches.h |   4 +-
 ...h-content_public_common_renderer__preferences.h |  13 +
 ...atch-content_public_test_browser__test__base.cc |   2 +-
 ...ent_renderer_devtools_v8__sampling__profiler.cc |  19 -
 ...media_webrtc_processed__local__audio__source.cc |   2 +-
 ...nderer_pepper_pepper__media__device__manager.cc |  18 +
 .../patch-content_renderer_render__thread__impl.cc |  27 +-
 ...ent_renderer_renderer__blink__platform__impl.cc |  14 +-
 ...tent_renderer_renderer__blink__platform__impl.h |   8 +-
 ...er_renderer__main__platform__delegate__linux.cc |   2 +-
 ...nt_renderer_webscrollbarbehavior__impl__aura.cc |  22 +
 ...nderer_webscrollbarbehavior__impl__gtkoraura.cc |  22 -
 chromium-new/patches/patch-content_shell_BUILD.gn  |  10 +-
 ...ontent_shell_browser_shell__browser__context.cc |   6 +-
 ...nt_shell_browser_shell__browser__main__parts.cc |   4 +-
 chromium-new/patches/patch-content_test_BUILD.gn   |  33 +-
 chromium-new/patches/patch-crypto_nss__util.cc     |   2 +-
 chromium-new/patches/patch-device_BUILD.gn         |   4 +-
 chromium-new/patches/patch-device_battery_BUILD.gn |   2 +-
 .../patches/patch-device_bluetooth_BUILD.gn        |  13 +
 .../patch-device_gamepad_gamepad__provider.cc      |  13 +
 .../patches/patch-device_geolocation_BUILD.gn      |   4 +-
 ...atch-device_geolocation_location__arbitrator.cc |  13 +
 ...evice_geolocation_location__arbitrator__impl.cc |  13 -
 chromium-new/patches/patch-device_hid_BUILD.gn     |   2 +-
 ...col_media__transfer__protocol__daemon__client.h |  13 +
 ...__protocol_media__transfer__protocol__manager.h |   4 +-
 chromium-new/patches/patch-device_serial_BUILD.gn  |   4 +-
 ...tch-device_serial_serial__io__handler__posix.cc |   4 +-
 .../patch-device_serial_serial__service__impl.cc   |  19 -
 ...vice_time__zone__monitor_time__zone__monitor.cc |  13 +
 ...me__zone__monitor_time__zone__monitor__linux.cc |  24 +
 .../patches/patch-device_usb_usb__context.cc       |   2 +-
 .../patch-device_usb_usb__context__unittest.cc     |   2 +-
 .../patch-device_usb_usb__device__handle__impl.cc  |   2 +-
 .../patch-device_usb_usb__device__handle__impl.h   |   2 +-
 .../patches/patch-device_usb_usb__device__impl.cc  |   2 +-
 .../patches/patch-device_usb_usb__error.cc         |   2 +-
 .../patches/patch-device_usb_usb__service__impl.cc |   2 +-
 .../patches/patch-device_usb_usb__service__impl.h  |   2 +-
 .../patches/patch-extensions_browser_BUILD.gn      |  13 -
 ...i_declarative__webrequest_webrequest__action.cc |   4 +-
 ..._networking__private__event__router__factory.cc |  19 +
 ...ch-extensions_browser_api_serial_serial__api.cc |   2 +-
 ..._browser_api_web__request_form__data__parser.cc |   2 +-
 .../patches/patch-extensions_common_image__util.cc |   2 +-
 .../patch-extensions_common_stack__frame.cc        |   2 +-
 chromium-new/patches/patch-gpu_BUILD.gn            |   4 +-
 ...gpu_command__buffer_service_program__manager.cc |   6 +-
 chromium-new/patches/patch-gpu_config_BUILD.gn     |   2 +-
 .../patches/patch-gpu_config_gpu__control__list.cc |   4 +-
 ...atch-gpu_config_gpu__control__list__unittest.cc |   2 +-
 .../patch-gpu_config_gpu__info__collector.cc       |   4 +-
 .../patches/patch-gpu_config_gpu__test__config.cc  |   6 +-
 .../patch-gpu_gles2__conform__support_BUILD.gn     |   6 +-
 ...tch-gpu_gles2__conform__support_native_BUILD.gn |   4 +-
 chromium-new/patches/patch-gpu_ipc_client_BUILD.gn |   4 +-
 .../patches/patch-gpu_ipc_service_BUILD.gn         |   4 +-
 .../patches/patch-gpu_ipc_service_gpu__init.cc     |  40 +
 ...tch-gpu_tools_compositor__model__bench_BUILD.gn |   4 +-
 chromium-new/patches/patch-gpu_vulkan_BUILD.gn     |   4 +-
 chromium-new/patches/patch-ipc_ipc__channel.h      |   8 +-
 .../patches/patch-ipc_ipc__channel__common.cc      |  13 +
 .../patches/patch-ipc_ipc__channel__posix.cc       |  66 --
 .../patches/patch-ipc_ipc__channel__posix.h        |  30 -
 .../patches/patch-ipc_ipc__message__utils.cc       |   4 +-
 .../patches/patch-ipc_ipc__message__utils.h        |   4 +-
 .../patch-ipc_unix__domain__socket__util.cc        |   4 +-
 chromium-new/patches/patch-media_audio_BUILD.gn    |   2 +-
 .../patch-media_audio_alsa_audio__manager__alsa.cc |   2 +-
 .../patches/patch-media_audio_audio__manager.cc    |   8 +-
 .../patches/patch-media_audio_audio__manager.h     |   4 +-
 chromium-new/patches/patch-media_base_BUILD.gn     |   6 +-
 .../patches/patch-media_base_audio__splicer.cc     |  22 -
 chromium-new/patches/patch-media_capture_BUILD.gn  |   4 +-
 ..._video_fake__video__capture__device__factory.cc |   4 +-
 ..._video_file__video__capture__device__factory.cc |   4 +-
 ..._capture_video_linux_v4l2__capture__delegate.cc |  27 +
 ...re_video_linux_video__capture__device__linux.cc |  10 +-
 ...capture_video_video__capture__device__client.cc |  13 +
 ...apture_video_video__capture__device__factory.cc |   2 +-
 chromium-new/patches/patch-media_cast_BUILD.gn     |  10 +-
 .../patch-media_cdm_ppapi_ppapi__cdm__adapter.gni  |  10 +-
 .../patches/patch-media_ffmpeg_ffmpeg__common.h    |  21 +
 ...tch-media_filters_decrypting__audio__decoder.cc |  13 -
 .../patches/patch-media_filters_ffmpeg__demuxer.cc |  29 +
 .../patches/patch-media_filters_vp9__parser.h      |   2 +-
 ...tch-media_formats_common_offset__byte__queue.cc |   2 +-
 ...atch-media_formats_common_offset__byte__queue.h |   2 +-
 .../patch-media_formats_mp2t_es__parser__adts.cc   |   2 +-
 ...ch-media_formats_mp2t_es__parser__mpeg1audio.cc |   2 +-
 chromium-new/patches/patch-mojo_BUILD.gn           |   8 +-
 ...edk_embedder_platform__channel__utils__posix.cc |  13 +
 chromium-new/patches/patch-mojo_edk_test_BUILD.gn  |   2 +-
 .../patches/patch-native__client__sdk_src_BUILD.gn |   2 +-
 chromium-new/patches/patch-net_BUILD.gn            |  18 +-
 .../patch-net_base_address__tracker__linux.cc      |  96 --
 .../patch-net_base_address__tracker__linux.h       |   4 +-
 ...h-net_base_address__tracker__linux__unittest.cc |   2 +-
 .../patches/patch-net_base_mime__util__unittest.cc |   4 +-
 .../patch-net_base_network__change__notifier.cc    |   2 +-
 .../patch-net_base_network__change__notifier.h     |   2 +-
 .../patch-net_base_network__interfaces__linux.cc   |  14 +-
 .../patch-net_base_network__interfaces__posix.cc   |   2 +-
 .../patch-net_dns_address__sorter__posix.cc        |   2 +-
 ...et_dns_dns__config__service__posix__unittest.cc |   6 +-
 chromium-new/patches/patch-net_dns_dns__session.cc |  13 -
 .../patch-net_http_http__auth__gssapi__posix.cc    |   2 +-
 .../patch-net_http_http__network__session.cc       |  14 +
 chromium-new/patches/patch-net_net.gyp             |  25 -
 ...atch-net_proxy_proxy__config__service__linux.cc |   2 +-
 .../patches/patch-net_proxy_proxy__service.cc      |   6 +-
 .../patch-net_socket_socks5__client__socket.cc     |   2 +-
 .../patches/patch-net_socket_udp__socket__posix.cc |  31 +
 ...et_tools_get__server__time_get__server__time.cc |  22 +
 .../patches/patch-net_udp_udp__socket__posix.cc    |  31 -
 .../patches/patch-net_udp_udp__socket__unittest.cc |  13 -
 ..._url__request_url__request__context__builder.cc |  13 +
 .../patches/patch-pdf_pdfium_pdfium__engine.cc     |  23 +-
 .../patch-ppapi_proxy_file__io__resource.cc        |   2 +-
 ...ed__impl_private_net__address__private__impl.cc |   2 +-
 .../patches/patch-ppapi_tests_extensions_BUILD.gn  |   2 +-
 chromium-new/patches/patch-printing_BUILD.gn       |   6 +-
 .../patches/patch-printing_cups__config__helper.py |   2 +-
 chromium-new/patches/patch-remoting_host_BUILD.gn  |  30 +-
 chromium-new/patches/patch-sdch_BUILD.gn           |   2 +-
 ...-services_service__manager_runner_host_BUILD.gn |  13 +
 ...services_service__manager_standalone_context.cc |  13 +
 .../patch-services_shell_standalone_context.cc     |  13 -
 chromium-new/patches/patch-services_ui_BUILD.gn    |  20 +
 .../patches/patch-services_ui_ime_BUILD.gn         |  12 +
 .../patch-services_ui_public_cpp_gles2__context.cc |  13 +
 ...ices_ui_surfaces_surfaces__context__provider.cc |  13 +
 chromium-new/patches/patch-services_ui_ws_BUILD.gn |  16 -
 chromium-new/patches/patch-skia_BUILD.gn           |  12 +-
 .../patch-skia_ext_SkMemory__new__handler.cpp      |   6 +-
 .../patches/patch-skia_ext_platform__canvas.h      |   2 +-
 .../patches/patch-testing_gtest_src_gtest.cc       |  24 +
 ...bKit_Source_bindings_core_v8_V8ScriptRunner.cpp |   2 +-
 .../patch-third__party_WebKit_Source_core_BUILD.gn |  13 -
 ...third__party_WebKit_Source_core_layout_BUILD.gn |  13 +
 ...arty_WebKit_Source_platform_fonts_FontCache.cpp |  18 +-
 ..._party_WebKit_Source_platform_fonts_FontCache.h |  23 +-
 ...bKit_Source_platform_fonts_FontPlatformData.cpp |  68 +-
 ...WebKit_Source_platform_fonts_FontPlatformData.h |  30 +-
 ...WebKit_Source_platform_fonts_SimpleFontData.cpp |  32 +-
 ...it_Source_platform_fonts_skia_FontCacheSkia.cpp |  18 +-
 ...d__party_WebKit_Source_platform_heap_GCInfo.cpp |   2 +-
 ...WebKit_Source_platform_heap_StackFrameDepth.cpp |  42 +-
 ...hird__party_WebKit_Source_web_PopupMenuImpl.cpp |  16 +-
 ...h-third__party_WebKit_Source_wtf_Assertions.cpp |  28 +-
 .../patch-third__party_WebKit_Source_wtf_Atomics.h |  10 +-
 .../patch-third__party_WebKit_Source_wtf_BUILD.gn  |  15 +
 ...patch-third__party_WebKit_Source_wtf_ByteSwap.h |  16 +-
 ..._party_WebKit_Source_wtf_ContainerAnnotations.h |   6 +-
 ...__party_WebKit_Source_wtf_ThreadingPthreads.cpp |  16 +-
 .../patches/patch-third__party_angle_BUILD.gn      |  39 +
 .../patches/patch-third__party_angle_gni_angle.gni |  13 +
 .../patch-third__party_angle_src_tests_BUILD.gn    |  56 +-
 .../patches/patch-third__party_boringssl_BUILD.gn  |  10 +-
 ...ch-third__party_boringssl_src_crypto_ex__data.c |  15 +
 ...on_src_google_cacheinvalidation_include_types.h |   2 +-
 .../patches/patch-third__party_cython_rules.gni    |  31 -
 .../patches/patch-third__party_expat_BUILD.gn      |   2 +-
 .../patches/patch-third__party_ffmpeg_BUILD.gn     |  20 +
 ..._party_ffmpeg_chromium_scripts_generate__gyp.py |  22 -
 ...patch-third__party_ffmpeg_ffmpeg__generated.gni | 246 +++--
 .../patch-third__party_ffmpeg_libavutil_cpu.c      |  20 +
 .../patch-third__party_ffmpeg_libavutil_mem.c      |  14 +
 .../patches/patch-third__party_fontconfig_BUILD.gn |   2 +-
 .../patches/patch-third__party_freetype2_BUILD.gn  |   2 +-
 .../patches/patch-third__party_glslang_BUILD.gn    |   2 +-
 .../patch-third__party_harfbuzz-ng_BUILD.gn        |   4 +-
 ...patch-third__party_icu_android_patch__locale.sh |   2 +-
 .../patch-third__party_icu_source_configure        |   4 +-
 ...tch-third__party_leveldatabase_env__chromium.cc |   4 +-
 ...st_cpp_src_phonenumbers_base_memory_singleton.h |   2 +-
 ...pp_src_phonenumbers_base_synchronization_lock.h |   2 +-
 ...ist_cpp_src_phonenumbers_base_thread__checker.h |   6 +-
 .../patches/patch-third__party_libusb_BUILD.gn     |   2 +-
 .../patches/patch-third__party_libxml_BUILD.gn     |  13 +
 .../patches/patch-third__party_libxslt_BUILD.gn    |  13 +
 .../patch-third__party_libyuv_include_libyuv_row.h |  32 +-
 .../patches/patch-third__party_mesa_BUILD.gn       |   2 +-
 .../patches/patch-third__party_minigbm_BUILD.gn    |   2 +-
 .../patches/patch-third__party_opus_BUILD.gn       |   2 +-
 ...h-third__party_ots_include_opentype-sanitiser.h |   2 +-
 .../patches/patch-third__party_pdfium_BUILD.gn     |  13 +
 ...tch-third__party_pdfium_core_fxcrt_fx__system.h |  13 +
 ...d__party_pdfium_core_fxcrt_include_fx__system.h |  13 -
 ...__party_pdfium_fpdfsdk_javascript_JS__Value.cpp |   2 +-
 ...rty_pdfium_fpdfsdk_javascript_PublicMethods.cpp |   4 +-
 .../patch-third__party_pdfium_skia_BUILD.gn        |  10 +-
 ...third__party_pdfium_third__party_base_logging.h |  13 +
 ...ch-third__party_protobuf_post__process__dist.sh |   2 +-
 .../patches/patch-third__party_sqlite_BUILD.gn     |  10 +-
 ...der_third__party_LLVM_utils_buildit_build__llvm |  22 -
 .../patches/patch-third__party_usrsctp_BUILD.gn    |   2 +-
 .../patches/patch-third__party_webrtc_BUILD.gn     |   4 +-
 .../patch-third__party_webrtc_base_BUILD.gn        |  12 +
 .../patch-third__party_webrtc_base_httpcommon.cc   |   2 +-
 ...h-third__party_webrtc_base_ifaddrs__converter.h |   2 +-
 .../patch-third__party_webrtc_base_ipaddress.h     |   2 +-
 .../patch-third__party_webrtc_base_linux.cc        |   2 +-
 .../patches/patch-third__party_webrtc_base_linux.h |   2 +-
 .../patch-third__party_webrtc_base_network.cc      |   2 +-
 .../patch-third__party_webrtc_base_network.h       |   2 +-
 ...hird__party_webrtc_base_physicalsocketserver.cc |  23 +-
 .../patch-third__party_webrtc_base_stringutils.h   |  14 +-
 .../patch-third__party_webrtc_base_systeminfo.cc   |   2 +-
 ...h-third__party_webrtc_common__audio_wav__file.h |  12 -
 ...rd__party_webrtc_modules_audio__device_BUILD.gn |  22 +
 ...remote__bitrate__estimator_overuse__detector.cc |  12 -
 ..._rtp__rtcp_source_forward__error__correction.cc |   2 +-
 ...rd__party_webrtc_modules_video__coding_BUILD.gn |  26 +
 ..._party_webrtc_modules_video__coding_receiver.cc |  15 -
 ...h-third__party_webrtc_system__wrappers_BUILD.gn |  13 +-
 ..._wrappers_source_atomic32__non__darwin__unix.cc |  13 +
 ...y_webrtc_voice__engine_voice__engine__defines.h |  13 +
 .../patch-third__party_widevine_cdm_BUILD.gn       |   8 +-
 ...tch-third__party_xdg-utils_scripts_xdg-terminal |   2 +-
 ...-third__party_xdg-utils_scripts_xdg-terminal.in |   2 +-
 .../patches/patch-third__party_yasm_BUILD.gn       |   2 +-
 .../patches/patch-third__party_zlib_BUILD.gn       |   2 +-
 .../patches/patch-tools_battor__agent_BUILD.gn     |   2 +-
 .../patches/patch-tools_gn_bootstrap_bootstrap.py  |   6 +-
 .../patches/patch-tools_gn_gn__unittests.isolate   |  13 -
 ...atch-tools_variations_fieldtrial__to__struct.py |  13 +
 ...-ui_accessibility_platform_ax__platform__node.h |   2 +-
 .../patch-ui_app__list_app__list__constants.cc     |   4 +-
 .../patch-ui_app__list_app__list__constants.h      |   4 +-
 .../patches/patch-ui_app__list_app__list__menu.cc  |  13 -
 ...tch-ui_app__list_views_app__list__item__view.cc |   2 +-
 .../patch-ui_app__list_views_app__list__view.cc    |   4 +-
 chromium-new/patches/patch-ui_aura_BUILD.gn        |   4 +-
 chromium-new/patches/patch-ui_base_BUILD.gn        |  14 +-
 chromium-new/patches/patch-ui_base_ime_BUILD.gn    |   2 +-
 ...h-ui_base_ime_ime__engine__handler__interface.h |   2 +-
 .../patch-ui_base_ime_input__method__factory.cc    |  16 +-
 ...patch-ui_base_ime_input__method__initializer.cc |   2 +-
 .../patch-ui_base_resource_resource__bundle.cc     |   6 +-
 .../patches/patch-ui_base_ui__features.gni         |   2 +-
 .../patches/patch-ui_base_webui_web__ui__util.cc   |   4 +-
 chromium-new/patches/patch-ui_compositor_BUILD.gn  |   4 +-
 .../patches/patch-ui_events_event__switches.cc     |   2 +-
 .../patches/patch-ui_events_event__switches.h      |   2 +-
 ...ch-ui_events_keycodes_dom_keycode__converter.cc |   2 +-
 chromium-new/patches/patch-ui_gfx_BUILD.gn         |   6 +-
 chromium-new/patches/patch-ui_gfx_canvas__skia.cc  |   2 +-
 .../patches/patch-ui_gfx_font__fallback__linux.cc  |   4 +-
 .../patches/patch-ui_gfx_font__render__params.h    |   2 +-
 chromium-new/patches/patch-ui_gfx_render__text.cc  |   4 +-
 chromium-new/patches/patch-ui_gl_BUILD.gn          |   8 +-
 .../patch-ui_gl_sync__control__vsync__provider.cc  |  52 +-
 .../patch-ui_gl_sync__control__vsync__provider.h   |  19 +-
 ...tch-ui_message__center_message__center__style.h |   2 +-
 ...e__center_views_message__center__button__bar.cc |   2 +-
 ...ge__center_views_message__center__button__bar.h |   4 +-
 ...message__center_views_message__view__factory.cc |   2 +-
 .../patches/patch-ui_resources_ui__resources.grd   |   2 +-
 chromium-new/patches/patch-ui_views_BUILD.gn       |  16 +-
 ...ews_accessibility_native__view__accessibility.h |   2 +-
 ...tch-ui_views_bubble_bubble__dialog__delegate.cc |   4 +-
 .../patches/patch-ui_views_controls_label.cc       |  22 +
 .../patch-ui_views_controls_textfield_textfield.cc |  34 +-
 .../patch-ui_views_controls_webview_BUILD.gn       |   2 +-
 .../patches/patch-ui_views_corewm_tooltip__aura.cc |  13 +
 .../patch-ui_views_examples_widget__example.cc     |   2 +-
 .../patch-ui_views_selection__controller.cc        |  13 +
 .../patch-ui_views_style_platform__style.cc        |   4 +-
 .../patches/patch-ui_views_views__delegate.cc      |   6 +-
 .../patches/patch-ui_views_views__delegate.h       |   4 +-
 .../patches/patch-ui_views_views__switches.cc      |   2 +-
 .../patch-ui_views_window_custom__frame__view.cc   |   2 +-
 .../patch-ui_views_window_dialog__delegate.cc      |   2 +-
 .../patches/patch-ui_webui_resources_js_cr.js      |   2 +-
 .../patches/patch-ui_webui_resources_js_icon.js    |  16 +-
 .../patch-v8_src_base_platform_platform-posix.cc   |   2 +-
 chromium-new/patches/patch-v8_src_globals.h        |  16 +
 chromium-new/patches/patch-v8_tools_run-llprof.sh  |   2 +-
 550 files changed, 3565 insertions(+), 2934 deletions(-)

diffs:
diff --git a/chromium-new/Makefile b/chromium-new/Makefile
index 52ab98d91b..1007a62267 100644
--- a/chromium-new/Makefile
+++ b/chromium-new/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD: Makefile,v 1.14 2012/09/24 18:26:53 asau Exp $
 
-DISTNAME=	chromium-54.0.2840.100
+DISTNAME=	chromium-56.0.2924.87
 CATEGORIES=	www
 MASTER_SITES=	http://commondatastorage.googleapis.com/chromium-browser-official/
 EXTRACT_SUFX=	.tar.xz
@@ -84,7 +84,6 @@ KEEPLIBS+= \
 		third_party/cld_2 \
 		third_party/cld_3 \
 		third_party/cros_system_api \
-		third_party/cython/python_flags.py \
 		third_party/devscripts \
 		third_party/dom_distiller_js \
 		third_party/fips181 \
@@ -96,6 +95,7 @@ KEEPLIBS+= \
 		third_party/hunspell \
 		third_party/iccjpeg \
 		third_party/icu \
+		third_party/inspector_protocol \
 		third_party/jstemplate \
 		third_party/khronos \
 		third_party/leveldatabase \
@@ -149,6 +149,7 @@ KEEPLIBS+= \
 		third_party/zlib/google \
 		url/third_party/mozilla \
 		v8/src/third_party/valgrind \
+		v8/third_party/inspector_protocol \
 		base/third_party/libevent \
 		third_party/adobe \
 		third_party/speech-dispatcher \
@@ -184,11 +185,10 @@ GN_ARGS+=	use_gconf=false \
 		enable_one_click_signin=true \
 		use_allocator="none" \
 		use_experimental_allocator_shim=false \
-		enable_widevine=true \
 		is_clang=false \
 		enable_webrtc=false \
 		use_gnome_keyring=true
-GN_ARGS+=	extra_cppflags="-I${BUILDLINK_DIR}/include \
+GN_ARGS+=	extra_cxxflags="-I${BUILDLINK_DIR}/include \
 			-I${BUILDLINK_DIR}/include/glib \
 			-I${BUILDLINK_DIR}/include/nss/nss " \
 		extra_ldflags="-L${PREFIX}/lib \
@@ -270,8 +270,6 @@ INSTALLATION_DIRS+=	${ICONS_DIR${i}}
 
 CHROMIUM_PROGS+=	chrome
 CHROMIUM_SCRIPTS+=	chrome-wrapper
-# Installed, however may not work.
-CHROMIUM_LIBS+=		libwidevinecdmadapter.so
 
 CHROMIUM_FILES+=	chrome.1
 CHROMIUM_FILES+=	chrome_100_percent.pak
@@ -293,8 +291,6 @@ do-install:
 	${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${i} \
 		${DESTDIR}${PREFIX}/${CHROMIUM_DIR}
 .endfor
-	${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libwidevinecdm.so \
-		${DESTDIR}${PREFIX}/lib
 .for i in ${CHROMIUM_FILES}
 	${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${i} \
 		${DESTDIR}${PREFIX}/${CHROMIUM_DIR}
@@ -346,6 +342,7 @@ BUILDLINK_TRANSFORM.NetBSD+=	opt:-lpci:-lpciutils
 .include "../../textproc/libxslt/buildlink3.mk"
 .include "../../devel/dconf/buildlink3.mk"
 .include "../../x11/gtk2/buildlink3.mk"
+.include "../../x11/gtk3/buildlink3.mk"
 .include "../../x11/scrnsaverproto/buildlink3.mk"
 .include "../../x11/libX11/buildlink3.mk"
 .include "../../x11/libXcomposite/buildlink3.mk"
diff --git a/chromium-new/PLIST b/chromium-new/PLIST
index 6bd2a2ee8d..3c89ac297c 100644
--- a/chromium-new/PLIST
+++ b/chromium-new/PLIST
@@ -7,7 +7,6 @@ chrome/chrome_100_percent.pak
 chrome/chrome_200_percent.pak
 chrome/icudtl.dat
 chrome/keyboard_resources.pak
-chrome/libwidevinecdmadapter.so
 chrome/locales/am.pak
 chrome/locales/ar.pak
 chrome/locales/bg.pak
@@ -23,7 +22,6 @@ chrome/locales/es-419.pak
 chrome/locales/es.pak
 chrome/locales/et.pak
 chrome/locales/fa.pak
-chrome/locales/fake-bidi.pak
 chrome/locales/fi.pak
 chrome/locales/fil.pak
 chrome/locales/fr.pak
@@ -89,8 +87,6 @@ chrome/resources/inspector/Images/errorWave_2x.png
 chrome/resources/inspector/Images/fileSystem.png
 chrome/resources/inspector/Images/forward.png
 chrome/resources/inspector/Images/frame.png
-chrome/resources/inspector/Images/graphLabelCalloutLeft.png
-chrome/resources/inspector/Images/graphLabelCalloutRight.png
 chrome/resources/inspector/Images/ic_info_black_18dp.svg
 chrome/resources/inspector/Images/ic_warning_black_18dp.svg
 chrome/resources/inspector/Images/navigationControls.png
@@ -140,11 +136,12 @@ chrome/resources/inspector/Tests.js
 chrome/resources/inspector/accessibility/accessibility_module.js
 chrome/resources/inspector/animation/animation_module.js
 chrome/resources/inspector/audits/audits_module.js
+chrome/resources/inspector/audits2/audits2_module.js
 chrome/resources/inspector/cm_modes/cm_modes_module.js
 chrome/resources/inspector/components_lazy/components_lazy_module.js
 chrome/resources/inspector/console/console_module.js
 chrome/resources/inspector/devices/devices_module.js
-chrome/resources/inspector/devtools.js
+chrome/resources/inspector/devtools_compatibility.js
 chrome/resources/inspector/devtools_extension_api.js
 chrome/resources/inspector/diff/diff_module.js
 chrome/resources/inspector/elements/elements_module.js
@@ -185,12 +182,12 @@ chrome/resources/inspector/emulated_devices/iPhone6-landscape.svg
 chrome/resources/inspector/emulated_devices/iPhone6-portrait.svg
 chrome/resources/inspector/emulated_devices/iPhone6Plus-landscape.svg
 chrome/resources/inspector/emulated_devices/iPhone6Plus-portrait.svg
-chrome/resources/inspector/es_tree/es_tree_module.js
 chrome/resources/inspector/formatter_worker.js
 chrome/resources/inspector/gonzales/gonzales_module.js
 chrome/resources/inspector/heap_snapshot_worker.js
 chrome/resources/inspector/inspector.html
 chrome/resources/inspector/inspector.js
+chrome/resources/inspector/layer_viewer/layer_viewer_module.js
 chrome/resources/inspector/layers/layers_module.js
 chrome/resources/inspector/network/network_module.js
 chrome/resources/inspector/profiler/profiler_module.js
@@ -202,13 +199,14 @@ chrome/resources/inspector/settings/settings_module.js
 chrome/resources/inspector/snippets/snippets_module.js
 chrome/resources/inspector/source_frame/source_frame_module.js
 chrome/resources/inspector/sources/sources_module.js
-chrome/resources/inspector/temp_storage_shared_worker.js
+chrome/resources/inspector/terminal/terminal_module.js
+chrome/resources/inspector/text_editor/text_editor_module.js
 chrome/resources/inspector/timeline/timeline_module.js
 chrome/resources/inspector/timeline_model/timeline_model_module.js
 chrome/resources/inspector/toolbox.html
 chrome/resources/inspector/toolbox.js
 chrome/resources/inspector/ui_lazy/ui_lazy_module.js
-lib/libwidevinecdm.so
+chrome/resources/inspector/utility_shared_worker.js
 man/man1/chrome.1
 share/icons/hicolor/128x128/apps/chrome.png
 share/icons/hicolor/22x22/apps/chrome.png
diff --git a/chromium-new/distinfo b/chromium-new/distinfo
index 09f26c8cdf..601d101914 100644
--- a/chromium-new/distinfo
+++ b/chromium-new/distinfo
@@ -1,502 +1,535 @@
 $NetBSD$
 
-SHA1 (chromium-54.0.2840.100.tar.xz) = bf51814c569110714a4b1266f96c5bbc45af1a80
-RMD160 (chromium-54.0.2840.100.tar.xz) = f6ebf926bb2877dea88f65c596fbeb72ba742c9b
-SHA512 (chromium-54.0.2840.100.tar.xz) = 52f34db6f68bbf2c8a1ac71789dfa7b6ee17ea97519d0a9a1079d78324cffe55572652701e05055f08e03230d887674757322399062f2f5354b1e43c3fdf8f78
-Size (chromium-54.0.2840.100.tar.xz) = 479762112 bytes
-SHA1 (patch-BUILD.gn) = a6f802e913ac2e55f82e63d9ba7639b5742197d2
-SHA1 (patch-base_BUILD.gn) = 178b43ff50e3b8f5b0bad23b8778fff3fbbb7e3b
-SHA1 (patch-base_allocator_BUILD.gn) = 8a9c4286ef9ad775d623027071e4a03c198fe2a2
-SHA1 (patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc) = fe70f276733722f86670736e79a039f4b30e71a1
-SHA1 (patch-base_allocator_allocator__shim__override__libc__symbols.h) = d121415659a8e8580d9a99568419ec31b785e47b
-SHA1 (patch-base_allocator_allocator__shim__unittest.cc) = 5251a53ef8dc6e6eea53ee3afbce0e17b4460121
-SHA1 (patch-base_base__paths__posix.cc) = 8235ab673cfae21a4570248e51c3827fc306768d
+SHA1 (chromium-56.0.2924.87.tar.xz) = e61013b257e0818be5d347cbb94070ddfb25cbe9
+RMD160 (chromium-56.0.2924.87.tar.xz) = 87ba33280652e0fa165d4ffb63c430e2a0f87bfc
+SHA512 (chromium-56.0.2924.87.tar.xz) = 1c154004a9bca73e2491c73520a5f7d5c50c5b9d66e8e2660bf46585dd9b6ad3db706a9d824356f319794fa790bc3918ae6199843bcba717b9e74efbf26882c9
+Size (chromium-56.0.2924.87.tar.xz) = 514429808 bytes
+SHA1 (patch-BUILD.gn) = 6048c60cbea6db3da66111983b287aa13c13b864
+SHA1 (patch-apps_ui_views_app__window__frame__view.cc) = 76d3579b2f0724da307e72abd745d0a2d06a1b2a
+SHA1 (patch-ash_display_mirror__window__controller.cc) = 7141713c7cd313283e93b1fcd2914d15053016d2
+SHA1 (patch-ash_shell.cc) = 815ff1639fc925cb18df91e15f17f3ea94295b72
+SHA1 (patch-base_BUILD.gn) = c0ae3f59abff661fea1720b1aa1c634eb863f72b
+SHA1 (patch-base_allocator_BUILD.gn) = 0f4e5fec23135798fd64cadd208958e9c2eb104a
+SHA1 (patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc) = 9c1fbbbd31d6ce2e2de3f1d242c2a0381182665c
+SHA1 (patch-base_allocator_allocator__shim__override__libc__symbols.h) = 36ae829fc99c7b21a52ef2f6fe6ac4f99c033caa
+SHA1 (patch-base_allocator_allocator__shim__unittest.cc) = 53c3dfd0a383f1e87e0595975ca48d4c784eb08b
+SHA1 (patch-base_base__paths__posix.cc) = e8fd62904c1d335829d24b6b7af6452111ed3e1e
 SHA1 (patch-base_debug_debugger__posix.cc) = 30f2f2f1050a43242b51003c02a9501faaa5de4f
-SHA1 (patch-base_debug_proc__maps__linux.cc) = 13189969fd2ccca0bdbfc840c62ed2046e2907b7
-SHA1 (patch-base_debug_stack__trace__posix.cc) = 4e9036a6456c31dd527f087341e69830af5c8f92
-SHA1 (patch-base_files_file__path__unittest.cc) = 60523a83fdf495ab9c9ff74983b55ad59c247508
-SHA1 (patch-base_files_file__path__watcher__kqueue.h) = 4015b099cd79998ee1d2df9dd7503c891e3475aa
-SHA1 (patch-base_files_file__util.h) = 06d355c32431970618dcae6f86d7645e9dd4f6cd
-SHA1 (patch-base_linux__util.cc) = 376d3dfbc5565267fc32ad0e7bd1e8e65e41fa62
-SHA1 (patch-base_native__library__posix.cc) = fc383018a51d73c1977194a892632b981f2f0beb
-SHA1 (patch-base_posix_unix__domain__socket__linux.cc) = 4bd6c656e5e5f54e8a0a9450d72748108ec4803e
-SHA1 (patch-base_posix_unix__domain__socket__linux__unittest.cc) = 01aee2e9efa6fb9678b125f792e66e0e3fe6a0c2
-SHA1 (patch-base_process_internal__linux.h) = e9ccc1bd32f378fdc04b100ca49329b96e504e4b
-SHA1 (patch-base_process_launch.cc) = cb4502c91b67c181b5c85d12b83afe0c037f3518
-SHA1 (patch-base_process_launch.h) = 42d7c496b480cc636f5f99c95c0311091af67040
-SHA1 (patch-base_process_launch__posix.cc) = c0dcee1962b5a721ca9156ff0d5b68bdd39a1b6a
-SHA1 (patch-base_process_memory.h) = d902030daccc879847d4c2f45ff49a6073d1201c
-SHA1 (patch-base_process_memory__stubs.cc) = b06cddebd2637c5651900b08e00de6db336701e6
-SHA1 (patch-base_process_memory__unittest.cc) = 27298a44279d3a43f3d0d5112ff5bbf5be61e87a
-SHA1 (patch-base_process_process__handle__freebsd.cc) = e375a9d1654175425b2987d8d59eaadb8e12cad6
+SHA1 (patch-base_debug_proc__maps__linux.cc) = 4802235584a8c50cd8fa8d3286c15dafd5921857
+SHA1 (patch-base_debug_stack__trace__posix.cc) = d0be4c5de5acec8a7f3bbc47f269001b839bb490
+SHA1 (patch-base_debug_thread__heap__usage__tracker.cc) = c0257b07c6b48bb8f81337a6331c171f5c446b16
+SHA1 (patch-base_files_file__path__unittest.cc) = 32d3ae1807ce7e6c7149db00206f3f7990792e23
+SHA1 (patch-base_files_file__path__watcher__kqueue.h) = d42bdcc35a81c0efc96960bb4876a4e463234a21
+SHA1 (patch-base_files_file__util.h) = 98b14b7428de66649a49009663a3088342ad8b62
+SHA1 (patch-base_linux__util.cc) = 55a969aaf3805f645bc9bf84ae7e338e51f69b8f
+SHA1 (patch-base_native__library__posix.cc) = dffa3c8e8350da3d27d59c403668b684d8bb09d5
+SHA1 (patch-base_posix_unix__domain__socket__linux.cc) = 664400c5d4dfb9c4508ea0c5d066daa38fca89cc
+SHA1 (patch-base_posix_unix__domain__socket__linux__unittest.cc) = 8ca74cf09df07f9d9181aa2d62b63f2f1c59cdce
+SHA1 (patch-base_process_internal__linux.h) = c2162d1c8b674a1f31e3c82466cde5a13fded50c
+SHA1 (patch-base_process_launch.cc) = 455fbcedb84e60beb40172a7f075b88e28791d9f
+SHA1 (patch-base_process_launch.h) = 3906250654b2a869ef13a5ff9f89ea9a78b6051f
+SHA1 (patch-base_process_launch__posix.cc) = 2827562545db2b3b7a41915756f95eff8b6c66c9
+SHA1 (patch-base_process_memory.h) = ba6ba94147feb6b831515b0a6d60d780db4d1880
+SHA1 (patch-base_process_memory__stubs.cc) = 9074b49015593afbb454730a76074aabd7a6b4cf
+SHA1 (patch-base_process_memory__unittest.cc) = ea90b76941baf283be5ecaac15e3de193e2504f6
+SHA1 (patch-base_process_process__handle__freebsd.cc) = 99ea09ebc94e273854a054c56d602b15a50a7fd2
 SHA1 (patch-base_process_process__handle__netbsd.cc) = 0da68c82d0c44c0bf910fbccbc9de2437741b7d0
 SHA1 (patch-base_process_process__info__linux.cc) = 5a2af4bc00bdba6a48fa9123737b8610221cc5e7
 SHA1 (patch-base_process_process__iterator.h) = 14c559349406b0a79c3b8bec266890a3ff9e3d48
-SHA1 (patch-base_process_process__iterator__freebsd.cc) = 37bed3cc5cef80dcd0c24ff755b1ca0442c663d2
+SHA1 (patch-base_process_process__iterator__freebsd.cc) = bb5ef10a2e23ab1939e34ff71722036afa9efd38
 SHA1 (patch-base_process_process__iterator__netbsd.cc) = 54f8209180488a726127d75587295d6372fdf608
-SHA1 (patch-base_process_process__metrics.h) = 27120d670c3afd7ae9f7036e176f640af4ee4d35
-SHA1 (patch-base_process_process__metrics__freebsd.cc) = 010f447e8d8c88822bc4fcf2e4338ff6cb94002e
+SHA1 (patch-base_process_process__metrics.h) = ff68258a6b6811b63765c3ae955b8080420abb9a
+SHA1 (patch-base_process_process__metrics__freebsd.cc) = 3ae26aa1ba2f109f272d3fbeeb58609ccbace48e
 SHA1 (patch-base_process_process__metrics__netbsd.cc) = 488acce8faaf88f2295b57999f8ce5d106c65213
-SHA1 (patch-base_process_process__metrics__posix.cc) = d3450d202d5076ec64f8470ea15e0052a981fb5f
-SHA1 (patch-base_process_process__posix.cc) = 4320674169e2905ed356996f5edad12af086deee
-SHA1 (patch-base_profiler_stack__sampling__profiler__unittest.cc) = e56c78b438e56c7804fb3f7932a16fb1deb8f106
-SHA1 (patch-base_security__unittest.cc) = 552469ee9380392f43999abf70bcfa2d65aea59b
-SHA1 (patch-base_strings_safe__sprintf.cc) = 868c7a2eb687b3ac155ed80dc604b9b81b24c1ce
-SHA1 (patch-base_sys__info__freebsd.cc) = f2f4ae7172a94a916f69881695541a6922ba9cbc
+SHA1 (patch-base_process_process__posix.cc) = adba10a7257113840403d9c672d5d849f483288d
+SHA1 (patch-base_profiler_stack__sampling__profiler__unittest.cc) = 3817093473a23924c01b3d2b38c809ae83d14df2
+SHA1 (patch-base_security__unittest.cc) = a698ce71858c0937598e73e3ced3ddc51aab465f
+SHA1 (patch-base_sys__info__freebsd.cc) = 51061da3c7f2d5f3e92e5f9d3b2a129a8a1d3335
 SHA1 (patch-base_sys__info__netbsd.cc) = 448098a286bf4c20402af9740b457e405dd351f3
-SHA1 (patch-base_sys__info__posix.cc) = b5dfced5679bd4582c90e10bd5f6d72353a44ee9
-SHA1 (patch-base_test_BUILD.gn) = 977dccdac2ada984b745d9ec3d2c5c1942d17f01
-SHA1 (patch-base_test_launcher_test__launcher.cc) = f8a9747102abecf8f169b01500cd7caf2d4e129f
-SHA1 (patch-base_test_test__file__util__posix.cc) = 95417aba2554129a5cbf5afccbf43192f5d831eb
-SHA1 (patch-base_third__party_libevent_BUILD.gn) = 57dea4baec68cffe3d12b827c07682a71f65d79a
+SHA1 (patch-base_sys__info__posix.cc) = d4eed955f2d6cf18fb9d40e28493d4507b8e91a2
+SHA1 (patch-base_test_BUILD.gn) = 12c2c621632c4d86d8a90d67e891a05f25116e94
+SHA1 (patch-base_test_launcher_test__launcher.cc) = 631d1d63d4ecf6e0c7af9369ce7471760819b13c
+SHA1 (patch-base_test_test__file__util__posix.cc) = 737464deacae03303871c09d3925c2ffd4f4ff37
+SHA1 (patch-base_third__party_libevent_BUILD.gn) = 111e8801e7045554f05484414e0a0a5c6c528972
 SHA1 (patch-base_third__party_libevent_event-config.h) = 928f7a50867fea7f94c4102a434bc03905c1e58a
 SHA1 (patch-base_third__party_libevent_netbsd_config.h) = 21e16692c4a6c9546afe9b1122b524b68f91b7e6
 SHA1 (patch-base_third__party_libevent_netbsd_event-config.h) = 00bdccd77be2fa4c047bc95d039febcc2281f064
+SHA1 (patch-base_threading_platform__thread.h) = 92c741da852ef6829aff32ba9d85771d70b7a13c
+SHA1 (patch-base_threading_platform__thread__linux.cc) = 9a352369d04ca37eb49fa483c4a2401649371b87
 SHA1 (patch-base_threading_platform__thread__netbsd.cc) = f6c99ab4d517bf45a56f71b7e03b64f4c2a7b91b
-SHA1 (patch-base_threading_platform__thread__posix.cc) = ca5b08982639676bed3012c3d5ab5490173e6861
-SHA1 (patch-base_trace__event_malloc__dump__provider.cc) = a76843ac49c6ee32d1b6b46d165181f1a36d2ef2
-SHA1 (patch-base_trace__event_process__memory__dump.cc) = 9b613bfb46aba020d5d380086293c88732bb215a
-SHA1 (patch-base_trace__event_process__memory__dump.h) = e2a58af0616e2a8d3786d6e5afc806857ea0416d
-SHA1 (patch-breakpad_BUILD.gn) = b8a4db2a770d1641e59c1eaa31c1357e3f26f4db
-SHA1 (patch-build_config_BUILD.gn) = 7c9caa040c6f982b482003132e5a8abeda3c7aa4
-SHA1 (patch-build_config_BUILDCONFIG.gn) = 4728c70cfc475894859867b1638982f0a2e3c2d8
-SHA1 (patch-build_config_allocator.gni) = eaad15f79a93ca7b7c0402ee60e56a17b7272741
-SHA1 (patch-build_config_clang_BUILD.gn) = 2407bb2bc28186913dc59eeb188d8f545c2c1201
-SHA1 (patch-build_config_compiler_BUILD.gn) = 7293b6e890b999aa2a7dcc6d7270765bae9a6556
-SHA1 (patch-build_config_crypto.gni) = f38152c81ce92700b5b9012cd7afbeb5d03f94f5
-SHA1 (patch-build_config_features.gni) = 5b2291c122498c24e3a0ecc7d678206930858404
-SHA1 (patch-build_config_linux_gtk2_BUILD.gn) = 986a8dfaa5c62626d66e634c7410896e28301a5b
-SHA1 (patch-build_config_linux_gtk3_BUILD.gn) = 33e1cd75d75209242decdaf14cf34e30bd26357b
-SHA1 (patch-build_config_linux_pkg-config.py) = c45f2a40439e132a3e2216b1236fc4a5ec3e3fcc
-SHA1 (patch-build_config_sanitizers_BUILD.gn) = 136ca038b3209f079ceadb076546237ec891de80
-SHA1 (patch-build_config_sanitizers_sanitizers.gni) = c149ccdce5afe0a873d831181b2f3540218237d0
-SHA1 (patch-build_config_ui.gni) = 471b92d4a654cdde654355ea2d277444ea7d6c59
-SHA1 (patch-build_linux_libpci_BUILD.gn) = 4ec661326577802ea7b6b7ab13fe927cf56d3e23
-SHA1 (patch-build_secondary_third__party_nss_BUILD.gn) = 73bcd48039bbed4f6d87c4691dbef85aee942094
-SHA1 (patch-build_toolchain_gcc__toolchain.gni) = c815e315196a3617d064b5ebbf040862c1569a75
-SHA1 (patch-build_toolchain_get__concurrent__links.py) = 4ccb873caace8fc8379a05d67724406793f9962a
-SHA1 (patch-cc_layers_scrollbar__layer__impl__base.cc) = 4607770273ef783fc92c6f9c80f53910efd9de93
-SHA1 (patch-cc_trees_property__tree.cc) = f5ba00ed9d2fbb13187f6fb9eca693472e70f652
-SHA1 (patch-chrome_BUILD.gn) = b133a5e0c8c6cee4bbb42ec8c432edcb6affb307
-SHA1 (patch-chrome_app_chrome__command__ids.h) = 77a1705f876a24bb6dedc4bf64e54bb79dc8a73e
-SHA1 (patch-chrome_app_chrome__main__delegate.cc) = cd109711d74df5e506682107de5dd899f8d05c23
-SHA1 (patch-chrome_app_chrome__main__delegate.h) = ffbaf71bdb3aaa8b7a8892d7a07affe3f071a4df
-SHA1 (patch-chrome_app_chromium__strings.grd) = 9aa20452aab97dc5b715275dc381a53b297f0f41
-SHA1 (patch-chrome_app_generated__resources.grd) = 2f42789d720f943457e67f8a4b190d5101c2f897
-SHA1 (patch-chrome_app_resources_locale__settings.grd) = 887aadb51614f64a3faa2792fef4cd43c176ae6d
-SHA1 (patch-chrome_browser_BUILD.gn) = 0df3e2e4c9c364da8cbcbbabc5f826d81821ad71
-SHA1 (patch-chrome_browser_about__flags.cc) = a702a8853ece3b129dbfb3cabb8533ed497c84ed
-SHA1 (patch-chrome_browser_browser__process__impl.cc) = fbe7b6a840cd5f8235848a74723ee2db3753ad8b
-SHA1 (patch-chrome_browser_browser__process__impl.h) = 8a7c2faba4fd3161ea3f9e3dda717faa16c611e2
+SHA1 (patch-base_threading_platform__thread__posix.cc) = 36243fea738ee1754002fda9de3c1ee26298a36d
+SHA1 (patch-base_trace__event_malloc__dump__provider.cc) = b048f40e508b905e4356c990f405d3eeb7dd23f8
+SHA1 (patch-base_trace__event_process__memory__dump.cc) = 209b645e6523d9589bc843e660ee583937e31cb9
+SHA1 (patch-base_trace__event_process__memory__dump.h) = b60638b9cc5148b22c99e2e7c32711b8a6d93cbe
+SHA1 (patch-breakpad_BUILD.gn) = 64c1f4aa0e32381125e3c91794417c70f0ef522c
+SHA1 (patch-build_config_BUILD.gn) = 7daeac790c6fb9236e7a33106100154bef9c1d32
+SHA1 (patch-build_config_BUILDCONFIG.gn) = 87b601fb278e7fdd8bb3e31a7f587bc5148f305b
+SHA1 (patch-build_config_allocator.gni) = 283f97567088a3ee4157d71df4742e73826523d1
+SHA1 (patch-build_config_clang_BUILD.gn) = d07f0efc3be516fe30d6bb42862be8f47c6b7517
+SHA1 (patch-build_config_compiler_BUILD.gn) = e671a2b0015d1abfe619643e12ffcf2e5c0278c2
+SHA1 (patch-build_config_crypto.gni) = a59011431c313ee572496eb385de50cadfebf729
+SHA1 (patch-build_config_features.gni) = 46c95ef1ccb7b347df04b90d7e9037cfba77b4b4
+SHA1 (patch-build_config_linux_gtk2_BUILD.gn) = a3c70c55d87dd240238fe193e7c336684bb71dea
+SHA1 (patch-build_config_linux_gtk3_BUILD.gn) = f2203c0b39c528e2a08beb9efc5d74ee11e06be2
+SHA1 (patch-build_config_linux_pkg-config.py) = 3856027edc929121a0acc21fd7cfe1c8ba431a70
+SHA1 (patch-build_config_sanitizers_BUILD.gn) = 2b8baf65102d78505c033ae9f38a151ed37695a7
+SHA1 (patch-build_config_sanitizers_sanitizers.gni) = 7d9cff7979c927eb6149b93871b8e18a42805bea
+SHA1 (patch-build_config_ui.gni) = 144b705d185e77b975681fb5b78be429ab2d75be
+SHA1 (patch-build_linux_libpci_BUILD.gn) = 37d53722dd1fdd8e2a51848197c91fa7d6676315
+SHA1 (patch-build_secondary_third__party_nss_BUILD.gn) = 826532cdd5c045b8d19f733db156fe4649997b39
+SHA1 (patch-build_toolchain_gcc__toolchain.gni) = 01d1054a64792ed1a98394d695d614f84f523be2
+SHA1 (patch-build_toolchain_get__concurrent__links.py) = 86e1889df43be2722b60d1b26783db7248890964
+SHA1 (patch-cc_layers_scrollbar__layer__impl__base.cc) = 49edea56caa1d4c78cc0edd274ea0e8ac4b2e54a
+SHA1 (patch-cc_trees_property__tree.cc) = 9393e1f8027990957b6757776f793cc3509bb6fa
+SHA1 (patch-chrome_BUILD.gn) = 02f9dc0c174a739e7c1281e3c361aa7afacd51db
+SHA1 (patch-chrome_app_chrome__command__ids.h) = 7b2ed24ca1577423ba82eaff8213967520322ae4
+SHA1 (patch-chrome_app_chrome__main__delegate.cc) = 6142c823e9ee7e850e717ddd15de233f4f69217c
+SHA1 (patch-chrome_app_chrome__main__delegate.h) = a4649ca8fe030669dc2605d352e4ab5ff8297bbd
+SHA1 (patch-chrome_app_chromium__strings.grd) = f650e2dafad1a1266fc9cfacaf09c8ae7ea19e2d
+SHA1 (patch-chrome_app_generated__resources.grd) = 7d670ee5479b1f51225aca15de11f90f57ccdc43
+SHA1 (patch-chrome_app_resources_locale__settings.grd) = 7e7fc563a6c0d6a722e480afcc1654f5c893ffe3
+SHA1 (patch-chrome_browser_BUILD.gn) = ab9e6a27cd9b980591facc3f09406ab7d23c2964
+SHA1 (patch-chrome_browser_about__flags.cc) = 81bd82c14804ff4a5591b8298b6e56ef383a765d
+SHA1 (patch-chrome_browser_browser__process__impl.cc) = 0185bbc785142d5979e056c0b38320d4fc22c27f
+SHA1 (patch-chrome_browser_browser__process__impl.h) = ddb9153d789977daa8ab41e3e40b8dfc3d821b4d
 SHA1 (patch-chrome_browser_browser__resources.grd) = b8daeccd22c9ca276ee63284225433e24dd57ee6
-SHA1 (patch-chrome_browser_chrome__browser__main.cc) = e8a32581032ae4d07d1c32bcb5b9324f613fd3c4
-SHA1 (patch-chrome_browser_chrome__browser__main__linux.cc) = 32dbb90327d484fc2b8ea15ef5f983adb951338c
-SHA1 (patch-chrome_browser_chrome__browser__main__posix.cc) = 199d7db336bc6c6819aff8795551e01dda8a6772
-SHA1 (patch-chrome_browser_chrome__content__browser__client.cc) = 1d535919d070715db695858223912bda1711afdf
-SHA1 (patch-chrome_browser_chrome__content__browser__client.h) = d653dfcab1a19470f9f0f44b3cda896c47d456e1
-SHA1 (patch-chrome_browser_defaults.cc) = eef38c6ab14f808e2c9b45931fe57e38fd2b4533
-SHA1 (patch-chrome_browser_diagnostics_diagnostics__writer.cc) = 12812ecfa3699714c594e81bc596408d93237953
-SHA1 (patch-chrome_browser_diagnostics_diagnostics__writer.h) = f5520e7e6d8d8143f740c817bb0ea0212e13eef4
-SHA1 (patch-chrome_browser_download_chrome__download__manager__delegate.cc) = b02e24de99c1ab0e55bc885391b6b4969c91478f
-SHA1 (patch-chrome_browser_download_download__commands.cc) = 5c4ae971c20603824fbdd3a137d94dc40d25e405
-SHA1 (patch-chrome_browser_download_download__commands.h) = df72147fd0fc19f535aa8dbc3169646f75a1baf7
-SHA1 (patch-chrome_browser_download_download__prefs.cc) = 94d8c864c1b71df6e14e5091031914cd89d73385
-SHA1 (patch-chrome_browser_download_download__prefs.h) = baac7661c92e6d58324f00204c94a1617dac03b6
-SHA1 (patch-chrome_browser_download_download__query.cc) = e2123d66fcd718e89f7e589036f6effb68ab2963
-SHA1 (patch-chrome_browser_download_download__shelf__context__menu.cc) = 8fd28f498d8b523b5d07b65adbb46b27443fd525
-SHA1 (patch-chrome_browser_extensions_BUILD.gn) = 70cb74dc041f15b40e0fe01747d604eff52693a2
-SHA1 (patch-chrome_browser_extensions_activity__log_activity__log.cc) = ba63a57f0f934245793d612263b84cb1b5d5bc29
-SHA1 (patch-chrome_browser_extensions_api_image__writer__private_image__writer__private__api.cc) = 4cb83a0aef3456935142477069bce1ccff013f4f
-SHA1 (patch-chrome_browser_extensions_api_input__ime_input__ime__api.h) = ab1356cca70bf8d6c85c74ef8ed4730e040b7785
-SHA1 (patch-chrome_browser_extensions_api_messaging_message__service.cc) = 8d80f1a5397a2df8ae0b29be002b2ac7256574bf
-SHA1 (patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc) = 8443e1cf7fa0dee54439c07507431f690b8873b3
-SHA1 (patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc) = 3f2da53d49dc3e49ad999af9d20cc2a55d2a6cf4
-SHA1 (patch-chrome_browser_extensions_external__provider__impl.cc) = 98c059da088351361f1de256057eb55ba17467d5
-SHA1 (patch-chrome_browser_gpu_gl__string__manager.cc) = 798e5dd24246e184a6fb33a0c359c15387432b10
-SHA1 (patch-chrome_browser_gpu_gpu__feature__checker.cc) = 5cd02b7df5c8978c4168b9137104b852db3a561f
-SHA1 (patch-chrome_browser_interstitials_chrome__controller__client.cc) = 8f27b840bf0de65547d33e77915bba596e7b666d
-SHA1 (patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc) = 409852bfd5e6f53baf7968d95c27f12ca32854c3
-SHA1 (patch-chrome_browser_media__galleries_media__file__system__registry.cc) = 31261492688a9cc1405fd7fea421086cfd863802
-SHA1 (patch-chrome_browser_media_webrtc__log__uploader.cc) = dfcfd375c086c752837cec1b03d25e3a16a7d3f9
-SHA1 (patch-chrome_browser_memory__details.cc) = 483a7c243c24227abb5921c0b04117080185e974
-SHA1 (patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc) = 45c36fe075e42dc06846e8545c0e7540776defc8
-SHA1 (patch-chrome_browser_notifications_message__center__notification__manager.cc) = dc71d5c273719bffc38fe813988704f04c4709b4
-SHA1 (patch-chrome_browser_password__manager_chrome__password__manager__client.cc) = 84aa79e4cada4d042f9dec89a38755c5dfd03c3a
-SHA1 (patch-chrome_browser_platform__util.h) = dc1b12c676072c8415d24a9fda2e9aae914bf9cf
-SHA1 (patch-chrome_browser_plugins_plugins__resource__service.cc) = 871ba27e1ec749239243409795f8bc4ce18548fe
-SHA1 (patch-chrome_browser_policy_policy__prefs__browsertest.cc) = ce97083bb801740d801c71b8f1fdde4cd7537ea0
-SHA1 (patch-chrome_browser_process__singleton__posix.cc) = 605351e2bd94a981adec9eb1b14d6c4f66732f4e
-SHA1 (patch-chrome_browser_renderer__preferences__util.cc) = 3ecef5ac59caf8a4e83a33a86e6a35b5d95ea722
-SHA1 (patch-chrome_browser_resources_safe__browsing_BUILD.gn) = 3b2b819e62f8c7c15c54606a4e58cc4af1d884fa
-SHA1 (patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py) = 47461db23c5e45d48e0d96bbeb235b475ad5945f
-SHA1 (patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc) = f13246f411c3a0371627748233661efcf548955f
-SHA1 (patch-chrome_browser_safe__browsing_permission__reporter.cc) = 0d05f8d90ace268a9131a5d8b303295bb6c652c7
-SHA1 (patch-chrome_browser_search_local__files__ntp__source.cc) = cf02d4277b281f06c14a5ac0429576cf48269391
-SHA1 (patch-chrome_browser_sync_chrome__sync__client.cc) = e89b193619bace532109ac93e10d32846ce9563d
-SHA1 (patch-chrome_browser_tracing_crash__service__uploader.cc) = 79d972eb9f807af8df244b1ed6662c09b0937de0
-SHA1 (patch-chrome_browser_ui_BUILD.gn) = 4b3ed83892a6a0afe01d3609640f6d3efbe116a7
-SHA1 (patch-chrome_browser_ui_browser__command__controller.cc) = ad88a0a682bcbea7ef59d2ff67831b00e0859f92
-SHA1 (patch-chrome_browser_ui_browser__view__prefs.cc) = c22886dc01e0114d16b72e62cea48e6845f5f291
-SHA1 (patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc) = 3929a3efe70b214abf0cde5d6e8bde33947dd9fb
-SHA1 (patch-chrome_browser_ui_input__method_input__method__engine__base.cc) = f04f8f391eac31ea3357e42618a0cfda911563a7
-SHA1 (patch-chrome_browser_ui_libgtk2ui_BUILD.gn) = bbd9f5a4c1790a12600e5dce7e31309c164cb97d
-SHA1 (patch-chrome_browser_ui_startup_startup__browser__creator.cc) = 69ac5c18aad5f56b0e2bd543dd585245ee2c069f
-SHA1 (patch-chrome_browser_ui_toolbar_app__menu__model.cc) = d54a176f9f3d0510815bf51b36d510855a6c2267
-SHA1 (patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc) = 588a5e3501eaa6ab7e875a98c42dd4618773ee91
-SHA1 (patch-chrome_browser_ui_views_chrome__views__delegate.cc) = 4cbb78d49473ff706142da03a271b1d28659bdca
-SHA1 (patch-chrome_browser_ui_views_chrome__views__delegate.h) = 745714ae3a8765782d560f88742e9a7ecbfa21f1
-SHA1 (patch-chrome_browser_ui_views_first__run__dialog.cc) = 23f8185f11ac00f3e25e3885e0e7d951e3ec5c52
-SHA1 (patch-chrome_browser_ui_views_frame_browser__frame.cc) = efde2724747006fd5aed0b5b719bb6a9258b26df
-SHA1 (patch-chrome_browser_ui_views_frame_browser__view.cc) = cd437b7a74c16ba3d3e8a2fe79a637f25cea1190
-SHA1 (patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc) = d15db795017f118862aefa7b7da7a90f19c3b7aa
-SHA1 (patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout.cc) = 475572a9bc5938417339ab6ef0dba2cb7bfee66e
-SHA1 (patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc) = e419c1cb0d71d11e30189918f1922f2434720c27
-SHA1 (patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc) = feafcec6b32582e9498e992189f32ab56a6a2f27
-SHA1 (patch-chrome_browser_ui_views_message__center_message__center__frame__view.cc) = 54178c425ee67de85957604d8f3a4828ab657b2e
-SHA1 (patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc) = 119f9d6ecb03ce0f06252dda21f3105c3e957cc4
-SHA1 (patch-chrome_browser_ui_views_tabs_tab__strip.cc) = 0c2331be3b1baadd7ab3491d7c18f3e795eb7af7
-SHA1 (patch-chrome_browser_ui_webui_about__ui.cc) = 59b77dc8ffc758bce1737f7b98bc41be0074ed11
-SHA1 (patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc) = a612ed6f83b46af9922c4c773192e1401b1e4b1e
-SHA1 (patch-chrome_browser_ui_webui_extensions_extension__loader__handler.cc) = a0c94e7d7ed838ad01f2b9e4bba01e4bdbcc7b0b
-SHA1 (patch-chrome_browser_ui_webui_options_browser__options__handler.cc) = a0fda4738488d00efdc1c8694a1739b12d5cd054
-SHA1 (patch-chrome_browser_ui_webui_options_browser__options__handler.h) = e1328182efa0c4a79254857c402c459fee6b61d3
-SHA1 (patch-chrome_browser_web__applications_web__app.cc) = 046eacf0ea1b24161f12469b8a3d063532ada798
-SHA1 (patch-chrome_browser_web__applications_web__app.h) = 37d99550756b8382e4826fddd2b8d41075453d3b
-SHA1 (patch-chrome_common_BUILD.gn) = 89074e92ad7d356056b7bbb1d68e2424ea48eaa0
-SHA1 (patch-chrome_common_chrome__paths.cc) = 9710da0f5f0e86aec3afd85fb093ad8bd34951f4
-SHA1 (patch-chrome_common_chrome__paths.h) = 883bc7bb5a908235aab9f7df92225684ecc55c98
-SHA1 (patch-chrome_common_chrome__paths__internal.h) = 6dbb9bf74d56fa22f9c4177982430d3697906d23
-SHA1 (patch-chrome_common_chrome__switches.cc) = c7254f8b0bfae3bec1b22b5d736a981dc3aa5802
-SHA1 (patch-chrome_common_chrome__switches.h) = 0c86976d1ebf13a9244f05557dc03363039708f5
-SHA1 (patch-chrome_common_extensions_api_schemas.gni) = c17f4ce43bf62e937eb507bc23cd8cf01e1ebbf6
-SHA1 (patch-chrome_common_extensions_command.cc) = a4bcca9b9e40068ecfbff6466a15445b8cfdcc62
-SHA1 (patch-chrome_common_features.gni) = 7864e41702664fba7db0480c756896564a75451a
-SHA1 (patch-chrome_common_pref__names.cc) = 15566d9cd95dcd9294e4f2a5b0db87cdd7f883ef
-SHA1 (patch-chrome_common_pref__names.h) = 26f5586cee06478072526dd6dbe30d35352c3730
-SHA1 (patch-chrome_common_variations_BUILD.gn) = e4a6807affddf8b6d68351386d637ab38b0979dc
-SHA1 (patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc) = 9fae4d1334773fafec8ad5d55b0d6d3061bf1f14
-SHA1 (patch-chrome_renderer_pepper_pepper__flash__font__file__host.h) = 221c5191ba96c493a6b0c32ecd9ffad7d8e8743f
-SHA1 (patch-chrome_test_BUILD.gn) = dc98073b73a255d94eefaa419f32df13bcadcdc2
-SHA1 (patch-chrome_test_base_in__process__browser__test.cc) = 13115e62a09fb93dfec6486bd30453a06d6dc3e4
-SHA1 (patch-chrome_test_base_testing__browser__process.h) = bb85f289a2d4e5e27900ce30b4aa76ece70a616e
-SHA1 (patch-chrome_test_chromedriver_chrome_chrome__finder.cc) = 6f0fa59c9d1d2c4247aace4a49a1990f6329ebbc
-SHA1 (patch-chromecast_BUILD.gn) = 3213dafa90d8384730105d1adcd67984bc6d5a1a
-SHA1 (patch-chromecast_browser_BUILD.gn) = bc9e8f27b011163866fb4cf3dfb57480a423d703
-SHA1 (patch-chromecast_browser_metrics_BUILD.gn) = edec57a9be2fea41670787fcdf6a468b48365108
-SHA1 (patch-chromecast_crash_BUILD.gn) = 6e5b2227a458d3ee6d6ba0085191be7aa1df7bef
-SHA1 (patch-components_BUILD.gn) = 4e4135faecadbe74570df021137f7d733d372228
-SHA1 (patch-components_arc_metrics_oom__kills__monitor.cc) = 588bfb8a408a89770107647790a9064045da741f
-SHA1 (patch-components_autofill_content_renderer_password__form__conversion__utils.cc) = b076d8c657dfc756913f1d5c79a18ed49d6b091e
-SHA1 (patch-components_autofill_core_browser_address__rewriter.cc) = d4f61c6781149ffe4af249f5e0b36faebe249caa
-SHA1 (patch-components_autofill_core_browser_form__structure.cc) = 163fe5431f3ae5232823ba39c8adb442f6715405
-SHA1 (patch-components_content__settings_core_browser_website__settings__registry.cc) = 5380e4063de89e14b59c66373216b57fc9c8565c
-SHA1 (patch-components_content__settings_core_browser_website__settings__registry.h) = 88026c9a222b09dbb7a1fa5203536153c9ead522
-SHA1 (patch-components_cookie__config_cookie__store__util.cc) = c32313dd163ccb809afd2e0c420fa16d4e067777
-SHA1 (patch-components_crash_content_app_BUILD.gn) = 7a87c41c983234bfe787d7d0434b6e3a06b18c16
-SHA1 (patch-components_crash_content_browser_BUILD.gn) = a923917e3d5c90464ae2cbdfeaa2b9dd19475833
-SHA1 (patch-components_dom__distiller_core_page__features.cc) = 39e9946eef44389894f88f443cc4e25d4a2b7855
-SHA1 (patch-components_drive_drive__api__util.cc) = afd12ae32a3b4b7f69012bc9e4859055e2cbd693
-SHA1 (patch-components_feedback_anonymizer__tool.cc) = b89d559e2e4c17b1b806926a270a511c1fa04efa
-SHA1 (patch-components_flags__ui_flags__state.cc) = ddccd61fc8babc6d15e52ef1c769c12321c43861
-SHA1 (patch-components_gcm__driver_gcm__client.h) = b2f06e9893869d714a10e1c844d77fb25e851963
-SHA1 (patch-components_gcm__driver_gcm__client__impl.cc) = 3a75d496e329e9d0f69cb685a154ff0fbe024b27
-SHA1 (patch-components_json__schema_json__schema__validator.cc) = 544f89041f66cd2900e3d0ea2fbfdd46f853d2ca
-SHA1 (patch-components_keyed__service_core_dependency__graph__unittest.cc) = 3aeb9f9eb98c8ed5ac924f90a2e675eb4efb94ac
-SHA1 (patch-components_metrics_BUILD.gn) = 5d98ca5df1258967b1425c329528aaa332702cf3
-SHA1 (patch-components_metrics_drive__metrics__provider__linux.cc) = 9fb04aed21d18386265ae6664544ef78ae7097f9
-SHA1 (patch-components_metrics_system__memory__stats__recorder__linux.cc) = 7a269ee3b7e9cb731073f6de3da0fc90fbd34482
-SHA1 (patch-components_neterror_resources_neterror.js) = 35c65f0271dc9295730e2dbde4cfc325da655c07
-SHA1 (patch-components_os__crypt_os__crypt.h) = 68bee8abbe2630ba34b4317ba38862e4d3c90a62
-SHA1 (patch-components_password__manager_core_browser_import_csv__reader.cc) = 044de4e5a2ca3e08ea9662c682374440f95d09ac
-SHA1 (patch-components_plugins_renderer_BUILD.gn) = 406c8e314d37a14c3b50ac8e9a7416286e439084
-SHA1 (patch-components_plugins_renderer_plugin__placeholder.cc) = 30942250f0bbeb7b2669afadb1f95c1127c20e9f
-SHA1 (patch-components_policy_BUILD.gn) = ec72a0cfc893f73637d216d86111f10479153e4a
-SHA1 (patch-components_policy_core_common_schema.cc) = aeaeab909505dd3084820a8f185590b84481ff8f
-SHA1 (patch-components_policy_resources_policy__templates.json) = ebbf84151c13514a20f39b159514fcf1a7a6ad78
-SHA1 (patch-components_policy_tools_generate__policy__source.py) = 5d883b6a1cff305ac9e8ac4c16da2cc128849dc3
-SHA1 (patch-components_storage__monitor_BUILD.gn) = 60b12ed624bd4454e7a55b37f6c8825bc68888f7
-SHA1 (patch-components_storage__monitor_storage__monitor.cc) = eda6e88c3d16494266eba823f2d57c9e8da90b5c
-SHA1 (patch-components_storage__monitor_storage__monitor__freebsd.cc) = 61dd6564e5a0257f23fa9ca94c41b5518df5743e
-SHA1 (patch-components_storage__monitor_storage__monitor__freebsd.h) = cdc6cda2fef6dec5fc245bc0b6998974a5c4579c
+SHA1 (patch-chrome_browser_chrome__browser__main.cc) = 8339e9a23fc5ad838a1026e2b7782ed3a4c38cd0
+SHA1 (patch-chrome_browser_chrome__browser__main__linux.cc) = 5d5c6e0ff8c085a0f104b54950db6e305c3daae5
+SHA1 (patch-chrome_browser_chrome__browser__main__posix.cc) = 34d77c519c75ca27ae54a346a4d5ccbc251f320e
+SHA1 (patch-chrome_browser_chrome__content__browser__client.cc) = 050aac3666c7893ba3c0fe635793caea4563145d
+SHA1 (patch-chrome_browser_chrome__content__browser__client.h) = 79e8340b8001e8d0377fa9657582ab8e4abf144e
+SHA1 (patch-chrome_browser_defaults.cc) = 2e72fa88deac85509144dd1e7f071eb07d5c46ee
+SHA1 (patch-chrome_browser_diagnostics_diagnostics__writer.cc) = 98af97d2c9c3dfd1dc042175e83159d8ad075550
+SHA1 (patch-chrome_browser_diagnostics_diagnostics__writer.h) = 8015a6b250fb754d1c2b77c7c769d31e773bf499
+SHA1 (patch-chrome_browser_download_chrome__download__manager__delegate.cc) = b7caae84f3c31e16c7ee87cad668bf50c828962d
+SHA1 (patch-chrome_browser_download_download__commands.cc) = a6090d16a689e71f7052fbcfe3acd5c94a8ce8fc
+SHA1 (patch-chrome_browser_download_download__commands.h) = 3d9c10c5918207500b650bf9496a548eadcec175
+SHA1 (patch-chrome_browser_download_download__prefs.cc) = 0038d04198dc493f165756d981e55dd07299949a
+SHA1 (patch-chrome_browser_download_download__prefs.h) = 157dd4d34dbcabb62c46a4a5488dc8545f901680
+SHA1 (patch-chrome_browser_download_download__query.cc) = 95b6f39cd5e157c00bb1e1991cbd885f9cbe8cb3
+SHA1 (patch-chrome_browser_download_download__shelf__context__menu.cc) = efe1dbde0e4a4371e920c3a5f8f7825ac94804cf
+SHA1 (patch-chrome_browser_extensions_BUILD.gn) = 8dd2413364b90dce048de381ad5f5160b42a6cb9
+SHA1 (patch-chrome_browser_extensions_activity__log_activity__log.cc) = ef50853e6823a10f6fa5789d42d00dddda7fe16f
+SHA1 (patch-chrome_browser_extensions_api_image__writer__private_image__writer__private__api.cc) = 4f3e04b4c407a8af8ed136507384100b3acd2da6
+SHA1 (patch-chrome_browser_extensions_api_input__ime_input__ime__api.h) = 114d2c6b9a6285ea8993d7ee65160fc3b65e8bdd
+SHA1 (patch-chrome_browser_extensions_api_messaging_message__service.cc) = 3d7c829d9c53e3ff50ea5a43962c5bc0b139ef75
+SHA1 (patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc) = 3c4f3bf57adb21a6c49a94e8a464fd0168fbf6ab
+SHA1 (patch-chrome_browser_extensions_api_omnibox_omnibox__api.cc) = 038e251f01e1f1fc0ed51b4ba8048922388f6c33
+SHA1 (patch-chrome_browser_extensions_bookmark__app__helper.cc) = b181086905a69b7fbde4e3d1d81ec894c737030c
+SHA1 (patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc) = 2a7f0f4e7b3bd6e26f0997d0d0f8a47a8066c80b
+SHA1 (patch-chrome_browser_extensions_external__provider__impl.cc) = f9821c7000bd24eb68bc13693c2313fa6fd08e03
+SHA1 (patch-chrome_browser_gpu_gl__string__manager.cc) = 7c103a3228cb7592af6c0cd2d5a5deaf31497c4b
+SHA1 (patch-chrome_browser_gpu_gpu__feature__checker.cc) = 065079005d4385525ece3059750d52d62f72fe74
+SHA1 (patch-chrome_browser_interstitials_chrome__controller__client.cc) = e035e6cce4b858f0389a52857905e3fa93ca4dd9
+SHA1 (patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc) = 8af06656ac60a4e7276aa003ae34c599a06b2559
+SHA1 (patch-chrome_browser_media__galleries_media__file__system__registry.cc) = 73a8a83f0606ce8d72e5d5257e632e22f7e5b0bc
+SHA1 (patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc) = cf5abc7ab023af031e4907a988b60d3599cd57c7
+SHA1 (patch-chrome_browser_memory__details.cc) = 53c7aaf8f168fdaca7809c5a2dabdf8429c80538
+SHA1 (patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc) = 1958dbf3e6a86446634a28c64fb3050c299e3c09
+SHA1 (patch-chrome_browser_net_async__dns__field__trial.cc) = 76d325d9e7dc62915b9b0163cf569840f44a2291
+SHA1 (patch-chrome_browser_notifications_message__center__notification__manager.cc) = ef2bd49bc9a369ea7656301bdc0e25b0de5b8b4a
+SHA1 (patch-chrome_browser_password__manager_chrome__password__manager__client.cc) = dc1e714c8c7d84c6e7943b032987815d8ac0c57f
+SHA1 (patch-chrome_browser_platform__util.h) = 02961d907d6dc9ff2b7de32ecf4a816d30306acd
+SHA1 (patch-chrome_browser_plugins_plugins__resource__service.cc) = a598526f4f3409cddf25b70c92d580b6690f07e7
+SHA1 (patch-chrome_browser_policy_policy__prefs__browsertest.cc) = 0f8e7eb949a841a5c0351a3d11531e0c47b3082e
+SHA1 (patch-chrome_browser_process__singleton__posix.cc) = 44a6848e9ac1a8fbafcbe781ad5dc382933fd37d
+SHA1 (patch-chrome_browser_profiles_profile__impl__io__data.cc) = 543fda0451574ebec094a52bb9d0c7511be71f78
+SHA1 (patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc) = e44138efd5ca8226bcdcc9948dfc430a0b7b133d
+SHA1 (patch-chrome_browser_renderer__preferences__util.cc) = cdc68c0bc56e8a3ec233beda627db8cb610193eb
+SHA1 (patch-chrome_browser_resources_safe__browsing_BUILD.gn) = 021d7277b75289c10e21d9c38b7889cfbd92fcde
+SHA1 (patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py) = 3cbc7d3fd66beb36a8cd15c3aaa5ef1df8b38cae
+SHA1 (patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc) = 56e41a0159bef13be9b8419b21a49013d3ef10a0
+SHA1 (patch-chrome_browser_safe__browsing_permission__reporter.cc) = f2ea8baba1f9cbb83e36aad209c03fb3fa10f0dc
+SHA1 (patch-chrome_browser_search_local__files__ntp__source.cc) = a04837a51941731d1967c318b2c05cfa24b83ff5
+SHA1 (patch-chrome_browser_speech_tts__controller__impl.cc) = 3a55fc9ca8d5da84894543477bf7a3fa456b33c5
+SHA1 (patch-chrome_browser_sync_chrome__sync__client.cc) = 5b8798b3179d20b9f5e2029d34356ca8d9418d52
+SHA1 (patch-chrome_browser_tracing_crash__service__uploader.cc) = 45ba210a84e11435d6fa31911dffa878093c5791
+SHA1 (patch-chrome_browser_ui_BUILD.gn) = c2dbe5d13ea4623941516e8d4a3e4403e5935e5f
+SHA1 (patch-chrome_browser_ui_browser__command__controller.cc) = d7d14479ce929c87f07679984457ef65c7226abc
+SHA1 (patch-chrome_browser_ui_browser__view__prefs.cc) = f618b9e9693f8430bebd64f5052dbc04893ddbe2
+SHA1 (patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc) = d01c2578f5411d1b418749af64e830d375396de0
+SHA1 (patch-chrome_browser_ui_input__method_input__method__engine__base.cc) = ac8af05e91fd4b33a674919256c702762c370d89
+SHA1 (patch-chrome_browser_ui_libgtkui_BUILD.gn) = eedad9ee346ea44c753d0206dc6587765b200c34
+SHA1 (patch-chrome_browser_ui_libgtkui_print__dialog__gtk.cc) = a8707e2d092c935789247560d0cf16c2aa6c9f73
+SHA1 (patch-chrome_browser_ui_startup_bad__flags__prompt.cc) = f9770251e55413dda294a664609f8e186b774a86
+SHA1 (patch-chrome_browser_ui_startup_startup__browser__creator.cc) = 965cdbb563e64fee00085a6aa98fa20f602bd3a0
+SHA1 (patch-chrome_browser_ui_toolbar_app__menu__model.cc) = 48a8ee0711c57816e21ab113b1c11e32611ae322
+SHA1 (patch-chrome_browser_ui_views_accelerator__table.cc) = 819da9d3708d047f3e513201e3346bfd565f085c
+SHA1 (patch-chrome_browser_ui_views_app__list_linux_app__list__linux.cc) = 7859cf07fc98d53d5b0142e5c6e8ef53bf53f7d2
+SHA1 (patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc) = c6c07d270e74c1a6d414957cace59ec3f9ab4dba
+SHA1 (patch-chrome_browser_ui_views_chrome__views__delegate.cc) = fef0851b52dbea59e40a61376d6e87c71128c1e7
+SHA1 (patch-chrome_browser_ui_views_chrome__views__delegate.h) = d7310defa00496896aa955f39e913af2f28232af
+SHA1 (patch-chrome_browser_ui_views_first__run__dialog.cc) = 78a209320e84fa425599d17379eea14f87c3cb40
+SHA1 (patch-chrome_browser_ui_views_frame_browser__frame.cc) = e5fea87674a86f2b1796dec132f441b844677e96
+SHA1 (patch-chrome_browser_ui_views_frame_browser__view.cc) = 4a4fc1d6f17038a47301fe4c35bd9b60d149807c
+SHA1 (patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc) = 6f489c9c61b7a30b4fde02d507becf0e08a43c53
+SHA1 (patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout.cc) = 589b83adde98f7cffe95d6e95ead97bf95a07e26
+SHA1 (patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc) = 62b38d89d596792e6ff421ec380c2b3d0215be89
+SHA1 (patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc) = 442b0ee850ac14c63ccad7295401fc7805934c3b
+SHA1 (patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc) = c8600c8db1aec759d65fc9a461c54ef5e7c72f46
+SHA1 (patch-chrome_browser_ui_views_message__center_message__center__frame__view.cc) = e3555377623180fe8df59e1689f97fdce952edd1
+SHA1 (patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc) = 4a79877c4be2aebe2e07943f45b844b786fef7a8
+SHA1 (patch-chrome_browser_ui_views_tabs_tab__strip.cc) = e2ea9c649d517cbc2888f17f790093ffede41ea6
+SHA1 (patch-chrome_browser_ui_webui_about__ui.cc) = ce1a516bc0b6881145e6498e44559cc4ee29bdb0
+SHA1 (patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc) = e8bc888b2eadc969275ec9ff6ecac2480140346a
+SHA1 (patch-chrome_browser_ui_webui_extensions_extension__loader__handler.cc) = 8143a8a455277f057062a14541c0fc308ba3a35d
+SHA1 (patch-chrome_browser_ui_webui_options_browser__options__handler.cc) = c5764424d21a3022f33c1a3e87de8a86fbb3f67e
+SHA1 (patch-chrome_browser_ui_webui_options_browser__options__handler.h) = 62ffd0d9310a086d2c6db116e0055662c73068e0
+SHA1 (patch-chrome_browser_web__applications_web__app.cc) = c2a5af55ff27df7ba5d701d16c4bb8b94320b23e
+SHA1 (patch-chrome_browser_web__applications_web__app.h) = d362a9860a4f590139c95ed18beca53209b309dc
+SHA1 (patch-chrome_common_BUILD.gn) = 6d49f47c8220bc2d1ec8b4c1b4713579bfcf8dc2
+SHA1 (patch-chrome_common_chrome__paths.cc) = 24b9d60d7c9d74f0ffbbf632b7e29214a02c7e87
+SHA1 (patch-chrome_common_chrome__paths.h) = 313aecbf902f290511d8b4b5cd60e6131d60ddbf
+SHA1 (patch-chrome_common_chrome__paths__internal.h) = c594933e121aef567704ff8b320e74d5607180cb
+SHA1 (patch-chrome_common_chrome__switches.cc) = 7db509b709f09a297f6ae38102b2be92aa8136e8
+SHA1 (patch-chrome_common_chrome__switches.h) = 4571795580c3f5b728e507ba438d11b3ac76cab7
+SHA1 (patch-chrome_common_extensions_chrome__extensions__client.cc) = f83638a591859ab3553d03056ae55c684205c13f
+SHA1 (patch-chrome_common_extensions_command.cc) = b3e885e06a733c5a6b983725bde9ad6a5b10034c
+SHA1 (patch-chrome_common_features.gni) = a9129b9da584eef5212dde89ba3e5ad5b1cc5883
+SHA1 (patch-chrome_common_pref__names.cc) = 67ca61bc30e064beaaf529143e1956d2862afbae
+SHA1 (patch-chrome_common_pref__names.h) = 7efbd95d4d27a3deaca66118d22265a50d83f064
+SHA1 (patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc) = 2dd7048006e7b92a3ff5ef90e0bdfe6ebec712e5
+SHA1 (patch-chrome_renderer_pepper_pepper__flash__font__file__host.h) = 02485704079526c439c6b50b49cbeec5ff9d8934
+SHA1 (patch-chrome_test_BUILD.gn) = d418acd6a1148942f8dff3b819fb1d93d7a31026
+SHA1 (patch-chrome_test_base_in__process__browser__test.cc) = 19e68dbb99cdcc97d7cc1008cb7b7ed6644a3b77
+SHA1 (patch-chrome_test_base_testing__browser__process.h) = 298b75baaea7b62a41e6df1ef59beda2e1c07afa
+SHA1 (patch-chrome_test_chromedriver_chrome_chrome__finder.cc) = 172d429f3f7f1cd3235849ada09cd96241914769
+SHA1 (patch-chromecast_BUILD.gn) = 79d9f7fdc95095f5dc8ed374bb81f9003094ff84
+SHA1 (patch-chromecast_browser_BUILD.gn) = d97d74bf663c154bc0627017922f5958d2579b71
+SHA1 (patch-chromecast_browser_metrics_BUILD.gn) = 2c85d6da0dccc443f46a4adb7af6101029aa5fc1
+SHA1 (patch-chromecast_crash_BUILD.gn) = 7a0cd494b0fb342734454bccf322bc808eddeae5
+SHA1 (patch-components_BUILD.gn) = 00a0c4a5b98dc071f82724955c553b4266859f83
+SHA1 (patch-components_autofill_content_renderer_password__form__conversion__utils.cc) = 70b5313c7b25ec8462b207c1ada10d92f0fa535e
+SHA1 (patch-components_content__settings_core_browser_website__settings__registry.cc) = dec58b392c59da35f5331f3f54f942d388670154
+SHA1 (patch-components_content__settings_core_browser_website__settings__registry.h) = fab24d4f0f6cf957dc08fc4e48af2071188d6082
+SHA1 (patch-components_cookie__config_cookie__store__util.cc) = d73103abf8961044fedbe9bb5112f284653e9242
+SHA1 (patch-components_crash_content_app_BUILD.gn) = d8a45e9fe48f59e495751094ed58a5999a12ca8a
+SHA1 (patch-components_crash_content_browser_BUILD.gn) = ef7fd3ac6e2a84f46af8b254a107c68145513e4a
+SHA1 (patch-components_drive_drive__api__util.cc) = 230f11239d7bcb97b5611471928048f5aca24779
+SHA1 (patch-components_feedback_anonymizer__tool.cc) = 6250a9a5ecbec5b2605aa17544d8188f075b1013
+SHA1 (patch-components_flags__ui_flags__state.cc) = b44a39227aed271e30818cf18c011ed1d70b3ecf
+SHA1 (patch-components_gcm__driver_gcm__client.h) = 139bc9ff8098f0300aa979924dfc2c14c72aa6d3
+SHA1 (patch-components_gcm__driver_gcm__client__impl.cc) = 82462f82152e5f9f336046e0e1a3e5f79573827b
+SHA1 (patch-components_json__schema_json__schema__validator.cc) = 7a4841ec66ce0f418898bbc93862ddeedc3bda5b
+SHA1 (patch-components_keyed__service_core_dependency__graph__unittest.cc) = 6d470f79f381f91eedc96fe2863d89d9043620df
+SHA1 (patch-components_metrics_BUILD.gn) = 07e315597bab3823d479d066801fd0a4d6b2efe1
+SHA1 (patch-components_metrics_drive__metrics__provider__linux.cc) = cb3159f933daeebca8e44f950c2bdf02bd2bd6c2
+SHA1 (patch-components_metrics_system__memory__stats__recorder__linux.cc) = 57c6fb34359ffd26290fc2ed617504f175336654
+SHA1 (patch-components_neterror_resources_neterror.js) = 0bdd9d42e0d8c39db8be1189f81576e841018bd8
+SHA1 (patch-components_os__crypt_os__crypt.h) = 869ab4055b52e4368325de11ba68415f1e6d8a66
+SHA1 (patch-components_password__manager_core_browser_import_csv__reader.cc) = 24a50fe54bd53ad92e67f25bda1ead0f5accfc08
+SHA1 (patch-components_plugins_renderer_BUILD.gn) = 336c33401570155cdb81c5f2a5beb2974540d1ad
+SHA1 (patch-components_plugins_renderer_plugin__placeholder.cc) = f238b6fe143364e005883655d107ede068c61737
+SHA1 (patch-components_policy_BUILD.gn) = 2cb937986acc3556611a72e0216828e93d871694
+SHA1 (patch-components_policy_core_common_schema.cc) = 48392fb5005843a23353d178769372031faa8655
+SHA1 (patch-components_policy_resources_policy__templates.json) = 422c5d2fafddf21bde7e1f8d7e2768d3753dc775
+SHA1 (patch-components_policy_tools_generate__policy__source.py) = 37f6235ed99ae1ee87b7874773e4b575ed09bd7b
+SHA1 (patch-components_storage__monitor_BUILD.gn) = cbd07b6cb950b5af8eb0e3ddf6ea2ee9b39342a5
+SHA1 (patch-components_storage__monitor_storage__monitor.cc) = b7261eb26826a96fcd025894eb3d81259ebb32fb
+SHA1 (patch-components_storage__monitor_storage__monitor__freebsd.cc) = deeab8c51dc1bd368187ff6e4f9f6460aecead48
+SHA1 (patch-components_storage__monitor_storage__monitor__freebsd.h) = 87a16600e113b8bb9f72c6f0961058639e6ff608
 SHA1 (patch-components_storage__monitor_storage__monitor__netbsd.cc) = 944b7b24b3ecfccf7dba2d6bacab354539283ba4
-SHA1 (patch-components_storage__monitor_storage__monitor__netbsd.h) = ed3b4ba24235ab4d685fdc821fad43272ff6f2ec
-SHA1 (patch-components_sync_base_get__session__name__linux.cc) = 77e7f18d3b2e5d1862e48be9f467c6209727ff0e
-SHA1 (patch-components_update__client_update__query__params.cc) = b00a5e4a606f05240cc6d1fc244474442778e646
-SHA1 (patch-components_url__matcher_regex__set__matcher.cc) = a2347e5d66a449b83e1fbf4e93d369dec3b641d1
-SHA1 (patch-components_url__matcher_url__matcher__factory.cc) = 69c80d8dfc9c0e31fe678b8b4429bd0baa9c1eea
-SHA1 (patch-components_variations_proto_study.proto) = 6608af1c7ac32a0e367d8c31fde98b2fb495284c
-SHA1 (patch-components_webcrypto_algorithms_test__helpers.cc) = 2903a2ba7dc6e7795792604a9713f3fbd09d49f7
-SHA1 (patch-content_app_BUILD.gn) = b77653f4abb946de49e28b0b3c70a23f0e23e08f
-SHA1 (patch-content_app_content__main__runner.cc) = 29e5b5ae41d382d60aa0fd2fcb221fb3a920edda
-SHA1 (patch-content_browser_BUILD.gn) = a63f8fb218b39f5425ae0f016bfc8f5acd20c6a3
-SHA1 (patch-content_browser_accessibility_browser__accessibility.h) = 32f86444bbc06c8d2e79817cdecae1a1a339f473
-SHA1 (patch-content_browser_accessibility_browser__accessibility__manager.h) = 8c7fd175cde48bdc076c483226a69a499b4bf24e
-SHA1 (patch-content_browser_browser__main__loop.cc) = 90700b20d8a25853322913646ce06ba12d721242
-SHA1 (patch-content_browser_child__process__launcher.cc) = 558b16b5a79b351053b220393b6541b78c5dcfff
-SHA1 (patch-content_browser_device__sensors_data__fetcher__shared__memory.h) = d7b7b4a2352a7b4bb7c393dd3829ed739c7df3c4
-SHA1 (patch-content_browser_devtools_protocol_color__picker.cc) = 7925e3d4bd56b1aa5fddc0b9cb132bd6a09d2091
-SHA1 (patch-content_browser_download_base__file.cc) = 6c8a58b62e69483577481a0bb058a3c1ef4d21b2
-SHA1 (patch-content_browser_download_base__file__linux.cc) = c5f2fd63892de3d3513f260cfe7a96f02266ecbf
-SHA1 (patch-content_browser_gpu_gpu__data__manager__impl__private.cc) = ac2cc79ca896aec80eefd74bf6459ee0a531d12e
-SHA1 (patch-content_browser_gpu_gpu__data__manager__impl__private.h) = 8e233251955d1c517ec298d71c00f58ac5777ea1
-SHA1 (patch-content_browser_gpu_gpu__internals__ui.cc) = 85a3336f5d33d87b43de31e816f8a104e48305f6
-SHA1 (patch-content_browser_gpu_gpu__process__host.cc) = ae1a8b409054402b670987161a0b9e1c4dcff642
-SHA1 (patch-content_browser_indexed__db_indexed__db__backing__store.cc) = e28cea074617d4e63071bb02af53abee5f633c44
-SHA1 (patch-content_browser_media_media__internals.cc) = 4c091c6d1965f322ef86d7cdef24120e77093aa0
-SHA1 (patch-content_browser_ppapi__plugin__process__host.cc) = 727c20e0064395041a74da9e883eabbc96dfa798
-SHA1 (patch-content_browser_renderer__host_media_video__capture__device__client.cc) = ef735eaf6eca42fab5e185e3d155affa0b11db12
-SHA1 (patch-content_browser_renderer__host_render__process__host__impl.cc) = e1a9b7e4ba75f5e2952ce5ad3fad192b3e7805db
-SHA1 (patch-content_browser_renderer__host_render__widget__host__view__aura.cc) = f1d2d9d2e64d951c51be376354b8fb28637a3662
-SHA1 (patch-content_browser_time__zone__monitor.cc) = 020c417827f62a0088fd3dea8164cb723916a77e
-SHA1 (patch-content_browser_time__zone__monitor__linux.cc) = 24d3839da945880f58ce07aa368d55c60bf56738
-SHA1 (patch-content_browser_tracing_tracing__controller__impl.cc) = ceac1913ffe68d814d6f384d647f8aff7943f42b
-SHA1 (patch-content_browser_utility__process__host__impl.cc) = 764c4325a997de613d7e7d88b513d8448c80fb57
-SHA1 (patch-content_common_BUILD.gn) = b2779e83801ffc3a2992db4b93e10e9484884d0b
-SHA1 (patch-content_common_sandbox__linux_sandbox__debug__handling__linux.cc) = 0ecb33530a297914c0e42e1d6c26aa34a0b46770
-SHA1 (patch-content_common_set__process__title__linux.cc) = fb10e587c2d356273227f5cb3f397f617bb2775e
-SHA1 (patch-content_common_set__process__title__linux.h) = e8661860efaaab4fd328fcc43a2af0c0d2202aaf
-SHA1 (patch-content_gpu_BUILD.gn) = 2a3e9626a1648eac35d582c8e701f32a6d051fe5
-SHA1 (patch-content_gpu_gpu__child__thread.cc) = b7b72e97d424ed47c5f273a36eaa183ec224353c
-SHA1 (patch-content_gpu_gpu__main.cc) = cff3d3934a3d666995b6765865412f67a3211a56
-SHA1 (patch-content_public_common_child__process__host.h) = 774794bef1612d2bdbddf6ada6ff60d01affdb3e
-SHA1 (patch-content_public_common_content__switches.cc) = e4ada75503b1488cf5e1676301f86f07721c306a
-SHA1 (patch-content_public_common_content__switches.h) = f5356f99e84b21d64f458e8b6bdf3a003081a5fc
-SHA1 (patch-content_public_test_browser__test__base.cc) = 0a2478aad2b0243f0bd73d6591ba2bbeaf4042ba
-SHA1 (patch-content_renderer_devtools_v8__sampling__profiler.cc) = adafbc2e87e91729a0d9ba1c7ab9e9d23e349426
-SHA1 (patch-content_renderer_media_webrtc_processed__local__audio__source.cc) = ab93a8aa27c6b1635c87ae3c4d04e51d871f3012
-SHA1 (patch-content_renderer_render__thread__impl.cc) = 9003854e1a984551c53f7d828023384dc5269a82
-SHA1 (patch-content_renderer_renderer__blink__platform__impl.cc) = ab5d5fd52c504cbbe289736cb949a048a9c6ac4a
-SHA1 (patch-content_renderer_renderer__blink__platform__impl.h) = fc0d314d424ad99b1a869c42951239a7b82d52e7
-SHA1 (patch-content_renderer_renderer__main__platform__delegate__linux.cc) = fd087a84184309497492fc7ae571bddcf7eaeccd
-SHA1 (patch-content_renderer_webscrollbarbehavior__impl__gtkoraura.cc) = 36e9a8bca732f89be7a62558482555777d7ad21d
-SHA1 (patch-content_shell_BUILD.gn) = fe821518f66606630927de3bb80370f240b52b3e
-SHA1 (patch-content_shell_browser_shell__browser__context.cc) = bd47f26f559408247b0adba71eab2b2b4d6a6927
-SHA1 (patch-content_shell_browser_shell__browser__main__parts.cc) = 6a5aabbedab2f324ac2bdbbd7a8a21ccbc26ce7d
-SHA1 (patch-content_test_BUILD.gn) = db8abebcbe671e01396d035febcab2d00fbbc772
-SHA1 (patch-crypto_nss__util.cc) = adbf185884951d5205f6272b94162c143274524d
-SHA1 (patch-device_BUILD.gn) = 488435bd70a43abe297bf0b66d3f27dfd0b20e4e
-SHA1 (patch-device_battery_BUILD.gn) = 6dc69bacc07a0caa502663ac8bccba96697fb804
-SHA1 (patch-device_geolocation_BUILD.gn) = bcb53e20d9703af502064a1e665d75ae9a0187eb
-SHA1 (patch-device_geolocation_location__arbitrator__impl.cc) = 0df7d7090fd07f250da6501fbba1f2c152e1fb68
-SHA1 (patch-device_hid_BUILD.gn) = ab5cab8d650bb9d79643d28f4272694f0f35ac99
-SHA1 (patch-device_media__transfer__protocol_media__transfer__protocol__manager.h) = 9cda2b3faad67c39e02bd0060747017589fb8dc6
-SHA1 (patch-device_serial_BUILD.gn) = a4ca0aad8f313a9b1239d685f50471bd7e9bcbad
-SHA1 (patch-device_serial_serial__io__handler__posix.cc) = 1ab98d90a1bc6060e5648f674d21bc8d544518da
-SHA1 (patch-device_serial_serial__service__impl.cc) = 21273b143fa179cc40eba4e1dce17a1d32378bf2
-SHA1 (patch-device_usb_usb__context.cc) = c2209ea41ec109e8c99484cb430929ed05582fe8
-SHA1 (patch-device_usb_usb__context__unittest.cc) = 3cbdf6d544b9211f83be4f8ff0039a31a8674a99
-SHA1 (patch-device_usb_usb__device__handle__impl.cc) = 15ccf64f3a869260b6ba0bf91e9af3a1a8210afb
-SHA1 (patch-device_usb_usb__device__handle__impl.h) = b62de023d484222424364e3c3493bdabdf7e5de4
-SHA1 (patch-device_usb_usb__device__impl.cc) = f2f0a81e8b194da9d219ab82c31a429dcfb677e1
-SHA1 (patch-device_usb_usb__error.cc) = 019be8d5469eb59e3851fba09d70719740ecd290
-SHA1 (patch-device_usb_usb__service__impl.cc) = 3e355aa312e0f87f5d131cc7a6bf7298ea7a7725
-SHA1 (patch-device_usb_usb__service__impl.h) = 73615905629b962cf86d3d6472d0c0bb3a077ed9
-SHA1 (patch-extensions_browser_BUILD.gn) = 0c9828ae5a0530b0b5392ab2c6232c93e317cafc
-SHA1 (patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc) = 0e13ac404c39cff7c0d3fab913c38a127ffaf273
-SHA1 (patch-extensions_browser_api_serial_serial__api.cc) = edd3527e46683fb7b2e0ddcb0603d24a57dbbb6a
-SHA1 (patch-extensions_browser_api_web__request_form__data__parser.cc) = 0599c63f9a7c763601ccbe2877e0d5d0dfad275b
-SHA1 (patch-extensions_common_image__util.cc) = 4c08db5edebf71bc96f3f1b36116ea39706de594
-SHA1 (patch-extensions_common_stack__frame.cc) = 06cf5b8577b2445b4762ef60ff7e44d6600710a1
-SHA1 (patch-gpu_BUILD.gn) = 8fdb91d64e547a8a788a3e650b151e35641822ff
-SHA1 (patch-gpu_command__buffer_service_program__manager.cc) = 5e654db0d45c2c27dd7baa47fa1152ee991ec26c
-SHA1 (patch-gpu_config_BUILD.gn) = 67bbe51e7ba5959b5918e8c289aaac05be110de6
-SHA1 (patch-gpu_config_gpu__control__list.cc) = 116ffefa65115312f48c46207ee7e8db7752de6a
-SHA1 (patch-gpu_config_gpu__control__list__unittest.cc) = 334d4fa8cb8858bb35779ae9d632dc78e5832798
-SHA1 (patch-gpu_config_gpu__info__collector.cc) = 2394d875982406c24e438500612c5b2a6c15ecfa
-SHA1 (patch-gpu_config_gpu__test__config.cc) = da8e53ad9a9f516dca9da0c20300547e2c72e8ca
-SHA1 (patch-gpu_gles2__conform__support_BUILD.gn) = 4b3348ceb13f3065173a313e52dbf11cb1580c3e
-SHA1 (patch-gpu_gles2__conform__support_native_BUILD.gn) = 994414e9ad7045e428f5d53d9cdb1a47328666eb
-SHA1 (patch-gpu_ipc_client_BUILD.gn) = 180c553e661fd21eb9ecc9bc5c2c6d2ae687598e
-SHA1 (patch-gpu_ipc_service_BUILD.gn) = ed7de63004c5aa5864491d5c79a6eeb49cf393b2
-SHA1 (patch-gpu_tools_compositor__model__bench_BUILD.gn) = 4380eb8823c2bb8fca2aa9b54915f5f1022859f9
-SHA1 (patch-gpu_vulkan_BUILD.gn) = ab291017e8352a1a1d3462c53581d02480291316
-SHA1 (patch-ipc_ipc__channel.h) = be7bf9ae662d8473aba13ae7e1b8497015cd7a50
-SHA1 (patch-ipc_ipc__channel__posix.cc) = 76a62565bf3c6104b3187302917ee7f119fcb0ca
-SHA1 (patch-ipc_ipc__channel__posix.h) = 9f1092a94a2a9ad923f8e66258429d75c8fc8411
-SHA1 (patch-ipc_ipc__message__utils.cc) = 76c25dc8cfc5cc0c96fcc4e460cfb0d3ca29403d
-SHA1 (patch-ipc_ipc__message__utils.h) = 0db5a61279ed68c4f8001a018863fcd8e482da71
-SHA1 (patch-ipc_unix__domain__socket__util.cc) = 5257e5d77edfa57ed15297c896ff6cee974507e8
-SHA1 (patch-media_audio_BUILD.gn) = 3897bbc44c8ad356cff78a38b211529e3c77744d
-SHA1 (patch-media_audio_alsa_audio__manager__alsa.cc) = c53e0bcce886e051972b84764efa0131c2e1fc1c
-SHA1 (patch-media_audio_audio__manager.cc) = 5df7fce108250e38e1ec2a9a5064fad7483e6754
-SHA1 (patch-media_audio_audio__manager.h) = cb76dea2b20fd863299da127af5d3bba3bccd9f8
-SHA1 (patch-media_base_BUILD.gn) = 1bd3329b0346b5c9737efb2e5141aa58a4a9aa0a
-SHA1 (patch-media_base_audio__splicer.cc) = 7021a8956fb7ad0defeb8cf07471ec65d3a82ed9
-SHA1 (patch-media_capture_BUILD.gn) = 97f56ac410eacb95d4a00da6a15e2a735bd27b7d
-SHA1 (patch-media_capture_video_fake__video__capture__device__factory.cc) = 0c6a507219a35e5698e616d539c84683496935a8
-SHA1 (patch-media_capture_video_file__video__capture__device__factory.cc) = 4303cad9b4b6e4d31caa4fd63b541f739f23ad14
-SHA1 (patch-media_capture_video_linux_video__capture__device__linux.cc) = 5b7b31db02446657f3232037836d7be8d13f63dd
-SHA1 (patch-media_capture_video_video__capture__device__factory.cc) = e125d78f5f5a70c5a334d3b1574b3cd3525ce84c
-SHA1 (patch-media_cast_BUILD.gn) = 7cb062646b1ec26432ee65451c2cb932aa156724
-SHA1 (patch-media_cdm_ppapi_ppapi__cdm__adapter.gni) = faf05ae775e316d0144eb2d4446c224f3cb7c4d6
-SHA1 (patch-media_filters_decrypting__audio__decoder.cc) = ccb9faa4672a0594d25dba4e65ff8f3711bbea19
-SHA1 (patch-media_filters_vp9__parser.h) = 148abc0b29ce24e69c598addc53f2479eb96d7b7
-SHA1 (patch-media_formats_common_offset__byte__queue.cc) = f1d10958b03b9ffdff6ae3f7efe2c7e47775bd63
-SHA1 (patch-media_formats_common_offset__byte__queue.h) = 49786e415839aec437e075e481515470194c99fb
-SHA1 (patch-media_formats_mp2t_es__parser__adts.cc) = 1d5ca91a48b4f603ca49fc64f1bb0016b57019d0
-SHA1 (patch-media_formats_mp2t_es__parser__mpeg1audio.cc) = f25203f88d15fa5446c0ceee0857eaacd922c7ee
-SHA1 (patch-mojo_BUILD.gn) = c90ac6ba27be350bb7869719279610f98bd016d1
-SHA1 (patch-mojo_edk_test_BUILD.gn) = 2233643ba1e811b01a40d32f30ffa413d855d982
-SHA1 (patch-native__client__sdk_src_BUILD.gn) = 3a8b066cdcc7b8495560dc4085b2cd62954939a8
-SHA1 (patch-net_BUILD.gn) = 6ee5be65bbc7128f3de2665c0f9233b4657f6536
-SHA1 (patch-net_base_address__tracker__linux.cc) = 27c3b496ed8808797c2daae32ec9201379143e87
-SHA1 (patch-net_base_address__tracker__linux.h) = 0fe001e969012c98cfbea87cf7c6833721468316
-SHA1 (patch-net_base_address__tracker__linux__unittest.cc) = 6c13b788685cd05717154a325456243651374feb
-SHA1 (patch-net_base_mime__util__unittest.cc) = b96498a85afdeeea58af7d8eea712068736c11d7
-SHA1 (patch-net_base_network__change__notifier.cc) = 331f3164fa6d75ebd183f2e0c15fa0c267cadcaa
-SHA1 (patch-net_base_network__change__notifier.h) = 873369c92dca2f28250545c3adf3fa252bfda622
-SHA1 (patch-net_base_network__interfaces__linux.cc) = 7ac23822b05c5566f696d10345ff7ac535a88090
-SHA1 (patch-net_base_network__interfaces__posix.cc) = 79fe81b9793451444e5919279d9f63a2661acb93
-SHA1 (patch-net_dns_address__sorter__posix.cc) = 66f8ae0e8a7d246fa78a90b45e0f54c548c1a166
-SHA1 (patch-net_dns_dns__config__service__posix__unittest.cc) = 88822de03ddba0b5f88f1303237ec530f13c9b59
+SHA1 (patch-components_storage__monitor_storage__monitor__netbsd.h) = 97ca19c232db4ad7c101c8a93db9fe43c7e0e2b7
+SHA1 (patch-components_sync_base_get__session__name__linux.cc) = 4370a8bdcb86674079e7159dcb18a37d57eaa257
+SHA1 (patch-components_update__client_update__query__params.cc) = 681dbd9725ed133a176d6641c48f6d6da035b393
+SHA1 (patch-components_url__matcher_regex__set__matcher.cc) = 329ba2c60bf889ced828c7020ac2ff19c2d764d3
+SHA1 (patch-components_url__matcher_url__matcher__factory.cc) = 5694c8f4ccdf9892a34ec071bf3658aa2b2e5a51
+SHA1 (patch-components_variations_proto_study.proto) = e5a28deb1ffd89fae109487689d9b01ceb3c6eb5
+SHA1 (patch-components_webcrypto_algorithms_test__helpers.cc) = a8d7105dd6009c225f5f3f967ab5f032473c476e
+SHA1 (patch-content_app_BUILD.gn) = 46e17d36d0b197b60de540732802c01c6ceee5c6
+SHA1 (patch-content_app_content__main__runner.cc) = f036e7d51143f12ef72afbfce5bc490d5be0b2b9
+SHA1 (patch-content_browser_BUILD.gn) = da63237339853693332ad0bce86ca0d6d8d011dd
+SHA1 (patch-content_browser_accessibility_browser__accessibility.h) = 8c6025bd481cdf35f1f1092dcb69a1d2379c13b6
+SHA1 (patch-content_browser_accessibility_browser__accessibility__manager.h) = 437098b5cb500ae0a699dc4b225e0bc7ddd2c372
+SHA1 (patch-content_browser_browser__main__loop.cc) = 45d6a690e931897bbbfcebda8b1cede4883805e8
+SHA1 (patch-content_browser_child__process__launcher.cc) = d566caca1f3a9aa2158f42f767fa78d59392f2af
+SHA1 (patch-content_browser_device__sensors_data__fetcher__shared__memory.h) = 1a8722be4984b40f67ec77d113abbb7b811f553c
+SHA1 (patch-content_browser_devtools_protocol_color__picker.cc) = 4e072b93d55ea86551c447d76340b2da289dc768
+SHA1 (patch-content_browser_download_base__file.cc) = 0db5df05ffa32649e1a7bcff411be372c5b8b7a9
+SHA1 (patch-content_browser_gpu_gpu__data__manager__impl__private.cc) = 982aef11bbd264113c5ab921d680ff9d4284feb9
+SHA1 (patch-content_browser_gpu_gpu__data__manager__impl__private.h) = 85b0b23e5fa89667cbab645a98c19852a61de530
+SHA1 (patch-content_browser_gpu_gpu__internals__ui.cc) = a54f02ffcc526b00f2b4557f275d7cb274f42da2
+SHA1 (patch-content_browser_gpu_gpu__process__host.cc) = 3245bc1d9983dd086d4dac521874bc4cc9aa7c7b
+SHA1 (patch-content_browser_media_media__internals.cc) = 310e14611666e0b971ec3ff4eeb7a5eff9d79f39
+SHA1 (patch-content_browser_memory_memory__coordinator__impl.cc) = c3da87398cc5b3d492088f6d5af2e2cf56b17566
+SHA1 (patch-content_browser_memory_memory__monitor.cc) = 228b077d9f703e5614ebf0091c035d8ad3637bbd
+SHA1 (patch-content_browser_ppapi__plugin__process__host.cc) = 3b182b3fcdd9ab7e7128ca91c5ccd2ef04dc9f5d
+SHA1 (patch-content_browser_renderer__host_render__process__host__impl.cc) = ce2cfb9cf824d62b955b0e4b6bfbad761da19a80
+SHA1 (patch-content_browser_renderer__host_render__widget__host__view__aura.cc) = e252d59fc80c49bfdb916704c20f36f80c3ea654
+SHA1 (patch-content_browser_tracing_tracing__controller__impl.cc) = 734833d85396d4af405ad2f5029ac4b6127485f5
+SHA1 (patch-content_browser_utility__process__host__impl.cc) = 367321c2a190e1172e0f7631b78e38f9171d4a27
+SHA1 (patch-content_common_BUILD.gn) = 26dd181503a45142b322c01a56443c8268cdcf03
+SHA1 (patch-content_common_sandbox__linux_sandbox__debug__handling__linux.cc) = f7dadebec82f13e0928ba9090293ee8db6573fce
+SHA1 (patch-content_common_set__process__title__linux.cc) = ef1083ed9f7f00a68e51d4bc29431f83a2889dd2
+SHA1 (patch-content_common_set__process__title__linux.h) = ee6ac0cf6e0d2bbb1429c72a2974c856ae7a1929
+SHA1 (patch-content_gpu_BUILD.gn) = db740dd9cb33b7d679bfb313ba44e3a9cc05bcd2
+SHA1 (patch-content_gpu_gpu__child__thread.cc) = d22cf6945091ec01fa559a8fa32d80c577b9bfcc
+SHA1 (patch-content_gpu_gpu__main.cc) = 338036c7de84dfa7bf2c76ed9d677ca22925bbd9
+SHA1 (patch-content_gpu_in__process__gpu__thread.cc) = 83b35a41dfa51c580325dfa608364da2c35ac121
+SHA1 (patch-content_public_common_child__process__host.h) = 110be83ed9fea9ad2700b7e5789d7e6db64020b7
+SHA1 (patch-content_public_common_content__switches.cc) = 54d854eb1c019ca2eaaeb357f07cd77e983f4e0f
+SHA1 (patch-content_public_common_content__switches.h) = 12fb8bdde5ec4159ecbd973b9405303813f0eafc
+SHA1 (patch-content_public_common_renderer__preferences.h) = abfe3248aced229cad2612832725897008f187a5
+SHA1 (patch-content_public_test_browser__test__base.cc) = 7a10a81aab19423b14cde8853ba01c0128d5e0dd
+SHA1 (patch-content_renderer_media_webrtc_processed__local__audio__source.cc) = c79d59f40576170f18e9cff36a55d3c2e0ba368b
+SHA1 (patch-content_renderer_pepper_pepper__media__device__manager.cc) = 871f67bb6a6d6dc65a1525024b3d6335fa7f4261
+SHA1 (patch-content_renderer_render__thread__impl.cc) = 9a8f3e3f562adbbcb7e4307f5185b23734a1bc02
+SHA1 (patch-content_renderer_renderer__blink__platform__impl.cc) = 81d74af26792b4d99f3529646f7bca87c00d2571
+SHA1 (patch-content_renderer_renderer__blink__platform__impl.h) = 0ea2370c65cee518a0e021d34d692d065d3930e1
+SHA1 (patch-content_renderer_renderer__main__platform__delegate__linux.cc) = 2cf9aa7a8722716d96f08d9cbd1c6f06d662bd10
+SHA1 (patch-content_renderer_webscrollbarbehavior__impl__aura.cc) = 556de6307607c96bf362bbc84b78fddf7e42fc75
+SHA1 (patch-content_shell_BUILD.gn) = b98b7e59d141e423398c536feaceed3275ab725b
+SHA1 (patch-content_shell_browser_shell__browser__context.cc) = fb6683ca2bf93da4e44d5bed33bfb0ab6441011f
+SHA1 (patch-content_shell_browser_shell__browser__main__parts.cc) = 9f720d613467abc14a2be6039407bcf47000004b
+SHA1 (patch-content_test_BUILD.gn) = 0ec5d1c68442eacfbd110c413f51e822e77c8d58
+SHA1 (patch-crypto_nss__util.cc) = de53a4d9d05a2d30ef52c8008fed40074782be69
+SHA1 (patch-device_BUILD.gn) = 674c723c84fc0dcd1942d8418db425347626be28
+SHA1 (patch-device_battery_BUILD.gn) = 50d8602ad02060157f2ea3735922716482100312
+SHA1 (patch-device_bluetooth_BUILD.gn) = c989943d15f1d52e7ae6e039f89caa52e103c9b5
+SHA1 (patch-device_gamepad_gamepad__provider.cc) = d9836f91f3d1913da2e59cd9285c339f41b70782
+SHA1 (patch-device_geolocation_BUILD.gn) = db2022714e053ff292452b00d2b089fdd82d6e29
+SHA1 (patch-device_geolocation_location__arbitrator.cc) = 3340531161ae9227ff2d901cc6717aa1be11fd71
+SHA1 (patch-device_hid_BUILD.gn) = f648f53cb8b65f74e2e9119b476a23a4617f4cd5
+SHA1 (patch-device_media__transfer__protocol_media__transfer__protocol__daemon__client.h) = 03956ffc581b44b3c60ab614b037a6d9eec3525d
+SHA1 (patch-device_media__transfer__protocol_media__transfer__protocol__manager.h) = efdc5e5982e22cdd8025dd976d2e059ff3590688
+SHA1 (patch-device_serial_BUILD.gn) = cad00a3b27fd9e29939a0a4503b272f721eac287
+SHA1 (patch-device_serial_serial__io__handler__posix.cc) = 35a3afea930d3e03b94c4b4be60642dc60a1d949
+SHA1 (patch-device_time__zone__monitor_time__zone__monitor.cc) = 97988feea8ad325be97443550fd484440f67e24e
+SHA1 (patch-device_time__zone__monitor_time__zone__monitor__linux.cc) = b792dd93060cf3ee35bf72ac5ac54fc242c36a9b
+SHA1 (patch-device_usb_usb__context.cc) = 0bccabf89881221b24dd7c143d2cb44157f8efbb
+SHA1 (patch-device_usb_usb__context__unittest.cc) = 65cc905bb4d41a7905e1aea2ff5584b2d0f06c0d
+SHA1 (patch-device_usb_usb__device__handle__impl.cc) = 5f85432154ca3a242996c870cd484c18deef83ed
+SHA1 (patch-device_usb_usb__device__handle__impl.h) = 9d4d4890c79d377093ee9b5bf9c3eb9414fff147
+SHA1 (patch-device_usb_usb__device__impl.cc) = 6e0f96d876f4af35fae503c0b260b096989da9d7
+SHA1 (patch-device_usb_usb__error.cc) = 5380f13996ee7508333b5f928f5b2e695172b1f1
+SHA1 (patch-device_usb_usb__service__impl.cc) = eed62c4bbfb537220e18d92d26174a6d51fef6b4
+SHA1 (patch-device_usb_usb__service__impl.h) = 38def3a5b1d47f1fe279868a6b08e7529a7d8df0
+SHA1 (patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc) = b98cc93451581faf86b4a6da26ee86bdf1f59471
+SHA1 (patch-extensions_browser_api_networking__private_networking__private__event__router__factory.cc) = 50e6a1948205dc042fe0a77fc6b240b92a40c2a6
+SHA1 (patch-extensions_browser_api_serial_serial__api.cc) = e0882a3d9228edb6c8dfc5e94899d0556ba28393
+SHA1 (patch-extensions_browser_api_web__request_form__data__parser.cc) = 84777878d372ef57ad2d76c5d95defda82f88389
+SHA1 (patch-extensions_common_image__util.cc) = 6cd63b2aff2546bb63de26f365deae5cc1a0eb1d
+SHA1 (patch-extensions_common_stack__frame.cc) = 49f82d266232e781fc5c89d7cc04d6dfcc660411
+SHA1 (patch-gpu_BUILD.gn) = 0f5867a4a651312174e62783a345706a279647d8
+SHA1 (patch-gpu_command__buffer_service_program__manager.cc) = d99618837690477ed7622ee4a21472ecdbe5331b
+SHA1 (patch-gpu_config_BUILD.gn) = e1ae3c7fa6962dcfb83eb2bb867dcc17f1b9b160
+SHA1 (patch-gpu_config_gpu__control__list.cc) = 3a44d7d8a489a8f97ca25b1958e2e986a58e08d4
+SHA1 (patch-gpu_config_gpu__control__list__unittest.cc) = edad53d855b06e08d5ae705aa0313991079a9d2a
+SHA1 (patch-gpu_config_gpu__info__collector.cc) = 9177b10305f7e8a84401d05fa877a1a10e84b731
+SHA1 (patch-gpu_config_gpu__test__config.cc) = 042666cac4079e3b648397ed2160da2ba55b3bb5
+SHA1 (patch-gpu_gles2__conform__support_BUILD.gn) = 4bdb2b0e4060d8f6e47b054ed64140b550777868
+SHA1 (patch-gpu_gles2__conform__support_native_BUILD.gn) = aab7d756de35dcf659468f647eb78587def2a2f9
+SHA1 (patch-gpu_ipc_client_BUILD.gn) = 6c37a9507105ad979b9f499dbaf6fc461f75fb0a
+SHA1 (patch-gpu_ipc_service_BUILD.gn) = a974363cbd13020c2c7500142288d9f7d57c42c5
+SHA1 (patch-gpu_ipc_service_gpu__init.cc) = 9dc0c963517618cd2984d836f6d95d32ff956fd6
+SHA1 (patch-gpu_tools_compositor__model__bench_BUILD.gn) = ac36f9523e5d2f65ac57d6cea54a96a842923545
+SHA1 (patch-gpu_vulkan_BUILD.gn) = 4f748065943acce2cdd449c6878e5acc034a3672
+SHA1 (patch-ipc_ipc__channel.h) = 5cbed9774cf8d6c81581517777f854a07459a483
+SHA1 (patch-ipc_ipc__channel__common.cc) = 74c74400402f75b6309d4f3383db82a09154a406
+SHA1 (patch-ipc_ipc__message__utils.cc) = 0e04c6b9fc4bf42279ffc6823d2cde9afc4163cb
+SHA1 (patch-ipc_ipc__message__utils.h) = 93e490d5810cdcc849e0b838d3a1930f9a1da2c2
+SHA1 (patch-ipc_unix__domain__socket__util.cc) = a0966196252e790aa9ae0c2f405bbf0dcbc21805
+SHA1 (patch-media_audio_BUILD.gn) = 4905d0dcf85b70383a7d0a2b4926fc513a95e3fe
+SHA1 (patch-media_audio_alsa_audio__manager__alsa.cc) = c0134672183060dcf1b380d45c0f677ce2591942
+SHA1 (patch-media_audio_audio__manager.cc) = 03a71977d7b35eb8a7a5fa6c6a7e0766d21638e1
+SHA1 (patch-media_audio_audio__manager.h) = e3a981f47b8e0852d665cb6dd98a99165c3032fe
+SHA1 (patch-media_base_BUILD.gn) = 69e28bef774270d89cc3bb80b662d523abfc2f01
+SHA1 (patch-media_capture_BUILD.gn) = acd8aeec3c6ebfcb0044e0dd461e049f1ec8bd53
+SHA1 (patch-media_capture_video_fake__video__capture__device__factory.cc) = 96e2d4fcf6da24083955062c4d3988d7cda0be39
+SHA1 (patch-media_capture_video_file__video__capture__device__factory.cc) = c283bc903dcd10e6fc41c61b9555c6e4e0b18bd5
+SHA1 (patch-media_capture_video_linux_v4l2__capture__delegate.cc) = 8b57056e5506d372eced80e29980ecf621c94800
+SHA1 (patch-media_capture_video_linux_video__capture__device__linux.cc) = e3bbb90e96fad902732a611d0e885af566168ef4
+SHA1 (patch-media_capture_video_video__capture__device__client.cc) = 7c3bf9cfb8a7885d4f088717476fc72e40c1656c
+SHA1 (patch-media_capture_video_video__capture__device__factory.cc) = 79e1368c6db9e02dfbbc86df9d12d9bc85d42c6f
+SHA1 (patch-media_cast_BUILD.gn) = a14df4231ec783b330ca39fb5202cd22ef138f76
+SHA1 (patch-media_cdm_ppapi_ppapi__cdm__adapter.gni) = 5d6ce505692589ee435b424d0b245edbcca32c52
+SHA1 (patch-media_ffmpeg_ffmpeg__common.h) = 85815384a2d984fcafc6c1bc30ac2039a3a08788
+SHA1 (patch-media_filters_ffmpeg__demuxer.cc) = 6f68bdca76622fdf9b4e2f42fb20720681f3efa2
+SHA1 (patch-media_filters_vp9__parser.h) = 001fa5210619ce648b964bcd85e2271349cec801
+SHA1 (patch-media_formats_common_offset__byte__queue.cc) = 471a8bcc41ba987b7ce4e3b225e7b8cdbe24ce8c
+SHA1 (patch-media_formats_common_offset__byte__queue.h) = 107df0836552ed0e77aa90c179154c5649fa14d5
+SHA1 (patch-media_formats_mp2t_es__parser__adts.cc) = c81bf6dab0a63d23b1cde122dc83600c30d294fa
+SHA1 (patch-media_formats_mp2t_es__parser__mpeg1audio.cc) = dfb24fad09189d289be151687cf628d7ad24616a
+SHA1 (patch-mojo_BUILD.gn) = 2e99f7edd51c4e0efc6f41b7a9976d9814cbf012
+SHA1 (patch-mojo_edk_embedder_platform__channel__utils__posix.cc) = 36389262cf1eac651a905494ac1bdf38a01d9329
+SHA1 (patch-mojo_edk_test_BUILD.gn) = 0fc97c48f9f23f310dd418acd1a6aa2da2a59a63
+SHA1 (patch-native__client__sdk_src_BUILD.gn) = e8a37ddf451ba6fc6cb3db7633d1503f2e1cd1f6
+SHA1 (patch-net_BUILD.gn) = 17fc59175acf03069c45d19c6b387f506dcb0d1d
+SHA1 (patch-net_base_address__tracker__linux.h) = df9305d3b8141a14f16b26569ffc4de7a020a96b
+SHA1 (patch-net_base_address__tracker__linux__unittest.cc) = 7080984a9db5d15229a70d37b341ea41ba601e51
+SHA1 (patch-net_base_mime__util__unittest.cc) = e67d8cb72cc00ddaeebcefa74b8af97bc4870e8c
+SHA1 (patch-net_base_network__change__notifier.cc) = 391c7f37698576ae8dc48498b3b88b34f2458f67
+SHA1 (patch-net_base_network__change__notifier.h) = 6cd5d206ed6a3e7bfb5070353a22f634a23c9d35
+SHA1 (patch-net_base_network__interfaces__linux.cc) = 7332f3591990abedd4e5563613bc922d03954945
+SHA1 (patch-net_base_network__interfaces__posix.cc) = 6da9061248ddbe608ba8be547b4911043cfeb0e0
+SHA1 (patch-net_dns_address__sorter__posix.cc) = 679058dc7875f34c3f74daa1cda09fc8ea035487
+SHA1 (patch-net_dns_dns__config__service__posix__unittest.cc) = df29c135544e7cd301ee4197e04979c2bf6fe5e8
 SHA1 (patch-net_dns_dns__reloader.cc) = 2d75fe56bb2689ff48c87329fd024921956d2f0e
-SHA1 (patch-net_dns_dns__session.cc) = 76f2c8744b46aa25a389d2acb510b8732f7328de
-SHA1 (patch-net_http_http__auth__gssapi__posix.cc) = dffb74ac6fb803461da5578a75363ae1df8ff365
-SHA1 (patch-net_net.gyp) = dda216aba1dac1fb016fae3adba0ac1db9963738
-SHA1 (patch-net_proxy_proxy__config__service__linux.cc) = 62dc82a74f34f847b7c6f96ad2b4d193c17070d4
-SHA1 (patch-net_proxy_proxy__service.cc) = 046979f785c6b930f374a330bf3ee82976cc6d02
-SHA1 (patch-net_socket_socks5__client__socket.cc) = 197347a2d7f6108c0bc67ac07d41cfdec83f383d
-SHA1 (patch-net_udp_udp__socket__posix.cc) = 92eb1df07b3b444393b1e04b2eba8f5551ae7905
-SHA1 (patch-net_udp_udp__socket__unittest.cc) = faa9d7783ab3a507e1a2d9d4f7ad5ccd2cad8ec1
-SHA1 (patch-pdf_pdfium_pdfium__engine.cc) = b4cd5d43a2ac041475b69fcca1534cc459e7e7ef
-SHA1 (patch-ppapi_proxy_file__io__resource.cc) = e3fd8a34e09350f3bd5f358073328a5e65f6adc6
-SHA1 (patch-ppapi_shared__impl_private_net__address__private__impl.cc) = fbbdad10d1ef9c2b3d4de30e312c2f393f932cc6
-SHA1 (patch-ppapi_tests_extensions_BUILD.gn) = 506fa029fc00d570777d08929178b1dfd66d012f
-SHA1 (patch-printing_BUILD.gn) = 0a791bb1accb18a1b7b7559c2519ab144a12cf44
-SHA1 (patch-printing_cups__config__helper.py) = 582b9427c80a3c7afd13277b2e8eb2a28839264a
-SHA1 (patch-remoting_host_BUILD.gn) = 9352691c2225833fdb9b7c023163ba6428fda6d9
-SHA1 (patch-sdch_BUILD.gn) = de13d11f32413b22d1733b26e441582f01a611d7
-SHA1 (patch-services_shell_standalone_context.cc) = 82e5e1b38a2d9916f57bdf8f23cdeaa728b511ed
-SHA1 (patch-services_ui_ws_BUILD.gn) = 36aa4a6ff175a4e8f5914ab30784069f80205b2b
-SHA1 (patch-skia_BUILD.gn) = a3afad81d0ea253deac5a2e6336b9bf737fcc8d6
-SHA1 (patch-skia_ext_SkMemory__new__handler.cpp) = 9177cb7ecf48537df7da984618239e688a99f7fc
-SHA1 (patch-skia_ext_platform__canvas.h) = 7c621a4e97e2ea48265e04118dac868243232962
-SHA1 (patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp) = ab5af6309ac76ca14857580c31d0ece505c6e9e9
-SHA1 (patch-third__party_WebKit_Source_core_BUILD.gn) = 22bc5a42c19a5797ad8c180423a38cd8ed4a2225
-SHA1 (patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp) = 5bf02ea58647b28782b03bc8e8b2d1fd34992591
-SHA1 (patch-third__party_WebKit_Source_platform_fonts_FontCache.h) = f120be5e81a2a26e248268f64ae69e49b2f1f1a2
-SHA1 (patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp) = 1c816bf51e3e8672a3ff38ca28e7bf9fbfd29183
-SHA1 (patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h) = adceeed5ee353a91babc4ff9531a01ce56860ec6
-SHA1 (patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp) = 4866de7ff3cdc955eec2c47f99b01d30a118b7ec
-SHA1 (patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp) = 1e4feba0d71ddc7bd0f64b93f49d7725092fbb93
-SHA1 (patch-third__party_WebKit_Source_platform_heap_GCInfo.cpp) = 29b4ca87ac2599b6654633b49bdfba47ee1eedaa
-SHA1 (patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp) = 881a92e1889697eb9e305ac3e674c29df5d1de01
-SHA1 (patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp) = 665cbe3a1a000c406b0147798b2653f09ee380dd
-SHA1 (patch-third__party_WebKit_Source_wtf_Assertions.cpp) = f074333bb37445dd3720a8a15b839577559b06ef
-SHA1 (patch-third__party_WebKit_Source_wtf_Atomics.h) = 999c3a06e4ef9d61c682b48c763319ba72aad885
-SHA1 (patch-third__party_WebKit_Source_wtf_ByteSwap.h) = 057e2c5f48d9ccfccd70e86a99a1da2684ef3f97
-SHA1 (patch-third__party_WebKit_Source_wtf_ContainerAnnotations.h) = 719564784cdb6175819109a2d39edbee27322b87
-SHA1 (patch-third__party_WebKit_Source_wtf_ThreadingPthreads.cpp) = 4f78a25fb28b5d719cdcba280c7d2cabb24fc961
-SHA1 (patch-third__party_angle_src_tests_BUILD.gn) = 5b59b9c6497e18851fffcc77e250ff13515f1735
-SHA1 (patch-third__party_boringssl_BUILD.gn) = b66875fe725dac573ec3c4dc0512249cbc0d7cf7
+SHA1 (patch-net_http_http__auth__gssapi__posix.cc) = d42587565874d3406d4f25f2cc37af0efdc2aca4
+SHA1 (patch-net_http_http__network__session.cc) = 04ceeffade2c51363091e55ab494f3e2b7cbc379
+SHA1 (patch-net_proxy_proxy__config__service__linux.cc) = 3d225a1bc77461a4761755c128e032baca88e744
+SHA1 (patch-net_proxy_proxy__service.cc) = fd1c9d6a0697e1a5b629a6179c6c7d3aeadac414
+SHA1 (patch-net_socket_socks5__client__socket.cc) = cff5de418e216bd7592b974d9a6578a5ada7b1b8
+SHA1 (patch-net_socket_udp__socket__posix.cc) = b423629217c4be0325dbc0e5bd92419f14570f67
+SHA1 (patch-net_tools_get__server__time_get__server__time.cc) = bc6c0d55509e4b0717767cdf997b74f9b9b3a57c
+SHA1 (patch-net_url__request_url__request__context__builder.cc) = 0093afaa5b69a13e5bc1a0a56979cf4a7bebf133
+SHA1 (patch-pdf_pdfium_pdfium__engine.cc) = a3bd19411f579ffe91179d974797d0cd9aa79e4b
+SHA1 (patch-ppapi_proxy_file__io__resource.cc) = 5a43e34966caf0f8d7ce508dcfdfcac7a14f5387
+SHA1 (patch-ppapi_shared__impl_private_net__address__private__impl.cc) = 24ac448a7b8998f414d2201930f4858db06210a1
+SHA1 (patch-ppapi_tests_extensions_BUILD.gn) = 1f9e1f53489c1ac809e204298f473a01a4925e09
+SHA1 (patch-printing_BUILD.gn) = e46cd955134557ac930a43ad5f4a47182e0aa65e
+SHA1 (patch-printing_cups__config__helper.py) = c41a817c19e591fcdaeffcde97ca8d9b2057985e
+SHA1 (patch-remoting_host_BUILD.gn) = d89373b1380b2131aab65f2a0b2d4d7749b0f7be
+SHA1 (patch-sdch_BUILD.gn) = 9012f34a75bc389edb2ab64278a9ddd8da5b6e38
+SHA1 (patch-services_service__manager_runner_host_BUILD.gn) = 9408524b8b83ddd644107be0e5a325c9f761e305
+SHA1 (patch-services_service__manager_standalone_context.cc) = f3fcf0b1e4204a861539815c7a39c03780326edf
+SHA1 (patch-services_ui_BUILD.gn) = 7fbb89b6148d8cc907a0a4963ff9b5015938cd35
+SHA1 (patch-services_ui_ime_BUILD.gn) = 04a054eb7f6b25135dbedb9694e73a820cac7c77
+SHA1 (patch-services_ui_public_cpp_gles2__context.cc) = 58dbe9659ff6ca57a7248f332f48fcfdf3eb1ca3
+SHA1 (patch-services_ui_surfaces_surfaces__context__provider.cc) = 180049bbb77671c932b48f0da0f0c2d00e30a8ad
+SHA1 (patch-skia_BUILD.gn) = 3642c648af4dfd8eaf25c864601a159c31a7e70f
+SHA1 (patch-skia_ext_SkMemory__new__handler.cpp) = 62584ebda841bb01c05533a0e230e6cde553fce2
+SHA1 (patch-skia_ext_platform__canvas.h) = 8eb10136504a0efe934b1e1934984afc87cecacb
+SHA1 (patch-testing_gtest_src_gtest.cc) = 577f7350d29cd62a49a76196fae3c145f7c6903b
+SHA1 (patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp) = 4937bd271affcb227b728b9e51290211ec4b0b25
+SHA1 (patch-third__party_WebKit_Source_core_layout_BUILD.gn) = f02e88e4a77682143db9de1e92378eda1cd33317
+SHA1 (patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp) = 16b6d30681f92cf79229d4ed74dd3aa80cadea9c
+SHA1 (patch-third__party_WebKit_Source_platform_fonts_FontCache.h) = 554e83347b0d75c2cc680b9a29f418eedab47c0d
+SHA1 (patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp) = 522362d6e99854eb5a91abc52b05e5781dbb493e
+SHA1 (patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h) = d2470af7d372bc04265673b0415a25efcda90264
+SHA1 (patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp) = 19e398c11fcb11f563110e8a3bb66434083fe4d6
+SHA1 (patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp) = cdf58980bff0336419965ae11f4dfd8b69295004
+SHA1 (patch-third__party_WebKit_Source_platform_heap_GCInfo.cpp) = db921e977ea616cd679c6dff4dc00a3cffb89f37
+SHA1 (patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp) = 549d92bcd8b0b6e4d3d6fc0a6197600c382d16bb
+SHA1 (patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp) = f5514582e03da6d54ffcca07c93b88d1e4897875
+SHA1 (patch-third__party_WebKit_Source_wtf_Assertions.cpp) = 0844a90d48c25740d1033fdee552b74cc7d951b3
+SHA1 (patch-third__party_WebKit_Source_wtf_Atomics.h) = cb9503c7075b61f0bda183599fdec00853fae841
+SHA1 (patch-third__party_WebKit_Source_wtf_BUILD.gn) = 9b240c0db36f8fa5aca5e20377167273781c8b6f
+SHA1 (patch-third__party_WebKit_Source_wtf_ByteSwap.h) = 275f99b44f3128ba35773a172eb38c838c1f2de5
+SHA1 (patch-third__party_WebKit_Source_wtf_ContainerAnnotations.h) = 46bab5203cdb0007f9a66e42838e8b63dcb8a847
+SHA1 (patch-third__party_WebKit_Source_wtf_ThreadingPthreads.cpp) = 17ea97254e979651da0cc64e0fff585bdc160ba0
+SHA1 (patch-third__party_angle_BUILD.gn) = 534258a067143d8bcc1d1c62a3097ba842b6d4fc
+SHA1 (patch-third__party_angle_gni_angle.gni) = e96e2a5c84849c52edebe303504e0831db2ed695
+SHA1 (patch-third__party_angle_src_tests_BUILD.gn) = 646346543a6f498fce880eb4e036e82681b43404
+SHA1 (patch-third__party_boringssl_BUILD.gn) = 190542f4ffc7c287071012ef807058549f30235c
+SHA1 (patch-third__party_boringssl_src_crypto_ex__data.c) = dc21e89e2bbb15b94c438e2cbdf890cbe43465ff
 SHA1 (patch-third__party_boringssl_src_include_openssl_thread.h) = d197f660e6b8db4600f1ced9b50d80ad3bdf5267
-SHA1 (patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h) = d8846234dc581be2599338ef9524d17de453c635
-SHA1 (patch-third__party_cython_rules.gni) = 3a4baa905c701a1b0b1d182d65cb5955395deba8
-SHA1 (patch-third__party_expat_BUILD.gn) = 7377d083ca6b629a89022db0d2fe1cb4ac319d68
+SHA1 (patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h) = b089af9cc12a0d044a35b30cec141cb298853609
+SHA1 (patch-third__party_expat_BUILD.gn) = 2115268685d71662a940a342198afb3fe95c349f
+SHA1 (patch-third__party_ffmpeg_BUILD.gn) = 13ffdc9a27902d71f413123e1a4cb085e3c82e57
 SHA1 (patch-third__party_ffmpeg_chromium_config_Chrome_netbsd_x64_config.h) = 79214c51ac671d30038eb76e40c4fa1c227e7282
-SHA1 (patch-third__party_ffmpeg_chromium_scripts_generate__gyp.py) = 4b49583a7be2948a5f7c068a1bde42a77c0bcda4
-SHA1 (patch-third__party_ffmpeg_ffmpeg__generated.gni) = b4d8bfe0556607deb0f389092f82fd48f58e4cee
-SHA1 (patch-third__party_fontconfig_BUILD.gn) = 9ec480172afaec88bc2b6b1addc7f11b32924946
-SHA1 (patch-third__party_freetype2_BUILD.gn) = 0c724943a92ac390b0cdc2057b9d1781e1a0c289
-SHA1 (patch-third__party_glslang_BUILD.gn) = 181a36ace8a287c7da624a52b990e56b158582f9
-SHA1 (patch-third__party_harfbuzz-ng_BUILD.gn) = 66737bec929583b74740567651d6899ec78253d8
-SHA1 (patch-third__party_icu_android_patch__locale.sh) = 2da705b185fd924807ee2c911d4f56df61fc6d14
-SHA1 (patch-third__party_icu_source_configure) = fee6bf6dbdeb57b55b1c04bf366304b2b1932f22
-SHA1 (patch-third__party_leveldatabase_env__chromium.cc) = f99f68a96f960ecd70dc4c805464138f11cf10f1
-SHA1 (patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h) = 87762d3f2697361ed2ee84ff1a86895d3fd78ec5
-SHA1 (patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h) = 796e2c59e901bcf085dda76611df1e92ed94ede1
-SHA1 (patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h) = fbac5ad09059353f15ad28cfb335ec7c7b1868e6
-SHA1 (patch-third__party_libusb_BUILD.gn) = 6db4945f91271de89cc9cd2e458c74d9b042e8a2
-SHA1 (patch-third__party_libyuv_include_libyuv_row.h) = 9de01ba169420ed8b8f5413ebb7cad82f47f8653
+SHA1 (patch-third__party_ffmpeg_ffmpeg__generated.gni) = 249f0453af30284f7afb757506c416875c4e276d
+SHA1 (patch-third__party_ffmpeg_libavutil_cpu.c) = 8a201020a008d0357a2760fdaf38ec6b36d05150
+SHA1 (patch-third__party_ffmpeg_libavutil_mem.c) = 5baa7e792afcc6f68c28944737f5c8aa46dd190b
+SHA1 (patch-third__party_fontconfig_BUILD.gn) = a4f73bbcd1186c26339f8fecbf0a10eb3badebe8
+SHA1 (patch-third__party_freetype2_BUILD.gn) = 00f40983b1e8b4c6be8532a0ada80d57a1660d39
+SHA1 (patch-third__party_glslang_BUILD.gn) = 257a796a30e4d94210f69280c6fd30d2a40c4a5f
+SHA1 (patch-third__party_harfbuzz-ng_BUILD.gn) = e04a3693cdbd3895781d9dc1bcac34f02f8c3ecf
+SHA1 (patch-third__party_icu_android_patch__locale.sh) = ca42a74c99df8e742e34fd3b865f5778bf60f479
+SHA1 (patch-third__party_icu_source_configure) = bf10fc8043534abf2c232cde966d83d6b5cc62e3
+SHA1 (patch-third__party_leveldatabase_env__chromium.cc) = 194edde951d753dbb6cb7a9eb0c76eefd4dd87ec
+SHA1 (patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h) = f5593ac3a4bfe86345876c97f5ad7221967b7728
+SHA1 (patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h) = ec75e9cba326cc46ab2816879e7827d17bec8a1b
+SHA1 (patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h) = 87fe2a7b4abd82bd2a558f3f0113ad726b3f5499
+SHA1 (patch-third__party_libusb_BUILD.gn) = e74c193fa0657602d28e2fe715bb4850ec4aaa96
+SHA1 (patch-third__party_libxml_BUILD.gn) = 40d404a8136fdb10272a5dc9ee61d8e03fe75ac5
+SHA1 (patch-third__party_libxslt_BUILD.gn) = 987a523f323069432bbde49ceb9bc05489f97be9
+SHA1 (patch-third__party_libyuv_include_libyuv_row.h) = 63aa2ac04d19ef82e62eabf3290cf0c6b72f6e33
 SHA1 (patch-third__party_libyuv_source_mjpeg__decoder.cc) = 04cd4b7cf41db3b697808c9d07d8c4a704a79d74
-SHA1 (patch-third__party_mesa_BUILD.gn) = f56a5476aa9da19497d07b647b33b9ca26a85624
-SHA1 (patch-third__party_minigbm_BUILD.gn) = b5b48c7168f6516c63935cdd6a57ed2f85bb73b6
-SHA1 (patch-third__party_opus_BUILD.gn) = 82305a2f62ac3917bb0e34659b85b763fc5548f9
-SHA1 (patch-third__party_ots_include_opentype-sanitiser.h) = 65c5ee24719cc5a4d82465bd5854da3b918dd1b1
-SHA1 (patch-third__party_pdfium_core_fxcrt_include_fx__system.h) = a7e1eb9d75528444ba6b9c30be9c64b4994a0090
-SHA1 (patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp) = af4ca9f809697327437eb42b036b78b0f8f4363d
-SHA1 (patch-third__party_pdfium_fpdfsdk_javascript_PublicMethods.cpp) = 0639caa99722e48b0eebdfea68c3989b53f39b1c
-SHA1 (patch-third__party_pdfium_skia_BUILD.gn) = bf65971521dca2d761d8ce318ce2c52ec707e1d6
-SHA1 (patch-third__party_protobuf_post__process__dist.sh) = 6732cfe77ea42e543bf80e53d6c1f57a4b193587
+SHA1 (patch-third__party_mesa_BUILD.gn) = e244363bee13cb3901356c205c417edde11826ae
+SHA1 (patch-third__party_minigbm_BUILD.gn) = 650d7f135b1e4ddbd61d86e62d05d365bee43576
+SHA1 (patch-third__party_opus_BUILD.gn) = d456791b41a876fd9ef332ebca98b74371af428a
+SHA1 (patch-third__party_ots_include_opentype-sanitiser.h) = 4b570c282b22f0b8dfacf7c4a9d8f8eb9f67f70c
+SHA1 (patch-third__party_pdfium_BUILD.gn) = 64ede6590d00ea974ab18a734597e2d5ff8fd12b
+SHA1 (patch-third__party_pdfium_core_fxcrt_fx__system.h) = 7337c0b1cb2807562945736f54f8b483cd35a38e
+SHA1 (patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp) = a0cefb180749d6cc5afd7b0c6d1649f034d9fdf3
+SHA1 (patch-third__party_pdfium_fpdfsdk_javascript_PublicMethods.cpp) = 45d768605285b57f8ea5908012034f7702bbf702
+SHA1 (patch-third__party_pdfium_skia_BUILD.gn) = 0fdbb8b65b98d47f63480319318fed6a3d97d7be
+SHA1 (patch-third__party_pdfium_third__party_base_logging.h) = d5092d47a8539674b83f32054669791e2d62021e
+SHA1 (patch-third__party_protobuf_post__process__dist.sh) = 6460ef38c68c759df48ff57d3990c9f19ca8af51
 SHA1 (patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h) = 01988c17b537528f01efcc121c82accebc746a40
-SHA1 (patch-third__party_sqlite_BUILD.gn) = caac3013395b57b9a3310f46ea55e68305731535
-SHA1 (patch-third__party_swiftshader_third__party_LLVM_utils_buildit_build__llvm) = 6644ed54e319f0e4e58a6cf2be3e64959bdb324a
-SHA1 (patch-third__party_usrsctp_BUILD.gn) = 83e6e7a4dc4900e2850c86c24b66c18ae460f33a
-SHA1 (patch-third__party_webrtc_BUILD.gn) = 5dc21ca1999331b71a8e17d7c065252d2e987f5e
-SHA1 (patch-third__party_webrtc_base_httpcommon.cc) = 64880d85e1bec468795e04b7f834d4cb9e3c3cd9
-SHA1 (patch-third__party_webrtc_base_ifaddrs__converter.h) = 45a4bf6be7371bff5874e46bd556dd606cdec9bf
-SHA1 (patch-third__party_webrtc_base_ipaddress.h) = 566c84c3f7c159a43f2b817722306190f45cc56d
-SHA1 (patch-third__party_webrtc_base_linux.cc) = 4aac44068528fac1776449744f06215b312631d4
-SHA1 (patch-third__party_webrtc_base_linux.h) = a8d2ed2e74032a93b4986cebeab6f72fc1243e7d
-SHA1 (patch-third__party_webrtc_base_network.cc) = a362c065aa9ee310813ef3ae12281207cde9f21b
-SHA1 (patch-third__party_webrtc_base_network.h) = fc1dc34746625d21071525a8dc03958b0c6202a7
-SHA1 (patch-third__party_webrtc_base_physicalsocketserver.cc) = 9c31c3489b56f29c51c36d507e102e591f4f5b3c
+SHA1 (patch-third__party_sqlite_BUILD.gn) = d85d4ddebed998aea6b1fd1f8b8bdb20114da3a3
+SHA1 (patch-third__party_usrsctp_BUILD.gn) = 4773526e4855e65ee0744e93faf9d3e5a37e1b93
+SHA1 (patch-third__party_webrtc_BUILD.gn) = c018bbc5cf3df0513f700e68394cc34e3db451bb
+SHA1 (patch-third__party_webrtc_base_BUILD.gn) = 59b25ddbe259699cb2bdc7b49a3da242299a97f5
+SHA1 (patch-third__party_webrtc_base_httpcommon.cc) = 4a01adfc44abce61eb71f174ea703efd496bdd43
+SHA1 (patch-third__party_webrtc_base_ifaddrs__converter.h) = 19ecf16087925d2def4fa55fb751baa6a656aa7a
+SHA1 (patch-third__party_webrtc_base_ipaddress.h) = 76a57a5d2e0f4ee518c6fa450a633adb706effcc
+SHA1 (patch-third__party_webrtc_base_linux.cc) = 2a5b245beb058e5a0b14e99c25c33685bd177b18
+SHA1 (patch-third__party_webrtc_base_linux.h) = 729352c50fdbe0b4a3b2d826541e3d78246fa12a
+SHA1 (patch-third__party_webrtc_base_network.cc) = 0f1607410a4cb1469822ccc5b62611b474d89dea
+SHA1 (patch-third__party_webrtc_base_network.h) = 90859faa79df2a55fb5294a75b2424a85d81c860
+SHA1 (patch-third__party_webrtc_base_physicalsocketserver.cc) = c25c236eef8d19ce8b97c1031b41ed8e3ecabecd
 SHA1 (patch-third__party_webrtc_base_platform__thread.cc) = 4da2c60ab7fa3184e692252c35cc09366cb7a454
-SHA1 (patch-third__party_webrtc_base_stringutils.h) = de64ddfb1c3b455acaebe8f982fd49fd3085dd61
-SHA1 (patch-third__party_webrtc_base_systeminfo.cc) = 2b8271a9fbf227b817215db11a345fe918c90e73
-SHA1 (patch-third__party_webrtc_common__audio_wav__file.h) = 699b1670037a86c7670f2f98f57dc95d50c63674
-SHA1 (patch-third__party_webrtc_modules_remote__bitrate__estimator_overuse__detector.cc) = 67a73d55585624d3e608e62d96ea7e124d687e67
-SHA1 (patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc) = c03c8801bda66a461d2088956f874c6c3d5fbfa0
-SHA1 (patch-third__party_webrtc_modules_video__coding_receiver.cc) = 2bc6001c1fe0e4bc4d48ccbe7a54832d418f40f5
-SHA1 (patch-third__party_webrtc_system__wrappers_BUILD.gn) = 81b2cb67079667f1158d54409cc6f5c0cbab837d
-SHA1 (patch-third__party_widevine_cdm_BUILD.gn) = 50bf134965433f23f21460b9cd3c9f4545587de2
+SHA1 (patch-third__party_webrtc_base_stringutils.h) = 747d89b0ae7c7b6d8e1275ae8e6ce20a8383adb8
+SHA1 (patch-third__party_webrtc_base_systeminfo.cc) = 272969d804f9758335326324ce543408b2a100cf
+SHA1 (patch-third__party_webrtc_modules_audio__device_BUILD.gn) = ff870a88d61069fe1524f250831a0bf2ca1097da
+SHA1 (patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc) = 891616bc18e26774ecddcaf1176747cb6c68612b
+SHA1 (patch-third__party_webrtc_modules_video__coding_BUILD.gn) = 2242bd1a75453c276e7cd05fd65ecf69d4f17577
+SHA1 (patch-third__party_webrtc_system__wrappers_BUILD.gn) = 969875cf7296857925619eac51ecef704647e8b9
+SHA1 (patch-third__party_webrtc_system__wrappers_source_atomic32__non__darwin__unix.cc) = 7d77928fa9833417a1c5211ca174e06486cfd7f0
+SHA1 (patch-third__party_webrtc_voice__engine_voice__engine__defines.h) = a744478ee19844c7cfe0c72772d04963ce33faa6
+SHA1 (patch-third__party_widevine_cdm_BUILD.gn) = f299fcf9651b0761334a74415d4855d4559d395d
 SHA1 (patch-third__party_widevine_cdm_stub_widevine__cdm__version.h) = e88d8c99493d0829691ab53160166882682559b9
-SHA1 (patch-third__party_xdg-utils_scripts_xdg-terminal) = 0ffac0d6517800fa9ee6dee34632efe40aa249de
-SHA1 (patch-third__party_xdg-utils_scripts_xdg-terminal.in) = 0460aaf77741dcd9e7b80b6660906f91d54b36ba
-SHA1 (patch-third__party_yasm_BUILD.gn) = 88d5a75026b58f5f5bf8ea98c7098c398ea0a1dd
-SHA1 (patch-third__party_zlib_BUILD.gn) = 5a352cc458f07b59346fa6ff8a0c0a2950dfa029
-SHA1 (patch-tools_battor__agent_BUILD.gn) = cbc43dcd811cee721429f9deae81e1066779f3a5
+SHA1 (patch-third__party_xdg-utils_scripts_xdg-terminal) = 24dee02aef958c4db0896bb1791b72f3c3325f31
+SHA1 (patch-third__party_xdg-utils_scripts_xdg-terminal.in) = 400440a080cbf0b588bfcb1de1e9fc10e6819697
+SHA1 (patch-third__party_yasm_BUILD.gn) = d98aaf9c4e51be8c1cd49f7642d8a9cda745b945
+SHA1 (patch-third__party_zlib_BUILD.gn) = f66e24321f1dd4f19af1365490ecc5f37aff0232
+SHA1 (patch-tools_battor__agent_BUILD.gn) = 007eb425b2bb6d30b789012792bf8a92483e90a0
 SHA1 (patch-tools_gn_args.cc) = 7891b7c0b998a7fe96b0b7bdfc8e4096ded98ebc
-SHA1 (patch-tools_gn_bootstrap_bootstrap.py) = 69996545f0cf50517b41f0f1baca979e5ad8b36e
-SHA1 (patch-tools_gn_gn__unittests.isolate) = 529409783bdf4561d12cf16d0a6137ac3c3cb79a
-SHA1 (patch-ui_accessibility_platform_ax__platform__node.h) = a2796d6e61d53dd3da8a2efcb8cadd354a14ff9a
-SHA1 (patch-ui_app__list_app__list__constants.cc) = 9c27e6433071ff1f48a2be9b0df5f9e48c961eed
-SHA1 (patch-ui_app__list_app__list__constants.h) = 6a4e0b8068ea1dda47c336d6005210c71212023d
-SHA1 (patch-ui_app__list_app__list__menu.cc) = 0792e54e007ca6c27ee4977f0357d8a31351bf5e
-SHA1 (patch-ui_app__list_views_app__list__item__view.cc) = 28a1652703c27b3cbb58f0df1b889f9ebc34b149
-SHA1 (patch-ui_app__list_views_app__list__view.cc) = 456c883abeaaf8267b007a50d318c4e6eef3dc5e
-SHA1 (patch-ui_aura_BUILD.gn) = 74b8d176f5aeceecfd37e18518886fb63feca095
-SHA1 (patch-ui_base_BUILD.gn) = 412e7008ec17ef0234192bb875755e3bb8eeabd9
-SHA1 (patch-ui_base_ime_BUILD.gn) = 51afa404887e3a268266beaff4653fa2d1a5b11f
-SHA1 (patch-ui_base_ime_ime__engine__handler__interface.h) = 35651d81fd3c832a7cdd5fb28c4bcc39c979f242
-SHA1 (patch-ui_base_ime_input__method__factory.cc) = 746bcd00b162fa308f09ef40e7a27885bbc0d446
-SHA1 (patch-ui_base_ime_input__method__initializer.cc) = 15f821784d500f8f5bc20346c395c0175421e5c1
-SHA1 (patch-ui_base_resource_resource__bundle.cc) = 3781d1be578e69330482e11f478eb2daf240c4d0
-SHA1 (patch-ui_base_ui__features.gni) = 87ce205ff8c4c38dff0b4179aaef91fbafb6b65b
-SHA1 (patch-ui_base_webui_web__ui__util.cc) = 7c5553d2d2afc38f4b14dd48116a586a6d7eb770
-SHA1 (patch-ui_compositor_BUILD.gn) = 49ab03b226f07e4b3017abc6e0149b8ab3a52dc2
-SHA1 (patch-ui_events_event__switches.cc) = d2c42cc5ac01d7d402252b607938e57960f03579
-SHA1 (patch-ui_events_event__switches.h) = 0b35d5f6bea06a512f95f5a22f1b5d63ae6bfc5a
-SHA1 (patch-ui_events_keycodes_dom_keycode__converter.cc) = 772f18fd6980f8e6a462e130c6da016096d82295
-SHA1 (patch-ui_gfx_BUILD.gn) = 48aeb0e87fef4f952fd74cb51a4a5e8907e96ce8
-SHA1 (patch-ui_gfx_canvas__skia.cc) = 38219139aa38b71959cf441c8b2bc202a2e12541
-SHA1 (patch-ui_gfx_font__fallback__linux.cc) = 4c5172fcb4a0bff0c838f902301c4c8749a7b7dc
-SHA1 (patch-ui_gfx_font__render__params.h) = f554b0edcb9f966ad107d0613fb86586678dd312
-SHA1 (patch-ui_gfx_render__text.cc) = 7cf9019d4e8ffb7393f681d92ed0a6129423bea1
-SHA1 (patch-ui_gl_BUILD.gn) = 0c591f5049d0b1880d1c9d982dc58c6cfc061f73
-SHA1 (patch-ui_gl_sync__control__vsync__provider.cc) = fd2d2d785ee8dcfda8dd434a29d5820687657352
-SHA1 (patch-ui_gl_sync__control__vsync__provider.h) = f73dec39c974673ae259a6fdd8b7828956b1da11
-SHA1 (patch-ui_message__center_message__center__style.h) = 8bfd11a25284371397948e424ce1b19729bad669
-SHA1 (patch-ui_message__center_views_message__center__button__bar.cc) = 5f856680325a5886a41d4800c5178ae9c7e24397
-SHA1 (patch-ui_message__center_views_message__center__button__bar.h) = e7e4e4e879102822cd31d71d37f6b341ff0ad2ba
-SHA1 (patch-ui_message__center_views_message__view__factory.cc) = 32a1609b4a9213e039fce2ec589d2e028658194a
-SHA1 (patch-ui_resources_ui__resources.grd) = 084ad062d7984599ef59757730b21cf916d51ddd
-SHA1 (patch-ui_views_BUILD.gn) = b36baf3c5c82427fc5802c02ac808215a10836e4
-SHA1 (patch-ui_views_accessibility_native__view__accessibility.h) = 402781057d0d339ed5155eb2b27d0059fe73b625
-SHA1 (patch-ui_views_bubble_bubble__dialog__delegate.cc) = 491aab3745d5aac956ccbbeb7021894f2a41190c
-SHA1 (patch-ui_views_controls_textfield_textfield.cc) = ff5cafef6ed2c07518ad261b3898d913c44e9740
-SHA1 (patch-ui_views_controls_webview_BUILD.gn) = f236ab33937b93841a34c0f6e119d1385ad02ac0
-SHA1 (patch-ui_views_examples_widget__example.cc) = 988ca0090b8763859b21e2add5df86237e8aa3d2
-SHA1 (patch-ui_views_style_platform__style.cc) = 8a385ee3f065abe6d82dcc9dd336168c3cb469eb
-SHA1 (patch-ui_views_views__delegate.cc) = 0fa90998922d7da71034d7c1587ed2278bc79a84
-SHA1 (patch-ui_views_views__delegate.h) = 4b2e7517b6d03f8512679b43b59a45821bc69311
-SHA1 (patch-ui_views_views__switches.cc) = 76d54d6269209144fe6ee615a0a4b33871d7425a
-SHA1 (patch-ui_views_window_custom__frame__view.cc) = 123bad8b9f24507665dbf83129b3839bad6a8584
-SHA1 (patch-ui_views_window_dialog__delegate.cc) = 548466db07af11587a0d24b6ab54925886b50de8
-SHA1 (patch-ui_webui_resources_js_cr.js) = 2b30ee9eef39e94a278e83b5a9a0a437449a98ec
-SHA1 (patch-ui_webui_resources_js_icon.js) = 3d4b4da52e4b4fbe62e45ef9ca6f65c824e3f5a7
+SHA1 (patch-tools_gn_bootstrap_bootstrap.py) = a5e2a4d9dbf97e063e6615de3a7a2fa33172ab4c
+SHA1 (patch-tools_variations_fieldtrial__to__struct.py) = 49aa9e64e944bb25ffbda95250f23006124b8bd7
+SHA1 (patch-ui_accessibility_platform_ax__platform__node.h) = 16be3fb13c6500e74f3067702db95de0bd936024
+SHA1 (patch-ui_app__list_app__list__constants.cc) = 7963f801324f32086880fd9217537790950c9630
+SHA1 (patch-ui_app__list_app__list__constants.h) = 97245a5cdda933d34be1279710a6ca011f4d540c
+SHA1 (patch-ui_app__list_views_app__list__item__view.cc) = 8ea86a0cd0f56df16567ffbd54ccdbdef36dddad
+SHA1 (patch-ui_app__list_views_app__list__view.cc) = b62a156d362733c8ba81da448ab1248abc9de2bb
+SHA1 (patch-ui_aura_BUILD.gn) = 50abd0a701e26bec0812c2875b5ed06fcdb41d0e
+SHA1 (patch-ui_base_BUILD.gn) = 7467bf159b5f66f872d6a143e75c7c2721f49cc7
+SHA1 (patch-ui_base_ime_BUILD.gn) = bae1bec0160524ac0b1e8f70797f97bdfa1310db
+SHA1 (patch-ui_base_ime_ime__engine__handler__interface.h) = 43d94d3c0067596be9ce0f391843ba3fca54e422
+SHA1 (patch-ui_base_ime_input__method__factory.cc) = 97a6bd278a1b91c0db6bd22cb6f5be2acabd57d0
+SHA1 (patch-ui_base_ime_input__method__initializer.cc) = d14351f1a802c5bdaecf08056c156539e7bbd59d
+SHA1 (patch-ui_base_resource_resource__bundle.cc) = 95a08a028f452127603685386e9e6318abf8133c
+SHA1 (patch-ui_base_ui__features.gni) = 5c39f04748dab1877eaeb2f08bdd83e6c35d6498
+SHA1 (patch-ui_base_webui_web__ui__util.cc) = 9fdf09ed67f0a68f8273a63faef97c7ed145e258
+SHA1 (patch-ui_compositor_BUILD.gn) = 996b39b53bed16e910ed8be5c5f78762f1aacd1b
+SHA1 (patch-ui_events_event__switches.cc) = b4c73c980296cade3ff628393f0441db88c253c9
+SHA1 (patch-ui_events_event__switches.h) = d2f1a602721e1aead468cd3830396a26f1f9a7c7
+SHA1 (patch-ui_events_keycodes_dom_keycode__converter.cc) = 962bb47674721ac1afa4ce27b249b8c6a84ccc8b
+SHA1 (patch-ui_gfx_BUILD.gn) = d606b07e78351f55cce7ae7db1f22759b8566cbd
+SHA1 (patch-ui_gfx_canvas__skia.cc) = 3495e7225f3e6ac81544213098e225e2889f0f96
+SHA1 (patch-ui_gfx_font__fallback__linux.cc) = f57bd6693eee09dbb3e89f3d1b3571b7cde7089d
+SHA1 (patch-ui_gfx_font__render__params.h) = e4330a45aaa39a779268c725d7f26b9895ecb36e
+SHA1 (patch-ui_gfx_render__text.cc) = 43bcd4641fc57baa4d399ac147c9ad34c6cb5cc6
+SHA1 (patch-ui_gl_BUILD.gn) = 875a3d5ba23474c510699031cad27877c0290362
+SHA1 (patch-ui_gl_sync__control__vsync__provider.cc) = ef529650064c381c6c5c290cfea2fa7800bfc480
+SHA1 (patch-ui_gl_sync__control__vsync__provider.h) = af385e4f047b2776d4c90ec293f11c7fe02304a7
+SHA1 (patch-ui_message__center_message__center__style.h) = ba9ddfb8db9ad3f729ee84959379875d37b3e85b
+SHA1 (patch-ui_message__center_views_message__center__button__bar.cc) = 42bcee9775e57cd4782be78a419971cbfa5fd1cb
+SHA1 (patch-ui_message__center_views_message__center__button__bar.h) = 20fc04baa12a0d969e4126658c05336def04431b
+SHA1 (patch-ui_message__center_views_message__view__factory.cc) = 46d44eb2e86e8d33d50bc04b47b9f199f896382e
+SHA1 (patch-ui_resources_ui__resources.grd) = ff7b61eced0a3a92bacee5f9ce36363a45403e28
+SHA1 (patch-ui_views_BUILD.gn) = 2ce6a3ec95f9f06ed5c5570abf9851261ea1f93e
+SHA1 (patch-ui_views_accessibility_native__view__accessibility.h) = 12cc092f73e88a0dff8dd3d09de6ca1095dc36c9
+SHA1 (patch-ui_views_bubble_bubble__dialog__delegate.cc) = a807cbf78e5f7d437286c95efa814cdb7e32d9e4
+SHA1 (patch-ui_views_controls_label.cc) = c8fd0f239fd5e5349415b152183f44b71bd5829d
+SHA1 (patch-ui_views_controls_textfield_textfield.cc) = b1b529ba246c0126c61186ef3fb0420860cf5069
+SHA1 (patch-ui_views_controls_webview_BUILD.gn) = 4f7d2136638ba0511f39926529981b92a6dd04ff
+SHA1 (patch-ui_views_corewm_tooltip__aura.cc) = 9424e3c0634c6191004f4017b14c78daefdf6edc
+SHA1 (patch-ui_views_examples_widget__example.cc) = 0073c00059535f3f66fd6ff67601e881a5cef168
+SHA1 (patch-ui_views_selection__controller.cc) = 03128af849ddbb35b4931e8a98bdd6ed243f35e7
+SHA1 (patch-ui_views_style_platform__style.cc) = a124a78d2e95e5756ff5dd3272ba0aca16cd488a
+SHA1 (patch-ui_views_views__delegate.cc) = 24b78221d0eb252e15a60fde9e0ddc97f15c8449
+SHA1 (patch-ui_views_views__delegate.h) = 169791c216cdae532c1cceeb264ccf29c8637015
+SHA1 (patch-ui_views_views__switches.cc) = e924b4d1533578ccf487116defb58e0d92fec14e
+SHA1 (patch-ui_views_window_custom__frame__view.cc) = 0fa0aecb3f5cd2e3aab2a361bc43df62c6459891
+SHA1 (patch-ui_views_window_dialog__delegate.cc) = aeecc76ebf71125df51a4ea77253e734ceec00c8
+SHA1 (patch-ui_webui_resources_js_cr.js) = e0813d3bc36615f63c4a1b744d4ad372bc2500ef
+SHA1 (patch-ui_webui_resources_js_icon.js) = 5c474b3a46c1ee752a15cb3e5336ace5f4e4620b
 SHA1 (patch-v8_BUILD.gn) = af3a1a6619f05f458860bc4c3580a64ec69d72dc
 SHA1 (patch-v8_src_base_platform_platform-netbsd.cc) = b523f84cb1d87dba64aae495f7c46c3f86cf63db
-SHA1 (patch-v8_src_base_platform_platform-posix.cc) = c11ce3ebc4165e836965533eda417cca02e4815e
+SHA1 (patch-v8_src_base_platform_platform-posix.cc) = a754cf1d4c048eed3f6d8629ba99f2b56f1b6bbd
 SHA1 (patch-v8_src_base_platform_platform.h) = b550c96973cf6b0fed9dcbde7b71301afa3585c1
-SHA1 (patch-v8_tools_run-llprof.sh) = 5f30e83b37a49e3f8982d8c1387a2816ea6f049d
+SHA1 (patch-v8_src_globals.h) = d88afa5a8b913431d509bf25ee5ad9975fb5200a
+SHA1 (patch-v8_tools_run-llprof.sh) = 84a3f81f71a49e63ea1d3a079e8ebafa5595fde4
diff --git a/chromium-new/options.mk b/chromium-new/options.mk
index 514d2b7a2a..ef4929e54c 100644
--- a/chromium-new/options.mk
+++ b/chromium-new/options.mk
@@ -4,7 +4,7 @@ PKG_OPTIONS_VAR=		PKG_OPTIONS.chromium
 PKG_OPTIONS_REQUIRED_GROUPS=	audio
 PKG_OPTIONS_GROUP.audio=	alsa pulseaudio
 PKG_SUPPORTED_OPTIONS+=		debug
-PKG_SUGGESTED_OPTIONS=		alsa
+PKG_SUGGESTED_OPTIONS=		pulseaudio
 
 .include "../../mk/bsd.options.mk"
 
diff --git a/chromium-new/patches/patch-BUILD.gn b/chromium-new/patches/patch-BUILD.gn
index c75f901e9f..3621f56fca 100644
--- a/chromium-new/patches/patch-BUILD.gn
+++ b/chromium-new/patches/patch-BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- BUILD.gn.orig	2016-11-10 20:02:08.000000000 +0000
+--- BUILD.gn.orig	2017-02-02 02:02:46.000000000 +0000
 +++ BUILD.gn
-@@ -201,7 +201,7 @@ group("both_gn_and_gyp") {
+@@ -217,7 +217,7 @@ group("both_gn_and_gyp") {
      ]
    }
  
@@ -11,7 +11,7 @@ $NetBSD$
      deps += [
        "//chrome",
        "//chrome/test:browser_tests",
-@@ -260,7 +260,7 @@ group("both_gn_and_gyp") {
+@@ -277,7 +277,7 @@ group("both_gn_and_gyp") {
      ]
    }
  
@@ -20,7 +20,7 @@ $NetBSD$
      # TODO(GYP): Figure out which of these should actually build on iOS,
      # and whether there should be other targets that are iOS-only and missing.
      deps += [
-@@ -300,7 +300,7 @@ group("both_gn_and_gyp") {
+@@ -320,7 +320,7 @@ group("both_gn_and_gyp") {
        "//ui/touch_selection:ui_touch_selection_unittests",
        "//url/ipc:url_ipc_unittests",
      ]
@@ -29,7 +29,7 @@ $NetBSD$
      deps += [ "//ios:all" ]
    }
  
-@@ -457,7 +457,7 @@ group("both_gn_and_gyp") {
+@@ -488,7 +488,7 @@ group("both_gn_and_gyp") {
      ]
    }
  
@@ -38,7 +38,7 @@ $NetBSD$
      # The following are definitely linux-only.
      deps += [
        "//chrome:manpage",
-@@ -484,9 +484,16 @@ group("both_gn_and_gyp") {
+@@ -515,9 +515,16 @@ group("both_gn_and_gyp") {
        # TODO(dpranke): add the linux_dump_symbols flag?
        deps += [ "//chrome:linux_symbols" ]
      }
@@ -56,7 +56,7 @@ $NetBSD$
      deps += [
        "//base:base_i18n_perftests",
        "//base:base_perftests",
-@@ -555,7 +562,7 @@ group("both_gn_and_gyp") {
+@@ -588,7 +595,7 @@ group("both_gn_and_gyp") {
      if (enable_nacl) {
        deps += [ "//components/nacl/loader:nacl_loader_unittests" ]
  
@@ -65,7 +65,7 @@ $NetBSD$
          # TODO(dpranke): Figure out what platforms should actually have this.
          deps += [ "//components/nacl/loader:nacl_helper" ]
  
-@@ -664,7 +671,7 @@ group("both_gn_and_gyp") {
+@@ -698,7 +705,7 @@ group("both_gn_and_gyp") {
        deps +=
            [ "//chrome/installer/mini_installer:next_version_mini_installer" ]
      }
@@ -74,8 +74,8 @@ $NetBSD$
      deps += [ "//breakpad:symupload($host_toolchain)" ]
    }
  
-@@ -713,7 +720,7 @@ group("gn_only") {
-     deps += [ "//chrome/tools/disable_outdated_build_detector" ]
+@@ -743,7 +750,7 @@ group("gn_only") {
+     deps += [ "//components/proximity_auth:proximity_auth_unittests" ]
    }
  
 -  if (is_win || is_linux) {
@@ -83,8 +83,8 @@ $NetBSD$
      deps += [
        "//mash:all",
        "//media/mojo/services:media_mojo_shell_unittests",
-@@ -726,7 +733,7 @@ group("gn_only") {
-     ]
+@@ -763,7 +770,7 @@ group("gn_only") {
+     }
    }
  
 -  if (is_linux && !is_chromeos && !is_chromecast) {
@@ -92,7 +92,7 @@ $NetBSD$
      # TODO(GYP): Figure out if any of these should be in gn_all
      # and figure out how cross-platform they are
      deps += [
-@@ -793,7 +800,7 @@ group("gn_only") {
+@@ -816,7 +823,7 @@ group("gn_only") {
      ]
  
      if (target_cpu == "x86" || target_cpu == "x64") {
@@ -101,7 +101,7 @@ $NetBSD$
          deps += [ "//chrome/test:load_library_perf_tests" ]
        }
        deps += [
-@@ -801,7 +808,7 @@ group("gn_only") {
+@@ -824,7 +831,7 @@ group("gn_only") {
          "//third_party/libjpeg_turbo:simd_asm",
        ]
      }
@@ -110,7 +110,7 @@ $NetBSD$
        deps += [ "//v8:v8_shell" ]
      }
    }
-@@ -811,7 +818,7 @@ group("gn_only") {
+@@ -834,7 +841,7 @@ group("gn_only") {
    }
  
    if ((is_linux && !is_chromeos && !is_chromecast) || (is_win && use_drfuzz) ||
@@ -119,7 +119,7 @@ $NetBSD$
      deps += [
        "//testing/libfuzzer/fuzzers",
        "//testing/libfuzzer/tests:libfuzzer_tests",
-@@ -847,7 +854,7 @@ group("gn_only") {
+@@ -877,7 +884,7 @@ group("gn_only") {
  
  group("gn_mojo_targets") {
    testonly = true
@@ -128,7 +128,7 @@ $NetBSD$
      # TODO(GYP): Figure out if any of these should be in gn_all
      # and figure out how cross-platform they are
      deps = [
-@@ -872,7 +879,7 @@ group("gn_visibility") {
+@@ -903,7 +910,7 @@ group("gn_visibility") {
    }
  }
  
@@ -137,30 +137,39 @@ $NetBSD$
    # This group includes all of the targets needed to build and test Blink,
    # including running the layout tests (see below).
    group("blink_tests") {
-@@ -906,7 +913,7 @@ if (!is_ios) {
-       ]
+@@ -949,7 +956,7 @@ if (!is_ios) {
+       data_deps += [ "//content/shell:content_shell_crash_service" ]
      }
  
 -    if (!is_win && !is_android) {
 +    if (!is_win && !is_android && !is_bsd) {
-       deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
+       data_deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
+     }
+ 
+@@ -957,7 +964,7 @@ if (!is_ios) {
+       data_deps += [ "//breakpad:dump_syms($host_toolchain)" ]
+     }
+ 
+-    if (is_linux) {
++    if (is_linux && !is_bsd) {
+       data_deps += [ "//breakpad:dump_syms($host_toolchain)" ]
      }
  
-@@ -935,7 +942,7 @@ group("chromium_swarm_tests") {
+@@ -979,7 +986,7 @@ group("chromium_swarm_tests") {
  group("chromium_builder_perf") {
    testonly = true
  
 -  if (!is_ios && !is_android && !is_chromecast) {
 +  if (!is_ios && !is_android && !is_chromecast && !is_bsd) {
-     deps = [
+     data_deps = [
        "//cc:cc_perftests",
        "//chrome/test:load_library_perf_tests",
-@@ -965,7 +972,7 @@ group("chromium_builder_perf") {
+@@ -1009,7 +1016,7 @@ group("chromium_builder_perf") {
          "//chrome/installer/mini_installer:mini_installer",
-         "//third_party/angle/src/tests:angle_perftests",
+         "//chrome/test:angle_perftests",
        ]
 -    } else {
 +    } else if (!is_bsd) {
-       deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
+       data_deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
      }
    }
diff --git a/chromium-new/patches/patch-apps_ui_views_app__window__frame__view.cc b/chromium-new/patches/patch-apps_ui_views_app__window__frame__view.cc
new file mode 100644
index 0000000000..edee21b489
--- /dev/null
+++ b/chromium-new/patches/patch-apps_ui_views_app__window__frame__view.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- apps/ui/views/app_window_frame_view.cc.orig	2017-02-02 02:02:46.000000000 +0000
++++ apps/ui/views/app_window_frame_view.cc
+@@ -132,7 +132,7 @@ gfx::Rect AppWindowFrameView::GetBoundsF
+ gfx::Rect AppWindowFrameView::GetWindowBoundsForClientBounds(
+     const gfx::Rect& client_bounds) const {
+   gfx::Rect window_bounds = client_bounds;
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   // Get the difference between the widget's client area bounds and window
+   // bounds, and grow |window_bounds| by that amount.
+   gfx::Insets native_frame_insets =
diff --git a/chromium-new/patches/patch-ash_display_mirror__window__controller.cc b/chromium-new/patches/patch-ash_display_mirror__window__controller.cc
new file mode 100644
index 0000000000..0fbb47d140
--- /dev/null
+++ b/chromium-new/patches/patch-ash_display_mirror__window__controller.cc
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- ash/display/mirror_window_controller.cc.orig	2017-02-02 02:02:46.000000000 +0000
++++ ash/display/mirror_window_controller.cc
+@@ -250,7 +250,11 @@ void MirrorWindowController::UpdateWindo
+                          return info.id() == iter->first;
+                        }) == display_info_list.end()) {
+         CloseAndDeleteHost(iter->second, true);
++#if defined(__llvm__)
++        mirroring_host_info_map_.erase(iter++);
++#else
+         iter = mirroring_host_info_map_.erase(iter);
++#endif
+       } else {
+         ++iter;
+       }
diff --git a/chromium-new/patches/patch-ash_shell.cc b/chromium-new/patches/patch-ash_shell.cc
new file mode 100644
index 0000000000..e6f263d8d2
--- /dev/null
+++ b/chromium-new/patches/patch-ash_shell.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ash/shell.cc.orig	2017-02-02 02:02:47.000000000 +0000
++++ ash/shell.cc
+@@ -579,7 +579,7 @@ void Shell::Init(const ShellInitParams& 
+ 
+   immersive_handler_factory_ = base::MakeUnique<ImmersiveHandlerFactoryAsh>();
+ 
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   NOTREACHED() << "linux desktop does not support ash.";
+ #endif
+ 
diff --git a/chromium-new/patches/patch-base_BUILD.gn b/chromium-new/patches/patch-base_BUILD.gn
index e6f8be1dd3..c56537e644 100644
--- a/chromium-new/patches/patch-base_BUILD.gn
+++ b/chromium-new/patches/patch-base_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- base/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/BUILD.gn
-@@ -1053,6 +1053,35 @@ component("base") {
+@@ -1076,6 +1076,46 @@ component("base") {
      public_deps += [ "//base/allocator:unified_allocator_shim" ]
    }
  
@@ -20,13 +20,24 @@ $NetBSD$
 +      "debug/proc_maps_linux.cc",
 +      "debug/proc_maps_linux.h",
 +    ]
-+    sources += [
-+      "files/file_path_watcher_stub.cc",
-+      "process/process_handle_netbsd.cc",
-+      "process/process_iterator_netbsd.cc",
-+      "process/process_metrics_netbsd.cc",
-+      "sys_info_netbsd.cc",
-+    ]
++    if (is_freebsd) {
++      sources += [
++        "files/file_path_watcher_stub.cc",
++        "process/process_handle_freebsd.cc",
++        "process/process_iterator_freebsd.cc",
++        "process/process_metrics_freebsd.cc",
++        "sys_info_freebsd.cc",
++      ]
++    }
++    if (is_netbsd) {
++      sources += [
++        "files/file_path_watcher_stub.cc",
++        "process/process_handle_netbsd.cc",
++        "process/process_iterator_netbsd.cc",
++        "process/process_metrics_netbsd.cc",
++        "sys_info_netbsd.cc",
++      ]
++    }
 +    libs = [
 +      "execinfo", # logging.cc
 +      "kvm"       # process_metrics_freebsd
@@ -38,7 +49,7 @@ $NetBSD$
    # Allow more direct string conversions on platforms with native utf8
    # strings
    if (is_mac || is_ios || is_chromeos || is_chromecast) {
-@@ -1324,7 +1353,7 @@ component("base") {
+@@ -1347,7 +1387,7 @@ component("base") {
    }
  
    # Linux.
@@ -47,7 +58,7 @@ $NetBSD$
      if (is_asan || is_lsan || is_msan || is_tsan) {
        # For llvm-sanitizer.
        data += [ "//third_party/llvm-build/Release+Asserts/lib/libstdc++.so.6" ]
-@@ -1349,7 +1378,7 @@ component("base") {
+@@ -1372,7 +1412,7 @@ component("base") {
        "//base/third_party/xdg_user_dirs",
      ]
    } else {
@@ -56,21 +67,28 @@ $NetBSD$
      sources -= [
        "nix/mime_util_xdg.cc",
        "nix/mime_util_xdg.h",
-@@ -1365,6 +1394,13 @@ component("base") {
+@@ -1388,6 +1428,20 @@ component("base") {
      }
    }
  
-+  if (is_bsd) {
++  if (is_freebsd) {
 +    sources -= [
 +      "threading/platform_thread_linux.cc",
 +    ]
 +    sources += [ "threading/platform_thread_freebsd.cc" ]
 +  }
 +
++  if (is_netbsd) {
++    sources -= [
++      "threading/platform_thread_linux.cc",
++    ]
++    sources += [ "threading/platform_thread_netbsd.cc" ]
++  }
++
    # iOS
    if (is_ios) {
      set_sources_assignment_filter([])
-@@ -2119,6 +2155,12 @@ test("base_unittests") {
+@@ -2154,6 +2208,12 @@ test("base_unittests") {
      set_sources_assignment_filter(sources_assignment_filter)
    }
  
diff --git a/chromium-new/patches/patch-base_allocator_BUILD.gn b/chromium-new/patches/patch-base_allocator_BUILD.gn
index 12d4ef9a95..bf705a3ca5 100644
--- a/chromium-new/patches/patch-base_allocator_BUILD.gn
+++ b/chromium-new/patches/patch-base_allocator_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- base/allocator/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/allocator/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/allocator/BUILD.gn
-@@ -330,6 +330,9 @@ if (use_experimental_allocator_shim) {
+@@ -338,6 +338,9 @@ if (use_experimental_allocator_shim) {
        ]
      } else if (is_linux && use_allocator == "none") {
        sources += [ "allocator_shim_default_dispatch_to_glibc.cc" ]
diff --git a/chromium-new/patches/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc b/chromium-new/patches/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
index 9fdaa66a69..8cee8ea514 100644
--- a/chromium-new/patches/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
+++ b/chromium-new/patches/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
@@ -1,11 +1,13 @@
 $NetBSD$
 
---- base/allocator/allocator_shim_default_dispatch_to_glibc.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/allocator/allocator_shim_default_dispatch_to_glibc.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/allocator/allocator_shim_default_dispatch_to_glibc.cc
-@@ -3,17 +3,46 @@
+@@ -3,19 +3,46 @@
  // found in the LICENSE file.
  
  #include "base/allocator/allocator_shim.h"
+-
+-#include <malloc.h>
 +#include <stdio.h>
 +#include <stdlib.h>
 +#if defined(OS_FREEBSD)
@@ -30,12 +32,12 @@ $NetBSD$
 +void* __memalign(size_t alignment, size_t size) {
 +  void *ret;
 +  if (__posix_memalign(&ret, alignment, size) != 0) {
-+    return nullptr;
++      return nullptr;
 +  } else {
-+    return ret;
++      return ret;
 +  }
 +}
-+int  __posix_memalign(void **ptr, size_t alignment, size_t size);
++int __posix_memalign(void **ptr, size_t alignment, size_t size);
 +void __free(void* ptr);
 +#else
 +#define __malloc malloc
@@ -55,7 +57,7 @@ $NetBSD$
  }  // extern "C"
  
  namespace {
-@@ -21,23 +50,27 @@ namespace {
+@@ -23,23 +50,23 @@ namespace {
  using base::allocator::AllocatorDispatch;
  
  void* GlibcMalloc(const AllocatorDispatch*, size_t size) {
@@ -78,13 +80,9 @@ $NetBSD$
 +  return __memalign(alignment, size);
  }
  
-+/* int GlibcPosixMemalign(const AllocatorDispatch*, void** ptr, size_t alignment, size_t size) { */
-+/*   return __posix_memalign(ptr, alignment, size); */
-+/* } */
-+
  void GlibcFree(const AllocatorDispatch*, void* address) {
 -  __libc_free(address);
 +  __free(address);
  }
  
- }  // namespace
+ size_t GlibcGetSizeEstimate(const AllocatorDispatch*, void* address) {
diff --git a/chromium-new/patches/patch-base_allocator_allocator__shim__override__libc__symbols.h b/chromium-new/patches/patch-base_allocator_allocator__shim__override__libc__symbols.h
index d8b3ac36df..3d25ada194 100644
--- a/chromium-new/patches/patch-base_allocator_allocator__shim__override__libc__symbols.h
+++ b/chromium-new/patches/patch-base_allocator_allocator__shim__override__libc__symbols.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/allocator/allocator_shim_override_libc_symbols.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/allocator/allocator_shim_override_libc_symbols.h.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/allocator/allocator_shim_override_libc_symbols.h
 @@ -10,7 +10,7 @@
  #endif
diff --git a/chromium-new/patches/patch-base_allocator_allocator__shim__unittest.cc b/chromium-new/patches/patch-base_allocator_allocator__shim__unittest.cc
index a93a1908d6..1ff9951ac2 100644
--- a/chromium-new/patches/patch-base_allocator_allocator__shim__unittest.cc
+++ b/chromium-new/patches/patch-base_allocator_allocator__shim__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/allocator/allocator_shim_unittest.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/allocator/allocator_shim_unittest.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/allocator/allocator_shim_unittest.cc
 @@ -4,7 +4,6 @@
  
diff --git a/chromium-new/patches/patch-base_base__paths__posix.cc b/chromium-new/patches/patch-base_base__paths__posix.cc
index 10d45412ec..224ab5238b 100644
--- a/chromium-new/patches/patch-base_base__paths__posix.cc
+++ b/chromium-new/patches/patch-base_base__paths__posix.cc
@@ -7,7 +7,7 @@ $NetBSD$
  #include "build/build_config.h"
  
 -#if defined(OS_FREEBSD)
-+#if defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_BSD)
  #include <sys/param.h>
  #include <sys/sysctl.h>
 +#include <unistd.h>
diff --git a/chromium-new/patches/patch-base_debug_proc__maps__linux.cc b/chromium-new/patches/patch-base_debug_proc__maps__linux.cc
index 1059498bec..02fc4d39c0 100644
--- a/chromium-new/patches/patch-base_debug_proc__maps__linux.cc
+++ b/chromium-new/patches/patch-base_debug_proc__maps__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/debug/proc_maps_linux.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/debug/proc_maps_linux.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/debug/proc_maps_linux.cc
 @@ -12,7 +12,7 @@
  #include "base/strings/string_split.h"
diff --git a/chromium-new/patches/patch-base_debug_stack__trace__posix.cc b/chromium-new/patches/patch-base_debug_stack__trace__posix.cc
index de7f6bc46b..d9ff487d23 100644
--- a/chromium-new/patches/patch-base_debug_stack__trace__posix.cc
+++ b/chromium-new/patches/patch-base_debug_stack__trace__posix.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/debug/stack_trace_posix.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/debug/stack_trace_posix.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/debug/stack_trace_posix.cc
 @@ -571,6 +571,10 @@ class SandboxSymbolizeHelper {
    // for the modules that are loaded in the current process.
diff --git a/chromium-new/patches/patch-base_debug_thread__heap__usage__tracker.cc b/chromium-new/patches/patch-base_debug_thread__heap__usage__tracker.cc
new file mode 100644
index 0000000000..8bf244053e
--- /dev/null
+++ b/chromium-new/patches/patch-base_debug_thread__heap__usage__tracker.cc
@@ -0,0 +1,18 @@
+$NetBSD$
+
+--- base/debug/thread_heap_usage_tracker.cc.orig	2017-02-02 02:02:47.000000000 +0000
++++ base/debug/thread_heap_usage_tracker.cc
+@@ -14,11 +14,13 @@
+ #include "base/threading/thread_local_storage.h"
+ #include "build/build_config.h"
+ 
++#if !defined(OS_BSD)
+ #if defined(OS_MACOSX) || defined(OS_IOS)
+ #include <malloc/malloc.h>
+ #else
+ #include <malloc.h>
+ #endif
++#endif
+ 
+ namespace base {
+ namespace debug {
diff --git a/chromium-new/patches/patch-base_files_file__path__unittest.cc b/chromium-new/patches/patch-base_files_file__path__unittest.cc
index 45c74318f0..8b7b61c55f 100644
--- a/chromium-new/patches/patch-base_files_file__path__unittest.cc
+++ b/chromium-new/patches/patch-base_files_file__path__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/files/file_path_unittest.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/files/file_path_unittest.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/files/file_path_unittest.cc
 @@ -1133,7 +1133,7 @@ TEST_F(FilePathTest, FromUTF8Unsafe_And_
        "\xEF\xBC\xA1\xEF\xBC\xA2\xEF\xBC\xA3.txt" },
diff --git a/chromium-new/patches/patch-base_files_file__path__watcher__kqueue.h b/chromium-new/patches/patch-base_files_file__path__watcher__kqueue.h
index 6f37da6a75..de2451c2be 100644
--- a/chromium-new/patches/patch-base_files_file__path__watcher__kqueue.h
+++ b/chromium-new/patches/patch-base_files_file__path__watcher__kqueue.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/files/file_path_watcher_kqueue.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/files/file_path_watcher_kqueue.h.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/files/file_path_watcher_kqueue.h
 @@ -5,6 +5,10 @@
  #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_
@@ -11,5 +11,5 @@ $NetBSD$
 +#include <sys/types.h>
 +#endif
  #include <sys/event.h>
- #include <vector>
  
+ #include <memory>
diff --git a/chromium-new/patches/patch-base_files_file__util.h b/chromium-new/patches/patch-base_files_file__util.h
index 9c856617b1..6adc59f702 100644
--- a/chromium-new/patches/patch-base_files_file__util.h
+++ b/chromium-new/patches/patch-base_files_file__util.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- base/files/file_util.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/files/file_util.h.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/files/file_util.h
-@@ -397,7 +397,7 @@ BASE_EXPORT bool VerifyPathControlledByA
+@@ -404,7 +404,7 @@ BASE_EXPORT bool VerifyPathControlledByA
  // the directory |path|, in the number of FilePath::CharType, or -1 on failure.
  BASE_EXPORT int GetMaximumPathComponentLength(const base::FilePath& path);
  
diff --git a/chromium-new/patches/patch-base_linux__util.cc b/chromium-new/patches/patch-base_linux__util.cc
index 70b74f8d5f..fedfdad949 100644
--- a/chromium-new/patches/patch-base_linux__util.cc
+++ b/chromium-new/patches/patch-base_linux__util.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/linux_util.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/linux_util.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/linux_util.cc
 @@ -110,12 +110,14 @@ char g_linux_distro[kDistroSize] =
      "CrOS";
diff --git a/chromium-new/patches/patch-base_native__library__posix.cc b/chromium-new/patches/patch-base_native__library__posix.cc
index 8545449f80..a787417f72 100644
--- a/chromium-new/patches/patch-base_native__library__posix.cc
+++ b/chromium-new/patches/patch-base_native__library__posix.cc
@@ -1,10 +1,10 @@
 $NetBSD$
 
---- base/native_library_posix.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/native_library_posix.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/native_library_posix.cc
 @@ -35,7 +35,7 @@ NativeLibrary LoadNativeLibraryWithOptio
-   // versions. Crash here to warn developers that they're trying to rely on
-   // uncertain behavior.
+   // further investigation, as it might vary across versions. Crash here to
+   // warn developers that they're trying to rely on uncertain behavior.
    CHECK(!options.prefer_own_symbols);
 -#else
 +#elif !defined(OS_BSD)
diff --git a/chromium-new/patches/patch-base_posix_unix__domain__socket__linux.cc b/chromium-new/patches/patch-base_posix_unix__domain__socket__linux.cc
index 7aa8af664a..1395578e8c 100644
--- a/chromium-new/patches/patch-base_posix_unix__domain__socket__linux.cc
+++ b/chromium-new/patches/patch-base_posix_unix__domain__socket__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/posix/unix_domain_socket_linux.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/posix/unix_domain_socket_linux.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/posix/unix_domain_socket_linux.cc
 @@ -23,6 +23,15 @@
  
diff --git a/chromium-new/patches/patch-base_posix_unix__domain__socket__linux__unittest.cc b/chromium-new/patches/patch-base_posix_unix__domain__socket__linux__unittest.cc
index fa0da4698e..5307336f30 100644
--- a/chromium-new/patches/patch-base_posix_unix__domain__socket__linux__unittest.cc
+++ b/chromium-new/patches/patch-base_posix_unix__domain__socket__linux__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/posix/unix_domain_socket_linux_unittest.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/posix/unix_domain_socket_linux_unittest.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/posix/unix_domain_socket_linux_unittest.cc
 @@ -2,10 +2,15 @@
  // Use of this source code is governed by a BSD-style license that can be
diff --git a/chromium-new/patches/patch-base_process_internal__linux.h b/chromium-new/patches/patch-base_process_internal__linux.h
index 94bac7f446..726368b225 100644
--- a/chromium-new/patches/patch-base_process_internal__linux.h
+++ b/chromium-new/patches/patch-base_process_internal__linux.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/internal_linux.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/internal_linux.h.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/internal_linux.h
 @@ -14,6 +14,8 @@
  
diff --git a/chromium-new/patches/patch-base_process_launch.cc b/chromium-new/patches/patch-base_process_launch.cc
index 86d9b086ab..58d2e42ffd 100644
--- a/chromium-new/patches/patch-base_process_launch.cc
+++ b/chromium-new/patches/patch-base_process_launch.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/launch.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/launch.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/launch.cc
 @@ -15,7 +15,7 @@ LaunchOptions::~LaunchOptions() = defaul
  
diff --git a/chromium-new/patches/patch-base_process_launch.h b/chromium-new/patches/patch-base_process_launch.h
index f2c3c8a735..758ce9c67a 100644
--- a/chromium-new/patches/patch-base_process_launch.h
+++ b/chromium-new/patches/patch-base_process_launch.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/launch.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/launch.h.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/launch.h
 @@ -138,7 +138,7 @@ struct BASE_EXPORT LaunchOptions {
    // will be the same as its pid.
@@ -19,4 +19,4 @@ $NetBSD$
 +#endif  // defined(OS_LINUX) || defined(OS_BSD)
  
  #if defined(OS_POSIX)
-   // If non-null, a delegate to be run immediately prior to executing the new
+   // If not empty, launch the specified executable instead of
diff --git a/chromium-new/patches/patch-base_process_launch__posix.cc b/chromium-new/patches/patch-base_process_launch__posix.cc
index ed0aaef312..8bac342272 100644
--- a/chromium-new/patches/patch-base_process_launch__posix.cc
+++ b/chromium-new/patches/patch-base_process_launch__posix.cc
@@ -1,13 +1,21 @@
 $NetBSD$
 
---- base/process/launch_posix.cc.orig	2016-11-16 08:03:06.053219341 +0000
+--- base/process/launch_posix.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/launch_posix.cc
-@@ -215,6 +215,8 @@ static const char kFDDir[] = "/dev/fd";
+@@ -64,6 +64,7 @@
+ #include "base/feature_list.h"
+ #else
+ extern char** environ;
++#pragma weak environ
+ #endif
+ 
+ namespace base {
+@@ -219,6 +220,8 @@ static const char kFDDir[] = "/dev/fd";
  static const char kFDDir[] = "/dev/fd";
- #elif defined(OS_OPENBSD)
+ #elif defined(OS_FREEBSD)
  static const char kFDDir[] = "/dev/fd";
 +#elif defined(OS_NETBSD)
 +static const char kFDDir[] = "/dev/fd";
+ #elif defined(OS_OPENBSD)
+ static const char kFDDir[] = "/dev/fd";
  #elif defined(OS_ANDROID)
- static const char kFDDir[] = "/proc/self/fd";
- #endif
diff --git a/chromium-new/patches/patch-base_process_memory.h b/chromium-new/patches/patch-base_process_memory.h
index 9a24fcc7c6..c835e6d423 100644
--- a/chromium-new/patches/patch-base_process_memory.h
+++ b/chromium-new/patches/patch-base_process_memory.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/memory.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/memory.h.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/memory.h
 @@ -32,7 +32,7 @@ BASE_EXPORT void EnableTerminationOnOutO
  // Crash reporting classifies such crashes as OOM.
diff --git a/chromium-new/patches/patch-base_process_memory__stubs.cc b/chromium-new/patches/patch-base_process_memory__stubs.cc
index 03f37ddaa1..d37b9a0b61 100644
--- a/chromium-new/patches/patch-base_process_memory__stubs.cc
+++ b/chromium-new/patches/patch-base_process_memory__stubs.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/memory_stubs.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/memory_stubs.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/memory_stubs.cc
 @@ -31,6 +31,8 @@ void TerminateBecauseOutOfMemory(size_t 
  // their respective stdlib function since those functions will return null on a
diff --git a/chromium-new/patches/patch-base_process_memory__unittest.cc b/chromium-new/patches/patch-base_process_memory__unittest.cc
index 7bdf0231c9..e8bd922e6c 100644
--- a/chromium-new/patches/patch-base_process_memory__unittest.cc
+++ b/chromium-new/patches/patch-base_process_memory__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/memory_unittest.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/memory_unittest.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/memory_unittest.cc
 @@ -82,10 +82,10 @@ TEST(MemoryTest, AllocatorShimWorking) {
    ASSERT_TRUE(base::allocator::IsAllocatorInitialized());
diff --git a/chromium-new/patches/patch-base_process_process__handle__freebsd.cc b/chromium-new/patches/patch-base_process_process__handle__freebsd.cc
index b2b86a29b6..80ed602a2e 100644
--- a/chromium-new/patches/patch-base_process_process__handle__freebsd.cc
+++ b/chromium-new/patches/patch-base_process_process__handle__freebsd.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/process_handle_freebsd.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/process_handle_freebsd.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/process_handle_freebsd.cc
 @@ -16,7 +16,7 @@ namespace base {
  
diff --git a/chromium-new/patches/patch-base_process_process__iterator__freebsd.cc b/chromium-new/patches/patch-base_process_process__iterator__freebsd.cc
index 7c5daceafc..d0a01fcde8 100644
--- a/chromium-new/patches/patch-base_process_process__iterator__freebsd.cc
+++ b/chromium-new/patches/patch-base_process_process__iterator__freebsd.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/process_iterator_freebsd.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/process_iterator_freebsd.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/process_iterator_freebsd.cc
 @@ -10,6 +10,10 @@
  #include <sys/sysctl.h>
diff --git a/chromium-new/patches/patch-base_process_process__metrics.h b/chromium-new/patches/patch-base_process_process__metrics.h
index e775740f59..e6404b3051 100644
--- a/chromium-new/patches/patch-base_process_process__metrics.h
+++ b/chromium-new/patches/patch-base_process_process__metrics.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/process_metrics.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/process_metrics.h.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/process_metrics.h
 @@ -22,6 +22,12 @@
  #include "base/values.h"
@@ -21,7 +21,7 @@ $NetBSD$
  BASE_EXPORT int ParseProcStatCPU(const std::string& input);
 +#endif
  
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
  // Get the number of threads of |process| as available in /proc/<pid>/stat.
  // This should be used with care as no synchronization with running threads is
  // done. This is mostly useful to guarantee being single-threaded.
diff --git a/chromium-new/patches/patch-base_process_process__metrics__freebsd.cc b/chromium-new/patches/patch-base_process_process__metrics__freebsd.cc
index 5030c0fcf3..982d01b66f 100644
--- a/chromium-new/patches/patch-base_process_process__metrics__freebsd.cc
+++ b/chromium-new/patches/patch-base_process_process__metrics__freebsd.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/process_metrics_freebsd.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/process_metrics_freebsd.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/process_metrics_freebsd.cc
 @@ -13,6 +13,9 @@
  #include "base/memory/ptr_util.h"
diff --git a/chromium-new/patches/patch-base_process_process__metrics__posix.cc b/chromium-new/patches/patch-base_process_process__metrics__posix.cc
deleted file mode 100644
index 7de1916c24..0000000000
--- a/chromium-new/patches/patch-base_process_process__metrics__posix.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- base/process/process_metrics_posix.cc.orig	2016-11-10 20:02:09.000000000 +0000
-+++ base/process/process_metrics_posix.cc
-@@ -33,6 +33,8 @@ static const rlim_t kSystemDefaultMaxFds
- static const rlim_t kSystemDefaultMaxFds = 8192;
- #elif defined(OS_FREEBSD)
- static const rlim_t kSystemDefaultMaxFds = 8192;
-+#elif defined(OS_NETBSD)
-+static const rlim_t kSystemDefaultMaxFds = 1024;
- #elif defined(OS_OPENBSD)
- static const rlim_t kSystemDefaultMaxFds = 256;
- #elif defined(OS_ANDROID)
diff --git a/chromium-new/patches/patch-base_process_process__posix.cc b/chromium-new/patches/patch-base_process_process__posix.cc
index 6c986a89ce..4df01352bd 100644
--- a/chromium-new/patches/patch-base_process_process__posix.cc
+++ b/chromium-new/patches/patch-base_process_process__posix.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/process/process_posix.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/process/process_posix.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/process/process_posix.cc
 @@ -21,8 +21,18 @@
  #include <sys/event.h>
@@ -26,7 +26,7 @@ $NetBSD$
    base::ProcessHandle our_pid = base::GetCurrentProcessHandle();
    if (parent_pid != our_pid) {
 -#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
++#if defined(OS_MACOSX) || defined(OS_FREEBSD)
      // On Mac we can wait on non child processes.
 -    return WaitForSingleNonChildProcess(handle, timeout);
 +    /* return WaitForSingleNonChildProcess(handle, timeout); */
@@ -34,7 +34,7 @@ $NetBSD$
      // Currently on Linux we can't handle non child processes.
      NOTIMPLEMENTED();
 -#endif  // OS_MACOSX
-+#endif  // OS_MACOSX || OS_BSD
++#endif  // OS_MACOSX || OS_FREEBSD
    }
  
    int status;
@@ -42,18 +42,18 @@ $NetBSD$
    return Process(handle);
  }
  
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_FREEBSD)
+-#if !defined(OS_LINUX) && !defined(OS_MACOSX)
++#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_FREEBSD)
  // static
  bool Process::CanBackgroundProcesses() {
    return false;
  }
--#endif  // !defined(OS_LINUX)
+-#endif  // !defined(OS_LINUX) && !defined(OS_MACOSX)
 +#elif defined(OS_FREEBSD)
 +bool Process::CanBackgroundProcesses() {
 +  return true;
 +}
-+#endif  // !defined(OS_LINUX) && !defined(OS_FREEBSD)
++#endif  // !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_FREEBSD)
  
  bool Process::IsValid() const {
    return process_ != kNullProcessHandle;
@@ -70,9 +70,9 @@ $NetBSD$
  
  bool Process::SetProcessBackgrounded(bool value) {
 +#if !defined(OS_FREEBSD)
-   // Not implemented for POSIX systems other than Linux. With POSIX, if we were
-   // to lower the process priority we wouldn't be able to raise it back to its
-   // initial priority.
+   // Not implemented for POSIX systems other than Linux and Mac. With POSIX, if
+   // we were to lower the process priority we wouldn't be able to raise it back
+   // to its initial priority.
    NOTIMPLEMENTED();
    return false;
 +#else
@@ -88,5 +88,5 @@ $NetBSD$
 +  return result == 0;
 +#endif // !defined(OS_FREEBSD)
  }
- #endif  // !defined(OS_LINUX)
+ #endif  // !defined(OS_LINUX) && !defined(OS_MACOSX)
  
diff --git a/chromium-new/patches/patch-base_profiler_stack__sampling__profiler__unittest.cc b/chromium-new/patches/patch-base_profiler_stack__sampling__profiler__unittest.cc
index 4a61ed3d65..c927332ebf 100644
--- a/chromium-new/patches/patch-base_profiler_stack__sampling__profiler__unittest.cc
+++ b/chromium-new/patches/patch-base_profiler_stack__sampling__profiler__unittest.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- base/profiler/stack_sampling_profiler_unittest.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/profiler/stack_sampling_profiler_unittest.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/profiler/stack_sampling_profiler_unittest.cc
-@@ -30,7 +30,7 @@
+@@ -31,7 +31,7 @@
  #include <intrin.h>
  #include <malloc.h>
  #include <windows.h>
diff --git a/chromium-new/patches/patch-base_security__unittest.cc b/chromium-new/patches/patch-base_security__unittest.cc
index 9e8c4eba5d..dc620b46aa 100644
--- a/chromium-new/patches/patch-base_security__unittest.cc
+++ b/chromium-new/patches/patch-base_security__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/security_unittest.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/security_unittest.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/security_unittest.cc
 @@ -74,7 +74,7 @@ bool IsTcMallocBypassed() {
  // FAILS_ is too clunky.
diff --git a/chromium-new/patches/patch-base_strings_safe__sprintf.cc b/chromium-new/patches/patch-base_strings_safe__sprintf.cc
deleted file mode 100644
index 17de77cda4..0000000000
--- a/chromium-new/patches/patch-base_strings_safe__sprintf.cc
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
---- base/strings/safe_sprintf.cc.orig	2016-11-10 20:02:09.000000000 +0000
-+++ base/strings/safe_sprintf.cc
-@@ -115,8 +115,11 @@ class Buffer {
-         count_(0) {
- // MSVS2013's standard library doesn't mark max() as constexpr yet. cl.exe
- // supports static_cast but doesn't really implement constexpr yet so it doesn't
--// complain, but clang does.
--#if __cplusplus >= 201103 && !(defined(__clang__) && defined(OS_WIN))
-+// complain, but clang does. Older FreeBSD (<10) use libstdc++4.2, which
-+// doesn't mark numeric_limits::max() as constexp.
-+#if __cplusplus >= 201103 && \
-+	!(defined(OS_FREEBSD) && __FreeBSD_version > 1000054) && \
-+	!(defined(__clang__) && defined(OS_WIN))
-     static_assert(kSSizeMaxConst ==
-                       static_cast<size_t>(std::numeric_limits<ssize_t>::max()),
-                   "kSSizeMaxConst should be the max value of an ssize_t");
diff --git a/chromium-new/patches/patch-base_sys__info__freebsd.cc b/chromium-new/patches/patch-base_sys__info__freebsd.cc
index 615d006cfc..dbb9c8fc7b 100644
--- a/chromium-new/patches/patch-base_sys__info__freebsd.cc
+++ b/chromium-new/patches/patch-base_sys__info__freebsd.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/sys_info_freebsd.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/sys_info_freebsd.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/sys_info_freebsd.cc
 @@ -12,12 +12,34 @@
  
diff --git a/chromium-new/patches/patch-base_sys__info__posix.cc b/chromium-new/patches/patch-base_sys__info__posix.cc
index fb5bf7f8fa..08b7902bad 100644
--- a/chromium-new/patches/patch-base_sys__info__posix.cc
+++ b/chromium-new/patches/patch-base_sys__info__posix.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/sys_info_posix.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/sys_info_posix.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/sys_info_posix.cc
 @@ -35,7 +35,7 @@
  
diff --git a/chromium-new/patches/patch-base_test_BUILD.gn b/chromium-new/patches/patch-base_test_BUILD.gn
index 9b3c0eebf1..a66376d19b 100644
--- a/chromium-new/patches/patch-base_test_BUILD.gn
+++ b/chromium-new/patches/patch-base_test_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- base/test/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/test/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/test/BUILD.gn
-@@ -302,7 +302,7 @@ static_library("run_all_base_unittests")
+@@ -303,7 +303,7 @@ static_library("run_all_base_unittests")
    ]
  }
  
diff --git a/chromium-new/patches/patch-base_test_launcher_test__launcher.cc b/chromium-new/patches/patch-base_test_launcher_test__launcher.cc
index b121717701..1f4993adc8 100644
--- a/chromium-new/patches/patch-base_test_launcher_test__launcher.cc
+++ b/chromium-new/patches/patch-base_test_launcher_test__launcher.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- base/test/launcher/test_launcher.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/test/launcher/test_launcher.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/test/launcher/test_launcher.cc
-@@ -55,6 +55,10 @@
+@@ -59,6 +59,10 @@
  #include "base/win/windows_version.h"
  #endif
  
diff --git a/chromium-new/patches/patch-base_test_test__file__util__posix.cc b/chromium-new/patches/patch-base_test_test__file__util__posix.cc
index 5b7152e951..3bc8f71820 100644
--- a/chromium-new/patches/patch-base_test_test__file__util__posix.cc
+++ b/chromium-new/patches/patch-base_test_test__file__util__posix.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/test/test_file_util_posix.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/test/test_file_util_posix.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/test/test_file_util_posix.cc
 @@ -79,7 +79,7 @@ bool DieFileDie(const FilePath& file, bo
    return DeleteFile(file, recurse);
diff --git a/chromium-new/patches/patch-base_third__party_libevent_BUILD.gn b/chromium-new/patches/patch-base_third__party_libevent_BUILD.gn
index ea945a7e8e..68cd0d1fbe 100644
--- a/chromium-new/patches/patch-base_third__party_libevent_BUILD.gn
+++ b/chromium-new/patches/patch-base_third__party_libevent_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/third_party/libevent/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/third_party/libevent/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/third_party/libevent/BUILD.gn
 @@ -29,6 +29,12 @@ static_library("libevent") {
    } else if (is_linux) {
diff --git a/chromium-new/patches/patch-base_threading_platform__thread.h b/chromium-new/patches/patch-base_threading_platform__thread.h
new file mode 100644
index 0000000000..02180f7b48
--- /dev/null
+++ b/chromium-new/patches/patch-base_threading_platform__thread.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- base/threading/platform_thread.h.orig	2017-02-02 02:02:47.000000000 +0000
++++ base/threading/platform_thread.h
+@@ -205,7 +205,7 @@ class BASE_EXPORT PlatformThread {
+ 
+   static ThreadPriority GetCurrentThreadPriority();
+ 
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+   // Toggles a specific thread's priority at runtime. This can be used to
+   // change the priority of a thread in a different process and will fail
+   // if the calling process does not have proper permissions. The
diff --git a/chromium-new/patches/patch-base_threading_platform__thread__linux.cc b/chromium-new/patches/patch-base_threading_platform__thread__linux.cc
new file mode 100644
index 0000000000..a3756c880e
--- /dev/null
+++ b/chromium-new/patches/patch-base_threading_platform__thread__linux.cc
@@ -0,0 +1,32 @@
+$NetBSD$
+
+--- base/threading/platform_thread_linux.cc.orig	2017-02-02 02:02:47.000000000 +0000
++++ base/threading/platform_thread_linux.cc
+@@ -19,7 +19,9 @@
+ 
+ #if !defined(OS_NACL)
+ #include <pthread.h>
++#if !defined(OS_BSD)
+ #include <sys/prctl.h>
++#endif
+ #include <sys/resource.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+@@ -130,7 +132,7 @@ void PlatformThread::SetName(const std::
+   ThreadIdNameManager::GetInstance()->SetName(CurrentId(), name);
+   tracked_objects::ThreadData::InitializeThreadContext(name);
+ 
+-#if !defined(OS_NACL)
++#if !defined(OS_NACL) && !defined(OS_BSD)
+   // On linux we can get the thread names to show up in the debugger by setting
+   // the process name for the LWP.  We don't want to do this for the main
+   // thread because that would rename the process, causing tools like killall
+@@ -150,7 +152,7 @@ void PlatformThread::SetName(const std::
+ #endif  //  !defined(OS_NACL)
+ }
+ 
+-#if !defined(OS_NACL)
++#if !defined(OS_NACL) && !defined(OS_BSD)
+ // static
+ void PlatformThread::SetThreadPriority(PlatformThreadId thread_id,
+                                        ThreadPriority priority) {
diff --git a/chromium-new/patches/patch-base_threading_platform__thread__posix.cc b/chromium-new/patches/patch-base_threading_platform__thread__posix.cc
index c9322b5c89..61c65bbe19 100644
--- a/chromium-new/patches/patch-base_threading_platform__thread__posix.cc
+++ b/chromium-new/patches/patch-base_threading_platform__thread__posix.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/threading/platform_thread_posix.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/threading/platform_thread_posix.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/threading/platform_thread_posix.cc
 @@ -56,7 +56,7 @@ void* ThreadFunc(void* params) {
      if (!thread_params->joinable)
diff --git a/chromium-new/patches/patch-base_trace__event_malloc__dump__provider.cc b/chromium-new/patches/patch-base_trace__event_malloc__dump__provider.cc
index ae2074fea1..7c6e062a4d 100644
--- a/chromium-new/patches/patch-base_trace__event_malloc__dump__provider.cc
+++ b/chromium-new/patches/patch-base_trace__event_malloc__dump__provider.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- base/trace_event/malloc_dump_provider.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/trace_event/malloc_dump_provider.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/trace_event/malloc_dump_provider.cc
-@@ -20,7 +20,7 @@
+@@ -21,7 +21,7 @@
  #if defined(OS_MACOSX)
  #include <malloc/malloc.h>
  #else
diff --git a/chromium-new/patches/patch-base_trace__event_process__memory__dump.cc b/chromium-new/patches/patch-base_trace__event_process__memory__dump.cc
index 82d152115e..ffaa0feb1f 100644
--- a/chromium-new/patches/patch-base_trace__event_process__memory__dump.cc
+++ b/chromium-new/patches/patch-base_trace__event_process__memory__dump.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- base/trace_event/process_memory_dump.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/trace_event/process_memory_dump.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/trace_event/process_memory_dump.cc
-@@ -89,7 +89,7 @@ size_t ProcessMemoryDump::CountResidentB
+@@ -83,7 +83,7 @@ size_t ProcessMemoryDump::CountResidentB
    const size_t kMaxChunkSize = 8 * 1024 * 1024;
    size_t max_vec_size =
        GetSystemPageCount(std::min(mapped_size, kMaxChunkSize), page_size);
diff --git a/chromium-new/patches/patch-base_trace__event_process__memory__dump.h b/chromium-new/patches/patch-base_trace__event_process__memory__dump.h
index dddbc27563..fbeb7af248 100644
--- a/chromium-new/patches/patch-base_trace__event_process__memory__dump.h
+++ b/chromium-new/patches/patch-base_trace__event_process__memory__dump.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- base/trace_event/process_memory_dump.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- base/trace_event/process_memory_dump.h.orig	2017-02-02 02:02:47.000000000 +0000
 +++ base/trace_event/process_memory_dump.h
 @@ -24,7 +24,7 @@
  
diff --git a/chromium-new/patches/patch-breakpad_BUILD.gn b/chromium-new/patches/patch-breakpad_BUILD.gn
index 3e9132f589..ff2c8d6086 100644
--- a/chromium-new/patches/patch-breakpad_BUILD.gn
+++ b/chromium-new/patches/patch-breakpad_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- breakpad/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- breakpad/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ breakpad/BUILD.gn
-@@ -433,7 +433,7 @@ if (is_mac) {
+@@ -468,7 +468,7 @@ if (is_mac) {
    }
  }
  
@@ -11,13 +11,3 @@ $NetBSD$
    if (current_toolchain == host_toolchain) {
      executable("symupload") {
        sources = [
-@@ -451,7 +451,9 @@ if (is_linux || is_android) {
- 
-       configs += [ ":tools_config" ]
- 
-+    if (is_linux || is_android) {
-       libs = [ "dl" ]
-+    }
- 
-       deps = [
-         "//build/config/sanitizers:deps",
diff --git a/chromium-new/patches/patch-build_config_BUILD.gn b/chromium-new/patches/patch-build_config_BUILD.gn
index 44183d2eff..7560cac93c 100644
--- a/chromium-new/patches/patch-build_config_BUILD.gn
+++ b/chromium-new/patches/patch-build_config_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- build/config/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/BUILD.gn
-@@ -297,7 +297,7 @@ config("debug") {
+@@ -224,7 +224,7 @@ config("debug") {
        # builds, and we have to tell it to turn it off.
        defines += [ "_HAS_ITERATOR_DEBUGGING=0" ]
      }
@@ -11,7 +11,7 @@ $NetBSD$
      # 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?
-@@ -411,7 +411,7 @@ config("executable_config") {
+@@ -338,7 +338,7 @@ config("executable_config") {
      ]
    } else if (is_ios) {
      configs += [ "//build/config/ios:ios_dynamic_flags" ]
diff --git a/chromium-new/patches/patch-build_config_BUILDCONFIG.gn b/chromium-new/patches/patch-build_config_BUILDCONFIG.gn
index b109356dfd..5477c57ca1 100644
--- a/chromium-new/patches/patch-build_config_BUILDCONFIG.gn
+++ b/chromium-new/patches/patch-build_config_BUILDCONFIG.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/config/BUILDCONFIG.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/BUILDCONFIG.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/BUILDCONFIG.gn
 @@ -134,12 +134,13 @@ declare_args() {
    is_debug = !is_official_build
@@ -31,7 +31,7 @@ $NetBSD$
        # it for both the target build *and* the host build. Do we need to
 @@ -220,7 +221,7 @@ if (target_os == "android") {
    } else {
-     _default_toolchain = "//build/toolchain/android:$target_cpu"
+     _default_toolchain = "//build/toolchain/android:android_$target_cpu"
    }
 -} else if (target_os == "chromeos" || target_os == "linux") {
 +} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd" || target_os == "netbsd" || target_os == "openbsd") {
diff --git a/chromium-new/patches/patch-build_config_allocator.gni b/chromium-new/patches/patch-build_config_allocator.gni
index 19598dd72b..2669e67f80 100644
--- a/chromium-new/patches/patch-build_config_allocator.gni
+++ b/chromium-new/patches/patch-build_config_allocator.gni
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/config/allocator.gni.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/allocator.gni.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/allocator.gni
 @@ -44,7 +44,7 @@ assert(use_allocator == "none" || use_al
  assert(!is_win || use_allocator == "none", "Tcmalloc doesn't work on Windows.")
diff --git a/chromium-new/patches/patch-build_config_clang_BUILD.gn b/chromium-new/patches/patch-build_config_clang_BUILD.gn
index 15b332f8d6..d7056a4c4b 100644
--- a/chromium-new/patches/patch-build_config_clang_BUILD.gn
+++ b/chromium-new/patches/patch-build_config_clang_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/config/clang/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/clang/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/clang/BUILD.gn
 @@ -20,7 +20,7 @@ config("find_bad_constructs") {
          rebase_path("${clang_base_path}/lib/libFindBadConstructs.dylib",
@@ -11,8 +11,8 @@ $NetBSD$
        cflags += [
          "-Xclang",
          "-load",
-@@ -49,7 +49,7 @@ config("find_bad_constructs") {
-       "enforce-in-pdf",
+@@ -37,7 +37,7 @@ config("find_bad_constructs") {
+       "find-bad-constructs",
      ]
  
 -    if ((is_linux || is_android) && !is_chromecast) {
diff --git a/chromium-new/patches/patch-build_config_compiler_BUILD.gn b/chromium-new/patches/patch-build_config_compiler_BUILD.gn
index bb5ae17f89..6230206a05 100644
--- a/chromium-new/patches/patch-build_config_compiler_BUILD.gn
+++ b/chromium-new/patches/patch-build_config_compiler_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- build/config/compiler/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/compiler/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/compiler/BUILD.gn
-@@ -141,7 +141,7 @@ config("compiler") {
+@@ -150,7 +150,7 @@ config("compiler") {
      configs += [ "//build/config/win:compiler" ]
    } else if (is_android) {
      configs += [ "//build/config/android:compiler" ]
@@ -11,7 +11,7 @@ $NetBSD$
      configs += [ "//build/config/linux:compiler" ]
    } else if (is_nacl) {
      configs += [ "//build/config/nacl:compiler" ]
-@@ -271,7 +271,7 @@ config("compiler") {
+@@ -277,7 +277,7 @@ config("compiler") {
  
    # Linux/Android common flags setup.
    # ---------------------------------
@@ -20,7 +20,7 @@ $NetBSD$
      cflags += [
        "-fPIC",
        "-pipe",  # Use pipes for communicating between sub-processes. Faster.
-@@ -376,14 +376,14 @@ config("compiler") {
+@@ -401,14 +401,14 @@ config("compiler") {
    # clang-cl (used if is_win) doesn't expose this flag.
    # Currently disabled for nacl since its toolchain lacks this flag (too old).
    # TODO(zforman): Once nacl's toolchain is updated, remove check.
@@ -37,16 +37,16 @@ $NetBSD$
      # gnu++11 instead of c++11 is needed because some code uses typeof() (a
      # GNU extension).
      # TODO(thakis): Eventually switch this to c++11 instead,
-@@ -441,7 +441,7 @@ config("compiler") {
-     ldflags += [ "-flto" ]
+@@ -458,7 +458,7 @@ config("compiler") {
+       ]
  
-     # Apply a lower LTO optimization level as the default is too slow.
--    if (is_linux) {
-+    if (is_linux || is_bsd) {
-       if (use_lld) {
-         ldflags += [ "-Wl,--lto-O1" ]
-       } else {
-@@ -460,7 +460,7 @@ config("compiler") {
+       # Apply a lower LTO optimization level as the default is too slow.
+-      if (is_linux) {
++      if (is_linux || is_bsd) {
+         if (use_lld) {
+           ldflags += [ "-Wl,--lto-O1" ]
+         } else {
+@@ -478,7 +478,7 @@ config("compiler") {
      # targeting ARM, without this flag, LTO produces a .text section that is
      # larger than the maximum call displacement, preventing the linker from
      # relocating calls (http://llvm.org/PR22999).
@@ -54,8 +54,8 @@ $NetBSD$
 +    if (is_linux || is_bsd) {
        ldflags += [ "-Wl,-plugin-opt,-function-sections" ]
      }
- 
-@@ -738,7 +738,7 @@ config("compiler_codegen") {
+   }
+@@ -742,7 +742,7 @@ config("compiler_codegen") {
  #   configs -= [ "//build/config/compiler:clang_stackrealign" ]
  # See https://crbug.com/556393 for details of where it must be avoided.
  config("clang_stackrealign") {
@@ -64,7 +64,7 @@ $NetBSD$
      cflags = [
        # Align the stack on 16-byte boundaries, http://crbug.com/418554.
        "-mstack-alignment=16",
-@@ -773,7 +773,7 @@ config("runtime_library") {
+@@ -788,7 +788,7 @@ config("runtime_library") {
    # smaller.
    if (is_win) {
      configs += [ "//build/config/win:runtime_library" ]
@@ -73,7 +73,7 @@ $NetBSD$
      configs += [ "//build/config/linux:runtime_library" ]
    } else if (is_ios) {
      configs += [ "//build/config/ios:runtime_library" ]
-@@ -1032,7 +1032,7 @@ config("default_warnings") {
+@@ -1038,7 +1038,7 @@ config("default_warnings") {
          "-Wno-nonportable-include-path",
  
          # TODO(hans): https://crbug.com/637306
@@ -82,7 +82,7 @@ $NetBSD$
        ]
      }
    }
-@@ -1064,7 +1064,7 @@ config("chromium_code") {
+@@ -1070,7 +1070,7 @@ config("chromium_code") {
      ]
  
      if (!is_debug && !using_sanitizer &&
@@ -91,7 +91,7 @@ $NetBSD$
        # _FORTIFY_SOURCE isn't really supported by Clang now, see
        # http://llvm.org/bugs/show_bug.cgi?id=16821.
        # It seems to work fine with Ubuntu 12 headers though, so use it in
-@@ -1124,7 +1124,7 @@ config("no_chromium_code") {
+@@ -1128,7 +1128,7 @@ config("no_chromium_code") {
      ]
    }
  
diff --git a/chromium-new/patches/patch-build_config_crypto.gni b/chromium-new/patches/patch-build_config_crypto.gni
index 8d21ffb2da..c48b169e59 100644
--- a/chromium-new/patches/patch-build_config_crypto.gni
+++ b/chromium-new/patches/patch-build_config_crypto.gni
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/config/crypto.gni.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/crypto.gni.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/crypto.gni
 @@ -20,4 +20,4 @@ use_openssl_certs = is_android || is_nac
  
diff --git a/chromium-new/patches/patch-build_config_features.gni b/chromium-new/patches/patch-build_config_features.gni
index 161378cba1..c5859dc72d 100644
--- a/chromium-new/patches/patch-build_config_features.gni
+++ b/chromium-new/patches/patch-build_config_features.gni
@@ -1,17 +1,8 @@
 $NetBSD$
 
---- build/config/features.gni.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/features.gni.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/features.gni
-@@ -22,7 +22,7 @@ if (is_android) {
- 
- declare_args() {
-   # Multicast DNS.
--  enable_mdns = is_win || is_linux
-+  enable_mdns = is_win || is_linux || is_bsd
- 
-   enable_extensions = !is_android && !is_ios
-   enable_plugins = (!is_android && !is_ios) || is_chromecast
-@@ -104,13 +104,13 @@ declare_args() {
+@@ -67,13 +67,13 @@ declare_args() {
    # libudev usage. This currently only affects the content layer.
    use_udev = is_linux && !is_chromecast
  
@@ -26,14 +17,5 @@ $NetBSD$
 -  use_gio = is_linux && !is_chromeos && !is_chromecast
 +  use_gio = (is_linux || is_bsd) && !is_chromeos && !is_chromecast
  
-   # Enable basic printing support and UI.
-   enable_basic_printing = !is_chromecast && !is_ios
-@@ -142,7 +142,7 @@ use_minikin_hyphenation = is_android
- 
- # Enables the use of CDMs in pepper plugins.
- enable_pepper_cdms =
--    enable_plugins && (is_linux || is_mac || is_win) && !is_chromecast
-+    enable_plugins && (is_linux || is_bsd || is_mac || is_win) && !is_chromecast
- 
- # The seccomp-bpf sandbox is only supported on five architectures
- # currently.
+   # Whether or not to use external popup menu.
+   use_external_popup_menu = is_android || is_mac
diff --git a/chromium-new/patches/patch-build_config_linux_gtk2_BUILD.gn b/chromium-new/patches/patch-build_config_linux_gtk2_BUILD.gn
index f28ff27db1..4b61c919f9 100644
--- a/chromium-new/patches/patch-build_config_linux_gtk2_BUILD.gn
+++ b/chromium-new/patches/patch-build_config_linux_gtk2_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/config/linux/gtk2/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/linux/gtk2/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/linux/gtk2/BUILD.gn
 @@ -4,7 +4,7 @@
  
diff --git a/chromium-new/patches/patch-build_config_linux_gtk3_BUILD.gn b/chromium-new/patches/patch-build_config_linux_gtk3_BUILD.gn
index 6e071ec1e5..a7f4642a2c 100644
--- a/chromium-new/patches/patch-build_config_linux_gtk3_BUILD.gn
+++ b/chromium-new/patches/patch-build_config_linux_gtk3_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/config/linux/gtk3/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/linux/gtk3/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/linux/gtk3/BUILD.gn
 @@ -4,7 +4,7 @@
  
diff --git a/chromium-new/patches/patch-build_config_linux_pkg-config.py b/chromium-new/patches/patch-build_config_linux_pkg-config.py
index 22d931d9d5..5ccb1ec358 100644
--- a/chromium-new/patches/patch-build_config_linux_pkg-config.py
+++ b/chromium-new/patches/patch-build_config_linux_pkg-config.py
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/config/linux/pkg-config.py.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/linux/pkg-config.py.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/linux/pkg-config.py
 @@ -57,8 +57,12 @@ def SetConfigPath(options):
      print "You must specify an architecture via -a if using a sysroot."
diff --git a/chromium-new/patches/patch-build_config_sanitizers_BUILD.gn b/chromium-new/patches/patch-build_config_sanitizers_BUILD.gn
index 48e65a82c3..4aa5553118 100644
--- a/chromium-new/patches/patch-build_config_sanitizers_BUILD.gn
+++ b/chromium-new/patches/patch-build_config_sanitizers_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- build/config/sanitizers/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/sanitizers/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/sanitizers/BUILD.gn
-@@ -364,7 +364,7 @@ config("lsan_flags") {
+@@ -405,7 +405,7 @@ config("lsan_flags") {
  
  config("msan_flags") {
    if (is_msan) {
@@ -11,7 +11,7 @@ $NetBSD$
      msan_blacklist_path =
          rebase_path("//tools/msan/blacklist.txt", root_build_dir)
      cflags = [
-@@ -377,7 +377,7 @@ config("msan_flags") {
+@@ -418,7 +418,7 @@ config("msan_flags") {
  
  config("tsan_flags") {
    if (is_tsan) {
diff --git a/chromium-new/patches/patch-build_config_sanitizers_sanitizers.gni b/chromium-new/patches/patch-build_config_sanitizers_sanitizers.gni
index 6043ed4908..d28410f5eb 100644
--- a/chromium-new/patches/patch-build_config_sanitizers_sanitizers.gni
+++ b/chromium-new/patches/patch-build_config_sanitizers_sanitizers.gni
@@ -1,15 +1,16 @@
 $NetBSD$
 
---- build/config/sanitizers/sanitizers.gni.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/sanitizers/sanitizers.gni.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/sanitizers/sanitizers.gni
-@@ -53,8 +53,8 @@ declare_args() {
+@@ -54,8 +54,9 @@ declare_args() {
    # See http://clang.llvm.org/docs/ControlFlowIntegrity.html
    #
    # TODO(pcc): Remove this flag if/when CFI is enabled in all official builds.
 -  is_cfi = target_os == "linux" && !is_chromeos && target_cpu == "x64" &&
--           is_chrome_branded && is_official_build
+-           is_chrome_branded && is_official_build && allow_posix_link_time_opt
 +  is_cfi = (target_os == "linux" || target_os == "bsd") && !is_chromeos &&
-+           target_cpu == "x64" && is_chrome_branded && is_official_build
++           target_cpu == "x64" && is_chrome_branded && is_official_build &&
++           allow_posix_link_time_opt
  
    # Enable checks for bad casts: derived cast and unrelated cast.
    # TODO(krasin): remove this, when we're ready to add these checks by default.
diff --git a/chromium-new/patches/patch-build_config_ui.gni b/chromium-new/patches/patch-build_config_ui.gni
index 5681df46c9..3bfc0b95f9 100644
--- a/chromium-new/patches/patch-build_config_ui.gni
+++ b/chromium-new/patches/patch-build_config_ui.gni
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/config/ui.gni.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/config/ui.gni.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/config/ui.gni
 @@ -31,7 +31,7 @@ declare_args() {
  
@@ -20,15 +20,13 @@ $NetBSD$
  
    # Indicates if Wayland display server support is enabled.
    enable_wayland_server = is_chromeos
-@@ -65,19 +65,19 @@ declare_args() {
+@@ -62,17 +62,17 @@ declare_args() {
  
  # Use GPU accelerated cross process image transport by default on linux builds
  # with the Aura window manager.
 -ui_compositor_image_transport = use_aura && is_linux
 +ui_compositor_image_transport = use_aura && (is_linux || is_bsd)
  
- use_default_render_theme = use_aura && !is_android
- 
  # Indicates if the UI toolkit depends on X11.
 -use_x11 = is_linux && !use_ozone
 +use_x11 = (is_linux || is_bsd) && !use_ozone
diff --git a/chromium-new/patches/patch-build_linux_libpci_BUILD.gn b/chromium-new/patches/patch-build_linux_libpci_BUILD.gn
index df40716ca1..9fa53da64b 100644
--- a/chromium-new/patches/patch-build_linux_libpci_BUILD.gn
+++ b/chromium-new/patches/patch-build_linux_libpci_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/linux/libpci/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/linux/libpci/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/linux/libpci/BUILD.gn
 @@ -3,20 +3,36 @@
  # found in the LICENSE file.
diff --git a/chromium-new/patches/patch-build_secondary_third__party_nss_BUILD.gn b/chromium-new/patches/patch-build_secondary_third__party_nss_BUILD.gn
index b9b3b5bf22..89f1d15a7d 100644
--- a/chromium-new/patches/patch-build_secondary_third__party_nss_BUILD.gn
+++ b/chromium-new/patches/patch-build_secondary_third__party_nss_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/secondary/third_party/nss/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/secondary/third_party/nss/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/secondary/third_party/nss/BUILD.gn
 @@ -4,7 +4,7 @@
  
diff --git a/chromium-new/patches/patch-build_toolchain_gcc__toolchain.gni b/chromium-new/patches/patch-build_toolchain_gcc__toolchain.gni
index 17235911f1..89a67cfdd3 100644
--- a/chromium-new/patches/patch-build_toolchain_gcc__toolchain.gni
+++ b/chromium-new/patches/patch-build_toolchain_gcc__toolchain.gni
@@ -1,20 +1,20 @@
 $NetBSD$
 
---- build/toolchain/gcc_toolchain.gni.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/toolchain/gcc_toolchain.gni.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/toolchain/gcc_toolchain.gni
-@@ -10,6 +10,11 @@ import("//build/toolchain/cc_wrapper.gni
+@@ -11,6 +11,11 @@ import("//build/toolchain/cc_wrapper.gni
  import("//build/toolchain/goma.gni")
  import("//build/toolchain/toolchain.gni")
  
 +declare_args() {
-+  extra_cppflags = ""
++  extra_cxxflags = ""
 +  extra_ldflags = ""
 +}
 +
  # This template defines a toolchain for something that works like gcc
  # (including clang).
  #
-@@ -453,14 +458,25 @@ template("clang_toolchain") {
+@@ -482,14 +487,23 @@ template("clang_toolchain") {
    }
  
    gcc_toolchain(target_name) {
@@ -27,14 +27,12 @@ $NetBSD$
 -    ar = "${toolprefix}ar"
 -    nm = "${toolprefix}nm"
 +    if (is_bsd) {
-+      cc = "@PREFIX@/bin/clang"
-+      #assert(cc != "", "CC env must me set with >= clang")
-+      cxx = "@PREFIX@/bin/clang++"
-+      #assert(cxx != "", "CXX env must me set with >= clang++")
++      cc = "${toolprefix}clang39"
++      cxx = "${toolprefix}clang++39"
 +      ld = cxx
 +      readelf = "readelf"
-+      ar = "${toolprefix}llvm-ar"
-+      nm = "${toolprefix}llvm-nm"
++      ar = "${toolprefix}llvm-ar39"
++      nm = "${toolprefix}llvm-nm39"
 +    } else {
 +      prefix = rebase_path("$clang_base_path/bin", root_build_dir)
 +      cc = "$prefix/clang"
diff --git a/chromium-new/patches/patch-build_toolchain_get__concurrent__links.py b/chromium-new/patches/patch-build_toolchain_get__concurrent__links.py
index 60d4dfd456..43587c5016 100644
--- a/chromium-new/patches/patch-build_toolchain_get__concurrent__links.py
+++ b/chromium-new/patches/patch-build_toolchain_get__concurrent__links.py
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- build/toolchain/get_concurrent_links.py.orig	2016-11-10 20:02:09.000000000 +0000
+--- build/toolchain/get_concurrent_links.py.orig	2017-02-02 02:02:47.000000000 +0000
 +++ build/toolchain/get_concurrent_links.py
 @@ -45,6 +45,14 @@ def _GetTotalMemoryInBytes():
        return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
diff --git a/chromium-new/patches/patch-cc_layers_scrollbar__layer__impl__base.cc b/chromium-new/patches/patch-cc_layers_scrollbar__layer__impl__base.cc
index ef687e29e9..618b97d09e 100644
--- a/chromium-new/patches/patch-cc_layers_scrollbar__layer__impl__base.cc
+++ b/chromium-new/patches/patch-cc_layers_scrollbar__layer__impl__base.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- cc/layers/scrollbar_layer_impl_base.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- cc/layers/scrollbar_layer_impl_base.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ cc/layers/scrollbar_layer_impl_base.cc
 @@ -174,8 +174,8 @@ gfx::Rect ScrollbarLayerImplBase::Comput
    int thumb_offset = TrackStart();
diff --git a/chromium-new/patches/patch-cc_trees_property__tree.cc b/chromium-new/patches/patch-cc_trees_property__tree.cc
index 821bc0d7da..804bfb1486 100644
--- a/chromium-new/patches/patch-cc_trees_property__tree.cc
+++ b/chromium-new/patches/patch-cc_trees_property__tree.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- cc/trees/property_tree.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- cc/trees/property_tree.cc.orig	2017-02-02 02:02:47.000000000 +0000
 +++ cc/trees/property_tree.cc
-@@ -1300,13 +1300,13 @@ gfx::ScrollOffset ScrollTree::MaxScrollO
+@@ -1113,13 +1113,13 @@ gfx::ScrollOffset ScrollTree::MaxScrollO
  
    gfx::Size clip_layer_bounds = scroll_clip_layer_bounds(scroll_node->id);
  
@@ -19,4 +19,4 @@ $NetBSD$
 +  return _max_offset;
  }
  
- gfx::Size ScrollTree::scroll_clip_layer_bounds(int scroll_node_id) const {
+ void ScrollTree::OnScrollOffsetAnimated(int layer_id,
diff --git a/chromium-new/patches/patch-chrome_BUILD.gn b/chromium-new/patches/patch-chrome_BUILD.gn
index 80c2fbd868..5a85782baa 100644
--- a/chromium-new/patches/patch-chrome_BUILD.gn
+++ b/chromium-new/patches/patch-chrome_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/BUILD.gn.orig	2016-11-10 20:02:09.000000000 +0000
+--- chrome/BUILD.gn.orig	2017-02-02 02:02:47.000000000 +0000
 +++ chrome/BUILD.gn
-@@ -122,7 +122,7 @@ if (!is_android && !is_mac) {
+@@ -132,7 +132,7 @@ if (!is_android && !is_mac) {
      data = [
        "$root_out_dir/resources.pak",
      ]
@@ -11,7 +11,7 @@ $NetBSD$
        data += [
          "$root_out_dir/chrome_100_percent.pak",
          "$root_out_dir/locales/en-US.pak",
-@@ -199,7 +199,7 @@ if (!is_android && !is_mac) {
+@@ -212,7 +212,7 @@ if (!is_android && !is_mac) {
        sources += [ "app/chrome_exe_main_aura.cc" ]
      }
  
@@ -20,7 +20,7 @@ $NetBSD$
        sources += [
          "app/chrome_dll_resource.h",
          "app/chrome_main.cc",
-@@ -1670,7 +1670,7 @@ if (is_android) {
+@@ -1539,7 +1539,7 @@ if (enable_resource_whitelist_generation
    }
  }
  
diff --git a/chromium-new/patches/patch-chrome_app_chrome__command__ids.h b/chromium-new/patches/patch-chrome_app_chrome__command__ids.h
index 086a3e3935..0484b364c4 100644
--- a/chromium-new/patches/patch-chrome_app_chrome__command__ids.h
+++ b/chromium-new/patches/patch-chrome_app_chrome__command__ids.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/app/chrome_command_ids.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- chrome/app/chrome_command_ids.h.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/app/chrome_command_ids.h
 @@ -75,7 +75,7 @@
  #define IDC_VISIT_DESKTOP_OF_LRU_USER_2 34049
diff --git a/chromium-new/patches/patch-chrome_app_chrome__main__delegate.cc b/chromium-new/patches/patch-chrome_app_chrome__main__delegate.cc
index 487a024858..32fdce159b 100644
--- a/chromium-new/patches/patch-chrome_app_chrome__main__delegate.cc
+++ b/chromium-new/patches/patch-chrome_app_chrome__main__delegate.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/app/chrome_main_delegate.cc.orig	2016-11-10 20:02:09.000000000 +0000
+--- chrome/app/chrome_main_delegate.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/app/chrome_main_delegate.cc
-@@ -115,7 +115,7 @@
+@@ -117,7 +117,7 @@
  #include "ui/base/x/x11_util.h"  // nogncheck
  #endif
  
@@ -11,7 +11,7 @@ $NetBSD$
  #include "components/crash/content/app/breakpad_linux.h"
  #endif
  
-@@ -553,7 +553,7 @@ bool ChromeMainDelegate::BasicStartupCom
+@@ -560,7 +560,7 @@ bool ChromeMainDelegate::BasicStartupCom
        std::string format_str =
            command_line.GetSwitchValueASCII(switches::kDiagnosticsFormat);
        if (format_str == "machine") {
@@ -20,7 +20,7 @@ $NetBSD$
        } else if (format_str == "log") {
          format = diagnostics::DiagnosticsWriter::LOG;
        } else {
-@@ -603,7 +603,7 @@ bool ChromeMainDelegate::BasicStartupCom
+@@ -610,7 +610,7 @@ bool ChromeMainDelegate::BasicStartupCom
        std::string format_str =
            command_line.GetSwitchValueASCII(switches::kDiagnosticsFormat);
        if (format_str == "machine") {
@@ -29,7 +29,7 @@ $NetBSD$
        } else if (format_str == "human") {
          format = diagnostics::DiagnosticsWriter::HUMAN;
        } else {
-@@ -703,7 +703,7 @@ void ChromeMainDelegate::PreSandboxStart
+@@ -722,7 +722,7 @@ void ChromeMainDelegate::PreSandboxStart
    std::string process_type =
        command_line.GetSwitchValueASCII(switches::kProcessType);
  
@@ -38,7 +38,7 @@ $NetBSD$
    crash_reporter::SetCrashReporterClient(g_chrome_crash_client.Pointer());
  #endif
  
-@@ -836,7 +836,7 @@ void ChromeMainDelegate::PreSandboxStart
+@@ -852,7 +852,7 @@ void ChromeMainDelegate::PreSandboxStart
    chrome::InitializePDF();
  #endif
  
@@ -47,7 +47,7 @@ $NetBSD$
    // Zygote needs to call InitCrashReporter() in RunZygote().
    if (process_type != switches::kZygoteProcess) {
  #if defined(OS_ANDROID)
-@@ -854,7 +854,7 @@ void ChromeMainDelegate::PreSandboxStart
+@@ -870,7 +870,7 @@ void ChromeMainDelegate::PreSandboxStart
      breakpad::InitCrashReporter(process_type);
  #endif  // defined(OS_ANDROID)
    }
@@ -56,7 +56,7 @@ $NetBSD$
  
    // After all the platform Breakpads have been initialized, store the command
    // line for crash reporting.
-@@ -964,7 +964,7 @@ bool ChromeMainDelegate::DelaySandboxIni
+@@ -980,7 +980,7 @@ bool ChromeMainDelegate::DelaySandboxIni
  #endif
    return process_type == switches::kRelauncherProcess;
  }
diff --git a/chromium-new/patches/patch-chrome_app_chrome__main__delegate.h b/chromium-new/patches/patch-chrome_app_chrome__main__delegate.h
index 375a154c15..51ed81d31f 100644
--- a/chromium-new/patches/patch-chrome_app_chrome__main__delegate.h
+++ b/chromium-new/patches/patch-chrome_app_chrome__main__delegate.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/app/chrome_main_delegate.h.orig	2016-11-10 20:02:09.000000000 +0000
+--- chrome/app/chrome_main_delegate.h.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/app/chrome_main_delegate.h
-@@ -39,7 +39,7 @@ class ChromeMainDelegate : public conten
+@@ -44,7 +44,7 @@ class ChromeMainDelegate : public conten
        const std::string& process_type) override;
    bool ShouldSendMachPort(const std::string& process_type) override;
    bool DelaySandboxInitialization(const std::string& process_type) override;
diff --git a/chromium-new/patches/patch-chrome_app_chromium__strings.grd b/chromium-new/patches/patch-chrome_app_chromium__strings.grd
index 21511ae5b0..697e86691c 100644
--- a/chromium-new/patches/patch-chrome_app_chromium__strings.grd
+++ b/chromium-new/patches/patch-chrome_app_chromium__strings.grd
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/app/chromium_strings.grd.orig	2016-11-10 20:02:09.000000000 +0000
+--- chrome/app/chromium_strings.grd.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/app/chromium_strings.grd
-@@ -938,7 +938,7 @@ Signing in anyway will merge Chromium in
+@@ -939,7 +939,7 @@ Signing in anyway will merge Chromium in
        </message>
  
        <!-- ProcessSingleton -->
diff --git a/chromium-new/patches/patch-chrome_app_generated__resources.grd b/chromium-new/patches/patch-chrome_app_generated__resources.grd
index ca3bbde621..a3dc21393d 100644
--- a/chromium-new/patches/patch-chrome_app_generated__resources.grd
+++ b/chromium-new/patches/patch-chrome_app_generated__resources.grd
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/app/generated_resources.grd.orig	2016-11-10 20:02:09.000000000 +0000
+--- chrome/app/generated_resources.grd.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/app/generated_resources.grd
-@@ -6841,7 +6841,7 @@ Keep your key file in a safe place. You 
+@@ -6939,7 +6939,7 @@ Keep your key file in a safe place. You 
        <message name="IDS_FLAGS_FORCE_UI_DIRECTION_RTL" desc="Name for the option to force right-to-left UI direction mode.">
            Right-to-left
        </message>
@@ -11,7 +11,7 @@ $NetBSD$
          <message name="IDS_FLAGS_ENABLE_INPUT_IME_API_NAME" desc="Name of the flag to enable che chrome.input.ime API.">
            Enable Input IME API
          </message>
-@@ -10140,7 +10140,7 @@ I don't think this site should be blocke
+@@ -10334,7 +10334,7 @@ I don't think this site should be blocke
        <message name="IDS_APPEARANCE_GROUP_NAME" desc="The title of the appearance group">
          Appearance
        </message>
@@ -20,7 +20,7 @@ $NetBSD$
          <message name="IDS_THEMES_GROUP_NAME" desc="The title of the themes group">
            Themes
          </message>
-@@ -10148,7 +10148,7 @@ I don't think this site should be blocke
+@@ -10342,7 +10342,7 @@ I don't think this site should be blocke
        <message name="IDS_THEMES_RESET_BUTTON" desc="The button to reset your theme">
          Reset to default theme
        </message>
@@ -29,7 +29,7 @@ $NetBSD$
          <message name="IDS_THEMES_GTK_BUTTON" desc="The button to choose GTK colors and icons as the current theme.">
            Use GTK+ theme
          </message>
-@@ -11435,7 +11435,7 @@ Tell us what happened exactly before you
+@@ -11663,7 +11663,7 @@ Tell us what happened exactly before you
          Set as default
        </message>
  
diff --git a/chromium-new/patches/patch-chrome_app_resources_locale__settings.grd b/chromium-new/patches/patch-chrome_app_resources_locale__settings.grd
index f4d8e6928c..9979592daa 100644
--- a/chromium-new/patches/patch-chrome_app_resources_locale__settings.grd
+++ b/chromium-new/patches/patch-chrome_app_resources_locale__settings.grd
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/app/resources/locale_settings.grd.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/app/resources/locale_settings.grd.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/app/resources/locale_settings.grd
-@@ -156,7 +156,7 @@
+@@ -151,7 +151,7 @@
          55
        </message>
  
diff --git a/chromium-new/patches/patch-chrome_browser_BUILD.gn b/chromium-new/patches/patch-chrome_browser_BUILD.gn
index b82952b139..0b5157ef2a 100644
--- a/chromium-new/patches/patch-chrome_browser_BUILD.gn
+++ b/chromium-new/patches/patch-chrome_browser_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/BUILD.gn.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/BUILD.gn.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/BUILD.gn
-@@ -536,7 +536,7 @@ split_static_library("browser") {
+@@ -2142,7 +2142,7 @@ split_static_library("browser") {
      deps += [ "//device/udev_linux" ]
    }
  
@@ -11,30 +11,7 @@ $NetBSD$
      deps += [ "//third_party/speech-dispatcher" ]
    }
  
-@@ -727,6 +727,22 @@ split_static_library("browser") {
-     sources += rebase_path(gypi_values.chrome_browser_non_mobile_sources,
-                            ".",
-                            "//chrome")
-+    if (is_bsd) {
-+      sources -= [
-+        "media_galleries/linux/mtp_device_delegate_impl_linux.cc",
-+        "media_galleries/linux/mtp_device_delegate_impl_linux.h",
-+        "media_galleries/linux/mtp_device_object_enumerator.cc",
-+        "media_galleries/linux/mtp_device_object_enumerator.h",
-+        "media_galleries/linux/mtp_device_task_helper.cc",
-+        "media_galleries/linux/mtp_device_task_helper.h",
-+        "media_galleries/linux/mtp_device_task_helper_map_service.cc",
-+        "media_galleries/linux/mtp_device_task_helper_map_service.h",
-+        "media_galleries/linux/mtp_read_file_worker.cc",
-+        "media_galleries/linux/mtp_read_file_worker.h",
-+        "media_galleries/linux/snapshot_file_details.cc",
-+        "media_galleries/linux/snapshot_file_details.h",
-+      ]
-+    }
-   }
- 
-   if (!is_chrome_branded) {
-@@ -854,7 +870,7 @@ split_static_library("browser") {
+@@ -3507,7 +3507,7 @@ split_static_library("browser") {
      }
    }
  
@@ -43,12 +20,3 @@ $NetBSD$
      if (use_aura) {
        deps += [ "//build/linux:fontconfig" ]
        if (use_dbus) {
-@@ -867,7 +883,7 @@ split_static_library("browser") {
-     }
-   }
- 
--  if (is_linux || is_win) {
-+  if (is_linux || is_bsd || is_win) {
-     sources += rebase_path(gypi_values.chrome_browser_non_mac_desktop_sources,
-                            ".",
-                            "//chrome")
diff --git a/chromium-new/patches/patch-chrome_browser_about__flags.cc b/chromium-new/patches/patch-chrome_browser_about__flags.cc
index bdbd20cf2c..75c63d8844 100644
--- a/chromium-new/patches/patch-chrome_browser_about__flags.cc
+++ b/chromium-new/patches/patch-chrome_browser_about__flags.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/about_flags.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/about_flags.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/about_flags.cc
-@@ -785,7 +785,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -776,7 +776,7 @@ const FeatureEntry kFeatureEntries[] = {
       kOsLinux | kOsCrOS | kOsWin | kOsAndroid,
       ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSmoothScrolling,
                                 switches::kDisableSmoothScrolling)},
@@ -11,10 +11,10 @@ $NetBSD$
      {"overlay-scrollbars", IDS_FLAGS_OVERLAY_SCROLLBARS_NAME,
       IDS_FLAGS_OVERLAY_SCROLLBARS_DESCRIPTION,
       // Uses the system preference on Mac (a different implementation).
-@@ -1823,7 +1823,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1769,7 +1769,7 @@ const FeatureEntry kFeatureEntries[] = {
       IDS_FLAGS_ENABLE_MATERIAL_DESIGN_EXTENSIONS_DESCRIPTION, kOsDesktop,
       FEATURE_VALUE_TYPE(features::kMaterialDesignExtensions)},
- #endif
+ #endif  // ENABLE_EXTENSIONS
 -#if defined(OS_WIN) || defined(OS_LINUX)
 +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
      {"enable-input-ime-api", IDS_FLAGS_ENABLE_INPUT_IME_API_NAME,
diff --git a/chromium-new/patches/patch-chrome_browser_browser__process__impl.cc b/chromium-new/patches/patch-chrome_browser_browser__process__impl.cc
index b49c4d5474..6a134fee4a 100644
--- a/chromium-new/patches/patch-chrome_browser_browser__process__impl.cc
+++ b/chromium-new/patches/patch-chrome_browser_browser__process__impl.cc
@@ -1,9 +1,9 @@
 $NetBSD$
 
---- chrome/browser/browser_process_impl.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/browser_process_impl.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/browser_process_impl.cc
-@@ -162,7 +162,7 @@
- #include "chrome/browser/media/webrtc_log_uploader.h"
+@@ -165,7 +165,7 @@
+ #include "chrome/browser/media/webrtc/webrtc_log_uploader.h"
  #endif
  
 -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
@@ -11,7 +11,7 @@ $NetBSD$
  #include "chrome/browser/memory/tab_manager.h"
  #endif
  
-@@ -778,7 +778,7 @@ gcm::GCMDriver* BrowserProcessImpl::gcm_
+@@ -771,7 +771,7 @@ gcm::GCMDriver* BrowserProcessImpl::gcm_
  
  memory::TabManager* BrowserProcessImpl::GetTabManager() {
    DCHECK(CalledOnValidThread());
diff --git a/chromium-new/patches/patch-chrome_browser_browser__process__impl.h b/chromium-new/patches/patch-chrome_browser_browser__process__impl.h
index 800fc28ad4..8fc499900f 100644
--- a/chromium-new/patches/patch-chrome_browser_browser__process__impl.h
+++ b/chromium-new/patches/patch-chrome_browser_browser__process__impl.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/browser_process_impl.h.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/browser_process_impl.h.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/browser_process_impl.h
-@@ -336,7 +336,7 @@ class BrowserProcessImpl : public Browse
+@@ -340,7 +340,7 @@ class BrowserProcessImpl : public Browse
  
    std::unique_ptr<ChromeDeviceClient> device_client_;
  
diff --git a/chromium-new/patches/patch-chrome_browser_chrome__browser__main.cc b/chromium-new/patches/patch-chrome_browser_chrome__browser__main.cc
index 2de76f1b86..747b1b7ce8 100644
--- a/chromium-new/patches/patch-chrome_browser_chrome__browser__main.cc
+++ b/chromium-new/patches/patch-chrome_browser_chrome__browser__main.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/chrome_browser_main.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/chrome_browser_main.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/chrome_browser_main.cc
-@@ -188,7 +188,7 @@
+@@ -181,7 +181,7 @@
  #include "chrome/browser/feedback/feedback_profile_observer.h"
  #endif  // defined(OS_ANDROID)
  
@@ -11,7 +11,7 @@ $NetBSD$
  #include "chrome/browser/first_run/upgrade_util_linux.h"
  #endif  // defined(OS_LINUX) && !defined(OS_CHROMEOS)
  
-@@ -1325,11 +1325,11 @@ int ChromeBrowserMainParts::PreCreateThr
+@@ -1194,11 +1194,11 @@ int ChromeBrowserMainParts::PreCreateThr
    }
  #endif  // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
  
diff --git a/chromium-new/patches/patch-chrome_browser_chrome__browser__main__linux.cc b/chromium-new/patches/patch-chrome_browser_chrome__browser__main__linux.cc
index af23a49286..f6691fdf05 100644
--- a/chromium-new/patches/patch-chrome_browser_chrome__browser__main__linux.cc
+++ b/chromium-new/patches/patch-chrome_browser_chrome__browser__main__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/chrome_browser_main_linux.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/chrome_browser_main_linux.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/chrome_browser_main_linux.cc
 @@ -75,12 +75,14 @@ void ChromeBrowserMainPartsLinux::PrePro
  void ChromeBrowserMainPartsLinux::PostProfileInit() {
diff --git a/chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc b/chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc
index ef5154643a..806847e62c 100644
--- a/chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc
+++ b/chromium-new/patches/patch-chrome_browser_chrome__browser__main__posix.cc
@@ -1,12 +1,12 @@
 $NetBSD$
 
---- chrome/browser/chrome_browser_main_posix.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/chrome_browser_main_posix.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/chrome_browser_main_posix.cc
 @@ -275,6 +275,11 @@ void ChromeBrowserMainPartsPosix::PostMa
      g_pipe_pid = getpid();
      g_shutdown_pipe_read_fd = pipefd[0];
      g_shutdown_pipe_write_fd = pipefd[1];
-+#if defined(OS_FREEBSD) || defined(OS_NETBSD)
++#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;
diff --git a/chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.cc b/chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.cc
index 755cccc8ff..b04903b472 100644
--- a/chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.cc
+++ b/chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/chrome_content_browser_client.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/chrome_content_browser_client.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/chrome_content_browser_client.cc
-@@ -211,7 +211,7 @@
+@@ -224,7 +224,7 @@
  #include "chrome/browser/ui/browser_dialogs.h"
  #include "chromeos/chromeos_switches.h"
  #include "components/user_manager/user_manager.h"
@@ -11,7 +11,7 @@ $NetBSD$
  #include "chrome/browser/chrome_browser_main_linux.h"
  #elif defined(OS_ANDROID)
  #include "chrome/browser/chrome_browser_main_android.h"
-@@ -223,7 +223,7 @@
+@@ -236,7 +236,7 @@
  #include "chrome/browser/chrome_browser_main_posix.h"
  #endif
  
@@ -20,7 +20,7 @@ $NetBSD$
  #include "base/debug/leak_annotations.h"
  #include "components/crash/content/app/breakpad_linux.h"
  #include "components/crash/content/browser/crash_handler_host_linux.h"
-@@ -245,7 +245,7 @@
+@@ -261,7 +261,7 @@
  #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h"
  #endif
  
@@ -29,7 +29,7 @@ $NetBSD$
  #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
  #endif
  
-@@ -534,7 +534,7 @@ bool CertMatchesFilter(const net::X509Ce
+@@ -555,7 +555,7 @@ bool CertMatchesFilter(const net::X509Ce
    return false;
  }
  
@@ -38,7 +38,7 @@ $NetBSD$
  breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost(
      const std::string& process_type) {
    base::FilePath dumps_path;
-@@ -840,7 +840,7 @@ content::BrowserMainParts* ChromeContent
+@@ -883,7 +883,7 @@ content::BrowserMainParts* ChromeContent
    main_parts = new ChromeBrowserMainPartsMac(parameters);
  #elif defined(OS_CHROMEOS)
    main_parts = new chromeos::ChromeBrowserMainPartsChromeos(parameters);
@@ -47,16 +47,16 @@ $NetBSD$
    main_parts = new ChromeBrowserMainPartsLinux(parameters);
  #elif defined(OS_ANDROID)
    main_parts = new ChromeBrowserMainPartsAndroid(parameters);
-@@ -856,7 +856,7 @@ content::BrowserMainParts* ChromeContent
+@@ -899,7 +899,7 @@ content::BrowserMainParts* ChromeContent
    // Construct additional browser parts. Stages are called in the order in
    // which they are added.
  #if defined(TOOLKIT_VIEWS)
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(USE_OZONE)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) && !defined(USE_OZONE)
    main_parts->AddParts(new ChromeBrowserMainExtraPartsViewsLinux());
  #else
    main_parts->AddParts(new ChromeBrowserMainExtraPartsViews());
-@@ -1451,7 +1451,7 @@ void ChromeContentBrowserClient::AppendE
+@@ -1531,7 +1531,7 @@ void ChromeContentBrowserClient::AppendE
      command_line->AppendSwitchASCII(switches::kMetricsClientID,
                                      client_info->client_id);
    }
@@ -65,7 +65,7 @@ $NetBSD$
    if (breakpad::IsCrashReporterEnabled()) {
      std::string switch_value;
      std::unique_ptr<metrics::ClientInfo> client_info =
-@@ -2732,7 +2732,7 @@ void ChromeContentBrowserClient::GetAddi
+@@ -2834,7 +2834,7 @@ void ChromeContentBrowserClient::GetAddi
    PathService::Get(base::DIR_ANDROID_APP_DATA, &app_data_path);
    DCHECK(!app_data_path.empty());
  }
diff --git a/chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.h b/chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.h
index 1971d8d438..b45836dc13 100644
--- a/chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.h
+++ b/chromium-new/patches/patch-chrome_browser_chrome__content__browser__client.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/chrome_content_browser_client.h.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/chrome_content_browser_client.h.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/chrome_content_browser_client.h
-@@ -269,7 +269,7 @@ class ChromeContentBrowserClient : publi
+@@ -271,7 +271,7 @@ class ChromeContentBrowserClient : publi
        int child_process_id,
        content::FileDescriptorInfo* mappings,
        std::map<int, base::MemoryMappedFile::Region>* regions) override;
diff --git a/chromium-new/patches/patch-chrome_browser_defaults.cc b/chromium-new/patches/patch-chrome_browser_defaults.cc
index c8ac5835c1..11c74d67c2 100644
--- a/chromium-new/patches/patch-chrome_browser_defaults.cc
+++ b/chromium-new/patches/patch-chrome_browser_defaults.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/defaults.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/defaults.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/defaults.cc
 @@ -44,7 +44,7 @@ const bool kSyncAutoStarts = true;
  const bool kSyncAutoStarts = false;
diff --git a/chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.cc b/chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.cc
index 730c49fa06..30c765890d 100644
--- a/chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.cc
+++ b/chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/diagnostics/diagnostics_writer.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/diagnostics/diagnostics_writer.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/diagnostics/diagnostics_writer.cc
 @@ -263,7 +263,7 @@ bool DiagnosticsWriter::WriteResult(bool
        console_->SetColor(color);
diff --git a/chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.h b/chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.h
index 0a8bc42f7e..88e47ea4d8 100644
--- a/chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.h
+++ b/chromium-new/patches/patch-chrome_browser_diagnostics_diagnostics__writer.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/diagnostics/diagnostics_writer.h.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/diagnostics/diagnostics_writer.h.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/diagnostics/diagnostics_writer.h
 @@ -19,7 +19,7 @@ class DiagnosticsWriter : public Diagnos
   public:
diff --git a/chromium-new/patches/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/chromium-new/patches/patch-chrome_browser_download_chrome__download__manager__delegate.cc
index 59a2c42b40..3ae0a0d004 100644
--- a/chromium-new/patches/patch-chrome_browser_download_chrome__download__manager__delegate.cc
+++ b/chromium-new/patches/patch-chrome_browser_download_chrome__download__manager__delegate.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/download/chrome_download_manager_delegate.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/download/chrome_download_manager_delegate.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -774,7 +774,7 @@ void ChromeDownloadManagerDelegate::OnDo
+@@ -778,7 +778,7 @@ void ChromeDownloadManagerDelegate::OnDo
          target_info->is_filetype_handled_safely)
        DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
  
@@ -11,7 +11,7 @@ $NetBSD$
      if (item->GetOriginalMimeType() == "application/x-x509-user-cert")
        DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
  #endif
-@@ -789,7 +789,7 @@ void ChromeDownloadManagerDelegate::OnDo
+@@ -793,7 +793,7 @@ void ChromeDownloadManagerDelegate::OnDo
  
  bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile(
      const base::FilePath& path) {
diff --git a/chromium-new/patches/patch-chrome_browser_download_download__commands.cc b/chromium-new/patches/patch-chrome_browser_download_download__commands.cc
index 41ee1167da..2c38357b14 100644
--- a/chromium-new/patches/patch-chrome_browser_download_download__commands.cc
+++ b/chromium-new/patches/patch-chrome_browser_download_download__commands.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/download/download_commands.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/download/download_commands.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/download/download_commands.cc
-@@ -219,7 +219,7 @@ bool DownloadCommands::IsCommandChecked(
+@@ -217,7 +217,7 @@ bool DownloadCommands::IsCommandChecked(
        return download_item_->GetOpenWhenComplete() ||
               download_crx_util::IsExtensionDownload(*download_item_);
      case ALWAYS_OPEN_TYPE:
@@ -11,7 +11,7 @@ $NetBSD$
        if (CanOpenPdfInSystemViewer()) {
          DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(
              download_item_->GetBrowserContext());
-@@ -263,7 +263,7 @@ void DownloadCommands::ExecuteCommand(Co
+@@ -261,7 +261,7 @@ void DownloadCommands::ExecuteCommand(Co
        bool is_checked = IsCommandChecked(ALWAYS_OPEN_TYPE);
        DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(
            download_item_->GetBrowserContext());
@@ -20,7 +20,7 @@ $NetBSD$
        if (CanOpenPdfInSystemViewer()) {
          prefs->SetShouldOpenPdfInSystemReader(!is_checked);
          DownloadItemModel(download_item_)
-@@ -375,7 +375,7 @@ Browser* DownloadCommands::GetBrowser() 
+@@ -374,7 +374,7 @@ Browser* DownloadCommands::GetBrowser() 
    return browser_displayer.browser();
  }
  
@@ -29,7 +29,7 @@ $NetBSD$
  bool DownloadCommands::IsDownloadPdf() const {
    base::FilePath path = download_item_->GetTargetFilePath();
    return path.MatchesExtension(FILE_PATH_LITERAL(".pdf"));
-@@ -392,7 +392,7 @@ bool DownloadCommands::CanOpenPdfInSyste
+@@ -391,7 +391,7 @@ bool DownloadCommands::CanOpenPdfInSyste
    return IsDownloadPdf() &&
           (IsAdobeReaderDefaultPDFViewer() ? is_adobe_pdf_reader_up_to_date
                                            : true);
diff --git a/chromium-new/patches/patch-chrome_browser_download_download__commands.h b/chromium-new/patches/patch-chrome_browser_download_download__commands.h
index b38d13240d..7c4995d086 100644
--- a/chromium-new/patches/patch-chrome_browser_download_download__commands.h
+++ b/chromium-new/patches/patch-chrome_browser_download_download__commands.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/download/download_commands.h.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/download/download_commands.h.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/download/download_commands.h
 @@ -43,7 +43,8 @@ class DownloadCommands {
    void ExecuteCommand(Command command);
diff --git a/chromium-new/patches/patch-chrome_browser_download_download__prefs.cc b/chromium-new/patches/patch-chrome_browser_download_download__prefs.cc
index fb8540b1ea..4ae983f30f 100644
--- a/chromium-new/patches/patch-chrome_browser_download_download__prefs.cc
+++ b/chromium-new/patches/patch-chrome_browser_download_download__prefs.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/download/download_prefs.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/download/download_prefs.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/download/download_prefs.cc
 @@ -56,7 +56,7 @@ namespace {
  // Consider downloads 'dangerous' if they go to the home directory on Linux and
@@ -18,9 +18,9 @@ $NetBSD$
 -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
 +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
    should_open_pdf_in_system_reader_ =
-       prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader);
- #endif
-@@ -213,7 +213,7 @@ void DownloadPrefs::RegisterProfilePrefs
+       prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader) ||
+       prefs->GetBoolean(prefs::kPluginsAlwaysOpenPdfExternally);
+@@ -215,7 +215,7 @@ void DownloadPrefs::RegisterProfilePrefs
                                   default_download_path);
    registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory,
                                   default_download_path);
@@ -29,7 +29,7 @@ $NetBSD$
    registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false);
  #endif
  }
-@@ -290,7 +290,7 @@ bool DownloadPrefs::IsDownloadPathManage
+@@ -292,7 +292,7 @@ bool DownloadPrefs::IsDownloadPathManage
  }
  
  bool DownloadPrefs::IsAutoOpenUsed() const {
@@ -38,7 +38,7 @@ $NetBSD$
    if (ShouldOpenPdfInSystemReader())
      return true;
  #endif
-@@ -304,7 +304,7 @@ bool DownloadPrefs::IsAutoOpenEnabledBas
+@@ -306,7 +306,7 @@ bool DownloadPrefs::IsAutoOpenEnabledBas
      return false;
    DCHECK(extension[0] == base::FilePath::kExtensionSeparator);
    extension.erase(0, 1);
@@ -47,16 +47,16 @@ $NetBSD$
    if (extension == FILE_PATH_LITERAL("pdf") && ShouldOpenPdfInSystemReader())
      return true;
  #endif
-@@ -338,7 +338,7 @@ void DownloadPrefs::DisableAutoOpenBased
+@@ -340,7 +340,7 @@ void DownloadPrefs::DisableAutoOpenBased
    SaveAutoOpenState();
  }
  
 -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
 +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
  void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) {
-   if (should_open_pdf_in_system_reader_ == should_open)
-     return;
-@@ -359,7 +359,7 @@ bool DownloadPrefs::ShouldOpenPdfInSyste
+   should_open_pdf_in_system_reader_ = should_open ||
+      profile_->GetPrefs()->GetBoolean(prefs::kPluginsAlwaysOpenPdfExternally);
+@@ -365,7 +365,7 @@ void DownloadPrefs::DisableAdobeVersionC
  #endif
  
  void DownloadPrefs::ResetAutoOpen() {
diff --git a/chromium-new/patches/patch-chrome_browser_download_download__prefs.h b/chromium-new/patches/patch-chrome_browser_download_download__prefs.h
index cb5f0f849c..d1b0a293c9 100644
--- a/chromium-new/patches/patch-chrome_browser_download_download__prefs.h
+++ b/chromium-new/patches/patch-chrome_browser_download_download__prefs.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/download/download_prefs.h.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/download/download_prefs.h.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/download/download_prefs.h
-@@ -79,7 +79,7 @@ class DownloadPrefs {
+@@ -80,7 +80,7 @@ class DownloadPrefs {
    // Disables auto-open based on file extension.
    void DisableAutoOpenBasedOnExtension(const base::FilePath& file_name);
  
@@ -11,12 +11,12 @@ $NetBSD$
    // Store the user preference to disk. If |should_open| is true, also disable
    // the built-in PDF plugin. If |should_open| is false, enable the PDF plugin.
    void SetShouldOpenPdfInSystemReader(bool should_open);
-@@ -110,7 +110,7 @@ class DownloadPrefs {
+@@ -115,7 +115,7 @@ class DownloadPrefs {
                     AutoOpenCompareFunctor> AutoOpenSet;
    AutoOpenSet auto_open_;
  
 -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
 +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
    bool should_open_pdf_in_system_reader_;
+   bool disable_adobe_version_check_for_tests_;
  #endif
- 
diff --git a/chromium-new/patches/patch-chrome_browser_download_download__query.cc b/chromium-new/patches/patch-chrome_browser_download_download__query.cc
index 50f9fbfd54..f64e3f7503 100644
--- a/chromium-new/patches/patch-chrome_browser_download_download__query.cc
+++ b/chromium-new/patches/patch-chrome_browser_download_download__query.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/download/download_query.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/download/download_query.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/download/download_query.cc
-@@ -28,7 +28,11 @@
+@@ -27,7 +27,11 @@
  #include "components/url_formatter/url_formatter.h"
  #include "content/public/browser/content_browser_client.h"
  #include "content/public/browser/download_item.h"
diff --git a/chromium-new/patches/patch-chrome_browser_download_download__shelf__context__menu.cc b/chromium-new/patches/patch-chrome_browser_download_download__shelf__context__menu.cc
index d74908c4c2..62fd098755 100644
--- a/chromium-new/patches/patch-chrome_browser_download_download__shelf__context__menu.cc
+++ b/chromium-new/patches/patch-chrome_browser_download_download__shelf__context__menu.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/download/download_shelf_context_menu.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/download/download_shelf_context_menu.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/download/download_shelf_context_menu.cc
 @@ -127,7 +127,7 @@ base::string16 DownloadShelfContextMenu:
                     : IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS;
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_BUILD.gn b/chromium-new/patches/patch-chrome_browser_extensions_BUILD.gn
index d5c34b06cc..fb1999c8d7 100644
--- a/chromium-new/patches/patch-chrome_browser_extensions_BUILD.gn
+++ b/chromium-new/patches/patch-chrome_browser_extensions_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/extensions/BUILD.gn.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/extensions/BUILD.gn.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/extensions/BUILD.gn
-@@ -186,7 +186,7 @@ static_library("extensions") {
+@@ -1024,7 +1024,7 @@ static_library("extensions") {
      sources -= [ "global_shortcut_listener_ozone.cc" ]
    }
  
@@ -11,7 +11,7 @@ $NetBSD$
      deps += [ "//build/linux:fontconfig" ]
  
      if (use_dbus) {
-@@ -252,6 +252,12 @@ static_library("extensions") {
+@@ -1115,6 +1115,12 @@ static_library("extensions") {
      defines += [ "ENABLE_HOTWORDING" ]
    }
  
@@ -22,5 +22,5 @@ $NetBSD$
 +  }
 +
    if (enable_service_discovery) {
-     sources += rebase_path(
-             gypi_values.chrome_browser_extensions_service_discovery_sources,
+     sources += [
+       "api/gcd_private/gcd_private_api.cc",
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_activity__log_activity__log.cc b/chromium-new/patches/patch-chrome_browser_extensions_activity__log_activity__log.cc
index 10b3593895..50911cfa0b 100644
--- a/chromium-new/patches/patch-chrome_browser_extensions_activity__log_activity__log.cc
+++ b/chromium-new/patches/patch-chrome_browser_extensions_activity__log_activity__log.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/extensions/activity_log/activity_log.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/extensions/activity_log/activity_log.cc.orig	2017-02-02 02:02:48.000000000 +0000
 +++ chrome/browser/extensions/activity_log/activity_log.cc
-@@ -46,7 +46,11 @@
+@@ -48,7 +48,11 @@
  #include "extensions/common/extension.h"
  #include "extensions/common/extension_messages.h"
  #include "extensions/common/one_shot_event.h"
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_image__writer__private__api.cc b/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_image__writer__private__api.cc
index 2acfed21dd..de5b30d21a 100644
--- a/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_image__writer__private__api.cc
+++ b/chromium-new/patches/patch-chrome_browser_extensions_api_image__writer__private_image__writer__private__api.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/extensions/api/image_writer_private/image_writer_private_api.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/extensions/api/image_writer_private/image_writer_private_api.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/extensions/api/image_writer_private/image_writer_private_api.cc
 @@ -166,10 +166,12 @@ ImageWriterPrivateListRemovableStorageDe
  }
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h b/chromium-new/patches/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h
index 8c7f565c9b..c9ec8edba9 100644
--- a/chromium-new/patches/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h
+++ b/chromium-new/patches/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/extensions/api/input_ime/input_ime_api.h.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/extensions/api/input_ime/input_ime_api.h.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/extensions/api/input_ime/input_ime_api.h
 @@ -28,7 +28,7 @@
  
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_api_messaging_message__service.cc b/chromium-new/patches/patch-chrome_browser_extensions_api_messaging_message__service.cc
index 6e870f392d..652a2c75cc 100644
--- a/chromium-new/patches/patch-chrome_browser_extensions_api_messaging_message__service.cc
+++ b/chromium-new/patches/patch-chrome_browser_extensions_api_messaging_message__service.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/extensions/api/messaging/message_service.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/extensions/api/messaging/message_service.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/extensions/api/messaging/message_service.cc
 @@ -119,7 +119,7 @@ MessageService::PolicyPermission Message
  
@@ -11,7 +11,7 @@ $NetBSD$
  const char kMissingPermissionError[] =
      "Access to native messaging requires nativeMessaging permission.";
  const char kProhibitedByPoliciesError[] =
-@@ -416,7 +416,7 @@ void MessageService::OpenChannelToNative
+@@ -414,7 +414,7 @@ void MessageService::OpenChannelToNative
    if (!source)
      return;
  
@@ -20,3 +20,18 @@ $NetBSD$
    content::WebContents* web_contents =
        content::WebContents::FromRenderFrameHost(source);
    ExtensionWebContentsObserver* extension_web_contents_observer =
+@@ -477,12 +477,12 @@ void MessageService::OpenChannelToNative
+   channel->opener->IncrementLazyKeepaliveCount();
+ 
+   AddChannel(std::move(channel), receiver_port_id);
+-#else  // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX))
++#else  // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD))
+   const char kNativeMessagingNotSupportedError[] =
+       "Native Messaging is not supported on this platform.";
+   DispatchOnDisconnect(
+       source, receiver_port_id, kNativeMessagingNotSupportedError);
+-#endif  // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX))
++#endif  // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD))
+ }
+ 
+ void MessageService::OpenChannelToTab(int source_process_id,
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc b/chromium-new/patches/patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc
index fed66a0078..04c08b05ff 100644
--- a/chromium-new/patches/patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc
+++ b/chromium-new/patches/patch-chrome_browser_extensions_api_music__manager__private_device__id__linux.cc
@@ -1,12 +1,12 @@
 $NetBSD$
 
---- chrome/browser/extensions/api/music_manager_private/device_id_linux.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/extensions/api/music_manager_private/device_id_linux.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/extensions/api/music_manager_private/device_id_linux.cc
 @@ -4,6 +4,10 @@
  
  #include "chrome/browser/extensions/api/music_manager_private/device_id.h"
  
-+#if defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_BSD)
 +#include <sys/types.h>
 +#include <net/if_dl.h>
 +#endif
@@ -17,7 +17,7 @@ $NetBSD$
                          const char* const prefixes[],
                          size_t prefixes_count) {
      const int MAC_LENGTH = 6;
-+#if defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_BSD)
 +    struct ifaddrs *ifap, *ifinfo;
 +#else
      struct ifreq ifinfo;
@@ -26,7 +26,7 @@ $NetBSD$
      memset(&ifinfo, 0, sizeof(ifinfo));
 -    strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1);
  
-+#if defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_BSD)
 +    int result = getifaddrs(&ifap);
 +    if (result != 0)
 +      return true;
@@ -56,7 +56,7 @@ $NetBSD$
      if (!is_valid_mac_address_.Run(mac_address, MAC_LENGTH))
        return true;
  
-+#if defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_BSD)
 +    if (!IsValidPrefix(ifinfo->ifa_name, prefixes, prefixes_count))
 +      return true;
 +#else
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_api_omnibox_omnibox__api.cc b/chromium-new/patches/patch-chrome_browser_extensions_api_omnibox_omnibox__api.cc
new file mode 100644
index 0000000000..e03dae7902
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_extensions_api_omnibox_omnibox__api.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- chrome/browser/extensions/api/omnibox/omnibox_api.cc.orig	2017-02-02 02:02:49.000000000 +0000
++++ chrome/browser/extensions/api/omnibox/omnibox_api.cc
+@@ -45,7 +45,7 @@ const char kBackgroundTabDisposition[] =
+ // Pref key for omnibox.setDefaultSuggestion.
+ const char kOmniboxDefaultSuggestion[] = "omnibox_default_suggestion";
+ 
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ static const int kOmniboxIconPaddingLeft = 2;
+ static const int kOmniboxIconPaddingRight = 2;
+ #elif defined(OS_MACOSX)
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_bookmark__app__helper.cc b/chromium-new/patches/patch-chrome_browser_extensions_bookmark__app__helper.cc
new file mode 100644
index 0000000000..9a814463ee
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_extensions_bookmark__app__helper.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- chrome/browser/extensions/bookmark_app_helper.cc.orig	2017-02-02 02:02:49.000000000 +0000
++++ chrome/browser/extensions/bookmark_app_helper.cc
+@@ -707,7 +707,7 @@ void BookmarkAppHelper::FinishInstallati
+ #if !defined(OS_MACOSX)
+ #if !defined(USE_ASH)
+   web_app::ShortcutLocations creation_locations;
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+   creation_locations.on_desktop = true;
+ #else
+   creation_locations.on_desktop = false;
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/chromium-new/patches/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
index c696132ca4..59acfb29a2 100644
--- a/chromium-new/patches/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
+++ b/chromium-new/patches/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/extensions/browser_context_keyed_service_factories.cc
 @@ -62,7 +62,7 @@
  #include "chrome/browser/chromeos/extensions/media_player_api.h"
@@ -11,12 +11,12 @@ $NetBSD$
  #include "chrome/browser/extensions/api/input_ime/input_ime_api.h"
  #endif
  
-@@ -103,7 +103,7 @@ void EnsureBrowserContextKeyedServiceFac
+@@ -110,7 +110,7 @@ void EnsureBrowserContextKeyedServiceFac
  #if defined(OS_CHROMEOS)
    extensions::InputImeAPI::GetFactoryInstance();
    extensions::InputMethodAPI::GetFactoryInstance();
 -#elif defined(OS_LINUX) || defined(OS_WIN)
-+#elif defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
++#elif defined(OS_LINUX) || defined(OS_WIN) && !defined(OS_BSD)
    extensions::InputImeAPI::GetFactoryInstance();
  #endif
    extensions::LanguageSettingsPrivateDelegateFactory::GetInstance();
diff --git a/chromium-new/patches/patch-chrome_browser_extensions_external__provider__impl.cc b/chromium-new/patches/patch-chrome_browser_extensions_external__provider__impl.cc
index df44bdcea8..fac92a1ee2 100644
--- a/chromium-new/patches/patch-chrome_browser_extensions_external__provider__impl.cc
+++ b/chromium-new/patches/patch-chrome_browser_extensions_external__provider__impl.cc
@@ -1,22 +1,22 @@
 $NetBSD$
 
---- chrome/browser/extensions/external_provider_impl.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/extensions/external_provider_impl.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/extensions/external_provider_impl.cc
-@@ -647,7 +647,7 @@ void ExternalProviderImpl::CreateExterna
-                                  Manifest::EXTERNAL_PREF_DOWNLOAD,
-                                  oem_extension_creation_flags)));
+@@ -638,7 +638,7 @@ void ExternalProviderImpl::CreateExterna
+         Manifest::EXTERNAL_PREF, Manifest::EXTERNAL_PREF_DOWNLOAD,
+         oem_extension_creation_flags));
    }
 -#elif defined(OS_LINUX)
 +#elif defined(OS_LINUX) || defined(OS_BSD)
    if (!profile->IsLegacySupervised()) {
-     provider_list->push_back(
-         linked_ptr<ExternalProviderInterface>(
-@@ -689,7 +689,7 @@ void ExternalProviderImpl::CreateExterna
-                 bundled_extension_creation_flags)));
+     provider_list->push_back(base::MakeUnique<ExternalProviderImpl>(
+         service,
+@@ -664,7 +664,7 @@ void ExternalProviderImpl::CreateExterna
+         bundled_extension_creation_flags));
  
      // Define a per-user source of external extensions.
 -#if defined(OS_MACOSX) || (defined(OS_LINUX) && defined(CHROMIUM_BUILD))
 +#if defined(OS_MACOSX) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(CHROMIUM_BUILD))
-     provider_list->push_back(
-         linked_ptr<ExternalProviderInterface>(
-             new ExternalProviderImpl(
+     provider_list->push_back(base::MakeUnique<ExternalProviderImpl>(
+         service, new ExternalPrefLoader(chrome::DIR_USER_EXTERNAL_EXTENSIONS,
+                                         ExternalPrefLoader::NONE, nullptr),
diff --git a/chromium-new/patches/patch-chrome_browser_gpu_gl__string__manager.cc b/chromium-new/patches/patch-chrome_browser_gpu_gl__string__manager.cc
index 7f644d9859..8edd8e923b 100644
--- a/chromium-new/patches/patch-chrome_browser_gpu_gl__string__manager.cc
+++ b/chromium-new/patches/patch-chrome_browser_gpu_gl__string__manager.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/gpu/gl_string_manager.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/gpu/gl_string_manager.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/gpu/gl_string_manager.cc
 @@ -33,7 +33,7 @@ GLStringManager::~GLStringManager() {
  
diff --git a/chromium-new/patches/patch-chrome_browser_gpu_gpu__feature__checker.cc b/chromium-new/patches/patch-chrome_browser_gpu_gpu__feature__checker.cc
index e2fd79366a..e874d97b41 100644
--- a/chromium-new/patches/patch-chrome_browser_gpu_gpu__feature__checker.cc
+++ b/chromium-new/patches/patch-chrome_browser_gpu_gpu__feature__checker.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/gpu/gpu_feature_checker.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/gpu/gpu_feature_checker.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/gpu/gpu_feature_checker.cc
 @@ -34,7 +34,7 @@ void GPUFeatureChecker::CheckGPUFeatureA
    CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
diff --git a/chromium-new/patches/patch-chrome_browser_interstitials_chrome__controller__client.cc b/chromium-new/patches/patch-chrome_browser_interstitials_chrome__controller__client.cc
index 9e06d8cbac..bd2ae27f18 100644
--- a/chromium-new/patches/patch-chrome_browser_interstitials_chrome__controller__client.cc
+++ b/chromium-new/patches/patch-chrome_browser_interstitials_chrome__controller__client.cc
@@ -1,17 +1,17 @@
 $NetBSD$
 
---- chrome/browser/interstitials/chrome_controller_client.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/interstitials/chrome_controller_client.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/interstitials/chrome_controller_client.cc
-@@ -55,7 +55,7 @@ void LaunchDateAndTimeSettingsOnFile() {
-   chrome::ShowSettingsSubPageForProfile(ProfileManager::GetActiveUserProfile(),
-                                         sub_page);
+@@ -49,7 +49,7 @@ void LaunchDateAndTimeSettingsOnFileThre
+ #if defined(OS_ANDROID)
+   chrome::android::OpenDateAndTimeSettings();
  
 -#elif defined(OS_LINUX)
 +#elif defined(OS_LINUX) || defined(OS_BSD)
    struct ClockCommand {
-     const char* pathname;
-     const char* argument;
-@@ -138,7 +138,7 @@ void ChromeControllerClient::set_interst
+     const char* const pathname;
+     const char* const argument;
+@@ -136,7 +136,7 @@ void ChromeControllerClient::set_interst
  
  bool ChromeControllerClient::CanLaunchDateAndTimeSettings() {
  #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX) || \
diff --git a/chromium-new/patches/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/chromium-new/patches/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
index 0057dc1e82..b60b055bf4 100644
--- a/chromium-new/patches/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
+++ b/chromium-new/patches/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
@@ -1,12 +1,12 @@
 $NetBSD$
 
---- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc
 @@ -37,10 +37,12 @@ void MTPDeviceMapService::RegisterMTPFil
      // Note that this initializes the delegate asynchronously, but since
      // the delegate will only be used from the IO thread, it is guaranteed
      // to be created before use of it expects it to be there.
-+#if !defined(OS_BSD)
++#if !defined(OS_FREEBSD)
      CreateMTPDeviceAsyncDelegate(
          device_location, read_only,
          base::Bind(&MTPDeviceMapService::AddAsyncDelegate,
diff --git a/chromium-new/patches/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/chromium-new/patches/patch-chrome_browser_media__galleries_media__file__system__registry.cc
index d96005f310..b694e9d151 100644
--- a/chromium-new/patches/patch-chrome_browser_media__galleries_media__file__system__registry.cc
+++ b/chromium-new/patches/patch-chrome_browser_media__galleries_media__file__system__registry.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/media_galleries/media_file_system_registry.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/media_galleries/media_file_system_registry.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/media_galleries/media_file_system_registry.cc
 @@ -757,7 +757,10 @@ class MediaFileSystemRegistry::MediaFile
  // Constructor in 'private' section because depends on private class definition.
diff --git a/chromium-new/patches/patch-chrome_browser_media_webrtc__log__uploader.cc b/chromium-new/patches/patch-chrome_browser_media_webrtc__log__uploader.cc
deleted file mode 100644
index 40011c5eda..0000000000
--- a/chromium-new/patches/patch-chrome_browser_media_webrtc__log__uploader.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- chrome/browser/media/webrtc_log_uploader.cc.orig	2016-11-10 20:02:10.000000000 +0000
-+++ chrome/browser/media/webrtc_log_uploader.cc
-@@ -344,6 +344,8 @@ void WebRtcLogUploader::SetupMultipart(
-   const char product[] = "Chrome_Android";
- #elif defined(OS_CHROMEOS)
-   const char product[] = "Chrome_ChromeOS";
-+#elif defined(OS_FREEBSD)
-+  const char product[] = "Chrome_FreeBSD";
- #else
- #error Platform not supported.
- #endif
diff --git a/chromium-new/patches/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/chromium-new/patches/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
new file mode 100644
index 0000000000..b94539fa5f
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
@@ -0,0 +1,15 @@
+$NetBSD$
+
+--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig	2017-02-02 02:02:49.000000000 +0000
++++ chrome/browser/media/webrtc/webrtc_log_uploader.cc
+@@ -344,6 +344,10 @@ void WebRtcLogUploader::SetupMultipart(
+   const char product[] = "Chrome_Android";
+ #elif defined(OS_CHROMEOS)
+   const char product[] = "Chrome_ChromeOS";
++#elif defined(OS_FREEBSD)
++  const char product[] = "Chrome_FreeBSD";
++#elif defined(OS_NETBSD)
++  const char product[] = "Chrome_NetBSD";
+ #else
+ #error Platform not supported.
+ #endif
diff --git a/chromium-new/patches/patch-chrome_browser_memory__details.cc b/chromium-new/patches/patch-chrome_browser_memory__details.cc
index 991251d276..f53453c25b 100644
--- a/chromium-new/patches/patch-chrome_browser_memory__details.cc
+++ b/chromium-new/patches/patch-chrome_browser_memory__details.cc
@@ -1,9 +1,9 @@
 $NetBSD$
 
---- chrome/browser/memory_details.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/memory_details.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/memory_details.cc
-@@ -32,7 +32,7 @@
- #include "content/public/common/content_constants.h"
+@@ -33,7 +33,7 @@
+ #include "extensions/features/features.h"
  #include "ui/base/l10n/l10n_util.h"
  
 -#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
@@ -11,7 +11,7 @@ $NetBSD$
  #include "content/public/browser/zygote_host_linux.h"
  #endif
  
-@@ -334,7 +334,7 @@ void MemoryDetails::CollectChildInfoOnUI
+@@ -335,7 +335,7 @@ void MemoryDetails::CollectChildInfoOnUI
        process.titles.push_back(title);
      }
  
diff --git a/chromium-new/patches/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/chromium-new/patches/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
index 5032003710..e80a966769 100644
--- a/chromium-new/patches/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
+++ b/chromium-new/patches/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
-@@ -38,12 +38,14 @@
+@@ -42,12 +42,14 @@
  
  #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
  #include <gnu/libc-version.h>
diff --git a/chromium-new/patches/patch-chrome_browser_net_async__dns__field__trial.cc b/chromium-new/patches/patch-chrome_browser_net_async__dns__field__trial.cc
new file mode 100644
index 0000000000..42d0dcd46d
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_net_async__dns__field__trial.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- chrome/browser/net/async_dns_field_trial.cc.orig	2017-02-02 02:02:49.000000000 +0000
++++ chrome/browser/net/async_dns_field_trial.cc
+@@ -61,7 +61,7 @@ void HistogramPrefSource(PrefSource sour
+ }  // namespace
+ 
+ bool ConfigureAsyncDnsFieldTrial() {
+-#if defined(OS_CHROMEOS) || defined(OS_MACOSX)
++#if defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_BSD)
+   const bool kDefault = true;
+ #else
+   const bool kDefault = false;
diff --git a/chromium-new/patches/patch-chrome_browser_notifications_message__center__notification__manager.cc b/chromium-new/patches/patch-chrome_browser_notifications_message__center__notification__manager.cc
index ea732de980..f40b4b7458 100644
--- a/chromium-new/patches/patch-chrome_browser_notifications_message__center__notification__manager.cc
+++ b/chromium-new/patches/patch-chrome_browser_notifications_message__center__notification__manager.cc
@@ -1,9 +1,9 @@
 $NetBSD$
 
---- chrome/browser/notifications/message_center_notification_manager.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/notifications/message_center_notification_manager.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/notifications/message_center_notification_manager.cc
 @@ -67,7 +67,7 @@ MessageCenterNotificationManager::Messag
-       base::WrapUnique(new FullscreenNotificationBlocker(message_center)));
+       base::MakeUnique<FullscreenNotificationBlocker>(message_center));
  
  #if defined(OS_WIN) || defined(OS_MACOSX) \
 -  || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
diff --git a/chromium-new/patches/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/chromium-new/patches/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
index 559bf7d9a3..761b8f2ebc 100644
--- a/chromium-new/patches/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
+++ b/chromium-new/patches/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/password_manager/chrome_password_manager_client.cc
-@@ -56,7 +56,11 @@
+@@ -57,7 +57,11 @@
  #include "content/public/browser/web_contents.h"
  #include "google_apis/gaia/gaia_urls.h"
  #include "net/base/url_util.h"
diff --git a/chromium-new/patches/patch-chrome_browser_platform__util.h b/chromium-new/patches/patch-chrome_browser_platform__util.h
index 562ef8e098..84875942b8 100644
--- a/chromium-new/patches/patch-chrome_browser_platform__util.h
+++ b/chromium-new/patches/patch-chrome_browser_platform__util.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/platform_util.h.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/platform_util.h.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/platform_util.h
 @@ -40,7 +40,7 @@ enum OpenOperationResult {
  enum OpenItemType {
diff --git a/chromium-new/patches/patch-chrome_browser_plugins_plugins__resource__service.cc b/chromium-new/patches/patch-chrome_browser_plugins_plugins__resource__service.cc
index 4e1ccdabd7..5468ac0e67 100644
--- a/chromium-new/patches/patch-chrome_browser_plugins_plugins__resource__service.cc
+++ b/chromium-new/patches/patch-chrome_browser_plugins_plugins__resource__service.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/plugins/plugins_resource_service.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/plugins/plugins_resource_service.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/plugins/plugins_resource_service.cc
 @@ -31,7 +31,7 @@ GURL GetPluginsServerURL() {
    std::string filename;
diff --git a/chromium-new/patches/patch-chrome_browser_policy_policy__prefs__browsertest.cc b/chromium-new/patches/patch-chrome_browser_policy_policy__prefs__browsertest.cc
index 6d892c4729..7c8137aaf9 100644
--- a/chromium-new/patches/patch-chrome_browser_policy_policy__prefs__browsertest.cc
+++ b/chromium-new/patches/patch-chrome_browser_policy_policy__prefs__browsertest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/policy/policy_prefs_browsertest.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/policy/policy_prefs_browsertest.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/policy/policy_prefs_browsertest.cc
 @@ -175,6 +175,8 @@ class PolicyTestCase {
      const std::string os("chromeos");
diff --git a/chromium-new/patches/patch-chrome_browser_process__singleton__posix.cc b/chromium-new/patches/patch-chrome_browser_process__singleton__posix.cc
index 58d904f64e..484357656b 100644
--- a/chromium-new/patches/patch-chrome_browser_process__singleton__posix.cc
+++ b/chromium-new/patches/patch-chrome_browser_process__singleton__posix.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/process_singleton_posix.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/process_singleton_posix.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/process_singleton_posix.cc
-@@ -90,11 +90,11 @@
+@@ -93,11 +93,11 @@
  #include "net/base/network_interfaces.h"
  #include "ui/base/l10n/l10n_util.h"
  
@@ -16,7 +16,7 @@ $NetBSD$
  #include "ui/views/linux_ui/linux_ui.h"
  #endif
  
-@@ -318,7 +318,7 @@ bool DisplayProfileInUseError(const base
+@@ -321,7 +321,7 @@ bool DisplayProfileInUseError(const base
    if (g_disable_prompt)
      return false;
  
@@ -25,7 +25,7 @@ $NetBSD$
    base::string16 relaunch_button_text = l10n_util::GetStringUTF16(
        IDS_PROFILE_IN_USE_LINUX_RELAUNCH);
    return ShowProcessSingletonDialog(error, relaunch_button_text);
-@@ -869,7 +869,7 @@ ProcessSingleton::NotifyResult ProcessSi
+@@ -855,7 +855,7 @@ ProcessSingleton::NotifyResult ProcessSi
      // The other process is shutting down, it's safe to start a new process.
      return PROCESS_NONE;
    } else if (strncmp(buf, kACKToken, arraysize(kACKToken) - 1) == 0) {
diff --git a/chromium-new/patches/patch-chrome_browser_profiles_profile__impl__io__data.cc b/chromium-new/patches/patch-chrome_browser_profiles_profile__impl__io__data.cc
new file mode 100644
index 0000000000..e692e148dd
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_profiles_profile__impl__io__data.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- chrome/browser/profiles/profile_impl_io_data.cc.orig	2017-02-02 02:02:49.000000000 +0000
++++ chrome/browser/profiles/profile_impl_io_data.cc
+@@ -104,7 +104,7 @@ net::BackendType ChooseCacheBackendType(
+   }
+ #endif  // #if !defined(OS_ANDROID)
+ 
+-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+   return net::CACHE_BACKEND_SIMPLE;
+ #else
+   return net::CACHE_BACKEND_BLOCKFILE;
diff --git a/chromium-new/patches/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/chromium-new/patches/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
new file mode 100644
index 0000000000..073a43f334
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
@@ -0,0 +1,31 @@
+$NetBSD$
+
+--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig	2017-02-02 02:02:49.000000000 +0000
++++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
+@@ -1367,7 +1367,7 @@ void RenderViewContextMenu::AppendEditab
+ // 'Undo' and 'Redo' for text input with no suggestions and no text selected.
+ // We make an exception for OS X as context clicking will select the closest
+ // word. In this case both items are always shown.
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_BSD)
+   menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_UNDO,
+                                   IDS_CONTENT_CONTEXT_UNDO);
+   menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_REDO,
+@@ -1403,7 +1403,7 @@ void RenderViewContextMenu::AppendLangua
+   if (!use_spelling)
+     return;
+ 
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_BSD)
+   menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS,
+                                   IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS);
+ #else
+@@ -1645,7 +1645,7 @@ bool RenderViewContextMenu::IsCommandIdE
+     case IDC_CHECK_SPELLING_WHILE_TYPING:
+       return prefs->GetBoolean(spellcheck::prefs::kEnableSpellcheck);
+ 
+-#if !defined(OS_MACOSX) && defined(OS_POSIX)
++#if !defined(OS_MACOSX) && !defined(OS_BSD) && defined(OS_POSIX)
+     // TODO(suzhe): this should not be enabled for password fields.
+     case IDC_INPUT_METHODS_MENU:
+       return true;
diff --git a/chromium-new/patches/patch-chrome_browser_renderer__preferences__util.cc b/chromium-new/patches/patch-chrome_browser_renderer__preferences__util.cc
index 18720de983..da10a40c89 100644
--- a/chromium-new/patches/patch-chrome_browser_renderer__preferences__util.cc
+++ b/chromium-new/patches/patch-chrome_browser_renderer__preferences__util.cc
@@ -1,9 +1,9 @@
 $NetBSD$
 
---- chrome/browser/renderer_preferences_util.cc.orig	2016-11-10 20:02:10.000000000 +0000
+--- chrome/browser/renderer_preferences_util.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/renderer_preferences_util.cc
-@@ -18,7 +18,7 @@
- #include "content/public/common/webrtc_ip_handling_policy.h"
+@@ -19,7 +19,7 @@
+ #include "third_party/WebKit/public/public_features.h"
  #include "third_party/skia/include/core/SkColor.h"
  
 -#if defined(OS_LINUX) || defined(OS_ANDROID)
@@ -11,8 +11,8 @@ $NetBSD$
  #include "ui/gfx/font_render_params.h"
  #endif
  
-@@ -26,7 +26,7 @@
- #include "ui/views/controls/textfield/textfield.h"
+@@ -31,7 +31,7 @@
+ #include "ui/base/cocoa/defaults_utils.h"
  #endif
  
 -#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
@@ -20,8 +20,8 @@ $NetBSD$
  #include "chrome/browser/themes/theme_service.h"
  #include "chrome/browser/themes/theme_service_factory.h"
  #include "ui/views/linux_ui/linux_ui.h"
-@@ -120,7 +120,7 @@ void UpdateFromSystemSettings(content::R
-   prefs->caret_blink_interval = views::Textfield::GetCaretBlinkMs() / 1000.0;
+@@ -133,7 +133,7 @@ void UpdateFromSystemSettings(content::R
+     prefs->caret_blink_interval = interval.InSecondsF();
  #endif
  
 -#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
@@ -29,7 +29,7 @@ $NetBSD$
    views::LinuxUI* linux_ui = views::LinuxUI::instance();
    if (linux_ui) {
      if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) {
-@@ -142,7 +142,7 @@ void UpdateFromSystemSettings(content::R
+@@ -155,7 +155,7 @@ void UpdateFromSystemSettings(content::R
    }
  #endif
  
diff --git a/chromium-new/patches/patch-chrome_browser_resources_safe__browsing_BUILD.gn b/chromium-new/patches/patch-chrome_browser_resources_safe__browsing_BUILD.gn
index 7e11926e2b..4e2b6f1555 100644
--- a/chromium-new/patches/patch-chrome_browser_resources_safe__browsing_BUILD.gn
+++ b/chromium-new/patches/patch-chrome_browser_resources_safe__browsing_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/resources/safe_browsing/BUILD.gn.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/resources/safe_browsing/BUILD.gn.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/resources/safe_browsing/BUILD.gn
 @@ -29,6 +29,8 @@ action("make_file_types_protobuf") {
      target_arch = "mac"
diff --git a/chromium-new/patches/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py b/chromium-new/patches/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py
index 4f39cfa8e2..67ef8fbf1e 100644
--- a/chromium-new/patches/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py
+++ b/chromium-new/patches/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/resources/safe_browsing/gen_file_type_proto.py.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/resources/safe_browsing/gen_file_type_proto.py.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/resources/safe_browsing/gen_file_type_proto.py
-@@ -41,6 +41,7 @@ def PlatformTypes():
+@@ -50,6 +50,7 @@ def PlatformTypes():
      "android": config_pb2.DownloadFileType.PLATFORM_ANDROID,
      "chromeos": config_pb2.DownloadFileType.PLATFORM_CHROME_OS,
      "linux": config_pb2.DownloadFileType.PLATFORM_LINUX,
@@ -10,7 +10,7 @@ $NetBSD$
      "mac": config_pb2.DownloadFileType.PLATFORM_MAC,
      "win": config_pb2.DownloadFileType.PLATFORM_WINDOWS,
    }
-@@ -192,7 +193,7 @@ def main():
+@@ -201,7 +202,7 @@ def main():
                      'Outfile must have a %d for version and %s for platform.')
    parser.add_option('-t', '--type',
                      help='The platform type. One of android, chromeos, ' +
diff --git a/chromium-new/patches/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc b/chromium-new/patches/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
index 7b64135e7f..c6061a7521 100644
--- a/chromium-new/patches/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
+++ b/chromium-new/patches/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc
 @@ -8,7 +8,12 @@
  
diff --git a/chromium-new/patches/patch-chrome_browser_safe__browsing_permission__reporter.cc b/chromium-new/patches/patch-chrome_browser_safe__browsing_permission__reporter.cc
index 81a9800a38..8865922e5b 100644
--- a/chromium-new/patches/patch-chrome_browser_safe__browsing_permission__reporter.cc
+++ b/chromium-new/patches/patch-chrome_browser_safe__browsing_permission__reporter.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/safe_browsing/permission_reporter.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/safe_browsing/permission_reporter.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/safe_browsing/permission_reporter.cc
-@@ -190,7 +190,7 @@ bool PermissionReporter::BuildReport(con
+@@ -193,7 +193,7 @@ bool PermissionReporter::BuildReport(con
  #if defined(OS_ANDROID)
    report.set_platform_type(PermissionReport::ANDROID_PLATFORM);
  #elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_CHROMEOS) || \
diff --git a/chromium-new/patches/patch-chrome_browser_search_local__files__ntp__source.cc b/chromium-new/patches/patch-chrome_browser_search_local__files__ntp__source.cc
index 8a411bea46..a7c1bf8af7 100644
--- a/chromium-new/patches/patch-chrome_browser_search_local__files__ntp__source.cc
+++ b/chromium-new/patches/patch-chrome_browser_search_local__files__ntp__source.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/search/local_files_ntp_source.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/search/local_files_ntp_source.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/search/local_files_ntp_source.cc
 @@ -20,8 +20,13 @@
  #include "chrome/common/url_constants.h"
diff --git a/chromium-new/patches/patch-chrome_browser_speech_tts__controller__impl.cc b/chromium-new/patches/patch-chrome_browser_speech_tts__controller__impl.cc
new file mode 100644
index 0000000000..a04e6d50be
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_speech_tts__controller__impl.cc
@@ -0,0 +1,18 @@
+$NetBSD$
+
+--- chrome/browser/speech/tts_controller_impl.cc.orig	2017-02-02 02:02:49.000000000 +0000
++++ 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/chromium-new/patches/patch-chrome_browser_sync_chrome__sync__client.cc b/chromium-new/patches/patch-chrome_browser_sync_chrome__sync__client.cc
index 4e6645d81e..73c24af789 100644
--- a/chromium-new/patches/patch-chrome_browser_sync_chrome__sync__client.cc
+++ b/chromium-new/patches/patch-chrome_browser_sync_chrome__sync__client.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/sync/chrome_sync_client.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/sync/chrome_sync_client.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/sync/chrome_sync_client.cc
-@@ -573,7 +573,7 @@ void ChromeSyncClient::RegisterDesktopDa
+@@ -578,7 +578,7 @@ void ChromeSyncClient::RegisterDesktopDa
    }
  #endif
  
@@ -10,4 +10,4 @@ $NetBSD$
 +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_BSD)
    // Dictionary sync is enabled by default.
    if (!disabled_types.Has(syncer::DICTIONARY)) {
-     sync_service->RegisterDataTypeController(new UIDataTypeController(
+     sync_service->RegisterDataTypeController(
diff --git a/chromium-new/patches/patch-chrome_browser_tracing_crash__service__uploader.cc b/chromium-new/patches/patch-chrome_browser_tracing_crash__service__uploader.cc
index cea9fb6621..8aa451d5db 100644
--- a/chromium-new/patches/patch-chrome_browser_tracing_crash__service__uploader.cc
+++ b/chromium-new/patches/patch-chrome_browser_tracing_crash__service__uploader.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/tracing/crash_service_uploader.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/tracing/crash_service_uploader.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/tracing/crash_service_uploader.cc
-@@ -155,6 +155,10 @@ void TraceCrashServiceUploader::DoUpload
+@@ -156,6 +156,10 @@ void TraceCrashServiceUploader::DoUpload
    const char product[] = "Chrome_Android";
  #elif defined(OS_CHROMEOS)
    const char product[] = "Chrome_ChromeOS";
diff --git a/chromium-new/patches/patch-chrome_browser_ui_BUILD.gn b/chromium-new/patches/patch-chrome_browser_ui_BUILD.gn
index ec5fd1dc8b..9dfce87658 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_BUILD.gn
+++ b/chromium-new/patches/patch-chrome_browser_ui_BUILD.gn
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- chrome/browser/ui/BUILD.gn.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/BUILD.gn.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/ui/BUILD.gn
-@@ -521,7 +521,7 @@ split_static_library("ui") {
-       "//ui/events:dom_keycode_converter",
-     ]
+@@ -3090,7 +3090,7 @@ split_static_library("ui") {
+       ]
+     }
    }
 -  if (is_linux) {  # Both desktop Linux and ChromeOS.
 +  if (is_linux || is_bsd) {  # Both desktop Linux and ChromeOS.
-     sources += rebase_path(gypi_values.chrome_browser_ui_linux_sources,
-                            ".",
-                            "//chrome")
+     sources += [
+       "certificate_dialogs.cc",
+       "certificate_dialogs.h",
diff --git a/chromium-new/patches/patch-chrome_browser_ui_browser__command__controller.cc b/chromium-new/patches/patch-chrome_browser_ui_browser__command__controller.cc
index 2457449225..c7e9701b96 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_browser__command__controller.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_browser__command__controller.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/browser_command_controller.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/browser_command_controller.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/ui/browser_command_controller.cc
-@@ -76,7 +76,7 @@
+@@ -81,7 +81,7 @@
  #include "chrome/browser/ui/browser_commands_chromeos.h"
  #endif
  
@@ -11,7 +11,7 @@ $NetBSD$
  #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
  #endif
  
-@@ -216,7 +216,7 @@ bool BrowserCommandController::IsReserve
+@@ -203,7 +203,7 @@ bool BrowserCommandController::IsReserve
    if (window()->IsFullscreen() && command_id == IDC_FULLSCREEN)
      return true;
  
@@ -20,7 +20,7 @@ $NetBSD$
    // If this key was registered by the user as a content editing hotkey, then
    // it is not reserved.
    ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
-@@ -419,7 +419,7 @@ void BrowserCommandController::ExecuteCo
+@@ -406,7 +406,7 @@ void BrowserCommandController::ExecuteCo
        break;
  #endif
  
@@ -29,7 +29,7 @@ $NetBSD$
      case IDC_USE_SYSTEM_TITLE_BAR: {
        PrefService* prefs = browser_->profile()->GetPrefs();
        prefs->SetBoolean(prefs::kUseCustomChromeFrame,
-@@ -812,7 +812,7 @@ void BrowserCommandController::InitComma
+@@ -766,7 +766,7 @@ void BrowserCommandController::InitComma
    command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_2, true);
    command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_3, true);
  #endif
diff --git a/chromium-new/patches/patch-chrome_browser_ui_browser__view__prefs.cc b/chromium-new/patches/patch-chrome_browser_ui_browser__view__prefs.cc
index 12c0672062..23d1c54b6b 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_browser__view__prefs.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_browser__view__prefs.cc
@@ -1,22 +1,13 @@
 $NetBSD$
 
---- chrome/browser/ui/browser_view_prefs.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/browser_view_prefs.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/ui/browser_view_prefs.cc
 @@ -10,7 +10,7 @@
  #include "components/prefs/pref_registry_simple.h"
  #include "components/prefs/pref_service.h"
  
 -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)  || defined(OS_BSD)
- #include "ui/base/x/x11_util.h"
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ #include "ui/base/x/x11_util.h"  // nogncheck
  #endif
  
-@@ -32,7 +32,7 @@ void RegisterBrowserViewLocalPrefs(PrefR
- 
- void RegisterBrowserViewProfilePrefs(
-     user_prefs::PrefRegistrySyncable* registry) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
-   registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame,
-                                 ui::GetCustomFramePrefDefault());
- #endif
diff --git a/chromium-new/patches/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc b/chromium-new/patches/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
index 1136d86f68..7cad53daf7 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc
-@@ -19,7 +19,7 @@
+@@ -16,7 +16,7 @@
  
  // NOTE(koz): Linux doesn't use the thick shadowed border, so we add padding
  // here.
diff --git a/chromium-new/patches/patch-chrome_browser_ui_input__method_input__method__engine__base.cc b/chromium-new/patches/patch-chrome_browser_ui_input__method_input__method__engine__base.cc
index 72576ef3b1..91d49b9ea0 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_input__method_input__method__engine__base.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_input__method_input__method__engine__base.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/ui/input_method/input_method_engine_base.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/input_method/input_method_engine_base.cc.orig	2017-02-02 02:02:49.000000000 +0000
 +++ chrome/browser/ui/input_method/input_method_engine_base.cc
 @@ -37,7 +37,7 @@
  #elif defined(OS_WIN)
diff --git a/chromium-new/patches/patch-chrome_browser_ui_libgtk2ui_BUILD.gn b/chromium-new/patches/patch-chrome_browser_ui_libgtk2ui_BUILD.gn
deleted file mode 100644
index 85217b82a3..0000000000
--- a/chromium-new/patches/patch-chrome_browser_ui_libgtk2ui_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- chrome/browser/ui/libgtk2ui/BUILD.gn.orig	2016-11-10 20:02:11.000000000 +0000
-+++ chrome/browser/ui/libgtk2ui/BUILD.gn
-@@ -2,7 +2,7 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- 
--assert(is_linux, "This file should only be referenced on Linux")
-+assert(is_linux || is_bsd, "This file should only be referenced on Linux")
- 
- import("//build/config/features.gni")
- import("//build/config/ui.gni")
diff --git a/chromium-new/patches/patch-chrome_browser_ui_libgtkui_BUILD.gn b/chromium-new/patches/patch-chrome_browser_ui_libgtkui_BUILD.gn
new file mode 100644
index 0000000000..84edc42745
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_ui_libgtkui_BUILD.gn
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- chrome/browser/ui/libgtkui/BUILD.gn.orig	2017-02-02 02:02:49.000000000 +0000
++++ chrome/browser/ui/libgtkui/BUILD.gn
+@@ -2,7 +2,7 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+ 
+-assert(is_linux, "This file should only be referenced on Linux")
++assert(is_linux || is_bsd, "This file should only be referenced on Linux")
+ 
+ import("//build/config/features.gni")
+ import("//build/config/ui.gni")
diff --git a/chromium-new/patches/patch-chrome_browser_ui_libgtkui_print__dialog__gtk.cc b/chromium-new/patches/patch-chrome_browser_ui_libgtkui_print__dialog__gtk.cc
new file mode 100644
index 0000000000..af6cb4da34
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_ui_libgtkui_print__dialog__gtk.cc
@@ -0,0 +1,12 @@
+$NetBSD$
+
+--- chrome/browser/ui/libgtkui/print_dialog_gtk.cc.orig	2017-02-02 02:02:50.000000000 +0000
++++ chrome/browser/ui/libgtkui/print_dialog_gtk.cc
+@@ -348,6 +348,7 @@ void PrintDialogGtk2::ShowDialog(
+   // Since we only generate PDF, only show printers that support PDF.
+   // TODO(thestig) Add more capabilities to support?
+   GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>(
++      GTK_PRINT_CAPABILITY_GENERATE_PS |
+       GTK_PRINT_CAPABILITY_GENERATE_PDF |
+       GTK_PRINT_CAPABILITY_PAGE_SET |
+       GTK_PRINT_CAPABILITY_COPIES |
diff --git a/chromium-new/patches/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/chromium-new/patches/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
new file mode 100644
index 0000000000..6723b91cc3
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig	2017-02-02 02:02:50.000000000 +0000
++++ chrome/browser/ui/startup/bad_flags_prompt.cc
+@@ -71,7 +71,7 @@ void ShowBadFlagsPrompt(Browser* browser
+     // This flag gives extensions more powers.
+     extensions::switches::kExtensionsOnChromeURLs,
+ 
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+     // Speech dispatcher is buggy, it can crash and it can make Chrome freeze.
+     // http://crbug.com/327295
+     switches::kEnableSpeechDispatcher,
diff --git a/chromium-new/patches/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/chromium-new/patches/patch-chrome_browser_ui_startup_startup__browser__creator.cc
index 60f473419e..407fc92192 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_startup_startup__browser__creator.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_startup_startup__browser__creator.cc
@@ -1,13 +1,25 @@
 $NetBSD$
 
---- chrome/browser/ui/startup/startup_browser_creator.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/startup/startup_browser_creator.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/startup/startup_browser_creator.cc
-@@ -90,7 +90,7 @@
+@@ -95,7 +95,7 @@
  #include "components/user_manager/user_manager.h"
  #endif
  
 -#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX)
-+#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_NETBSD))
- #include "ui/events/devices/x11/touch_factory_x11.h"
++#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD))
+ #include "ui/events/devices/x11/touch_factory_x11.h"  // nogncheck
  #endif
  
+@@ -651,9 +651,11 @@ bool StartupBrowserCreator::ProcessCmdLi
+   }
+ #endif  // OS_CHROMEOS
+ 
++#if 0 /* XXX */
+ #if defined(TOOLKIT_VIEWS) && defined(USE_X11)
+   ui::TouchFactory::SetTouchDeviceListFromCommandLine();
+ #endif
++#endif
+ 
+ #if defined(OS_MACOSX)
+   if (web_app::MaybeRebuildShortcut(command_line))
diff --git a/chromium-new/patches/patch-chrome_browser_ui_toolbar_app__menu__model.cc b/chromium-new/patches/patch-chrome_browser_ui_toolbar_app__menu__model.cc
index 7c31dc8f54..f9d6d47828 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_toolbar_app__menu__model.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_toolbar_app__menu__model.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/toolbar/app_menu_model.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/toolbar/app_menu_model.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/toolbar/app_menu_model.cc
-@@ -704,7 +704,7 @@ bool AppMenuModel::IsCommandIdVisible(in
+@@ -632,7 +632,7 @@ bool AppMenuModel::IsCommandIdVisible(in
      case IDC_UPGRADE_DIALOG:
        return browser_defaults::kShowUpgradeMenuItem &&
            UpgradeDetector::GetInstance()->notify_upgrade();
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_accelerator__table.cc b/chromium-new/patches/patch-chrome_browser_ui_views_accelerator__table.cc
new file mode 100644
index 0000000000..b933c2ccb7
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_accelerator__table.cc
@@ -0,0 +1,31 @@
+$NetBSD$
+
+--- chrome/browser/ui/views/accelerator_table.cc.orig	2017-02-02 02:02:50.000000000 +0000
++++ chrome/browser/ui/views/accelerator_table.cc
+@@ -72,7 +72,7 @@ const AcceleratorMapping kAcceleratorMap
+   { ui::VKEY_S, ui::EF_CONTROL_DOWN, IDC_SAVE_PAGE },
+   { ui::VKEY_9, kPlatformModifier, IDC_SELECT_LAST_TAB },
+   { ui::VKEY_NUMPAD9, kPlatformModifier, IDC_SELECT_LAST_TAB },
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   { ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB },
+   { ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB },
+   { ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT },
+@@ -100,7 +100,7 @@ const AcceleratorMapping kAcceleratorMap
+   { ui::VKEY_NUMPAD7, kPlatformModifier, IDC_SELECT_TAB_6 },
+   { ui::VKEY_8, kPlatformModifier, IDC_SELECT_TAB_7 },
+   { ui::VKEY_NUMPAD8, kPlatformModifier, IDC_SELECT_TAB_7 },
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   { ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0 },
+   { ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0 },
+   { ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1 },
+@@ -149,7 +149,7 @@ const AcceleratorMapping kAcceleratorMap
+   { ui::VKEY_F11, ui::EF_NONE, IDC_FULLSCREEN },
+ 
+   // Platform-specific key maps.
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+   { ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK },
+   { ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD },
+   { ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME },
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_app__list_linux_app__list__linux.cc b/chromium-new/patches/patch-chrome_browser_ui_views_app__list_linux_app__list__linux.cc
new file mode 100644
index 0000000000..b7604fd833
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_app__list_linux_app__list__linux.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- chrome/browser/ui/views/app_list/linux/app_list_linux.cc.orig	2017-02-02 02:02:50.000000000 +0000
++++ chrome/browser/ui/views/app_list/linux/app_list_linux.cc
+@@ -91,7 +91,7 @@ void AppListLinux::MoveNearCursor(app_li
+   view->SetBubbleArrow(views::BubbleBorder::FLOAT);
+ 
+   AppListPositioner::ScreenEdge edge;
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   // In the Unity desktop environment, special case SCREEN_EDGE_LEFT. It is
+   // always on the left side in Unity, but ShelfLocationInDisplay will not
+   // detect this if the shelf is hidden.
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/chromium-new/patches/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
index 126b1eb02f..29be2aaabd 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc
 @@ -19,7 +19,7 @@
  #include "ui/gfx/image/image_skia.h"
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.cc b/chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.cc
index 80c3e97b70..eb45aefad9 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/views/chrome_views_delegate.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/chrome_views_delegate.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/chrome_views_delegate.cc
-@@ -56,7 +56,7 @@
+@@ -57,7 +57,7 @@
  #include "ui/views/widget/native_widget_aura.h"
  #endif
  
@@ -11,7 +11,7 @@ $NetBSD$
  #include "ui/views/linux_ui/linux_ui.h"
  #endif
  
-@@ -305,7 +305,7 @@ HICON ChromeViewsDelegate::GetSmallWindo
+@@ -308,7 +308,7 @@ HICON ChromeViewsDelegate::GetSmallWindo
    return GetSmallAppIcon();
  }
  
@@ -20,7 +20,7 @@ $NetBSD$
  gfx::ImageSkia* ChromeViewsDelegate::GetDefaultWindowIcon() const {
    ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
    return rb.GetImageSkiaNamed(IDR_PRODUCT_LOGO_64);
-@@ -444,7 +444,7 @@ void ChromeViewsDelegate::OnBeforeWidget
+@@ -447,7 +447,7 @@ void ChromeViewsDelegate::OnBeforeWidget
  #endif
  }
  
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.h b/chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.h
index f4ae47e5b4..01438ad0d9 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.h
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_chrome__views__delegate.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/ui/views/chrome_views_delegate.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/chrome_views_delegate.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/chrome_views_delegate.h
 @@ -37,7 +37,7 @@ class ChromeViewsDelegate : public views
  #if defined(OS_WIN)
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_first__run__dialog.cc b/chromium-new/patches/patch-chrome_browser_ui_views_first__run__dialog.cc
index f2ca41c400..25a483d8da 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_first__run__dialog.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_first__run__dialog.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/views/first_run_dialog.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/first_run_dialog.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/first_run_dialog.cc
-@@ -35,8 +35,10 @@ using views::GridLayout;
+@@ -40,8 +40,10 @@ using views::GridLayout;
  namespace {
  
  void InitCrashReporterIfEnabled(bool enabled) {
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__frame.cc b/chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__frame.cc
index d2145eebc9..4835233dd7 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__frame.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__frame.cc
@@ -1,9 +1,9 @@
 $NetBSD$
 
---- chrome/browser/ui/views/frame/browser_frame.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/frame/browser_frame.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/frame/browser_frame.cc
-@@ -38,7 +38,7 @@
- #include "ui/native_theme/native_theme_dark_aura.h"
+@@ -37,11 +37,11 @@
+ #include "ash/common/wm_shell.h"  // nogncheck
  #endif
  
 -#if defined(OS_LINUX)
@@ -11,7 +11,12 @@ $NetBSD$
  #include "chrome/browser/ui/views/frame/browser_command_handler_linux.h"
  #endif
  
-@@ -104,7 +104,7 @@ void BrowserFrame::InitBrowserFrame() {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+ #include "ui/views/widget/desktop_aura/x11_desktop_handler.h"
+ #endif
+ 
+@@ -98,7 +98,7 @@ void BrowserFrame::InitBrowserFrame() {
      non_client_view()->set_context_menu_controller(this);
    }
  
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__view.cc b/chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__view.cc
index 73f1ed3e07..3a8ce49750 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__view.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_frame_browser__view.cc
@@ -1,22 +1,13 @@
 $NetBSD$
 
---- chrome/browser/ui/views/frame/browser_view.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/frame/browser_view.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/frame/browser_view.cc
-@@ -180,7 +180,7 @@
- #include "chrome/browser/ui/views/sync/one_click_signin_dialog_view.h"
+@@ -1913,7 +1913,7 @@ void BrowserView::OnThemeChanged() {
  #endif
- 
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/native_theme/native_theme_dark_aura.h"
- #endif
- 
-@@ -1990,7 +1990,7 @@ void BrowserView::OnThemeChanged() {
  #if defined(OS_WIN)
-     ui::NativeThemeDarkWin::instance()->NotifyObservers();
      ui::NativeThemeWin::instance()->NotifyObservers();
 -#elif defined(OS_LINUX)
 +#elif defined(OS_LINUX) || defined(OS_BSD)
-     ui::NativeThemeDarkAura::instance()->NotifyObservers();
      ui::NativeThemeAura::instance()->NotifyObservers();
  #endif
+   }
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
index 9c8aa19f5e..dea047e625 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
 @@ -38,7 +38,7 @@
  #include "ui/views/window/frame_background.h"
@@ -11,7 +11,7 @@ $NetBSD$
  #include "ui/views/controls/menu/menu_runner.h"
  #endif
  
-@@ -293,7 +293,7 @@ void OpaqueBrowserFrameView::ButtonPress
+@@ -292,7 +292,7 @@ void OpaqueBrowserFrameView::ButtonPress
  void OpaqueBrowserFrameView::OnMenuButtonClicked(views::MenuButton* source,
                                                   const gfx::Point& point,
                                                   const ui::Event* event) {
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout.cc b/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout.cc
index 514c632d11..7d5de6f1b4 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.cc
-@@ -21,7 +21,7 @@ namespace {
+@@ -20,7 +20,7 @@ namespace {
  
  const int kCaptionButtonHeight = 18;
  
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc b/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
index 65cfeac46f..cf59fa438e 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.cc
 @@ -10,7 +10,7 @@ bool OpaqueBrowserFrameViewPlatformSpeci
    return false;
  }
  
 -#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_FREEBSD)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
  
  // static
  OpaqueBrowserFrameViewPlatformSpecific*
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
index 6bfbf03adc..51010c842c 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc
 @@ -85,7 +85,7 @@ void SystemMenuModelBuilder::BuildSystem
      model->AddSeparator(ui::NORMAL_SEPARATOR);
@@ -11,7 +11,7 @@ $NetBSD$
    model->AddSeparator(ui::NORMAL_SEPARATOR);
    model->AddCheckItemWithStringId(IDC_USE_SYSTEM_TITLE_BAR,
                                    IDS_SHOW_WINDOW_DECORATIONS_MENU);
-@@ -123,7 +123,7 @@ void SystemMenuModelBuilder::BuildSystem
+@@ -119,7 +119,7 @@ void SystemMenuModelBuilder::BuildSystem
      model->AddSeparator(ui::NORMAL_SEPARATOR);
      model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER);
    }
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
new file mode 100644
index 0000000000..d0699aa7bc
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig	2017-02-02 02:02:50.000000000 +0000
++++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc
+@@ -13,7 +13,7 @@
+ #include "components/sessions/core/tab_restore_service.h"
+ #include "ui/base/l10n/l10n_util.h"
+ 
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+ #include "chrome/common/pref_names.h"
+ #include "components/prefs/pref_service.h"
+ #endif
+@@ -29,7 +29,7 @@ SystemMenuModelDelegate::~SystemMenuMode
+ }
+ 
+ bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   if (command_id == IDC_USE_SYSTEM_TITLE_BAR) {
+     PrefService* prefs = browser_->profile()->GetPrefs();
+     return !prefs->GetBoolean(prefs::kUseCustomChromeFrame);
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_message__center_message__center__frame__view.cc b/chromium-new/patches/patch-chrome_browser_ui_views_message__center_message__center__frame__view.cc
index 3cb293dfdb..261017133b 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_message__center_message__center__frame__view.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_message__center_message__center__frame__view.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/ui/views/message_center/message_center_frame_view.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/message_center/message_center_frame_view.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/message_center/message_center_frame_view.cc
 @@ -15,7 +15,7 @@
  namespace message_center {
@@ -9,5 +9,5 @@ $NetBSD$
 -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 +#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
    const int kBorderWidth = 1;
-   SetBorder(views::Border::CreateSolidBorder(
+   SetBorder(views::CreateSolidBorder(
        kBorderWidth, message_center::kMessageCenterBorderColor));
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
index e6aa9b4062..2d0a9c7f19 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/tabs/tab_drag_controller.cc
-@@ -281,7 +281,7 @@ void TabDragController::Init(
+@@ -270,7 +270,7 @@ void TabDragController::Init(
    //     synchronous on desktop Linux, so use that.
    // - Ash
    //     Releasing capture on Ash cancels gestures so avoid it.
@@ -11,7 +11,7 @@ $NetBSD$
    can_release_capture_ = false;
  #endif
    start_point_in_screen_ = gfx::Point(source_tab_offset, mouse_offset.y());
-@@ -631,7 +631,7 @@ TabDragController::DragBrowserToNewTabSt
+@@ -620,7 +620,7 @@ TabDragController::DragBrowserToNewTabSt
      // that to effect the position of any windows.
      SetWindowPositionManaged(browser_widget->GetNativeWindow(), false);
  
@@ -20,7 +20,7 @@ $NetBSD$
      // EndMoveLoop is going to snap the window back to its original location.
      // Hide it so users don't see this. Hiding a window in Linux aura causes
      // it to lose capture so skip it.
-@@ -1830,7 +1830,7 @@ TabDragController::Liveness TabDragContr
+@@ -1819,7 +1819,7 @@ TabDragController::Liveness TabDragContr
      if (dragged_window)
        exclude.insert(dragged_window);
    }
diff --git a/chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__strip.cc b/chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__strip.cc
index d9c1c156d2..c5a8cb802f 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__strip.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_views_tabs_tab__strip.cc
@@ -1,11 +1,11 @@
 $NetBSD$
 
---- chrome/browser/ui/views/tabs/tab_strip.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/views/tabs/tab_strip.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/views/tabs/tab_strip.cc
 @@ -323,7 +323,7 @@ NewTabButton::NewTabButton(TabStrip* tab
-     : views::ImageButton(listener),
        tab_strip_(tab_strip),
        destroyed_(NULL) {
+   set_animate_on_state_change(true);
 -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
    set_triggerable_event_flags(triggerable_event_flags() |
diff --git a/chromium-new/patches/patch-chrome_browser_ui_webui_about__ui.cc b/chromium-new/patches/patch-chrome_browser_ui_webui_about__ui.cc
index 14419e31b7..f71e4ef9d8 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_webui_about__ui.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_webui_about__ui.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/ui/webui/about_ui.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/webui/about_ui.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/webui/about_ui.cc
 @@ -75,7 +75,7 @@
  #include "chrome/browser/ui/webui/theme_source.h"
@@ -52,7 +52,7 @@ $NetBSD$
  
    AppendFooter(&data);
    return data;
-@@ -788,7 +792,7 @@ void AboutUIHTMLSource::StartDataRequest
+@@ -794,7 +798,7 @@ void AboutUIHTMLSource::StartDataRequest
    } else if (source_name_ == chrome::kChromeUIDNSHost) {
      AboutDnsHandler::Start(profile(), callback);
      return;
@@ -61,7 +61,7 @@ $NetBSD$
    } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) {
      response = AboutLinuxProxyConfig();
  #endif
-@@ -797,7 +801,7 @@ void AboutUIHTMLSource::StartDataRequest
+@@ -803,7 +807,7 @@ void AboutUIHTMLSource::StartDataRequest
      ChromeOSCreditsHandler::Start(path, callback);
      return;
  #endif
diff --git a/chromium-new/patches/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/chromium-new/patches/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
index 0e72aeb850..25b3db563c 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -287,7 +287,7 @@ bool IsAboutUI(const GURL& url) {
+@@ -286,7 +286,7 @@ bool IsAboutUI(const GURL& url) {
  #if !defined(OS_ANDROID)
-           || url.host() == chrome::kChromeUITermsHost
+           || url.host_piece() == chrome::kChromeUITermsHost
  #endif
 -#if defined(OS_LINUX) || defined(OS_OPENBSD)
 +#if defined(OS_LINUX) || defined(OS_BSD)
-           || url.host() == chrome::kChromeUILinuxProxyConfigHost ||
-           url.host() == chrome::kChromeUISandboxHost
+           || url.host_piece() == chrome::kChromeUILinuxProxyConfigHost ||
+           url.host_piece() == chrome::kChromeUISandboxHost
  #endif
diff --git a/chromium-new/patches/patch-chrome_browser_ui_webui_extensions_extension__loader__handler.cc b/chromium-new/patches/patch-chrome_browser_ui_webui_extensions_extension__loader__handler.cc
index 1de927c181..066bedf672 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_webui_extensions_extension__loader__handler.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_webui_extensions_extension__loader__handler.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/browser/ui/webui/extensions/extension_loader_handler.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/webui/extensions/extension_loader_handler.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/webui/extensions/extension_loader_handler.cc
 @@ -27,7 +27,11 @@
  #include "extensions/common/constants.h"
diff --git a/chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.cc b/chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.cc
index d3f103a118..eec487ed31 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.cc
+++ b/chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/webui/options/browser_options_handler.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/webui/options/browser_options_handler.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/webui/options/browser_options_handler.cc
-@@ -540,13 +540,13 @@ void BrowserOptionsHandler::GetLocalized
+@@ -564,13 +564,13 @@ void BrowserOptionsHandler::GetLocalized
      { "syncButtonTextStart", IDS_SYNC_SETUP_BUTTON_LABEL },
  #endif  // defined(OS_CHROMEOS)
  
@@ -18,7 +18,7 @@ $NetBSD$
  
  #if defined(OS_CHROMEOS) && defined(USE_ASH)
      { "setWallpaper", IDS_SET_WALLPAPER_BUTTON },
-@@ -797,7 +797,7 @@ void BrowserOptionsHandler::RegisterMess
+@@ -813,7 +813,7 @@ void BrowserOptionsHandler::RegisterMess
        "requestProfilesInfo",
        base::Bind(&BrowserOptionsHandler::HandleRequestProfilesInfo,
                   base::Unretained(this)));
@@ -27,7 +27,7 @@ $NetBSD$
    web_ui()->RegisterMessageCallback(
        "themesSetNative",
        base::Bind(&BrowserOptionsHandler::ThemesSetNative,
-@@ -1443,7 +1443,7 @@ void BrowserOptionsHandler::ObserveTheme
+@@ -1476,7 +1476,7 @@ void BrowserOptionsHandler::ObserveTheme
    ThemeService* theme_service = ThemeServiceFactory::GetForProfile(profile);
    bool is_system_theme = false;
  
@@ -36,7 +36,7 @@ $NetBSD$
    bool profile_is_supervised = profile->IsSupervised();
    is_system_theme = theme_service->UsingSystemTheme();
    base::FundamentalValue native_theme_enabled(!is_system_theme &&
-@@ -1465,7 +1465,7 @@ void BrowserOptionsHandler::ThemesReset(
+@@ -1498,7 +1498,7 @@ void BrowserOptionsHandler::ThemesReset(
    ThemeServiceFactory::GetForProfile(profile)->UseDefaultTheme();
  }
  
diff --git a/chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.h b/chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.h
index 07a9895ec6..906819efe6 100644
--- a/chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.h
+++ b/chromium-new/patches/patch-chrome_browser_ui_webui_options_browser__options__handler.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/browser/ui/webui/options/browser_options_handler.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/ui/webui/options/browser_options_handler.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/ui/webui/options/browser_options_handler.h
-@@ -206,7 +206,7 @@ class BrowserOptionsHandler
+@@ -208,7 +208,7 @@ class BrowserOptionsHandler
  
    void ObserveThemeChanged();
    void ThemesReset(const base::ListValue* args);
diff --git a/chromium-new/patches/patch-chrome_browser_web__applications_web__app.cc b/chromium-new/patches/patch-chrome_browser_web__applications_web__app.cc
index a90ca9bd4d..fe5c7e2387 100644
--- a/chromium-new/patches/patch-chrome_browser_web__applications_web__app.cc
+++ b/chromium-new/patches/patch-chrome_browser_web__applications_web__app.cc
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- chrome/browser/web_applications/web_app.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/web_applications/web_app.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/web_applications/web_app.cc
 @@ -507,7 +507,7 @@ void GetIconsInfo(const WebApplicationIn
  }
  #endif
  
 -#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
  std::string GetWMClassFromAppName(std::string app_name) {
    base::i18n::ReplaceIllegalCharactersInPath(&app_name, '_');
    base::TrimString(app_name, "_", &app_name);
diff --git a/chromium-new/patches/patch-chrome_browser_web__applications_web__app.h b/chromium-new/patches/patch-chrome_browser_web__applications_web__app.h
index 74c0bad9d6..af0d1ffb49 100644
--- a/chromium-new/patches/patch-chrome_browser_web__applications_web__app.h
+++ b/chromium-new/patches/patch-chrome_browser_web__applications_web__app.h
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- chrome/browser/web_applications/web_app.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/browser/web_applications/web_app.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/browser/web_applications/web_app.h
 @@ -224,7 +224,7 @@ typedef std::vector<WebApplicationInfo::
  void GetIconsInfo(const WebApplicationInfo& app_info, IconInfoList* icons);
  #endif
  
 -#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
  // Windows that correspond to web apps need to have a deterministic (and
  // different) WMClass than normal chrome windows so the window manager groups
  // them as a separate application.
diff --git a/chromium-new/patches/patch-chrome_common_BUILD.gn b/chromium-new/patches/patch-chrome_common_BUILD.gn
index f96f0b871b..d9b04ff3b1 100644
--- a/chromium-new/patches/patch-chrome_common_BUILD.gn
+++ b/chromium-new/patches/patch-chrome_common_BUILD.gn
@@ -1,9 +1,9 @@
 $NetBSD$
 
---- chrome/common/BUILD.gn.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/BUILD.gn.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/BUILD.gn
-@@ -147,6 +147,13 @@ static_library("common") {
-     ]
+@@ -243,6 +243,13 @@ static_library("common") {
+     public_deps += [ "//ppapi/shared_impl" ]
    }
  
 +  if (is_bsd) {
@@ -14,5 +14,5 @@ $NetBSD$
 +  }
 +
    if (enable_extensions) {
-     sources += rebase_path(gypi_values.chrome_common_extensions_sources,
-                            ".",
+     sources += [
+       "cast_messages.cc",
diff --git a/chromium-new/patches/patch-chrome_common_chrome__paths.cc b/chromium-new/patches/patch-chrome_common_chrome__paths.cc
index 5ac73e5231..f81a9f6326 100644
--- a/chromium-new/patches/patch-chrome_common_chrome__paths.cc
+++ b/chromium-new/patches/patch-chrome_common_chrome__paths.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/common/chrome_paths.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/chrome_paths.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/chrome_paths.cc
-@@ -190,7 +190,7 @@ bool PathProvider(int key, base::FilePat
+@@ -197,7 +197,7 @@ bool PathProvider(int key, base::FilePat
          return false;
        break;
      case chrome::DIR_DEFAULT_DOWNLOADS_SAFE:
@@ -11,7 +11,7 @@ $NetBSD$
        if (!GetUserDownloadsDirectorySafe(&cur))
          return false;
        break;
-@@ -472,10 +472,12 @@ bool PathProvider(int key, base::FilePat
+@@ -480,10 +480,12 @@ bool PathProvider(int key, base::FilePat
        if (!base::PathExists(cur))  // We don't want to create this
          return false;
        break;
@@ -21,11 +21,11 @@ $NetBSD$
  #if defined(GOOGLE_CHROME_BUILD)
        cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies"));
 +#elif defined(OS_BSD)
-+      cur = base::FilePath(FILE_PATH_LITERAL("/usr/local/etc/chrome/policies"));
++      cur = base::FilePath(FILE_PATH_LITERAL("/usr/pkg/etc/chrome/policies"));
  #else
        cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies"));
  #endif
-@@ -526,7 +528,7 @@ bool PathProvider(int key, base::FilePat
+@@ -534,7 +536,7 @@ bool PathProvider(int key, base::FilePat
  #endif
        break;
  
@@ -34,17 +34,17 @@ $NetBSD$
      case chrome::DIR_NATIVE_MESSAGING:
  #if defined(OS_MACOSX)
  #if defined(GOOGLE_CHROME_BUILD)
-@@ -540,6 +542,9 @@ bool PathProvider(int key, base::FilePat
+@@ -548,6 +550,9 @@ bool PathProvider(int key, base::FilePat
  #if defined(GOOGLE_CHROME_BUILD)
        cur = base::FilePath(FILE_PATH_LITERAL(
            "/etc/opt/chrome/native-messaging-hosts"));
 +#elif defined(OS_BSD)
 +      cur = base::FilePath(FILE_PATH_LITERAL(
-+          "/usr/local/etc/chrome/native-messaging-hosts"));
++          "/usr/pkg/etc/chrome/native-messaging-hosts"));
  #else
        cur = base::FilePath(FILE_PATH_LITERAL(
            "/etc/chromium/native-messaging-hosts"));
-@@ -552,7 +557,7 @@ bool PathProvider(int key, base::FilePat
+@@ -560,7 +565,7 @@ bool PathProvider(int key, base::FilePat
          return false;
        cur = cur.Append(FILE_PATH_LITERAL("NativeMessagingHosts"));
        break;
diff --git a/chromium-new/patches/patch-chrome_common_chrome__paths.h b/chromium-new/patches/patch-chrome_common_chrome__paths.h
index 9dc340c397..a029bfeb83 100644
--- a/chromium-new/patches/patch-chrome_common_chrome__paths.h
+++ b/chromium-new/patches/patch-chrome_common_chrome__paths.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/common/chrome_paths.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/chrome_paths.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/chrome_paths.h
-@@ -48,7 +48,7 @@ enum {
+@@ -49,7 +49,7 @@ enum {
                                  // to set policies for chrome. This directory
                                  // contains subdirectories.
  #endif
@@ -11,7 +11,7 @@ $NetBSD$
      defined(OS_MACOSX)
    DIR_USER_EXTERNAL_EXTENSIONS,  // Directory for per-user external extensions
                                   // on Chrome Mac and Chromium Linux.
-@@ -57,7 +57,7 @@ enum {
+@@ -58,7 +58,7 @@ enum {
                                   // create it.
  #endif
  
@@ -20,7 +20,7 @@ $NetBSD$
    DIR_STANDALONE_EXTERNAL_EXTENSIONS,  // Directory for 'per-extension'
                                         // definition manifest files that
                                         // describe extensions which are to be
-@@ -111,7 +111,7 @@ enum {
+@@ -112,7 +112,7 @@ enum {
    DIR_SUPERVISED_USER_INSTALLED_WHITELISTS,  // Directory where sanitized
                                               // supervised user whitelists are
                                               // installed.
diff --git a/chromium-new/patches/patch-chrome_common_chrome__paths__internal.h b/chromium-new/patches/patch-chrome_common_chrome__paths__internal.h
index 88e4946421..ca44ff1e45 100644
--- a/chromium-new/patches/patch-chrome_common_chrome__paths__internal.h
+++ b/chromium-new/patches/patch-chrome_common_chrome__paths__internal.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/common/chrome_paths_internal.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/chrome_paths_internal.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/chrome_paths_internal.h
 @@ -39,7 +39,7 @@ void GetUserCacheDirectory(const base::F
  // Get the path to the user's documents directory.
diff --git a/chromium-new/patches/patch-chrome_common_chrome__switches.cc b/chromium-new/patches/patch-chrome_common_chrome__switches.cc
index 24a1a57646..994aa137ee 100644
--- a/chromium-new/patches/patch-chrome_common_chrome__switches.cc
+++ b/chromium-new/patches/patch-chrome_common_chrome__switches.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/common/chrome_switches.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/chrome_switches.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/chrome_switches.cc
-@@ -1277,7 +1277,7 @@ const char kAllowNaClSocketAPI[]        
+@@ -1263,7 +1263,7 @@ const char kAllowNaClSocketAPI[]        
  const char kEnableWaylandServer[] = "enable-wayland-server";
  #endif
  
diff --git a/chromium-new/patches/patch-chrome_common_chrome__switches.h b/chromium-new/patches/patch-chrome_common_chrome__switches.h
index 9dbc320f7c..97e18e4cdb 100644
--- a/chromium-new/patches/patch-chrome_common_chrome__switches.h
+++ b/chromium-new/patches/patch-chrome_common_chrome__switches.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/common/chrome_switches.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/chrome_switches.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/chrome_switches.h
-@@ -378,7 +378,7 @@ extern const char kAllowNaClSocketAPI[];
+@@ -385,7 +385,7 @@ extern const char kAllowNaClSocketAPI[];
  extern const char kEnableWaylandServer[];
  #endif
  
diff --git a/chromium-new/patches/patch-chrome_common_extensions_api_schemas.gni b/chromium-new/patches/patch-chrome_common_extensions_api_schemas.gni
deleted file mode 100644
index eb620e0477..0000000000
--- a/chromium-new/patches/patch-chrome_common_extensions_api_schemas.gni
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- chrome/common/extensions/api/schemas.gni.orig	2016-11-10 20:02:11.000000000 +0000
-+++ chrome/common/extensions/api/schemas.gni
-@@ -19,7 +19,7 @@ if (enable_task_manager) {
- }
- if (is_chromeos) {
-   schema_sources += gypi_values.chromeos_schema_files
--} else if (is_linux || is_win) {
-+} else if (is_linux || is_win || is_bsd) {
-   schema_sources += gypi_values.input_ime_schema_file
- }
- if (enable_service_discovery) {
diff --git a/chromium-new/patches/patch-chrome_common_extensions_chrome__extensions__client.cc b/chromium-new/patches/patch-chrome_common_extensions_chrome__extensions__client.cc
new file mode 100644
index 0000000000..716e2b9804
--- /dev/null
+++ b/chromium-new/patches/patch-chrome_common_extensions_chrome__extensions__client.cc
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- chrome/common/extensions/chrome_extensions_client.cc.orig	2017-02-02 02:02:50.000000000 +0000
++++ chrome/common/extensions/chrome_extensions_client.cc
+@@ -105,7 +105,10 @@ ChromeChannelForHistogram GetChromeChann
+ static base::LazyInstance<ChromeExtensionsClient> g_client =
+     LAZY_INSTANCE_INITIALIZER;
+ 
+-ChromeExtensionsClient::ChromeExtensionsClient() {}
++ChromeExtensionsClient::ChromeExtensionsClient()
++    : chrome_api_permissions_(ChromeAPIPermissions()),
++      extensions_api_permissions_(ExtensionsAPIPermissions()) {
++}
+ 
+ ChromeExtensionsClient::~ChromeExtensionsClient() {
+ }
diff --git a/chromium-new/patches/patch-chrome_common_extensions_command.cc b/chromium-new/patches/patch-chrome_common_extensions_command.cc
index 6684f9d674..982bf08dbd 100644
--- a/chromium-new/patches/patch-chrome_common_extensions_command.cc
+++ b/chromium-new/patches/patch-chrome_common_extensions_command.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/common/extensions/command.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/extensions/command.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/extensions/command.cc
-@@ -304,7 +304,7 @@ std::string Command::CommandPlatform() {
+@@ -302,7 +302,7 @@ std::string Command::CommandPlatform() {
    return values::kKeybindingPlatformMac;
  #elif defined(OS_CHROMEOS)
    return values::kKeybindingPlatformChromeOs;
diff --git a/chromium-new/patches/patch-chrome_common_features.gni b/chromium-new/patches/patch-chrome_common_features.gni
index de8f9eb49f..69c463f26f 100644
--- a/chromium-new/patches/patch-chrome_common_features.gni
+++ b/chromium-new/patches/patch-chrome_common_features.gni
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- chrome/common/features.gni.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/features.gni.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/features.gni
-@@ -22,7 +22,7 @@ declare_args() {
-   enable_background = !is_ios && !is_android && !is_chromecast
+@@ -43,7 +43,7 @@ declare_args() {
+   enable_hotwording = is_chrome_branded && 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)
  
-   # Google Now is disabled to prepare for its removal.
-   # http://crbug.com/539674
+   # Set to true to bundle all the mash related mojo services into chrome.
+   # Specify --mash to chrome to have chrome start the mash environment.
diff --git a/chromium-new/patches/patch-chrome_common_pref__names.cc b/chromium-new/patches/patch-chrome_common_pref__names.cc
index b26320ceb2..41dc584b87 100644
--- a/chromium-new/patches/patch-chrome_common_pref__names.cc
+++ b/chromium-new/patches/patch-chrome_common_pref__names.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/common/pref_names.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/pref_names.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/pref_names.cc
-@@ -952,7 +952,7 @@ const char kForceSessionSync[] = "settin
+@@ -964,7 +964,7 @@ const char kForceSessionSync[] = "settin
  // only using an account that belongs to one of the domains from this pref.
  const char kAllowedDomainsForApps[] = "settings.allowed_domains_for_apps";
  
@@ -11,7 +11,7 @@ $NetBSD$
  // Linux specific preference on whether we should match the system theme.
  const char kUsesSystemTheme[] = "extensions.theme.use_system";
  #endif
-@@ -1035,7 +1035,7 @@ const char kShowUpdatePromotionInfoBar[]
+@@ -1051,7 +1051,7 @@ const char kShowUpdatePromotionInfoBar[]
      "browser.show_update_promotion_info_bar";
  #endif
  
@@ -20,7 +20,7 @@ $NetBSD$
  // Boolean that is false if we should show window manager decorations.  If
  // true, we draw a custom chrome frame (thicker title bar and blue border).
  const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame";
-@@ -1408,7 +1408,7 @@ const char kDownloadDefaultDirectory[] =
+@@ -1438,7 +1438,7 @@ const char kDownloadDefaultDirectory[] =
  // upgrade a unsafe location to a safe location.
  const char kDownloadDirUpgraded[] = "download.directory_upgrade";
  
diff --git a/chromium-new/patches/patch-chrome_common_pref__names.h b/chromium-new/patches/patch-chrome_common_pref__names.h
index c0bb6a9ab7..fba60c8c52 100644
--- a/chromium-new/patches/patch-chrome_common_pref__names.h
+++ b/chromium-new/patches/patch-chrome_common_pref__names.h
@@ -1,17 +1,17 @@
 $NetBSD$
 
---- chrome/common/pref_names.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/common/pref_names.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/common/pref_names.h
-@@ -315,7 +315,7 @@ extern const char kForceSessionSync[];
+@@ -322,7 +322,7 @@ extern const char kForceGoogleSafeSearch
+ extern const char kForceYouTubeRestrict[];
+ extern const char kForceSessionSync[];
  extern const char kAllowedDomainsForApps[];
- extern const char kLastClearBrowsingDataTime[];
- extern const char kClearBrowsingDataHistoryNoticeShownTimes[];
 -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 +#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
  extern const char kUsesSystemTheme[];
  #endif
  extern const char kCurrentThemePackFilename[];
-@@ -347,7 +347,7 @@ extern const char kDefaultBrowserSetting
+@@ -355,7 +355,7 @@ extern const char kDefaultBrowserSetting
  #if defined(OS_MACOSX)
  extern const char kShowUpdatePromotionInfoBar[];
  #endif
@@ -20,7 +20,7 @@ $NetBSD$
  extern const char kUseCustomChromeFrame[];
  #endif
  extern const char kBackShortcutBubbleShownCount[];
-@@ -496,7 +496,7 @@ extern const char kAppWindowPlacement[];
+@@ -510,7 +510,7 @@ extern const char kAppWindowPlacement[];
  extern const char kDownloadDefaultDirectory[];
  extern const char kDownloadExtensionsToOpen[];
  extern const char kDownloadDirUpgraded[];
diff --git a/chromium-new/patches/patch-chrome_common_variations_BUILD.gn b/chromium-new/patches/patch-chrome_common_variations_BUILD.gn
deleted file mode 100644
index 52b90c9f80..0000000000
--- a/chromium-new/patches/patch-chrome_common_variations_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- chrome/common/variations/BUILD.gn.orig	2016-11-10 20:02:11.000000000 +0000
-+++ chrome/common/variations/BUILD.gn
-@@ -12,7 +12,7 @@ action("fieldtrial_testing_config_action
-   if (is_mac) {
-     source = "//testing/variations/fieldtrial_testing_config_mac.json"
-   }
--  if (is_linux) {
-+  if (is_linux || is_bsd) {
-     source = "//testing/variations/fieldtrial_testing_config_linux.json"
-   }
-   if (is_chromeos) {
diff --git a/chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc b/chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
index f3f9c06e33..4b7fc59da8 100644
--- a/chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
+++ b/chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/renderer/pepper/pepper_flash_font_file_host.cc
 @@ -14,7 +14,7 @@
  #include "ppapi/proxy/ppapi_messages.h"
diff --git a/chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h b/chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
index b2350ed6a6..929ef50e2c 100644
--- a/chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
+++ b/chromium-new/patches/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/renderer/pepper/pepper_flash_font_file_host.h
 @@ -14,7 +14,7 @@
  #include "ppapi/c/private/pp_private_font_charset.h"
diff --git a/chromium-new/patches/patch-chrome_test_BUILD.gn b/chromium-new/patches/patch-chrome_test_BUILD.gn
index 566eed6fc7..b8e38657cb 100644
--- a/chromium-new/patches/patch-chrome_test_BUILD.gn
+++ b/chromium-new/patches/patch-chrome_test_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/test/BUILD.gn.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/test/BUILD.gn.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/test/BUILD.gn
-@@ -179,7 +179,7 @@ static_library("test_support") {
+@@ -186,7 +186,7 @@ static_library("test_support") {
      ]
    }
  
@@ -11,7 +11,7 @@ $NetBSD$
      public_deps += [ "//crypto:platform" ]
    }
    if (is_mac) {
-@@ -383,7 +383,7 @@ if (!is_android) {
+@@ -461,7 +461,7 @@ if (!is_android) {
        "$root_out_dir/test_page.css.mock-http-headers",
        "$root_out_dir/ui_test.pak",
      ]
@@ -20,8 +20,8 @@ $NetBSD$
        data += [
          "$root_out_dir/chrome_100_percent.pak",
          "$root_out_dir/chrome_200_percent.pak",
-@@ -391,7 +391,7 @@ if (!is_android) {
-         "$root_out_dir/locales/fr.pak",
+@@ -470,7 +470,7 @@ if (!is_android) {
+         "$root_out_dir/resources.pak",
        ]
      }
 -    if (is_linux) {
@@ -29,16 +29,16 @@ $NetBSD$
        data += [ "$root_out_dir/libppapi_tests.so" ]
      }
  
-@@ -462,7 +462,7 @@ if (!is_android) {
-                 ".",
-                 "//chrome")
+@@ -577,7 +577,7 @@ if (!is_android) {
+           "base/interactive_test_utils_views.cc",
+         ]
        }
 -      if (is_linux) {
 +      if (is_linux || is_bsd) {
          if (!is_chromeos) {
            # Desktop linux.
            sources -= [
-@@ -1097,14 +1097,14 @@ test("browser_tests") {
+@@ -2010,14 +2010,14 @@ test("browser_tests") {
          sources += [ "//third_party/liblouis/nacl_wrapper/liblouis_wrapper_browsertest.cc" ]
          deps += [ "//chrome/browser/chromeos" ]
          data_deps += [ "//third_party/liblouis:liblouis_test_data" ]
@@ -55,7 +55,7 @@ $NetBSD$
          sources += [ "../browser/nacl_host/test/nacl_gdb_browsertest.cc" ]
          data_deps += [ "//chrome/browser/nacl_host/test:mock_nacl_gdb" ]
        }
-@@ -1116,7 +1116,7 @@ test("browser_tests") {
+@@ -2029,7 +2029,7 @@ test("browser_tests") {
          configs +=
              [ "//build/config/win:default_large_module_incremental_linking" ]
        }
@@ -64,7 +64,7 @@ $NetBSD$
          data_deps += [ "//components/nacl/loader:nacl_helper" ]
  
          if (enable_nacl_nonsfi) {
-@@ -1176,7 +1176,7 @@ test("browser_tests") {
+@@ -2136,7 +2136,7 @@ test("browser_tests") {
        }
      }
  
@@ -73,7 +73,7 @@ $NetBSD$
        # Set rpath to find the CDM adapter even in a non-component build.
        configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
      }
-@@ -1226,7 +1226,7 @@ test("browser_tests") {
+@@ -2363,7 +2363,7 @@ test("browser_tests") {
        if (toolkit_views) {
          sources -= [ "../browser/ui/views/select_file_dialog_extension_browsertest.cc" ]
        }
@@ -82,25 +82,16 @@ $NetBSD$
          sources +=
              [ "../browser/ui/views/ime/input_ime_apitest_nonchromeos.cc" ]
        }
-@@ -1385,7 +1385,7 @@ test("browser_tests") {
-       ]
-       deps += [ "//components/wifi:test_support" ]
-     }
--    if (is_linux || is_win) {
-+    if (is_linux || is_bsd || is_win) {
-       sources += rebase_path(
-               chrome_tests_gypi_values.chrome_browser_tests_non_mac_desktop_sources,
-               ".",
-@@ -1400,7 +1400,7 @@ test("browser_tests") {
+@@ -2558,7 +2558,7 @@ test("browser_tests") {
          "../browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc",
        ]
      }
 -    if (is_mac || is_win || (is_linux && !is_chromeos)) {
 +    if (is_mac || is_win || is_bsd || (is_linux && !is_chromeos)) {
-       sources += rebase_path(
-               chrome_tests_gypi_values.chrome_browser_tests_non_mobile_non_cros_sources,
-               ".",
-@@ -1519,7 +1519,7 @@ if (!is_android) {
+       sources += [
+         # Tests for non mobile and non CrOS (includes Linux, Win, Mac).
+         "../browser/metrics/desktop_session_duration/audible_contents_tracker_browsertest.cc",
+@@ -2746,7 +2746,7 @@ if (!is_android) {
        "$root_out_dir/pyproto/",
      ]
  
@@ -109,8 +100,8 @@ $NetBSD$
        data += [
          "$root_out_dir/chrome_100_percent.pak",
          "$root_out_dir/chrome_200_percent.pak",
-@@ -1768,7 +1768,7 @@ test("unit_tests") {
-       "$root_out_dir/locales/en-US.pak",
+@@ -3411,7 +3411,7 @@ test("unit_tests") {
+       "$root_out_dir/resources.pak",
      ]
    }
 -  if (is_linux || is_win) {
@@ -118,30 +109,30 @@ $NetBSD$
      data += [ "$root_out_dir/chrome_200_percent.pak" ]
    }
  
-@@ -1974,7 +1974,7 @@ test("unit_tests") {
+@@ -4111,7 +4111,7 @@ test("unit_tests") {
        "//ui/wm",
      ]
    }
 -  if (!is_chromeos && is_linux) {
 +  if (!is_chromeos && (is_linux || is_bsd)) {
-     sources += rebase_path(
-             chrome_tests_unit_gypi_values.chrome_unit_tests_desktop_linux_sources,
-             ".",
-@@ -1991,7 +1991,7 @@ test("unit_tests") {
+     sources += [
+       "../browser/password_manager/native_backend_kwallet_x_unittest.cc",
+       "../browser/shell_integration_linux_unittest.cc",
+@@ -4131,7 +4131,7 @@ test("unit_tests") {
    if (use_gio) {
      deps += [ "//build/linux/libgio" ]
    }
 -  if (!is_chromeos && !use_ozone && is_linux) {
 +  if (!is_chromeos && !use_ozone && (is_linux || is_bsd)) {
-     deps += [ "//chrome/browser/ui/libgtk2ui" ]
-   }
- 
-@@ -2119,18 +2119,18 @@ test("unit_tests") {
+     if (use_gtk3) {
+       deps += [ "//chrome/browser/ui/libgtkui:libgtk3ui" ]
+     } else {
+@@ -4424,18 +4424,18 @@ test("unit_tests") {
        "//components/os_crypt:gnome_keyring_direct",
      ]
    }
--  if (is_linux && !is_chromeos) {
-+  if ((is_linux || is_bsd) && !is_chromeos) {
+-  if (is_linux && !is_chromeos && !use_ozone) {
++  if ((is_linux || is_bsd) && !is_chromeos && !use_ozone) {
      sources +=
          [ "../browser/password_manager/native_backend_libsecret_unittest.cc" ]
      deps += [ "//third_party/libsecret" ]
@@ -154,11 +145,11 @@ $NetBSD$
      }
    }
 -  if (is_linux && is_chrome_branded && current_cpu == "x86") {
-+  if ((is_linux || is_bsd) && is_chrome_branded && current_cpu == "x86") {
++  if ((is_linux || is_bsd)  && is_chrome_branded && current_cpu == "x86") {
      ldflags = [ "-Wl,--strip-debug" ]
    }
    if (is_mac) {
-@@ -2365,7 +2365,7 @@ if (safe_browsing_mode == 1 && is_mac) {
+@@ -4941,7 +4941,7 @@ if (safe_browsing_mode == 1 && is_mac) {
    }
  }
  
@@ -167,12 +158,12 @@ $NetBSD$
    # TODO(609855): Make this compile on Android and run on the bots.
    test("chrome_app_unittests") {
      sources = [
-@@ -2391,7 +2391,7 @@ if (!is_android) {
+@@ -4967,7 +4967,7 @@ if (!is_android) {
    }
  }
  
 -if (!is_android && !is_ios && !is_chromecast) {
 +if (!is_android && !is_ios && !is_chromecast && !is_bsd) {
    test("performance_browser_tests") {
-     sources =
-         rebase_path(chrome_tests_gypi_values.performance_browser_tests_sources,
+     sources = [
+       "../app/chrome_version.rc.version",
diff --git a/chromium-new/patches/patch-chrome_test_base_in__process__browser__test.cc b/chromium-new/patches/patch-chrome_test_base_in__process__browser__test.cc
index a7391c5ec1..7a35c5738b 100644
--- a/chromium-new/patches/patch-chrome_test_base_in__process__browser__test.cc
+++ b/chromium-new/patches/patch-chrome_test_base_in__process__browser__test.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/test/base/in_process_browser_test.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/test/base/in_process_browser_test.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/test/base/in_process_browser_test.cc
-@@ -88,6 +88,10 @@
+@@ -93,6 +93,10 @@
  
  namespace {
  
diff --git a/chromium-new/patches/patch-chrome_test_base_testing__browser__process.h b/chromium-new/patches/patch-chrome_test_base_testing__browser__process.h
index 2db334ecd4..58fa557f12 100644
--- a/chromium-new/patches/patch-chrome_test_base_testing__browser__process.h
+++ b/chromium-new/patches/patch-chrome_test_base_testing__browser__process.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- chrome/test/base/testing_browser_process.h.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/test/base/testing_browser_process.h.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/test/base/testing_browser_process.h
-@@ -105,8 +105,8 @@ class TestingBrowserProcess : public Bro
+@@ -107,8 +107,8 @@ class TestingBrowserProcess : public Bro
    DownloadStatusUpdater* download_status_updater() override;
    DownloadRequestLimiter* download_request_limiter() override;
  
diff --git a/chromium-new/patches/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/chromium-new/patches/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
index a2f0fc15bc..684e56d5a8 100644
--- a/chromium-new/patches/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
+++ b/chromium-new/patches/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chrome/test/chromedriver/chrome/chrome_finder.cc.orig	2016-11-10 20:02:11.000000000 +0000
+--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig	2017-02-02 02:02:50.000000000 +0000
 +++ chrome/test/chromedriver/chrome/chrome_finder.cc
 @@ -45,7 +45,7 @@ void GetApplicationDirs(std::vector<base
          installation_locations[i].Append(L"Chromium\\Application"));
diff --git a/chromium-new/patches/patch-chromecast_BUILD.gn b/chromium-new/patches/patch-chromecast_BUILD.gn
index 1b6bf90b09..9c351414d3 100644
--- a/chromium-new/patches/patch-chromecast_BUILD.gn
+++ b/chromium-new/patches/patch-chromecast_BUILD.gn
@@ -1,10 +1,10 @@
 $NetBSD$
 
---- chromecast/BUILD.gn.orig	2016-11-10 20:02:12.000000000 +0000
+--- chromecast/BUILD.gn.orig	2017-02-02 02:02:51.000000000 +0000
 +++ chromecast/BUILD.gn
-@@ -44,7 +44,7 @@ cast_test_group("cast_tests") {
-     "//ui/base:ui_base_unittests",
-   ]
+@@ -51,7 +51,7 @@ cast_test_group("cast_tests") {
+     tests += [ "//gpu:gpu_unittests" ]
+   }
  
 -  if (is_linux) {
 +  if (is_linux || is_bsd) {
diff --git a/chromium-new/patches/patch-chromecast_browser_BUILD.gn b/chromium-new/patches/patch-chromecast_browser_BUILD.gn
index f28f999734..f6980a79de 100644
--- a/chromium-new/patches/patch-chromecast_browser_BUILD.gn
+++ b/chromium-new/patches/patch-chromecast_browser_BUILD.gn
@@ -1,9 +1,9 @@
 $NetBSD$
 
---- chromecast/browser/BUILD.gn.orig	2016-11-10 20:02:12.000000000 +0000
+--- chromecast/browser/BUILD.gn.orig	2017-02-02 02:02:51.000000000 +0000
 +++ chromecast/browser/BUILD.gn
-@@ -117,7 +117,7 @@ source_set("browser") {
-     "//ui/native_theme:native_theme",
+@@ -120,7 +120,7 @@ source_set("browser") {
+     "//ui/gl",
    ]
  
 -  if (is_linux) {
diff --git a/chromium-new/patches/patch-chromecast_browser_metrics_BUILD.gn b/chromium-new/patches/patch-chromecast_browser_metrics_BUILD.gn
index 09dab46681..6bd99ea220 100644
--- a/chromium-new/patches/patch-chromecast_browser_metrics_BUILD.gn
+++ b/chromium-new/patches/patch-chromecast_browser_metrics_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chromecast/browser/metrics/BUILD.gn.orig	2016-11-10 20:02:12.000000000 +0000
+--- chromecast/browser/metrics/BUILD.gn.orig	2017-02-02 02:02:51.000000000 +0000
 +++ chromecast/browser/metrics/BUILD.gn
 @@ -26,7 +26,7 @@ source_set("metrics") {
      "//content/public/common",
diff --git a/chromium-new/patches/patch-chromecast_crash_BUILD.gn b/chromium-new/patches/patch-chromecast_crash_BUILD.gn
index 2feeb6cef6..b99d7a19b3 100644
--- a/chromium-new/patches/patch-chromecast_crash_BUILD.gn
+++ b/chromium-new/patches/patch-chromecast_crash_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- chromecast/crash/BUILD.gn.orig	2016-11-10 20:02:12.000000000 +0000
+--- chromecast/crash/BUILD.gn.orig	2017-02-02 02:02:51.000000000 +0000
 +++ chromecast/crash/BUILD.gn
 @@ -78,7 +78,7 @@ source_set("test_support") {
    ]
diff --git a/chromium-new/patches/patch-components_BUILD.gn b/chromium-new/patches/patch-components_BUILD.gn
index 1c8634e717..0f5b330a74 100644
--- a/chromium-new/patches/patch-components_BUILD.gn
+++ b/chromium-new/patches/patch-components_BUILD.gn
@@ -1,15 +1,15 @@
 $NetBSD$
 
---- components/BUILD.gn.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/BUILD.gn.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/BUILD.gn
-@@ -173,8 +173,8 @@ test("components_unittests") {
-       "//components/cast_certificate:unit_tests",
+@@ -168,8 +168,8 @@ test("components_unittests") {
        "//components/certificate_reporting:unit_tests",
        "//components/certificate_transparency:unit_tests",
+       "//components/contextual_search:unit_tests",
 -      "//components/crash/content/app:unit_tests",
 -      "//components/crash/core/common:unit_tests",
 +      #"//components/crash/content/app:unit_tests",
 +      #"//components/crash/core/common:unit_tests",
        "//components/data_reduction_proxy/content/browser:unit_tests",
-       "//components/data_use_measurement/content:unit_tests",
-       "//components/devtools_http_handler:unit_tests",
+       "//components/data_reduction_proxy/core/browser:unit_tests",
+       "//components/data_reduction_proxy/core/common:unit_tests",
diff --git a/chromium-new/patches/patch-components_arc_metrics_oom__kills__monitor.cc b/chromium-new/patches/patch-components_arc_metrics_oom__kills__monitor.cc
deleted file mode 100644
index d85b154193..0000000000
--- a/chromium-new/patches/patch-components_arc_metrics_oom__kills__monitor.cc
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
---- components/arc/metrics/oom_kills_monitor.cc.orig	2016-11-10 20:02:13.000000000 +0000
-+++ components/arc/metrics/oom_kills_monitor.cc
-@@ -25,8 +25,13 @@
- #include "base/strings/string_split.h"
- #include "base/time/time.h"
- #include "components/arc/metrics/oom_kills_histogram.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#include <re2/stringpiece.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
- #include "third_party/re2/src/re2/stringpiece.h"
-+#endif
- 
- namespace arc {
- 
diff --git a/chromium-new/patches/patch-components_autofill_content_renderer_password__form__conversion__utils.cc b/chromium-new/patches/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
index ac19b0f3e0..4dedd782c2 100644
--- a/chromium-new/patches/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
+++ b/chromium-new/patches/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- components/autofill/content/renderer/password_form_conversion_utils.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/autofill/content/renderer/password_form_conversion_utils.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/autofill/content/renderer/password_form_conversion_utils.cc
-@@ -25,7 +25,11 @@
+@@ -28,7 +28,11 @@
  #include "third_party/WebKit/public/web/WebFormControlElement.h"
  #include "third_party/WebKit/public/web/WebFrame.h"
  #include "third_party/WebKit/public/web/WebInputElement.h"
diff --git a/chromium-new/patches/patch-components_autofill_core_browser_address__rewriter.cc b/chromium-new/patches/patch-components_autofill_core_browser_address__rewriter.cc
deleted file mode 100644
index fe956cc4eb..0000000000
--- a/chromium-new/patches/patch-components_autofill_core_browser_address__rewriter.cc
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
---- components/autofill/core/browser/address_rewriter.cc.orig	2016-11-10 20:02:13.000000000 +0000
-+++ components/autofill/core/browser/address_rewriter.cc
-@@ -10,7 +10,11 @@
- #include "base/i18n/case_conversion.h"
- #include "base/memory/singleton.h"
- #include "base/strings/utf_string_conversions.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- 
- namespace autofill {
- namespace {
diff --git a/chromium-new/patches/patch-components_autofill_core_browser_form__structure.cc b/chromium-new/patches/patch-components_autofill_core_browser_form__structure.cc
deleted file mode 100644
index ed12818b06..0000000000
--- a/chromium-new/patches/patch-components_autofill_core_browser_form__structure.cc
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD$
-
---- components/autofill/core/browser/form_structure.cc.orig	2016-11-10 20:02:13.000000000 +0000
-+++ components/autofill/core/browser/form_structure.cc
-@@ -33,7 +33,11 @@
- #include "components/autofill/core/common/form_field_data_predictions.h"
- #include "components/rappor/rappor_service.h"
- #include "components/rappor/rappor_utils.h"
--#include "third_party/re2/src/re2/re2.h"
-+#if defined(OS_BSD)
-+#  include <re2/re2.h>
-+#else
-+#  include "third_party/re2/src/re2/re2.h"
-+#endif
- 
- namespace autofill {
- namespace {
diff --git a/chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.cc b/chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.cc
index 609d278194..493d9e04de 100644
--- a/chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.cc
+++ b/chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/content_settings/core/browser/website_settings_registry.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/content_settings/core/browser/website_settings_registry.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/content_settings/core/browser/website_settings_registry.cc
 @@ -88,6 +88,9 @@ const WebsiteSettingsInfo* WebsiteSettin
    // doesn't allow the settings to be managed in the same way. See
diff --git a/chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.h b/chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.h
index 22b36e41fe..a403fd27f8 100644
--- a/chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.h
+++ b/chromium-new/patches/patch-components_content__settings_core_browser_website__settings__registry.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/content_settings/core/browser/website_settings_registry.h.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/content_settings/core/browser/website_settings_registry.h.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/content_settings/core/browser/website_settings_registry.h
 @@ -36,10 +36,11 @@ class WebsiteSettingsRegistry {
      PLATFORM_MAC = 1 << 3,
diff --git a/chromium-new/patches/patch-components_cookie__config_cookie__store__util.cc b/chromium-new/patches/patch-components_cookie__config_cookie__store__util.cc
index 939769a236..fa3fc7b5ff 100644
--- a/chromium-new/patches/patch-components_cookie__config_cookie__store__util.cc
+++ b/chromium-new/patches/patch-components_cookie__config_cookie__store__util.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/cookie_config/cookie_store_util.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/cookie_config/cookie_store_util.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/cookie_config/cookie_store_util.cc
 @@ -11,7 +11,7 @@
  
diff --git a/chromium-new/patches/patch-components_crash_content_app_BUILD.gn b/chromium-new/patches/patch-components_crash_content_app_BUILD.gn
index d2098e2fba..2bc22ee6ec 100644
--- a/chromium-new/patches/patch-components_crash_content_app_BUILD.gn
+++ b/chromium-new/patches/patch-components_crash_content_app_BUILD.gn
@@ -1,10 +1,10 @@
 $NetBSD$
 
---- components/crash/content/app/BUILD.gn.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/crash/content/app/BUILD.gn.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/crash/content/app/BUILD.gn
-@@ -148,7 +148,7 @@ source_set("app_non_mac_win") {
- 
-       #'../breakpad/breakpad.gyp:breakpad_sender',  TODO(GYP)
+@@ -145,7 +145,7 @@ source_set("app_non_mac_win") {
+       "//breakpad:breakpad_handler",
+       "//sandbox",
      ]
 -  } else if (is_posix && !is_ios) {
 +  } else if (is_posix && !is_ios && !is_bsd) {
diff --git a/chromium-new/patches/patch-components_crash_content_browser_BUILD.gn b/chromium-new/patches/patch-components_crash_content_browser_BUILD.gn
index dd64ec8308..1b7636ac93 100644
--- a/chromium-new/patches/patch-components_crash_content_browser_BUILD.gn
+++ b/chromium-new/patches/patch-components_crash_content_browser_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/crash/content/browser/BUILD.gn.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/crash/content/browser/BUILD.gn.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/crash/content/browser/BUILD.gn
 @@ -16,7 +16,7 @@ source_set("browser") {
  
diff --git a/chromium-new/patches/patch-components_dom__distiller_core_page__features.cc b/chromium-new/patches/patch-components_dom__distiller_core_page__features.cc
deleted file mode 100644
index 3bed073285..0000000000
--- a/chromium-new/patches/patch-components_dom__distiller_core_page__features.cc
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
---- components/dom_distiller/core/page_features.cc.orig	2016-11-10 20:02:13.000000000 +0000
-+++ components/dom_distiller/core/page_features.cc
-@@ -10,7 +10,11 @@
- #include <string>
- 
- #include "base/json/json_reader.h"
-+#if !defined(OS_BSD)
- #include "third_party/re2/src/re2/re2.h"
-+#else
-+#include <re2/re2.h>
-+#endif
- #include "url/gurl.h"
- 
- namespace dom_distiller {
diff --git a/chromium-new/patches/patch-components_drive_drive__api__util.cc b/chromium-new/patches/patch-components_drive_drive__api__util.cc
index 0e5c1c9321..22d2f6dca4 100644
--- a/chromium-new/patches/patch-components_drive_drive__api__util.cc
+++ b/chromium-new/patches/patch-components_drive_drive__api__util.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/drive/drive_api_util.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/drive/drive_api_util.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/drive/drive_api_util.cc
 @@ -22,7 +22,11 @@
  #include "google_apis/drive/drive_api_parser.h"
diff --git a/chromium-new/patches/patch-components_feedback_anonymizer__tool.cc b/chromium-new/patches/patch-components_feedback_anonymizer__tool.cc
index 25c179010c..87fe9a46de 100644
--- a/chromium-new/patches/patch-components_feedback_anonymizer__tool.cc
+++ b/chromium-new/patches/patch-components_feedback_anonymizer__tool.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/feedback/anonymizer_tool.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/feedback/anonymizer_tool.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/feedback/anonymizer_tool.cc
 @@ -10,7 +10,11 @@
  #include "base/strings/string_number_conversions.h"
diff --git a/chromium-new/patches/patch-components_flags__ui_flags__state.cc b/chromium-new/patches/patch-components_flags__ui_flags__state.cc
index 8155193bd9..eef5a54df5 100644
--- a/chromium-new/patches/patch-components_flags__ui_flags__state.cc
+++ b/chromium-new/patches/patch-components_flags__ui_flags__state.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- components/flags_ui/flags_state.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/flags_ui/flags_state.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/flags_ui/flags_state.cc
-@@ -545,7 +545,7 @@ int FlagsState::GetCurrentPlatform() {
+@@ -544,7 +544,7 @@ int FlagsState::GetCurrentPlatform() {
    return kOsWin;
  #elif defined(OS_CHROMEOS)  // Needs to be before the OS_LINUX check.
    return kOsCrOS;
diff --git a/chromium-new/patches/patch-components_gcm__driver_gcm__client.h b/chromium-new/patches/patch-components_gcm__driver_gcm__client.h
index c12031fe1e..55c6365890 100644
--- a/chromium-new/patches/patch-components_gcm__driver_gcm__client.h
+++ b/chromium-new/patches/patch-components_gcm__driver_gcm__client.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/gcm_driver/gcm_client.h.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/gcm_driver/gcm_client.h.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/gcm_driver/gcm_client.h
 @@ -80,6 +80,7 @@ class GCMClient {
      PLATFORM_CROS,
diff --git a/chromium-new/patches/patch-components_gcm__driver_gcm__client__impl.cc b/chromium-new/patches/patch-components_gcm__driver_gcm__client__impl.cc
index 63b148a0eb..ba839c586a 100644
--- a/chromium-new/patches/patch-components_gcm__driver_gcm__client__impl.cc
+++ b/chromium-new/patches/patch-components_gcm__driver_gcm__client__impl.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- components/gcm_driver/gcm_client_impl.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/gcm_driver/gcm_client_impl.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/gcm_driver/gcm_client_impl.cc
-@@ -137,6 +137,9 @@ void ToCheckinProtoVersion(
+@@ -136,6 +136,9 @@ void ToCheckinProtoVersion(
      case GCMClient::PLATFORM_CROS:
        platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_CROS;
        break;
diff --git a/chromium-new/patches/patch-components_json__schema_json__schema__validator.cc b/chromium-new/patches/patch-components_json__schema_json__schema__validator.cc
index 3cdef8b74a..bb071285fa 100644
--- a/chromium-new/patches/patch-components_json__schema_json__schema__validator.cc
+++ b/chromium-new/patches/patch-components_json__schema_json__schema__validator.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/json_schema/json_schema_validator.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/json_schema/json_schema_validator.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/json_schema/json_schema_validator.cc
 @@ -21,7 +21,11 @@
  #include "base/strings/stringprintf.h"
diff --git a/chromium-new/patches/patch-components_keyed__service_core_dependency__graph__unittest.cc b/chromium-new/patches/patch-components_keyed__service_core_dependency__graph__unittest.cc
index 83fd7e2b26..5593fa3fe7 100644
--- a/chromium-new/patches/patch-components_keyed__service_core_dependency__graph__unittest.cc
+++ b/chromium-new/patches/patch-components_keyed__service_core_dependency__graph__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/keyed_service/core/dependency_graph_unittest.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/keyed_service/core/dependency_graph_unittest.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/keyed_service/core/dependency_graph_unittest.cc
 @@ -9,7 +9,11 @@
  #include "components/keyed_service/core/dependency_graph.h"
diff --git a/chromium-new/patches/patch-components_metrics_BUILD.gn b/chromium-new/patches/patch-components_metrics_BUILD.gn
index cc58347926..f76883c395 100644
--- a/chromium-new/patches/patch-components_metrics_BUILD.gn
+++ b/chromium-new/patches/patch-components_metrics_BUILD.gn
@@ -1,12 +1,12 @@
 $NetBSD$
 
---- components/metrics/BUILD.gn.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/metrics/BUILD.gn.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/metrics/BUILD.gn
 @@ -107,6 +107,13 @@ static_library("metrics") {
    if (is_win) {
      sources -= [ "machine_id_provider_stub.cc" ]
    }
-+
++  
 +  if (is_bsd) {
 +    sources -= [
 +      "system_memory_stats_recorder_linux.cc"
@@ -16,16 +16,16 @@ $NetBSD$
  }
  
  if (!is_ios) {
-@@ -266,7 +273,7 @@ static_library("test_support") {
+@@ -282,7 +289,7 @@ static_library("test_support") {
    ]
  }
  
 -if (is_linux) {
 +if (is_linux || is_bsd) {
-   # GYP version: components/metrics.gypi:metrics_serialization
    static_library("serialization") {
      sources = [
-@@ -321,7 +328,7 @@ source_set("unit_tests") {
+       "serialization/metric_sample.cc",
+@@ -341,7 +348,7 @@ source_set("unit_tests") {
      "//ui/gfx/geometry",
    ]
  
diff --git a/chromium-new/patches/patch-components_metrics_drive__metrics__provider__linux.cc b/chromium-new/patches/patch-components_metrics_drive__metrics__provider__linux.cc
index 87e79f8340..2e6fd1058d 100644
--- a/chromium-new/patches/patch-components_metrics_drive__metrics__provider__linux.cc
+++ b/chromium-new/patches/patch-components_metrics_drive__metrics__provider__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/metrics/drive_metrics_provider_linux.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/metrics/drive_metrics_provider_linux.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/metrics/drive_metrics_provider_linux.cc
 @@ -4,7 +4,13 @@
  
diff --git a/chromium-new/patches/patch-components_metrics_system__memory__stats__recorder__linux.cc b/chromium-new/patches/patch-components_metrics_system__memory__stats__recorder__linux.cc
index 2e677e9b51..53434a937b 100644
--- a/chromium-new/patches/patch-components_metrics_system__memory__stats__recorder__linux.cc
+++ b/chromium-new/patches/patch-components_metrics_system__memory__stats__recorder__linux.cc
@@ -1,12 +1,12 @@
 $NetBSD$
 
---- components/metrics/system_memory_stats_recorder_linux.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/metrics/system_memory_stats_recorder_linux.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/metrics/system_memory_stats_recorder_linux.cc
 @@ -30,6 +30,7 @@ namespace metrics {
    UMA_HISTOGRAM_LINEAR(name, sample, 2500, 50)
  
  void RecordMemoryStats(RecordMemoryStatsType type) {
-+#if !defined(OS_FREEBSD)
++#if !defined(OS_BSD)
    base::SystemMemoryInfoKB memory;
    if (!base::GetSystemMemoryInfo(&memory))
      return;
@@ -14,7 +14,7 @@ $NetBSD$
        break;
      }
    }
-+#endif // !defined(OS_FREEBSD)
++#endif // !defined(OS_BSD)
  }
  
  }  // namespace metrics
diff --git a/chromium-new/patches/patch-components_neterror_resources_neterror.js b/chromium-new/patches/patch-components_neterror_resources_neterror.js
index c5234da3bf..2fb83ce046 100644
--- a/chromium-new/patches/patch-components_neterror_resources_neterror.js
+++ b/chromium-new/patches/patch-components_neterror_resources_neterror.js
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- components/neterror/resources/neterror.js.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/neterror/resources/neterror.js.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/neterror/resources/neterror.js
-@@ -147,7 +147,7 @@ function setUpCachedButton(buttonStrings
+@@ -150,7 +150,7 @@ function setUpCachedButton(buttonStrings
  }
  
  var primaryControlOnLeft = true;
diff --git a/chromium-new/patches/patch-components_os__crypt_os__crypt.h b/chromium-new/patches/patch-components_os__crypt_os__crypt.h
index 40183e5e53..5546d28196 100644
--- a/chromium-new/patches/patch-components_os__crypt_os__crypt.h
+++ b/chromium-new/patches/patch-components_os__crypt_os__crypt.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/os_crypt/os_crypt.h.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/os_crypt/os_crypt.h.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/os_crypt/os_crypt.h
 @@ -13,7 +13,7 @@
  #include "base/strings/string16.h"
diff --git a/chromium-new/patches/patch-components_password__manager_core_browser_import_csv__reader.cc b/chromium-new/patches/patch-components_password__manager_core_browser_import_csv__reader.cc
index b44e63601b..757e113d97 100644
--- a/chromium-new/patches/patch-components_password__manager_core_browser_import_csv__reader.cc
+++ b/chromium-new/patches/patch-components_password__manager_core_browser_import_csv__reader.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/password_manager/core/browser/import/csv_reader.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/password_manager/core/browser/import/csv_reader.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/password_manager/core/browser/import/csv_reader.cc
 @@ -9,7 +9,11 @@
  #include "base/logging.h"
diff --git a/chromium-new/patches/patch-components_plugins_renderer_BUILD.gn b/chromium-new/patches/patch-components_plugins_renderer_BUILD.gn
index c70a7db9be..23fcb9cd7d 100644
--- a/chromium-new/patches/patch-components_plugins_renderer_BUILD.gn
+++ b/chromium-new/patches/patch-components_plugins_renderer_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- components/plugins/renderer/BUILD.gn.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/plugins/renderer/BUILD.gn.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/plugins/renderer/BUILD.gn
-@@ -25,6 +25,7 @@ static_library("renderer") {
+@@ -19,6 +19,7 @@ static_library("renderer") {
    }
  
    deps = [
@@ -10,7 +10,7 @@ $NetBSD$
      "//content/public/child",
      "//content/public/common",
      "//content/public/renderer",
-@@ -33,6 +34,5 @@ static_library("renderer") {
+@@ -27,6 +28,5 @@ static_library("renderer") {
      "//third_party/WebKit/public:blink",
      "//third_party/re2",
      "//ui/base",
diff --git a/chromium-new/patches/patch-components_plugins_renderer_plugin__placeholder.cc b/chromium-new/patches/patch-components_plugins_renderer_plugin__placeholder.cc
index 9f084365d3..a73c1a71e5 100644
--- a/chromium-new/patches/patch-components_plugins_renderer_plugin__placeholder.cc
+++ b/chromium-new/patches/patch-components_plugins_renderer_plugin__placeholder.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/plugins/renderer/plugin_placeholder.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/plugins/renderer/plugin_placeholder.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/plugins/renderer/plugin_placeholder.cc
 @@ -11,7 +11,11 @@
  #include "gin/object_template_builder.h"
diff --git a/chromium-new/patches/patch-components_policy_BUILD.gn b/chromium-new/patches/patch-components_policy_BUILD.gn
index a0918e0cae..993cfb9acc 100644
--- a/chromium-new/patches/patch-components_policy_BUILD.gn
+++ b/chromium-new/patches/patch-components_policy_BUILD.gn
@@ -1,13 +1,21 @@
 $NetBSD$
 
---- components/policy/BUILD.gn.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/policy/BUILD.gn.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/policy/BUILD.gn
-@@ -108,7 +108,7 @@ if (enable_configuration_policy) {
-     if (is_android) {
+@@ -14,6 +14,7 @@ import("//tools/grit/grit_rule.gni")
+ gen_policy_templates_common = true
+ gen_policy_templates_win = is_win
+ gen_policy_templates_linux = is_linux
++gen_policy_templates_bsd = is_bsd
+ gen_policy_templates_android = is_android
+ gen_policy_templates_mac = is_mac
+ 
+@@ -126,7 +127,7 @@ if (enable_configuration_policy) {
        outputs += policy_templates_android_outputs
+       defines += [ "gen_policy_templates_android" ]
      }
--    if (is_linux) {
-+    if (is_linux || is_bsd) {
+-    if (gen_policy_templates_linux) {
++    if (gen_policy_templates_linux || gen_policy_templates_bsd) {
        outputs += policy_templates_linux_outputs
+       defines += [ "gen_policy_templates_linux" ]
      }
-     if (is_mac) {
diff --git a/chromium-new/patches/patch-components_policy_core_common_schema.cc b/chromium-new/patches/patch-components_policy_core_common_schema.cc
index cebe8cb0eb..112ed53bd2 100644
--- a/chromium-new/patches/patch-components_policy_core_common_schema.cc
+++ b/chromium-new/patches/patch-components_policy_core_common_schema.cc
@@ -1,12 +1,12 @@
 $NetBSD$
 
---- components/policy/core/common/schema.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/policy/core/common/schema.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/policy/core/common/schema.cc
 @@ -21,7 +21,11 @@
  #include "components/json_schema/json_schema_constants.h"
  #include "components/json_schema/json_schema_validator.h"
  #include "components/policy/core/common/schema_internal.h"
-+#if defined(OS_BSD)
++#if defined(OS_FREEBSD)
 +#include <re2/re2.h>
 +#else
  #include "third_party/re2/src/re2/re2.h"
diff --git a/chromium-new/patches/patch-components_policy_resources_policy__templates.json b/chromium-new/patches/patch-components_policy_resources_policy__templates.json
index b7712d66b4..cb90fd92b9 100644
--- a/chromium-new/patches/patch-components_policy_resources_policy__templates.json
+++ b/chromium-new/patches/patch-components_policy_resources_policy__templates.json
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- components/policy/resources/policy_templates.json.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/policy/resources/policy_templates.json.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/policy/resources/policy_templates.json
-@@ -909,7 +909,7 @@
+@@ -932,7 +932,7 @@
            'name': 'RemoteAccessHostMatchUsername',
            'type': 'main',
            'schema': { 'type': 'boolean' },
@@ -11,7 +11,7 @@ $NetBSD$
            'features': {
              'dynamic_refresh': True,
              'per_profile': False,
-@@ -1930,7 +1930,7 @@
+@@ -2065,7 +2065,7 @@
            'name': 'GSSAPILibraryName',
            'type': 'string',
            'schema': { 'type': 'string' },
@@ -20,7 +20,7 @@ $NetBSD$
            'features': {
              'dynamic_refresh': False,
              'per_profile': False,
-@@ -4601,7 +4601,7 @@
+@@ -4742,7 +4742,7 @@
        'name': 'RequireOnlineRevocationChecksForLocalAnchors',
        'type': 'main',
        'schema': { 'type': 'boolean' },
@@ -29,7 +29,7 @@ $NetBSD$
        'features': {
          'dynamic_refresh': True,
          'per_profile': False,
-@@ -5449,7 +5449,7 @@
+@@ -5627,7 +5627,7 @@
        'name': 'BackgroundModeEnabled',
        'type': 'main',
        'schema': { 'type': 'boolean' },
@@ -38,7 +38,7 @@ $NetBSD$
        'features': {
          'can_be_recommended': True,
          'dynamic_refresh': True,
-@@ -5974,7 +5974,7 @@
+@@ -6156,7 +6156,7 @@
        'name': 'FullscreenAllowed',
        'type': 'main',
        'schema': { 'type': 'boolean' },
diff --git a/chromium-new/patches/patch-components_policy_tools_generate__policy__source.py b/chromium-new/patches/patch-components_policy_tools_generate__policy__source.py
index f7dc46666d..4ee03a0ccb 100644
--- a/chromium-new/patches/patch-components_policy_tools_generate__policy__source.py
+++ b/chromium-new/patches/patch-components_policy_tools_generate__policy__source.py
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/policy/tools/generate_policy_source.py.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/policy/tools/generate_policy_source.py.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/policy/tools/generate_policy_source.py
 @@ -102,7 +102,7 @@ class PolicyDetails:
        if platform.startswith('chrome.'):
diff --git a/chromium-new/patches/patch-components_storage__monitor_BUILD.gn b/chromium-new/patches/patch-components_storage__monitor_BUILD.gn
index a6a9a89614..8538ef1f20 100644
--- a/chromium-new/patches/patch-components_storage__monitor_BUILD.gn
+++ b/chromium-new/patches/patch-components_storage__monitor_BUILD.gn
@@ -1,15 +1,13 @@
 $NetBSD$
 
---- components/storage_monitor/BUILD.gn.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/storage_monitor/BUILD.gn.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/storage_monitor/BUILD.gn
-@@ -64,6 +64,23 @@ static_library("storage_monitor") {
+@@ -65,6 +65,29 @@ static_library("storage_monitor") {
      ]
    }
  
 +  if (is_bsd) {
 +    sources -= [
-+      "media_transfer_protocol_device_observer_linux.cc",
-+      "media_transfer_protocol_device_observer_linux.h",
 +      "mtab_watcher_linux.cc",
 +      "mtab_watcher_linux.h",
 +      "storage_monitor_linux.cc",
@@ -17,26 +15,20 @@ $NetBSD$
 +      "udev_util_linux.cc",
 +      "udev_util_linux.h",
 +    ]
-+    sources += [
-+      "storage_monitor_freebsd.cc",
-+      "storage_monitor_freebsd.h",
-+    ]
++    if (is_freebsd) {
++      sources += [
++        "storage_monitor_freebsd.cc",
++        "storage_monitor_freebsd.h",
++      ]
++    }
++    if (is_netbsd) {
++      sources += [
++        "storage_monitor_netbsd.cc",
++        "storage_monitor_netbsd.h",
++      ]
++    }
 +  }
 +
    if (use_udev) {
      deps += [ "//device/udev_linux" ]
    } else if (is_linux) {
-@@ -119,6 +136,13 @@ static_library("test_support") {
-     ]
-   }
- 
-+  if (is_bsd) {
-+    sources -= [
-+      "test_media_transfer_protocol_manager_linux.cc",
-+      "test_media_transfer_protocol_manager_linux.h",
-+    ]
-+  }
-+
-   if (is_win) {
-     deps = [
-       "//testing/gtest",
diff --git a/chromium-new/patches/patch-components_storage__monitor_storage__monitor.cc b/chromium-new/patches/patch-components_storage__monitor_storage__monitor.cc
index 8d04dda368..0b7410219f 100644
--- a/chromium-new/patches/patch-components_storage__monitor_storage__monitor.cc
+++ b/chromium-new/patches/patch-components_storage__monitor_storage__monitor.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/storage_monitor/storage_monitor.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/storage_monitor/storage_monitor.cc.orig	2017-02-02 02:02:52.000000000 +0000
 +++ components/storage_monitor/storage_monitor.cc
 @@ -85,6 +85,7 @@ std::vector<StorageInfo> StorageMonitor:
  
diff --git a/chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.cc b/chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.cc
index 41c7f9346e..3eb57f5065 100644
--- a/chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.cc
+++ b/chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/storage_monitor/storage_monitor_freebsd.cc.orig	2016-11-12 02:51:25.371759033 +0000
+--- components/storage_monitor/storage_monitor_freebsd.cc.orig	2017-02-14 09:15:22.293048520 +0000
 +++ components/storage_monitor/storage_monitor_freebsd.cc
 @@ -0,0 +1,101 @@
 +// Copyright 2014 The Chromium Authors. All rights reserved.
diff --git a/chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.h b/chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.h
index f244646066..63f5451196 100644
--- a/chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.h
+++ b/chromium-new/patches/patch-components_storage__monitor_storage__monitor__freebsd.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/storage_monitor/storage_monitor_freebsd.h.orig	2016-11-12 02:51:25.408237260 +0000
+--- components/storage_monitor/storage_monitor_freebsd.h.orig	2017-02-14 09:15:22.293265649 +0000
 +++ components/storage_monitor/storage_monitor_freebsd.h
 @@ -0,0 +1,45 @@
 +// Copyright 2014 The Chromium Authors. All rights reserved.
diff --git a/chromium-new/patches/patch-components_storage__monitor_storage__monitor__netbsd.h b/chromium-new/patches/patch-components_storage__monitor_storage__monitor__netbsd.h
index 9b739d1a5e..95e737894a 100644
--- a/chromium-new/patches/patch-components_storage__monitor_storage__monitor__netbsd.h
+++ b/chromium-new/patches/patch-components_storage__monitor_storage__monitor__netbsd.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- components/storage_monitor/storage_monitor_netbsd.h.orig	2016-11-12 02:51:25.481044810 +0000
+--- components/storage_monitor/storage_monitor_netbsd.h.orig	2017-02-15 20:24:30.383612419 +0000
 +++ components/storage_monitor/storage_monitor_netbsd.h
-@@ -0,0 +1,46 @@
+@@ -0,0 +1,45 @@
 +// Copyright 2014 The Chromium Authors. All rights reserved.
 +// Use of this source code is governed by a BSD-style license that can be
 +// found in the LICENSE file.
@@ -22,7 +22,6 @@ $NetBSD$
 +#include "base/compiler_specific.h"
 +#include "base/files/file_path.h"
 +#include "base/files/file_path_watcher.h"
-+#include "base/memory/scoped_ptr.h"
 +#include "base/memory/weak_ptr.h"
 +#include "components/storage_monitor/storage_monitor.h"
 +#include "content/public/browser/browser_thread.h"
diff --git a/chromium-new/patches/patch-components_sync_base_get__session__name__linux.cc b/chromium-new/patches/patch-components_sync_base_get__session__name__linux.cc
index 470c7259e8..ddfbbc220f 100644
--- a/chromium-new/patches/patch-components_sync_base_get__session__name__linux.cc
+++ b/chromium-new/patches/patch-components_sync_base_get__session__name__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/sync/base/get_session_name_linux.cc.orig	2016-11-10 20:02:13.000000000 +0000
+--- components/sync/base/get_session_name_linux.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ components/sync/base/get_session_name_linux.cc
 @@ -4,7 +4,7 @@
  
diff --git a/chromium-new/patches/patch-components_update__client_update__query__params.cc b/chromium-new/patches/patch-components_update__client_update__query__params.cc
index 0f0ef88324..fe93d08d76 100644
--- a/chromium-new/patches/patch-components_update__client_update__query__params.cc
+++ b/chromium-new/patches/patch-components_update__client_update__query__params.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/update_client/update_query_params.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- components/update_client/update_query_params.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ components/update_client/update_query_params.cc
 @@ -31,6 +31,10 @@ const char kOs[] =
      "linux";
diff --git a/chromium-new/patches/patch-components_url__matcher_regex__set__matcher.cc b/chromium-new/patches/patch-components_url__matcher_regex__set__matcher.cc
index 6a65eb1016..d0c8af1c7e 100644
--- a/chromium-new/patches/patch-components_url__matcher_regex__set__matcher.cc
+++ b/chromium-new/patches/patch-components_url__matcher_regex__set__matcher.cc
@@ -1,9 +1,9 @@
 $NetBSD$
 
---- components/url_matcher/regex_set_matcher.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- components/url_matcher/regex_set_matcher.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ components/url_matcher/regex_set_matcher.cc
 @@ -10,8 +10,13 @@
- #include "base/stl_util.h"
+ #include "base/memory/ptr_util.h"
  #include "base/strings/string_util.h"
  #include "components/url_matcher/substring_set_matcher.h"
 +#if defined(OS_BSD)
diff --git a/chromium-new/patches/patch-components_url__matcher_url__matcher__factory.cc b/chromium-new/patches/patch-components_url__matcher_url__matcher__factory.cc
index f01ca23524..eddae65bc4 100644
--- a/chromium-new/patches/patch-components_url__matcher_url__matcher__factory.cc
+++ b/chromium-new/patches/patch-components_url__matcher_url__matcher__factory.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/url_matcher/url_matcher_factory.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- components/url_matcher/url_matcher_factory.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ components/url_matcher/url_matcher_factory.cc
 @@ -16,7 +16,11 @@
  #include "base/values.h"
diff --git a/chromium-new/patches/patch-components_variations_proto_study.proto b/chromium-new/patches/patch-components_variations_proto_study.proto
index 9925f63314..0d27a2aba2 100644
--- a/chromium-new/patches/patch-components_variations_proto_study.proto
+++ b/chromium-new/patches/patch-components_variations_proto_study.proto
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- components/variations/proto/study.proto.orig	2016-11-10 20:02:14.000000000 +0000
+--- components/variations/proto/study.proto.orig	2017-02-02 02:02:53.000000000 +0000
 +++ components/variations/proto/study.proto
-@@ -189,6 +189,7 @@ message Study {
+@@ -186,6 +186,7 @@ message Study {
      PLATFORM_CHROMEOS = 3;
      PLATFORM_ANDROID  = 4;
      PLATFORM_IOS      = 5;
diff --git a/chromium-new/patches/patch-components_webcrypto_algorithms_test__helpers.cc b/chromium-new/patches/patch-components_webcrypto_algorithms_test__helpers.cc
index 9fe9f5d4f3..feb9242ed1 100644
--- a/chromium-new/patches/patch-components_webcrypto_algorithms_test__helpers.cc
+++ b/chromium-new/patches/patch-components_webcrypto_algorithms_test__helpers.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- components/webcrypto/algorithms/test_helpers.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- components/webcrypto/algorithms/test_helpers.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ components/webcrypto/algorithms/test_helpers.cc
 @@ -25,7 +25,11 @@
  #include "components/webcrypto/status.h"
diff --git a/chromium-new/patches/patch-content_app_BUILD.gn b/chromium-new/patches/patch-content_app_BUILD.gn
index 81b6f7b2af..a9ad02d395 100644
--- a/chromium-new/patches/patch-content_app_BUILD.gn
+++ b/chromium-new/patches/patch-content_app_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/app/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/app/BUILD.gn.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/app/BUILD.gn
-@@ -66,7 +66,7 @@ template("implement_content_app") {
+@@ -68,7 +68,7 @@ template("implement_content_app") {
      ]
    }
  
diff --git a/chromium-new/patches/patch-content_app_content__main__runner.cc b/chromium-new/patches/patch-content_app_content__main__runner.cc
index 0fa892e5ed..5a7847ad6b 100644
--- a/chromium-new/patches/patch-content_app_content__main__runner.cc
+++ b/chromium-new/patches/patch-content_app_content__main__runner.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/app/content_main_runner.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/app/content_main_runner.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/app/content_main_runner.cc
 @@ -97,10 +97,10 @@
  #include "base/posix/global_descriptors.h"
@@ -15,7 +15,7 @@ $NetBSD$
  #include "content/zygote/zygote_main.h"
  #endif
  
-@@ -297,7 +297,7 @@ struct MainFunction {
+@@ -290,7 +290,7 @@ struct MainFunction {
    int (*function)(const MainFunctionParams&);
  };
  
@@ -24,7 +24,7 @@ $NetBSD$
  // On platforms that use the zygote, we have a special subset of
  // subprocesses that are launched via the zygote.  This function
  // fills in some process-launching bits around ZygoteMain().
-@@ -349,7 +349,7 @@ int RunZygote(const MainFunctionParams& 
+@@ -342,7 +342,7 @@ int RunZygote(const MainFunctionParams& 
    NOTREACHED() << "Unknown zygote process type: " << process_type;
    return 1;
  }
@@ -33,7 +33,7 @@ $NetBSD$
  
  static void RegisterMainThreadFactories() {
  #if !defined(CHROME_MULTIPLE_DLL_BROWSER) && !defined(CHROME_MULTIPLE_DLL_CHILD)
-@@ -419,7 +419,7 @@ int RunNamedProcessTypeMain(
+@@ -409,7 +409,7 @@ int RunNamedProcessTypeMain(
      }
    }
  
diff --git a/chromium-new/patches/patch-content_browser_BUILD.gn b/chromium-new/patches/patch-content_browser_BUILD.gn
index 5190f20937..f1419185b6 100644
--- a/chromium-new/patches/patch-content_browser_BUILD.gn
+++ b/chromium-new/patches/patch-content_browser_BUILD.gn
@@ -1,17 +1,33 @@
 $NetBSD$
 
---- content/browser/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/BUILD.gn.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/BUILD.gn
-@@ -196,7 +196,7 @@ source_set("browser") {
-       "//third_party/webrtc/media:rtc_media",
-       "//third_party/webrtc/modules/desktop_capture:primitives",
+@@ -1421,10 +1421,11 @@ source_set("browser") {
+       "memory/memory_monitor_chromeos.cc",
+       "memory/memory_monitor_chromeos.h",
      ]
+-  } else {
+-    sources += [
+-      "memory/memory_monitor_linux.cc",
+-      "memory/memory_monitor_linux.h",
++  }
++
++  if (is_bsd) {
++    sources -= [
++      "download/quarantine_linux.cc",
+     ]
+   }
+ 
+@@ -1490,7 +1491,7 @@ source_set("browser") {
+     if (!is_ios) {
+       defines += [ "ENABLE_SCREEN_CAPTURE=1" ]
+     }
 -    if (is_linux || is_mac || is_win) {
 +    if (is_linux || is_bsd || is_mac || is_win) {
        sources += [
          "media/capture/desktop_capture_device.cc",
          "media/capture/desktop_capture_device.h",
-@@ -288,7 +288,7 @@ source_set("browser") {
+@@ -1657,7 +1658,7 @@ source_set("browser") {
      }
    }
  
@@ -20,7 +36,7 @@ $NetBSD$
      deps += [ "//build/linux:fontconfig" ]
    }
  
-@@ -368,6 +368,19 @@ source_set("browser") {
+@@ -1807,6 +1808,17 @@ source_set("browser") {
        "//chromeos",
        "//chromeos:power_manager_proto",
      ]
@@ -34,13 +50,11 @@ $NetBSD$
 +        "../zygote/zygote_linux.cc",
 +        "../zygote/zygote_linux.h",
 +        "../zygote/zygote_main_linux.cc",
-+        "download/file_metadata_linux.cc",
-+        "download/file_metadata_linux.h",
 +    ]
    }
  
-   if (use_aura) {
-@@ -450,7 +463,7 @@ source_set("browser") {
+   if (enable_mojo_media) {
+@@ -1930,11 +1942,11 @@ source_set("browser") {
      deps += [ "//third_party/flac" ]
    }
  
@@ -49,10 +63,6 @@ $NetBSD$
      deps += [ "//dbus" ]
    }
  
-@@ -461,7 +474,7 @@ source_set("browser") {
-     ]
-   }
- 
 -  if (is_linux) {
 +  if (is_linux || is_bsd) {
      deps += [ "//third_party/boringssl" ]
diff --git a/chromium-new/patches/patch-content_browser_accessibility_browser__accessibility.h b/chromium-new/patches/patch-content_browser_accessibility_browser__accessibility.h
index fdbb25fac5..3ac5d5cf79 100644
--- a/chromium-new/patches/patch-content_browser_accessibility_browser__accessibility.h
+++ b/chromium-new/patches/patch-content_browser_accessibility_browser__accessibility.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/browser/accessibility/browser_accessibility.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/accessibility/browser_accessibility.h.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/accessibility/browser_accessibility.h
 @@ -38,7 +38,7 @@
  #define PLATFORM_HAS_NATIVE_ACCESSIBILITY_IMPL 1
@@ -11,12 +11,3 @@ $NetBSD$
  #define PLATFORM_HAS_NATIVE_ACCESSIBILITY_IMPL 1
  #endif
  
-@@ -50,7 +50,7 @@ namespace content {
- class BrowserAccessibilityManager;
- #if defined(OS_WIN)
- class BrowserAccessibilityWin;
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_X11)
-+#elif (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && defined(USE_X11)
- class BrowserAccessibilityAuraLinux;
- #endif
- 
diff --git a/chromium-new/patches/patch-content_browser_accessibility_browser__accessibility__manager.h b/chromium-new/patches/patch-content_browser_accessibility_browser__accessibility__manager.h
index d940474be4..28997af2a9 100644
--- a/chromium-new/patches/patch-content_browser_accessibility_browser__accessibility__manager.h
+++ b/chromium-new/patches/patch-content_browser_accessibility_browser__accessibility__manager.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/browser/accessibility/browser_accessibility_manager.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/accessibility/browser_accessibility_manager.h.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/accessibility/browser_accessibility_manager.h
-@@ -33,7 +33,7 @@ class BrowserAccessibilityManager;
+@@ -34,7 +34,7 @@ class BrowserAccessibilityManager;
  class BrowserAccessibilityManagerAndroid;
  #elif defined(OS_WIN)
  class BrowserAccessibilityManagerWin;
@@ -11,7 +11,7 @@ $NetBSD$
  class BrowserAccessibilityManagerAuraLinux;
  #elif defined(OS_MACOSX)
  class BrowserAccessibilityManagerMac;
-@@ -273,7 +273,7 @@ class CONTENT_EXPORT BrowserAccessibilit
+@@ -244,7 +244,7 @@ class CONTENT_EXPORT BrowserAccessibilit
    BrowserAccessibilityManagerAndroid* ToBrowserAccessibilityManagerAndroid();
  #endif
  
diff --git a/chromium-new/patches/patch-content_browser_browser__main__loop.cc b/chromium-new/patches/patch-content_browser_browser__main__loop.cc
index 89b012c3d7..0ef0db0e96 100644
--- a/chromium-new/patches/patch-content_browser_browser__main__loop.cc
+++ b/chromium-new/patches/patch-content_browser_browser__main__loop.cc
@@ -1,8 +1,19 @@
 $NetBSD$
 
---- content/browser/browser_main_loop.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/browser_main_loop.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/browser_main_loop.cc
-@@ -204,7 +204,7 @@
+@@ -203,6 +203,10 @@
+ #include "gpu/vulkan/vulkan_implementation.h"
+ #endif
+ 
++#if defined(OS_BSD)
++#include "content/common/child_process_sandbox_support_impl_linux.h"
++#endif
++
+ // One of the linux specific headers defines this as a macro.
+ #ifdef DestroyAll
+ #undef DestroyAll
+@@ -211,7 +215,7 @@
  namespace content {
  namespace {
  
@@ -10,8 +21,8 @@ $NetBSD$
 +#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
  void SetupSandbox(const base::CommandLine& parsed_command_line) {
    TRACE_EVENT0("startup", "SetupSandbox");
- 
-@@ -432,7 +432,7 @@ void BrowserMainLoop::Init() {
+   if (parsed_command_line.HasSwitch(switches::kNoZygote)) {
+@@ -482,10 +486,15 @@ void BrowserMainLoop::Init() {
  void BrowserMainLoop::EarlyInitialization() {
    TRACE_EVENT0("startup", "BrowserMainLoop::EarlyInitialization");
  
@@ -20,12 +31,11 @@ $NetBSD$
    // No thread should be created before this call, as SetupSandbox()
    // will end-up using fork().
    SetupSandbox(parsed_command_line_);
-@@ -472,7 +472,7 @@ void BrowserMainLoop::EarlyInitializatio
-   // We use quite a few file descriptors for our IPC, and the default limit on
-   // the Mac is low (256), so bump it up.
-   base::SetFdLimit(1024);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
-   // Same for Linux. The default various per distro, but it is 1024 on Fedora.
-   // Low soft limits combined with liberal use of file descriptors means power
-   // users can easily hit this limit with many open tabs. Bump up the limit to
++#elif defined(OS_BSD)
++  RenderSandboxHostLinux::GetInstance()->Init();
++  base::FileHandleMappingVector fds_to_map;
++  const int sfd = RenderSandboxHostLinux::GetInstance()->GetRendererSocket();
++  fds_to_map.push_back(std::make_pair(sfd, GetSandboxFD()));
+ #endif
+ 
+ #if defined(USE_X11)
diff --git a/chromium-new/patches/patch-content_browser_child__process__launcher.cc b/chromium-new/patches/patch-content_browser_child__process__launcher.cc
index 951ae58e14..b42518d8a7 100644
--- a/chromium-new/patches/patch-content_browser_child__process__launcher.cc
+++ b/chromium-new/patches/patch-content_browser_child__process__launcher.cc
@@ -1,17 +1,26 @@
 $NetBSD$
 
---- content/browser/child_process_launcher.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/child_process_launcher.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/child_process_launcher.cc
-@@ -258,7 +258,7 @@ void LaunchOnLauncherThread(const Notify
+@@ -249,7 +249,7 @@ void LaunchOnLauncherThread(const Notify
    // We need to close the client end of the IPC channel to reliably detect
    // child termination.
  
 -#if !defined(OS_MACOSX)
 +#if !defined(OS_MACOSX) && !defined(OS_BSD)
-   ZygoteHandle* zygote_handle = delegate->GetZygote();
-   // If |zygote_handle| is null, a zygote should not be used.
-   if (zygote_handle) {
-@@ -364,7 +364,7 @@ void TerminateOnLauncherThread(ZygoteHan
+   ZygoteHandle* zygote_handle =
+       !base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)
+           ? delegate->GetZygote()
+@@ -267,7 +267,7 @@ void LaunchOnLauncherThread(const Notify
+     process = base::Process(handle);
+   } else
+   // Fall through to the normal posix case below when we're not zygoting.
+-#endif  // !defined(OS_MACOSX)
++#endif  // !defined(OS_MACOSX) && !defined(OS_BSD)
+   {
+     // Convert FD mapping to FileHandleMappingVector
+     base::FileHandleMappingVector fds_to_map =
+@@ -358,7 +358,7 @@ void TerminateOnLauncherThread(ZygoteHan
    process.Terminate(RESULT_CODE_NORMAL_EXIT, false);
    // On POSIX, we must additionally reap the child.
  #if defined(OS_POSIX)
@@ -20,7 +29,7 @@ $NetBSD$
    if (zygote) {
      // If the renderer was created via a zygote, we have to proxy the reaping
      // through the zygote process.
-@@ -485,7 +485,7 @@ void ChildProcessLauncher::Launch(
+@@ -475,7 +475,7 @@ void ChildProcessLauncher::Launch(Sandbo
  
  void ChildProcessLauncher::UpdateTerminationStatus(bool known_dead) {
    DCHECK(CalledOnValidThread());
@@ -29,7 +38,7 @@ $NetBSD$
    if (zygote_) {
      termination_status_ = zygote_->GetTerminationStatus(
          process_.Handle(), known_dead, &exit_code_);
-@@ -566,7 +566,7 @@ void ChildProcessLauncher::Notify(Zygote
+@@ -549,7 +549,7 @@ void ChildProcessLauncher::Notify(Zygote
                                      mojo_child_token_, process_error_callback_);
    }
  
diff --git a/chromium-new/patches/patch-content_browser_device__sensors_data__fetcher__shared__memory.h b/chromium-new/patches/patch-content_browser_device__sensors_data__fetcher__shared__memory.h
index 126d904314..be4cd025f9 100644
--- a/chromium-new/patches/patch-content_browser_device__sensors_data__fetcher__shared__memory.h
+++ b/chromium-new/patches/patch-content_browser_device__sensors_data__fetcher__shared__memory.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/browser/device_sensors/data_fetcher_shared_memory.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/device_sensors/data_fetcher_shared_memory.h.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/device_sensors/data_fetcher_shared_memory.h
 @@ -45,7 +45,7 @@ class CONTENT_EXPORT DataFetcherSharedMe
    bool Start(ConsumerType consumer_type, void* buffer) override;
diff --git a/chromium-new/patches/patch-content_browser_devtools_protocol_color__picker.cc b/chromium-new/patches/patch-content_browser_devtools_protocol_color__picker.cc
index ad16e84397..8a2ec8f966 100644
--- a/chromium-new/patches/patch-content_browser_devtools_protocol_color__picker.cc
+++ b/chromium-new/patches/patch-content_browser_devtools_protocol_color__picker.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/browser/devtools/protocol/color_picker.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/devtools/protocol/color_picker.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/devtools/protocol/color_picker.cc
 @@ -151,7 +151,7 @@ void ColorPicker::UpdateCursor() {
    // magnified projection only with centered hotspot.
diff --git a/chromium-new/patches/patch-content_browser_download_base__file.cc b/chromium-new/patches/patch-content_browser_download_base__file.cc
index f3f5765405..7765bda2e5 100644
--- a/chromium-new/patches/patch-content_browser_download_base__file.cc
+++ b/chromium-new/patches/patch-content_browser_download_base__file.cc
@@ -1,14 +1,22 @@
 $NetBSD$
 
---- content/browser/download/base_file.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/download/base_file.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/download/base_file.cc
-@@ -193,7 +193,8 @@ std::unique_ptr<crypto::SecureHash> Base
+@@ -373,7 +373,7 @@ DownloadInterruptReason BaseFile::LogInt
+   return reason;
  }
  
- // OS_WIN, OS_MACOSX and OS_LINUX have specialized implementations.
--#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX)
-+#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX) && \
-+    !defined(OS_BSD)
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ 
+ namespace {
+ 
+@@ -456,7 +456,7 @@ DownloadInterruptReason BaseFile::Annota
+   }
+   return DOWNLOAD_INTERRUPT_REASON_FILE_FAILED;
+ }
+-#else  // !OS_WIN && !OS_MACOSX && !OS_LINUX
++#else  // !OS_WIN && !OS_MACOSX && !OS_LINUX && !OS_BSD
  DownloadInterruptReason BaseFile::AnnotateWithSourceInformation(
      const std::string& client_guid,
      const GURL& source_url,
diff --git a/chromium-new/patches/patch-content_browser_download_base__file__linux.cc b/chromium-new/patches/patch-content_browser_download_base__file__linux.cc
deleted file mode 100644
index 8d28dd6bfc..0000000000
--- a/chromium-new/patches/patch-content_browser_download_base__file__linux.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD$
-
---- content/browser/download/base_file_linux.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ content/browser/download/base_file_linux.cc
-@@ -16,7 +16,9 @@ DownloadInterruptReason BaseFile::Annota
-   DCHECK_CURRENTLY_ON(BrowserThread::FILE);
-   DCHECK(!detached_);
- 
-+#if !defined(OS_BSD)
-   AddOriginMetadataToFile(full_path_, source_url, referrer_url);
-+#endif
-   return DOWNLOAD_INTERRUPT_REASON_NONE;
- }
- 
diff --git a/chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.cc
index 21e8efee3d..99b1e76b6b 100644
--- a/chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.cc
+++ b/chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/browser/gpu/gpu_data_manager_impl_private.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/gpu/gpu_data_manager_impl_private.cc
-@@ -363,7 +363,7 @@ bool GpuDataManagerImplPrivate::GpuAcces
+@@ -376,7 +376,7 @@ bool GpuDataManagerImplPrivate::GpuAcces
      // strings even if all features are blacklisted. If all GPU features are
      // disabled, the GPU process will only initialize GL bindings, create a GL
      // context, and collect full GPU info.
@@ -11,7 +11,7 @@ $NetBSD$
      if (reason) {
        *reason = "All GPU features are blacklisted.";
      }
-@@ -486,8 +486,10 @@ void GpuDataManagerImplPrivate::SetGLStr
+@@ -493,8 +493,10 @@ void GpuDataManagerImplPrivate::SetGLStr
    gpu_info.gl_renderer = gl_renderer;
    gpu_info.gl_version = gl_version;
  
@@ -22,7 +22,7 @@ $NetBSD$
  
    UpdateGpuInfo(gpu_info);
    UpdateGpuSwitchingManager(gpu_info);
-@@ -542,10 +544,12 @@ void GpuDataManagerImplPrivate::Initiali
+@@ -549,10 +551,12 @@ void GpuDataManagerImplPrivate::Initiali
      // Skip collecting the basic driver info if SetGpuInfo() is already called.
      if (IsCompleteGpuInfoAvailable()) {
        gpu_info = gpu_info_;
@@ -35,7 +35,7 @@ $NetBSD$
      }
  
      if (command_line->HasSwitch(switches::kGpuTestingVendorId) &&
-@@ -657,7 +661,9 @@ void GpuDataManagerImplPrivate::UpdateGp
+@@ -664,7 +668,9 @@ void GpuDataManagerImplPrivate::UpdateGp
      return;
  
    bool was_info_available = IsCompleteGpuInfoAvailable();
diff --git a/chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.h b/chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.h
index f87a43775d..4fb64f42c5 100644
--- a/chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.h
+++ b/chromium-new/patches/patch-content_browser_gpu_gpu__data__manager__impl__private.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/browser/gpu/gpu_data_manager_impl_private.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/gpu/gpu_data_manager_impl_private.h.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/gpu/gpu_data_manager_impl_private.h
-@@ -155,7 +155,7 @@ class CONTENT_EXPORT GpuDataManagerImplP
+@@ -154,7 +154,7 @@ class CONTENT_EXPORT GpuDataManagerImplP
                             UnblockOtherDomainFrom3DAPIs);
    FRIEND_TEST_ALL_PREFIXES(GpuDataManagerImplPrivateTest,
                             UnblockThisDomainFrom3DAPIs);
diff --git a/chromium-new/patches/patch-content_browser_gpu_gpu__internals__ui.cc b/chromium-new/patches/patch-content_browser_gpu_gpu__internals__ui.cc
index baad73891d..00f9193701 100644
--- a/chromium-new/patches/patch-content_browser_gpu_gpu__internals__ui.cc
+++ b/chromium-new/patches/patch-content_browser_gpu_gpu__internals__ui.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/browser/gpu/gpu_internals_ui.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/gpu/gpu_internals_ui.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/gpu/gpu_internals_ui.cc
 @@ -42,7 +42,7 @@
  #include "third_party/skia/include/core/SkMilestone.h"
@@ -20,7 +20,7 @@ $NetBSD$
  #include "ui/base/x/x11_util.h"       // nogncheck
  #include "ui/gfx/x/x11_atom_cache.h"  // nogncheck
  #endif
-@@ -204,7 +204,7 @@ base::DictionaryValue* GpuInfoAsDictiona
+@@ -206,7 +206,7 @@ base::DictionaryValue* GpuInfoAsDictiona
                                               gpu_info.gl_ws_version));
    basic_info->Append(NewDescriptionValuePair("Window system binding extensions",
                                               gpu_info.gl_ws_extensions));
diff --git a/chromium-new/patches/patch-content_browser_gpu_gpu__process__host.cc b/chromium-new/patches/patch-content_browser_gpu_gpu__process__host.cc
index a2b07fbb5e..cd932853de 100644
--- a/chromium-new/patches/patch-content_browser_gpu_gpu__process__host.cc
+++ b/chromium-new/patches/patch-content_browser_gpu_gpu__process__host.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/browser/gpu/gpu_process_host.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/gpu/gpu_process_host.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/gpu/gpu_process_host.cc
-@@ -989,7 +989,7 @@ bool GpuProcessHost::LaunchGpuProcess(gp
+@@ -984,7 +984,7 @@ bool GpuProcessHost::LaunchGpuProcess(gp
    base::CommandLine* cmd_line =
        new base::CommandLine(base::CommandLine::NO_PROGRAM);
  #else
diff --git a/chromium-new/patches/patch-content_browser_indexed__db_indexed__db__backing__store.cc b/chromium-new/patches/patch-content_browser_indexed__db_indexed__db__backing__store.cc
deleted file mode 100644
index 136bf05de5..0000000000
--- a/chromium-new/patches/patch-content_browser_indexed__db_indexed__db__backing__store.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- content/browser/indexed_db/indexed_db_backing_store.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ content/browser/indexed_db/indexed_db_backing_store.cc
-@@ -2422,7 +2422,7 @@ bool IndexedDBBackingStore::WriteBlobFil
-         // The round-trip can be lossy; round to nearest millisecond.
-         int64_t delta =
-             (descriptor.last_modified() - info.last_modified).InMilliseconds();
--        if (std::abs(delta) > 1)
-+        if (std::labs(delta) > 1)
-           return false;
-       }
-       if (!base::TouchFile(path, info.last_accessed, info.last_modified)) {
diff --git a/chromium-new/patches/patch-content_browser_media_media__internals.cc b/chromium-new/patches/patch-content_browser_media_media__internals.cc
index c62461657b..542e499e9f 100644
--- a/chromium-new/patches/patch-content_browser_media_media__internals.cc
+++ b/chromium-new/patches/patch-content_browser_media_media__internals.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/browser/media/media_internals.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/media/media_internals.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/media/media_internals.cc
-@@ -724,7 +724,7 @@ void MediaInternals::UpdateVideoCaptureD
+@@ -755,7 +755,7 @@ void MediaInternals::UpdateVideoCaptureD
      device_dict->SetString("name", descriptor.GetNameAndModel());
      device_dict->Set("formats", format_list);
  #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
diff --git a/chromium-new/patches/patch-content_browser_memory_memory__coordinator__impl.cc b/chromium-new/patches/patch-content_browser_memory_memory__coordinator__impl.cc
new file mode 100644
index 0000000000..6ad3a3d906
--- /dev/null
+++ b/chromium-new/patches/patch-content_browser_memory_memory__coordinator__impl.cc
@@ -0,0 +1,17 @@
+$NetBSD$
+
+--- content/browser/memory/memory_coordinator_impl.cc.orig	2017-02-02 02:02:53.000000000 +0000
++++ content/browser/memory/memory_coordinator_impl.cc
+@@ -116,8 +116,12 @@ void RecordMetricsOnStateChange(base::Me
+ struct MemoryCoordinatorSingletonTraits
+     : public base::LeakySingletonTraits<MemoryCoordinator> {
+   static MemoryCoordinator* New() {
++#if defined(OS_BSD)
++    return nullptr;
++#else
+     return new MemoryCoordinatorImpl(base::ThreadTaskRunnerHandle::Get(),
+                                      CreateMemoryMonitor());
++#endif
+   }
+ };
+ 
diff --git a/chromium-new/patches/patch-content_browser_memory_memory__monitor.cc b/chromium-new/patches/patch-content_browser_memory_memory__monitor.cc
new file mode 100644
index 0000000000..0363a8e5e0
--- /dev/null
+++ b/chromium-new/patches/patch-content_browser_memory_memory__monitor.cc
@@ -0,0 +1,23 @@
+$NetBSD$
+
+--- content/browser/memory/memory_monitor.cc.orig	2017-02-02 02:02:53.000000000 +0000
++++ content/browser/memory/memory_monitor.cc
+@@ -8,6 +8,7 @@
+ 
+ namespace content {
+ 
++#if !defined(OS_BSD)
+ // static
+ MemoryMonitorDelegate* MemoryMonitorDelegate::GetInstance() {
+   return base::Singleton<
+@@ -21,8 +22,9 @@ void MemoryMonitorDelegate::GetSystemMem
+     base::SystemMemoryInfoKB* mem_info) {
+   base::GetSystemMemoryInfo(mem_info);
+ }
++#endif // !defined(OS_BSD)
+ 
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) && !defined(OS_BSD)
+ // TODO(bashi,bcwhite): Remove when memory monitor for mac is available.
+ std::unique_ptr<MemoryMonitor> CreateMemoryMonitor() {
+   NOTREACHED();
diff --git a/chromium-new/patches/patch-content_browser_ppapi__plugin__process__host.cc b/chromium-new/patches/patch-content_browser_ppapi__plugin__process__host.cc
index 3a65f198b4..e41e141c47 100644
--- a/chromium-new/patches/patch-content_browser_ppapi__plugin__process__host.cc
+++ b/chromium-new/patches/patch-content_browser_ppapi__plugin__process__host.cc
@@ -1,26 +1,29 @@
 $NetBSD$
 
---- content/browser/ppapi_plugin_process_host.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/ppapi_plugin_process_host.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/ppapi_plugin_process_host.cc
-@@ -52,7 +52,7 @@
+@@ -53,9 +53,9 @@
  
  namespace content {
  
 -#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
 +#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
  ZygoteHandle g_ppapi_zygote;
- #endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
+-#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
++#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
  
-@@ -119,7 +119,7 @@ class PpapiPluginSandboxedProcessLaunche
+ // NOTE: changes to this class need to be reviewed by the security team.
+ class PpapiPluginSandboxedProcessLauncherDelegate
+@@ -109,7 +109,7 @@ class PpapiPluginSandboxedProcessLaunche
+     return true;
    }
  
- #elif defined(OS_POSIX)
--#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
-+#if !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
+-#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
++#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
    ZygoteHandle* GetZygote() override {
      const base::CommandLine& browser_command_line =
          *base::CommandLine::ForCurrentProcess();
-@@ -222,7 +222,7 @@ PpapiPluginProcessHost* PpapiPluginProce
+@@ -203,13 +203,13 @@ PpapiPluginProcessHost* PpapiPluginProce
    return NULL;
  }
  
@@ -29,7 +32,14 @@ $NetBSD$
  // static
  void PpapiPluginProcessHost::EarlyZygoteLaunch() {
    DCHECK(!g_ppapi_zygote);
-@@ -380,7 +380,7 @@ bool PpapiPluginProcessHost::Init(const 
+   g_ppapi_zygote = CreateZygote();
+ }
+-#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
++#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ 
+ // static
+ void PpapiPluginProcessHost::DidCreateOutOfProcessInstance(
+@@ -361,7 +361,7 @@ bool PpapiPluginProcessHost::Init(const 
    base::CommandLine::StringType plugin_launcher =
        browser_command_line.GetSwitchValueNative(switches::kPpapiPluginLauncher);
  
diff --git a/chromium-new/patches/patch-content_browser_renderer__host_media_video__capture__device__client.cc b/chromium-new/patches/patch-content_browser_renderer__host_media_video__capture__device__client.cc
deleted file mode 100644
index c5a195da93..0000000000
--- a/chromium-new/patches/patch-content_browser_renderer__host_media_video__capture__device__client.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- content/browser/renderer_host/media/video_capture_device_client.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ content/browser/renderer_host/media/video_capture_device_client.cc
-@@ -186,7 +186,7 @@ void VideoCaptureDeviceClient::OnIncomin
-       // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html.
-       // Windows RGB24 defines blue at lowest byte,
-       // see https://msdn.microsoft.com/en-us/library/windows/desktop/dd407253
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-       origin_colorspace = libyuv::FOURCC_RAW;
- #elif defined(OS_WIN)
-       origin_colorspace = libyuv::FOURCC_24BG;
diff --git a/chromium-new/patches/patch-content_browser_renderer__host_render__process__host__impl.cc b/chromium-new/patches/patch-content_browser_renderer__host_render__process__host__impl.cc
index 8c2c37eaa7..3f743cae88 100644
--- a/chromium-new/patches/patch-content_browser_renderer__host_render__process__host__impl.cc
+++ b/chromium-new/patches/patch-content_browser_renderer__host_render__process__host__impl.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/browser/renderer_host/render_process_host_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/renderer_host/render_process_host_impl.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/renderer_host/render_process_host_impl.cc
-@@ -369,7 +369,7 @@ SiteProcessMap* GetSiteProcessMapForBrow
+@@ -368,11 +368,11 @@ SiteProcessMap* GetSiteProcessMapForBrow
    return map;
  }
  
@@ -11,16 +11,21 @@ $NetBSD$
  // This static member variable holds the zygote communication information for
  // the renderer.
  ZygoteHandle g_render_zygote;
-@@ -402,7 +402,7 @@ class RendererSandboxedProcessLauncherDe
+-#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
++#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ 
+ // NOTE: changes to this class need to be reviewed by the security team.
+ class RendererSandboxedProcessLauncherDelegate
+@@ -395,7 +395,7 @@ class RendererSandboxedProcessLauncherDe
+     return GetContentClient()->browser()->PreSpawnRenderer(policy);
    }
  
- #elif defined(OS_POSIX)
--#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
-+#if !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
+-#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
++#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
    ZygoteHandle* GetZygote() override {
      const base::CommandLine& browser_command_line =
          *base::CommandLine::ForCurrentProcess();
-@@ -639,7 +639,7 @@ void RenderProcessHost::SetMaxRendererPr
+@@ -635,7 +635,7 @@ void RenderProcessHost::SetMaxRendererPr
    g_max_renderer_count_override = count;
  }
  
@@ -29,7 +34,16 @@ $NetBSD$
  // static
  void RenderProcessHostImpl::EarlyZygoteLaunch() {
    DCHECK(!g_render_zygote);
-@@ -835,7 +835,7 @@ bool RenderProcessHostImpl::Init() {
+@@ -645,7 +645,7 @@ void RenderProcessHostImpl::EarlyZygoteL
+   ZygoteHostImpl::GetInstance()->SetRendererSandboxStatus(
+       (*GetGenericZygote())->GetSandboxStatus());
+ }
+-#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
++#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ 
+ RenderProcessHostImpl::RenderProcessHostImpl(
+     BrowserContext* browser_context,
+@@ -788,7 +788,7 @@ bool RenderProcessHostImpl::Init() {
    renderer_prefix =
        browser_command_line.GetSwitchValueNative(switches::kRendererCmdPrefix);
  
diff --git a/chromium-new/patches/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/chromium-new/patches/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
index f0dbbd27ab..e2a9f598fb 100644
--- a/chromium-new/patches/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
+++ b/chromium-new/patches/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/renderer_host/render_widget_host_view_aura.cc
-@@ -106,7 +106,7 @@
+@@ -107,7 +107,7 @@
  #include "ui/gfx/gdi_util.h"
  #endif
  
@@ -11,7 +11,7 @@ $NetBSD$
  #include "ui/base/ime/linux/text_edit_command_auralinux.h"
  #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
  #endif
-@@ -2479,7 +2479,7 @@ bool RenderWidgetHostViewAura::NeedsInpu
+@@ -1961,7 +1961,7 @@ bool RenderWidgetHostViewAura::NeedsInpu
  }
  
  bool RenderWidgetHostViewAura::NeedsMouseCapture() {
@@ -20,7 +20,7 @@ $NetBSD$
    return NeedsInputGrab();
  #endif
    return false;
-@@ -2711,7 +2711,7 @@ void RenderWidgetHostViewAura::ForwardKe
+@@ -2158,7 +2158,7 @@ void RenderWidgetHostViewAura::ForwardKe
    if (!target_host)
      return;
  
diff --git a/chromium-new/patches/patch-content_browser_time__zone__monitor.cc b/chromium-new/patches/patch-content_browser_time__zone__monitor.cc
deleted file mode 100644
index be9f680000..0000000000
--- a/chromium-new/patches/patch-content_browser_time__zone__monitor.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- content/browser/time_zone_monitor.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ content/browser/time_zone_monitor.cc
-@@ -29,7 +29,7 @@ void TimeZoneMonitor::NotifyRenderers() 
-   std::unique_ptr<icu::TimeZone> new_zone(icu::TimeZone::createDefault());
- #else
-   icu::TimeZone* new_zone = icu::TimeZone::detectHostTimeZone();
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-   // We get here multiple times on Linux per a single tz change, but
-   // want to update the ICU default zone and notify renderer only once.
-   std::unique_ptr<icu::TimeZone> current_zone(icu::TimeZone::createDefault());
diff --git a/chromium-new/patches/patch-content_browser_time__zone__monitor__linux.cc b/chromium-new/patches/patch-content_browser_time__zone__monitor__linux.cc
deleted file mode 100644
index 675fdc903d..0000000000
--- a/chromium-new/patches/patch-content_browser_time__zone__monitor__linux.cc
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD$
-
---- content/browser/time_zone_monitor_linux.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ content/browser/time_zone_monitor_linux.cc
-@@ -53,6 +53,9 @@ class TimeZoneMonitorLinuxImpl
-       : base::RefCountedThreadSafe<TimeZoneMonitorLinuxImpl>(),
-         file_path_watchers_(),
-         owner_(owner) {
-+  }
-+
-+  void StartWatching() {
-     DCHECK_CURRENTLY_ON(BrowserThread::UI);
-     BrowserThread::PostTask(
-         BrowserThread::FILE,
-@@ -149,6 +152,9 @@ TimeZoneMonitorLinux::TimeZoneMonitorLin
-   // changed.
-   if (!getenv("TZ")) {
-     impl_ = new TimeZoneMonitorLinuxImpl(this);
-+    if (impl_.get()) {
-+      impl_->StartWatching();
-+    }
-   }
- }
- 
diff --git a/chromium-new/patches/patch-content_browser_tracing_tracing__controller__impl.cc b/chromium-new/patches/patch-content_browser_tracing_tracing__controller__impl.cc
index dda343fae4..b1abe73e93 100644
--- a/chromium-new/patches/patch-content_browser_tracing_tracing__controller__impl.cc
+++ b/chromium-new/patches/patch-content_browser_tracing_tracing__controller__impl.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/browser/tracing/tracing_controller_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/tracing/tracing_controller_impl.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/tracing/tracing_controller_impl.cc
-@@ -515,7 +515,7 @@ void TracingControllerImpl::AddTraceMess
+@@ -475,7 +475,7 @@ void TracingControllerImpl::AddTraceMess
      return;
    }
  
diff --git a/chromium-new/patches/patch-content_browser_utility__process__host__impl.cc b/chromium-new/patches/patch-content_browser_utility__process__host__impl.cc
index 0b036cde6a..9df05d5f6b 100644
--- a/chromium-new/patches/patch-content_browser_utility__process__host__impl.cc
+++ b/chromium-new/patches/patch-content_browser_utility__process__host__impl.cc
@@ -1,17 +1,20 @@
 $NetBSD$
 
---- content/browser/utility_process_host_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/browser/utility_process_host_impl.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/browser/utility_process_host_impl.cc
-@@ -44,7 +44,7 @@
- #include "services/shell/public/cpp/interface_provider.h"
+@@ -43,9 +43,9 @@
+ #include "services/service_manager/public/cpp/interface_provider.h"
  #include "ui/base/ui_base_switches.h"
  
 -#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
 +#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
  #include "content/public/browser/zygote_handle_linux.h"
- #endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
+-#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
++#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
  
-@@ -55,7 +55,7 @@
+ #if defined(OS_WIN)
+ #include "sandbox/win/src/sandbox_policy.h"
+@@ -54,11 +54,11 @@
  
  namespace content {
  
@@ -20,16 +23,25 @@ $NetBSD$
  namespace {
  ZygoteHandle g_utility_zygote;
  }  // namespace
-@@ -75,7 +75,7 @@ class UtilitySandboxedProcessLauncherDel
+-#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
++#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ 
+ // NOTE: changes to this class need to be reviewed by the security team.
+ class UtilitySandboxedProcessLauncherDelegate
+@@ -73,10 +73,10 @@ class UtilitySandboxedProcessLauncherDel
          launch_elevated_(launch_elevated)
  #elif defined(OS_POSIX)
-         env_(env),
+         env_(env)
 -#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
 +#if !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
-         no_sandbox_(no_sandbox),
- #endif  // !defined(OS_MACOSX)  && !defined(OS_ANDROID)
-         ipc_fd_(host->TakeClientFileDescriptor())
-@@ -107,7 +107,7 @@ class UtilitySandboxedProcessLauncherDel
+         ,
+         no_sandbox_(no_sandbox)
+-#endif  // !defined(OS_MACOSX)  && !defined(OS_ANDROID)
++#endif  // !defined(OS_MACOSX)  && !defined(OS_ANDROID) && !defined(OS_BSD)
+ #endif  // OS_WIN
+   {}
+ 
+@@ -105,13 +105,13 @@ class UtilitySandboxedProcessLauncherDel
  
  #elif defined(OS_POSIX)
  
@@ -38,16 +50,26 @@ $NetBSD$
    ZygoteHandle* GetZygote() override {
      if (no_sandbox_ || !exposed_dir_.empty())
        return nullptr;
-@@ -129,7 +129,7 @@ class UtilitySandboxedProcessLauncherDel
+     return GetGenericZygote();
+   }
+-#endif  // !defined(OS_MACOSX) && !defined(OS_ANDROID)
++#endif  // !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
+   base::EnvironmentMap GetEnvironment() override { return env_; }
+ #endif  // OS_WIN
+ 
+@@ -126,9 +126,9 @@ class UtilitySandboxedProcessLauncherDel
    bool launch_elevated_;
  #elif defined(OS_POSIX)
    base::EnvironmentMap env_;
 -#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
 +#if !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
    bool no_sandbox_;
- #endif  // !defined(OS_MACOSX) && !defined(OS_ANDROID)
-   base::ScopedFD ipc_fd_;
-@@ -157,7 +157,7 @@ UtilityProcessHostImpl::UtilityProcessHo
+-#endif  // !defined(OS_MACOSX) && !defined(OS_ANDROID)
++#endif  // !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
+ #endif  // OS_WIN
+ };
+ 
+@@ -153,7 +153,7 @@ UtilityProcessHostImpl::UtilityProcessHo
        is_batch_mode_(false),
        no_sandbox_(false),
        run_elevated_(false),
@@ -56,7 +78,7 @@ $NetBSD$
        child_flags_(ChildProcessHost::CHILD_ALLOW_SELF),
  #else
        child_flags_(ChildProcessHost::CHILD_NORMAL),
-@@ -238,7 +238,7 @@ void UtilityProcessHostImpl::SetName(con
+@@ -235,13 +235,13 @@ void UtilityProcessHostImpl::SetName(con
    name_ = name;
  }
  
@@ -65,3 +87,10 @@ $NetBSD$
  // static
  void UtilityProcessHostImpl::EarlyZygoteLaunch() {
    DCHECK(!g_utility_zygote);
+   g_utility_zygote = CreateZygote();
+ }
+-#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
++#endif  // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ 
+ bool UtilityProcessHostImpl::StartProcess() {
+   if (started_)
diff --git a/chromium-new/patches/patch-content_common_BUILD.gn b/chromium-new/patches/patch-content_common_BUILD.gn
index 2d59a061f7..090a98a664 100644
--- a/chromium-new/patches/patch-content_common_BUILD.gn
+++ b/chromium-new/patches/patch-content_common_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/common/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/common/BUILD.gn.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/common/BUILD.gn
-@@ -187,7 +187,7 @@ source_set("common") {
+@@ -500,7 +500,7 @@ source_set("common") {
    if (use_seccomp_bpf) {
      defines += [ "USE_SECCOMP_BPF" ]
    } else {
@@ -11,7 +11,7 @@ $NetBSD$
        sources -= [
          "sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc",
          "sandbox_linux/bpf_cros_arm_gpu_policy_linux.h",
-@@ -201,6 +201,15 @@ source_set("common") {
+@@ -514,6 +514,15 @@ source_set("common") {
          "sandbox_linux/bpf_utility_policy_linux.h",
          "sandbox_linux/sandbox_bpf_base_policy_linux.cc",
          "sandbox_linux/sandbox_bpf_base_policy_linux.h",
diff --git a/chromium-new/patches/patch-content_common_sandbox__linux_sandbox__debug__handling__linux.cc b/chromium-new/patches/patch-content_common_sandbox__linux_sandbox__debug__handling__linux.cc
index 6b0896bf34..186bf4a005 100644
--- a/chromium-new/patches/patch-content_common_sandbox__linux_sandbox__debug__handling__linux.cc
+++ b/chromium-new/patches/patch-content_common_sandbox__linux_sandbox__debug__handling__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/common/sandbox_linux/sandbox_debug_handling_linux.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/common/sandbox_linux/sandbox_debug_handling_linux.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/common/sandbox_linux/sandbox_debug_handling_linux.cc
 @@ -7,7 +7,9 @@
  #include <errno.h>
diff --git a/chromium-new/patches/patch-content_common_set__process__title__linux.cc b/chromium-new/patches/patch-content_common_set__process__title__linux.cc
index 1290af9edd..efa1fef560 100644
--- a/chromium-new/patches/patch-content_common_set__process__title__linux.cc
+++ b/chromium-new/patches/patch-content_common_set__process__title__linux.cc
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- content/common/set_process_title_linux.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/common/set_process_title_linux.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/common/set_process_title_linux.cc
 @@ -49,6 +49,8 @@
  extern char** environ;
  
  static char** g_main_argv = NULL;
 +
-+#if !defined(OS_FREEBSD)
++#if !defined(OS_BSD)
  static char* g_orig_argv0 = NULL;
  
  void setproctitle(const char* fmt, ...) {
diff --git a/chromium-new/patches/patch-content_common_set__process__title__linux.h b/chromium-new/patches/patch-content_common_set__process__title__linux.h
index bee82ba80b..329c281812 100644
--- a/chromium-new/patches/patch-content_common_set__process__title__linux.h
+++ b/chromium-new/patches/patch-content_common_set__process__title__linux.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/common/set_process_title_linux.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/common/set_process_title_linux.h.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/common/set_process_title_linux.h
 @@ -5,6 +5,9 @@
  #ifndef CONTENT_COMMON_SET_PROCESS_TITLE_LINUX_H_
@@ -8,7 +8,7 @@ $NetBSD$
  
 +#include "build/build_config.h"
 +
-+#if !defined(OS_FREEBSD)
++#if !defined(OS_BSD)
  // Set the process title that will show in "ps" and similar tools. Takes
  // printf-style format string and arguments. After calling setproctitle()
  // the original main() argv[] array should not be used. By default, the
diff --git a/chromium-new/patches/patch-content_gpu_BUILD.gn b/chromium-new/patches/patch-content_gpu_BUILD.gn
index 4c279eb0bd..d409cccca1 100644
--- a/chromium-new/patches/patch-content_gpu_BUILD.gn
+++ b/chromium-new/patches/patch-content_gpu_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/gpu/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/gpu/BUILD.gn.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/gpu/BUILD.gn
-@@ -98,6 +98,7 @@ target(link_target_type, "gpu_sources") 
+@@ -96,6 +96,7 @@ target(link_target_type, "gpu_sources") 
  
    if (use_x11) {
      deps += [ "//ui/events/platform/x11" ]
diff --git a/chromium-new/patches/patch-content_gpu_gpu__child__thread.cc b/chromium-new/patches/patch-content_gpu_gpu__child__thread.cc
index 56db11afed..05d50a9340 100644
--- a/chromium-new/patches/patch-content_gpu_gpu__child__thread.cc
+++ b/chromium-new/patches/patch-content_gpu_gpu__child__thread.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/gpu/gpu_child_thread.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/gpu/gpu_child_thread.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/gpu/gpu_child_thread.cc
-@@ -419,6 +419,7 @@ void GpuChildThread::OnCollectGraphicsIn
+@@ -383,6 +383,7 @@ void GpuChildThread::OnCollectGraphicsIn
    if (dead_on_arrival_)
      return;
  
@@ -10,7 +10,7 @@ $NetBSD$
  #if defined(OS_WIN)
    // GPU full info collection should only happen on un-sandboxed GPU process
    // or single process/in-process gpu mode on Windows.
-@@ -461,6 +462,7 @@ void GpuChildThread::OnCollectGraphicsIn
+@@ -434,6 +435,7 @@ void GpuChildThread::OnCollectGraphicsIn
      base::MessageLoop::current()->QuitWhenIdle();
    }
  #endif  // OS_WIN
diff --git a/chromium-new/patches/patch-content_gpu_gpu__main.cc b/chromium-new/patches/patch-content_gpu_gpu__main.cc
index 7842c71e34..4d3f28171a 100644
--- a/chromium-new/patches/patch-content_gpu_gpu__main.cc
+++ b/chromium-new/patches/patch-content_gpu_gpu__main.cc
@@ -1,47 +1,45 @@
 $NetBSD$
 
---- content/gpu/gpu_main.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/gpu/gpu_main.cc.orig	2017-02-02 02:02:53.000000000 +0000
 +++ content/gpu/gpu_main.cc
-@@ -104,7 +104,7 @@ void GetGpuInfoFromCommandLine(gpu::GPUI
-                                const base::CommandLine& command_line);
- bool WarmUpSandbox(const base::CommandLine& command_line);
- 
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
- bool CollectGraphicsInfo(gpu::GPUInfo& gpu_info);
- #endif
- 
-@@ -195,13 +195,13 @@ int GpuMain(const MainFunctionParams& pa
-   // create child windows to render to.
-   base::MessagePumpForGpu::InitFactory();
-   base::MessageLoop main_message_loop(base::MessageLoop::TYPE_UI);
--#elif defined(OS_LINUX) && defined(USE_X11)
-+#elif (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_X11)
-   // We need a UI loop so that we can grab the Expose events. See GLSurfaceGLX
-   // and https://crbug.com/326995.
-   base::MessageLoop main_message_loop(base::MessageLoop::TYPE_UI);
-   std::unique_ptr<ui::PlatformEventSource> event_source =
-       ui::PlatformEventSource::CreateDefault();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
-   base::MessageLoop main_message_loop(base::MessageLoop::TYPE_DEFAULT);
- #elif defined(OS_MACOSX)
-   // This is necessary for CoreAnimation layers hosted in the GPU process to be
-@@ -312,7 +312,7 @@ int GpuMain(const MainFunctionParams& pa
-       // and we already registered them through SetGpuInfo() above.
-       base::TimeTicks before_collect_context_graphics_info =
-           base::TimeTicks::Now();
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
-       if (!CollectGraphicsInfo(gpu_info))
-         dead_on_arrival = true;
- 
-@@ -495,7 +495,7 @@ bool WarmUpSandbox(const base::CommandLi
-   return true;
- }
+@@ -92,7 +92,7 @@ namespace content {
+ 
+ namespace {
+ 
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ bool StartSandboxLinux(gpu::GpuWatchdogThread*);
+ #elif defined(OS_WIN)
+ bool StartSandboxWindows(const sandbox::SandboxInterfaceInfo*);
+@@ -145,7 +145,7 @@ class ContentSandboxHelper : public gpu:
+ 
+   bool EnsureSandboxInitialized(
+       gpu::GpuWatchdogThread* watchdog_thread) override {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+     return StartSandboxLinux(watchdog_thread);
+ #elif defined(OS_WIN)
+     return StartSandboxWindows(sandbox_info_);
+@@ -292,12 +292,13 @@ int GpuMain(const MainFunctionParams& pa
  
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
- bool CollectGraphicsInfo(gpu::GPUInfo& gpu_info) {
-   TRACE_EVENT0("gpu,startup", "Collect Graphics Info");
+ namespace {
  
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread) {
+   TRACE_EVENT0("gpu,startup", "Initialize sandbox");
+ 
+   bool res = false;
+ 
++#if !defined(OS_BSD)
+   if (watchdog_thread) {
+     // LinuxSandbox needs to be able to ensure that the thread
+     // has really been stopped.
+@@ -322,6 +323,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogT
+     options.timer_slack = base::TIMER_SLACK_MAXIMUM;
+     watchdog_thread->StartWithOptions(options);
+   }
++#endif
+ 
+   return res;
+ }
diff --git a/chromium-new/patches/patch-content_gpu_in__process__gpu__thread.cc b/chromium-new/patches/patch-content_gpu_in__process__gpu__thread.cc
new file mode 100644
index 0000000000..dfb6ab56c0
--- /dev/null
+++ b/chromium-new/patches/patch-content_gpu_in__process__gpu__thread.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- content/gpu/in_process_gpu_thread.cc.orig	2017-02-02 02:02:53.000000000 +0000
++++ content/gpu/in_process_gpu_thread.cc
+@@ -53,8 +53,6 @@ void InProcessGpuThread::Init() {
+   gpu::GPUInfo gpu_info;
+   if (!gl::init::InitializeGLOneOff())
+     VLOG(1) << "gl::init::InitializeGLOneOff failed";
+-  else
+-    gpu::CollectContextGraphicsInfo(&gpu_info);
+ 
+   // The process object takes ownership of the thread object, so do not
+   // save and delete the pointer.
diff --git a/chromium-new/patches/patch-content_public_common_child__process__host.h b/chromium-new/patches/patch-content_public_common_child__process__host.h
index 08bfc44291..c4820007cd 100644
--- a/chromium-new/patches/patch-content_public_common_child__process__host.h
+++ b/chromium-new/patches/patch-content_public_common_child__process__host.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/public/common/child_process_host.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/public/common/child_process_host.h.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/public/common/child_process_host.h
-@@ -54,7 +54,7 @@ class CONTENT_EXPORT ChildProcessHost : 
+@@ -53,7 +53,7 @@ class CONTENT_EXPORT ChildProcessHost : 
      // No special behavior requested.
      CHILD_NORMAL = 0,
  
@@ -11,7 +11,7 @@ $NetBSD$
      // Indicates that the child execed after forking may be execced from
      // /proc/self/exe rather than using the "real" app path. This prevents
      // autoupdate from confusing us if it changes the file out from under us.
-@@ -63,7 +63,7 @@ class CONTENT_EXPORT ChildProcessHost : 
+@@ -62,7 +62,7 @@ class CONTENT_EXPORT ChildProcessHost : 
      // gdb). In this case, you'd use GetChildPath to get the real executable
      // file name, and then prepend the GDB command to the command line.
      CHILD_ALLOW_SELF = 1 << 0,
diff --git a/chromium-new/patches/patch-content_public_common_content__switches.cc b/chromium-new/patches/patch-content_public_common_content__switches.cc
index 1801d5fdff..dea65a44dd 100644
--- a/chromium-new/patches/patch-content_public_common_content__switches.cc
+++ b/chromium-new/patches/patch-content_public_common_content__switches.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/public/common/content_switches.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/public/common/content_switches.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/public/common/content_switches.cc
-@@ -1007,7 +1007,7 @@ const char kDisableVaapiAcceleratedVideo
+@@ -992,7 +992,7 @@ const char kDisableVaapiAcceleratedVideo
      "disable-vaapi-accelerated-video-encode";
  #endif
  
diff --git a/chromium-new/patches/patch-content_public_common_content__switches.h b/chromium-new/patches/patch-content_public_common_content__switches.h
index d2d6c4f08c..48c5a9fe03 100644
--- a/chromium-new/patches/patch-content_public_common_content__switches.h
+++ b/chromium-new/patches/patch-content_public_common_content__switches.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/public/common/content_switches.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/public/common/content_switches.h.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/public/common/content_switches.h
-@@ -296,7 +296,7 @@ CONTENT_EXPORT extern const char kDisabl
+@@ -293,7 +293,7 @@ CONTENT_EXPORT extern const char kDisabl
  CONTENT_EXPORT extern const char kDisableVaapiAcceleratedVideoEncode[];
  #endif
  
diff --git a/chromium-new/patches/patch-content_public_common_renderer__preferences.h b/chromium-new/patches/patch-content_public_common_renderer__preferences.h
new file mode 100644
index 0000000000..4f4dc486d4
--- /dev/null
+++ b/chromium-new/patches/patch-content_public_common_renderer__preferences.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- content/public/common/renderer_preferences.h.orig	2017-02-02 02:02:54.000000000 +0000
++++ content/public/common/renderer_preferences.h
+@@ -139,7 +139,7 @@ struct CONTENT_EXPORT RendererPreference
+   // Country iso of the mobile network for content detection purpose.
+   std::string network_contry_iso;
+ 
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+   std::string system_font_family_name;
+ #endif
+ 
diff --git a/chromium-new/patches/patch-content_public_test_browser__test__base.cc b/chromium-new/patches/patch-content_public_test_browser__test__base.cc
index 6485213cfe..647287628b 100644
--- a/chromium-new/patches/patch-content_public_test_browser__test__base.cc
+++ b/chromium-new/patches/patch-content_public_test_browser__test__base.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/public/test/browser_test_base.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/public/test/browser_test_base.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/public/test/browser_test_base.cc
 @@ -6,6 +6,10 @@
  
diff --git a/chromium-new/patches/patch-content_renderer_devtools_v8__sampling__profiler.cc b/chromium-new/patches/patch-content_renderer_devtools_v8__sampling__profiler.cc
deleted file mode 100644
index c5c2064297..0000000000
--- a/chromium-new/patches/patch-content_renderer_devtools_v8__sampling__profiler.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD$
-
---- content/renderer/devtools/v8_sampling_profiler.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ content/renderer/devtools/v8_sampling_profiler.cc
-@@ -547,6 +547,14 @@ void V8SamplingThread::HandleProfilerSig
-   state.pc = reinterpret_cast<void*>(mcontext->__ss.REG_64_32(__rip, __eip));
-   state.sp = reinterpret_cast<void*>(mcontext->__ss.REG_64_32(__rsp, __esp));
-   state.fp = reinterpret_cast<void*>(mcontext->__ss.REG_64_32(__rbp, __ebp));
-+#elif defined(OS_FREEBSD)
-+  state.pc = reinterpret_cast<void*>(mcontext.REG_64_32(mc_rip, mc_eip));
-+  state.sp = reinterpret_cast<void*>(mcontext.REG_64_32(mc_rsp, mc_esp));
-+  state.fp = reinterpret_cast<void*>(mcontext.REG_64_32(mc_rbp, mc_ebp));
-+#elif defined(OS_NETBSD)
-+  state.pc = reinterpret_cast<void*>(mcontext.__gregs[REG_64_32(_REG_RIP, _REG_EIP)]);
-+  state.sp = reinterpret_cast<void*>(mcontext.__gregs[REG_64_32(_REG_RSP, _REG_ESP)]);
-+  state.fp = reinterpret_cast<void*>(mcontext.__gregs[REG_64_32(_REG_RBP, _REG_EBP)]);
- #else
-   state.pc =
-       reinterpret_cast<void*>(mcontext.gregs[REG_64_32(REG_RIP, REG_EIP)]);
diff --git a/chromium-new/patches/patch-content_renderer_media_webrtc_processed__local__audio__source.cc b/chromium-new/patches/patch-content_renderer_media_webrtc_processed__local__audio__source.cc
index 2e9dc631d3..dde425fb9c 100644
--- a/chromium-new/patches/patch-content_renderer_media_webrtc_processed__local__audio__source.cc
+++ b/chromium-new/patches/patch-content_renderer_media_webrtc_processed__local__audio__source.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/renderer/media/webrtc/processed_local_audio_source.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/renderer/media/webrtc/processed_local_audio_source.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/renderer/media/webrtc/processed_local_audio_source.cc
 @@ -269,8 +269,8 @@ void ProcessedLocalAudioSource::Capture(
                                          bool key_pressed) {
diff --git a/chromium-new/patches/patch-content_renderer_pepper_pepper__media__device__manager.cc b/chromium-new/patches/patch-content_renderer_pepper_pepper__media__device__manager.cc
new file mode 100644
index 0000000000..f857902ba0
--- /dev/null
+++ b/chromium-new/patches/patch-content_renderer_pepper_pepper__media__device__manager.cc
@@ -0,0 +1,18 @@
+$NetBSD$
+
+--- content/renderer/pepper/pepper_media_device_manager.cc.orig	2017-02-02 02:02:54.000000000 +0000
++++ content/renderer/pepper/pepper_media_device_manager.cc
+@@ -89,9 +89,10 @@ void PepperMediaDeviceManager::Enumerate
+                  callback, ToMediaDeviceType(type)));
+ #else
+   base::ThreadTaskRunnerHandle::Get()->PostTask(
+-      FROM_HERE,
+-      base::Bind(&PepperMediaDeviceManager::DevicesEnumerated, AsWeakPtr(),
+-                 callback, ToMediaDeviceType(type), MediaDeviceInfoArray()));
++      FROM_HERE, base::Bind(&PepperMediaDeviceManager::DevicesEnumerated,
++                            AsWeakPtr(), callback, ToMediaDeviceType(type),
++                            std::vector<MediaDeviceInfoArray>()));
++
+ #endif
+ }
+ 
diff --git a/chromium-new/patches/patch-content_renderer_render__thread__impl.cc b/chromium-new/patches/patch-content_renderer_render__thread__impl.cc
index 86222ee8d9..49de67415a 100644
--- a/chromium-new/patches/patch-content_renderer_render__thread__impl.cc
+++ b/chromium-new/patches/patch-content_renderer_render__thread__impl.cc
@@ -1,8 +1,22 @@
 $NetBSD$
 
---- content/renderer/render_thread_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/renderer/render_thread_impl.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/renderer/render_thread_impl.cc
-@@ -1455,7 +1455,7 @@ media::GpuVideoAcceleratorFactories* Ren
+@@ -206,11 +206,13 @@
+ #include "content/common/external_ipc_dumper.h"
+ #endif
+ 
++#if !defined(OS_BSD)
+ #if defined(OS_MACOSX)
+ #include <malloc/malloc.h>
+ #else
+ #include <malloc.h>
+ #endif
++#endif
+ 
+ using base::ThreadRestrictions;
+ using blink::WebDocument;
+@@ -1488,7 +1490,7 @@ media::GpuVideoAcceleratorFactories* Ren
    const bool enable_video_accelerator =
        !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode);
    const bool enable_gpu_memory_buffer_video_frames =
@@ -11,3 +25,12 @@ $NetBSD$
        !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames) &&
        !cmd_line->HasSwitch(switches::kDisableGpuCompositing) &&
        !gpu_channel_host->gpu_info().software_rendering;
+@@ -1846,6 +1848,8 @@ void RenderThreadImpl::RecordPurgeAndSus
+ #else
+   size_t malloc_usage = minfo.hblkhd + minfo.arena;
+ #endif
++#elif defined(OS_BSD)
++  size_t malloc_usage = 0;
+ #else
+   size_t malloc_usage = GetMallocUsage();
+ #endif
diff --git a/chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.cc b/chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.cc
index 59a1d796ad..cb91e58fc4 100644
--- a/chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.cc
+++ b/chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/renderer/renderer_blink_platform_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/renderer/renderer_blink_platform_impl.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/renderer/renderer_blink_platform_impl.cc
-@@ -114,7 +114,7 @@
+@@ -111,7 +111,7 @@
  
  #if defined(OS_POSIX)
  #include "base/file_descriptor_posix.h"
@@ -11,7 +11,7 @@ $NetBSD$
  #include <map>
  #include <string>
  
-@@ -219,7 +219,7 @@ class RendererBlinkPlatformImpl::FileUti
+@@ -201,7 +201,7 @@ class RendererBlinkPlatformImpl::FileUti
    scoped_refptr<ThreadSafeSender> thread_safe_sender_;
  };
  
@@ -20,7 +20,7 @@ $NetBSD$
  class RendererBlinkPlatformImpl::SandboxSupport
      : public blink::WebSandboxSupport {
   public:
-@@ -266,7 +266,7 @@ RendererBlinkPlatformImpl::RendererBlink
+@@ -247,7 +247,7 @@ RendererBlinkPlatformImpl::RendererBlink
        renderer_scheduler_(renderer_scheduler),
        blink_interface_provider_(
            new BlinkInterfaceProviderImpl(remote_interfaces)) {
@@ -29,7 +29,7 @@ $NetBSD$
    if (g_sandbox_enabled && sandboxEnabled()) {
      sandbox_support_.reset(new RendererBlinkPlatformImpl::SandboxSupport);
    } else {
-@@ -297,7 +297,7 @@ RendererBlinkPlatformImpl::~RendererBlin
+@@ -283,7 +283,7 @@ RendererBlinkPlatformImpl::~RendererBlin
  }
  
  void RendererBlinkPlatformImpl::Shutdown() {
@@ -38,7 +38,7 @@ $NetBSD$
    // SandboxSupport contains a map of WebFontFamily objects, which hold
    // WebCStrings, which become invalidated when blink is shut down. Hence, we
    // need to clear that map now, just before blink::shutdown() is called.
-@@ -349,7 +349,7 @@ blink::WebFileUtilities* RendererBlinkPl
+@@ -331,7 +331,7 @@ blink::WebFileUtilities* RendererBlinkPl
  }
  
  blink::WebSandboxSupport* RendererBlinkPlatformImpl::sandboxSupport() {
@@ -47,7 +47,7 @@ $NetBSD$
    // These platforms do not require sandbox support.
    return NULL;
  #else
-@@ -602,7 +602,7 @@ bool RendererBlinkPlatformImpl::SandboxS
+@@ -539,7 +539,7 @@ bool RendererBlinkPlatformImpl::SandboxS
    return FontLoader::CGFontRefFromBuffer(font_data, font_data_size, out);
  }
  
diff --git a/chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.h b/chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.h
index bdee4d493a..d9d3cd3623 100644
--- a/chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.h
+++ b/chromium-new/patches/patch-content_renderer_renderer__blink__platform__impl.h
@@ -1,10 +1,10 @@
 $NetBSD$
 
---- content/renderer/renderer_blink_platform_impl.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/renderer/renderer_blink_platform_impl.h.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/renderer/renderer_blink_platform_impl.h
-@@ -264,7 +264,7 @@ class CONTENT_EXPORT RendererBlinkPlatfo
-   class MimeRegistry;
-   std::unique_ptr<MimeRegistry> mime_registry_;
+@@ -256,7 +256,7 @@ class CONTENT_EXPORT RendererBlinkPlatfo
+   class FileUtilities;
+   std::unique_ptr<FileUtilities> file_utilities_;
  
 -#if !defined(OS_ANDROID) && !defined(OS_WIN)
 +#if !defined(OS_ANDROID) && !defined(OS_WIN) && !defined(OS_BSD)
diff --git a/chromium-new/patches/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/chromium-new/patches/patch-content_renderer_renderer__main__platform__delegate__linux.cc
index 50e00553c7..2604fd4bc1 100644
--- a/chromium-new/patches/patch-content_renderer_renderer__main__platform__delegate__linux.cc
+++ b/chromium-new/patches/patch-content_renderer_renderer__main__platform__delegate__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/renderer/renderer_main_platform_delegate_linux.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/renderer/renderer_main_platform_delegate_linux.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/renderer/renderer_main_platform_delegate_linux.cc
 @@ -29,6 +29,7 @@ void RendererMainPlatformDelegate::Platf
  }
diff --git a/chromium-new/patches/patch-content_renderer_webscrollbarbehavior__impl__aura.cc b/chromium-new/patches/patch-content_renderer_webscrollbarbehavior__impl__aura.cc
new file mode 100644
index 0000000000..cde1a9d2f9
--- /dev/null
+++ b/chromium-new/patches/patch-content_renderer_webscrollbarbehavior__impl__aura.cc
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- content/renderer/webscrollbarbehavior_impl_aura.cc.orig	2017-02-02 02:02:54.000000000 +0000
++++ content/renderer/webscrollbarbehavior_impl_aura.cc
+@@ -14,7 +14,7 @@ bool WebScrollbarBehaviorImpl::shouldCen
+       blink::WebPointerProperties::Button mouseButton,
+       bool shiftKeyPressed,
+       bool altKeyPressed) {
+-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   if (mouseButton == blink::WebPointerProperties::Button::Middle)
+     return true;
+ #endif
+@@ -29,7 +29,7 @@ bool WebScrollbarBehaviorImpl::shouldSna
+ // Disable snapback on desktop Linux to better integrate with the desktop
+ // behavior.  Typically, Linux apps do not implement scrollbar snapback (this is
+ // true for at least GTK and QT apps).
+-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   return false;
+ #endif
+ 
diff --git a/chromium-new/patches/patch-content_renderer_webscrollbarbehavior__impl__gtkoraura.cc b/chromium-new/patches/patch-content_renderer_webscrollbarbehavior__impl__gtkoraura.cc
deleted file mode 100644
index 3e7db46b06..0000000000
--- a/chromium-new/patches/patch-content_renderer_webscrollbarbehavior__impl__gtkoraura.cc
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
---- content/renderer/webscrollbarbehavior_impl_gtkoraura.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ content/renderer/webscrollbarbehavior_impl_gtkoraura.cc
-@@ -14,7 +14,7 @@ bool WebScrollbarBehaviorImpl::shouldCen
-       blink::WebPointerProperties::Button mouseButton,
-       bool shiftKeyPressed,
-       bool altKeyPressed) {
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if ((defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS))
-   if (mouseButton == blink::WebPointerProperties::Button::Middle)
-     return true;
- #endif
-@@ -50,7 +50,7 @@ bool WebScrollbarBehaviorImpl::shouldSna
-   // On most platforms, we should snap iff the event is outside our calculated
-   // rect.  On Linux, however, we should not snap for events off the ends, but
-   // not the sides, of the rect.
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
-   return isHorizontal ?
-       (eventPoint.y < noSnapRect.y() || eventPoint.y >= noSnapRect.bottom()) :
-       (eventPoint.x < noSnapRect.x() || eventPoint.x >= noSnapRect.right());
diff --git a/chromium-new/patches/patch-content_shell_BUILD.gn b/chromium-new/patches/patch-content_shell_BUILD.gn
index b43625d4eb..6dd4f15c92 100644
--- a/chromium-new/patches/patch-content_shell_BUILD.gn
+++ b/chromium-new/patches/patch-content_shell_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/shell/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/shell/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/shell/BUILD.gn
-@@ -290,7 +290,7 @@ static_library("content_shell_lib") {
+@@ -296,7 +296,7 @@ static_library("content_shell_lib") {
      ]
    }
  
@@ -11,7 +11,7 @@ $NetBSD$
      deps += [
        "//build/linux:fontconfig",
        "//ui/gfx:test_support",
-@@ -311,7 +311,7 @@ static_library("content_shell_lib") {
+@@ -317,7 +317,7 @@ static_library("content_shell_lib") {
      deps += [ "//content/shell/android:content_shell_jni_headers" ]
    }
  
@@ -20,7 +20,7 @@ $NetBSD$
      deps += [
        "//components/crash/content/app",
        "//components/crash/content/browser",
-@@ -359,7 +359,7 @@ static_library("content_shell_lib") {
+@@ -366,7 +366,7 @@ static_library("content_shell_lib") {
      ]
    }
  
@@ -29,7 +29,7 @@ $NetBSD$
      deps += [ "//third_party/freetype2" ]
    }
  
-@@ -525,7 +525,7 @@ if (is_android) {
+@@ -532,7 +532,7 @@ if (is_android) {
        }
      }
  
diff --git a/chromium-new/patches/patch-content_shell_browser_shell__browser__context.cc b/chromium-new/patches/patch-content_shell_browser_shell__browser__context.cc
index 595b2de5d0..fe787d27e0 100644
--- a/chromium-new/patches/patch-content_shell_browser_shell__browser__context.cc
+++ b/chromium-new/patches/patch-content_shell_browser_shell__browser__context.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- content/shell/browser/shell_browser_context.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/shell/browser/shell_browser_context.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/shell/browser/shell_browser_context.cc
-@@ -24,7 +24,7 @@
+@@ -25,7 +25,7 @@
  
  #if defined(OS_WIN)
  #include "base/base_paths_win.h"
@@ -11,7 +11,7 @@ $NetBSD$
  #include "base/nix/xdg_util.h"
  #elif defined(OS_MACOSX)
  #include "base/base_paths_mac.h"
-@@ -81,7 +81,7 @@ void ShellBrowserContext::InitWhileIOAll
+@@ -97,7 +97,7 @@ void ShellBrowserContext::InitWhileIOAll
  #if defined(OS_WIN)
    CHECK(PathService::Get(base::DIR_LOCAL_APP_DATA, &path_));
    path_ = path_.Append(std::wstring(L"content_shell"));
diff --git a/chromium-new/patches/patch-content_shell_browser_shell__browser__main__parts.cc b/chromium-new/patches/patch-content_shell_browser_shell__browser__main__parts.cc
index ccd1492326..bcccbbbcf1 100644
--- a/chromium-new/patches/patch-content_shell_browser_shell__browser__main__parts.cc
+++ b/chromium-new/patches/patch-content_shell_browser_shell__browser__main__parts.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- content/shell/browser/shell_browser_main_parts.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/shell/browser/shell_browser_main_parts.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/shell/browser/shell_browser_main_parts.cc
 @@ -44,7 +44,7 @@
  #if defined(USE_AURA) && defined(USE_X11)
@@ -11,7 +11,7 @@ $NetBSD$
  #include "ui/base/ime/input_method_initializer.h"
  #endif
  #if defined(OS_CHROMEOS)
-@@ -143,7 +143,7 @@ void ShellBrowserMainParts::PostMainMess
+@@ -140,7 +140,7 @@ void ShellBrowserMainParts::PostMainMess
  }
  
  void ShellBrowserMainParts::PreEarlyInitialization() {
diff --git a/chromium-new/patches/patch-content_test_BUILD.gn b/chromium-new/patches/patch-content_test_BUILD.gn
index a301397a7f..62e06e04b3 100644
--- a/chromium-new/patches/patch-content_test_BUILD.gn
+++ b/chromium-new/patches/patch-content_test_BUILD.gn
@@ -1,26 +1,26 @@
 $NetBSD$
 
---- content/test/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- content/test/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
 +++ content/test/BUILD.gn
-@@ -377,7 +377,7 @@ test("content_browsertests") {
-                         ".",
-                         "//content")
+@@ -748,7 +748,7 @@ test("content_browsertests") {
+     }
+   }
  
 -  if (is_android || is_linux || is_mac || is_win) {
 +  if (is_android || is_linux || is_bsd || is_mac || is_win) {
-     data = [
+     data += [
        "$root_out_dir/content_shell.pak",
        "data/",
-@@ -615,7 +615,7 @@ test("content_unittests") {
-                         ".",
-                         "//content")
+@@ -1350,7 +1350,7 @@ test("content_unittests") {
+     sources += [ "../browser/memory/memory_monitor_linux_unittest.cc" ]
+   }
  
 -  if (is_android || is_linux || is_mac || is_win) {
 +  if (is_android || is_linux || is_bsd || is_mac || is_win) {
      data = [
        "$root_out_dir/content_shell.pak",
        "data/",
-@@ -738,7 +738,7 @@ test("content_unittests") {
+@@ -1540,7 +1540,7 @@ test("content_unittests") {
        "//ui/shell_dialogs:shell_dialogs",
      ]
  
@@ -29,8 +29,8 @@ $NetBSD$
        sources +=
            [ "../browser/media/capture/desktop_capture_device_unittest.cc" ]
        deps += [ "//third_party/webrtc/modules/desktop_capture" ]
-@@ -772,7 +772,7 @@ test("content_unittests") {
-                     "//content")
+@@ -1576,7 +1576,7 @@ test("content_unittests") {
+     ]
    }
  
 -  if (is_linux) {
@@ -38,14 +38,3 @@ $NetBSD$
      if (use_dbus) {
        deps += [ "//dbus:test_support" ]
      }
-@@ -855,6 +855,10 @@ test("content_unittests") {
-     sources -= [ "../common/plugin_list_unittest.cc" ]
-   }
- 
-+  if (is_bsd) {
-+    sources -= [ "../browser/download/file_metadata_unittest_linux.cc"]
-+  }
-+
-   if (use_ozone) {
-     deps += [ "//ui/ozone" ]
-   } else {
diff --git a/chromium-new/patches/patch-crypto_nss__util.cc b/chromium-new/patches/patch-crypto_nss__util.cc
index 9e73b48fff..65c59b597d 100644
--- a/chromium-new/patches/patch-crypto_nss__util.cc
+++ b/chromium-new/patches/patch-crypto_nss__util.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- crypto/nss_util.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- crypto/nss_util.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ crypto/nss_util.cc
 @@ -20,7 +20,7 @@
  #include "base/threading/thread_task_runner_handle.h"
diff --git a/chromium-new/patches/patch-device_BUILD.gn b/chromium-new/patches/patch-device_BUILD.gn
index 7117b931ea..016c885025 100644
--- a/chromium-new/patches/patch-device_BUILD.gn
+++ b/chromium-new/patches/patch-device_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- device/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/BUILD.gn
-@@ -173,7 +173,7 @@ test("device_unittests") {
+@@ -184,7 +184,7 @@ test("device_unittests") {
      ]
    }
  
diff --git a/chromium-new/patches/patch-device_battery_BUILD.gn b/chromium-new/patches/patch-device_battery_BUILD.gn
index 02e942e1ef..760254dd56 100644
--- a/chromium-new/patches/patch-device_battery_BUILD.gn
+++ b/chromium-new/patches/patch-device_battery_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/battery/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/battery/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/battery/BUILD.gn
 @@ -47,7 +47,7 @@ if (!is_android) {
        ]
diff --git a/chromium-new/patches/patch-device_bluetooth_BUILD.gn b/chromium-new/patches/patch-device_bluetooth_BUILD.gn
new file mode 100644
index 0000000000..d7fb05ec8c
--- /dev/null
+++ b/chromium-new/patches/patch-device_bluetooth_BUILD.gn
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- device/bluetooth/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
++++ device/bluetooth/BUILD.gn
+@@ -193,7 +193,7 @@ component("bluetooth") {
+     ]
+   }
+ 
+-  if (is_chromeos || is_linux) {
++  if (is_chromeos || (is_linux && !is_bsd)) {
+     if (use_dbus) {
+       sources += [
+         "bluez/bluetooth_adapter_bluez.cc",
diff --git a/chromium-new/patches/patch-device_gamepad_gamepad__provider.cc b/chromium-new/patches/patch-device_gamepad_gamepad__provider.cc
new file mode 100644
index 0000000000..daaed81e52
--- /dev/null
+++ b/chromium-new/patches/patch-device_gamepad_gamepad__provider.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- device/gamepad/gamepad_provider.cc.orig	2017-02-02 02:02:54.000000000 +0000
++++ device/gamepad/gamepad_provider.cc
+@@ -145,7 +145,7 @@ void GamepadProvider::Initialize(std::un
+     monitor->AddDevicesChangedObserver(this);
+ 
+   polling_thread_.reset(new base::Thread("Gamepad polling thread"));
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+   // On Linux, the data fetcher needs to watch file descriptors, so the message
+   // loop needs to be a libevent loop.
+   const base::MessageLoop::Type kMessageLoopType = base::MessageLoop::TYPE_IO;
diff --git a/chromium-new/patches/patch-device_geolocation_BUILD.gn b/chromium-new/patches/patch-device_geolocation_BUILD.gn
index 4f0f41c935..88184c4d72 100644
--- a/chromium-new/patches/patch-device_geolocation_BUILD.gn
+++ b/chromium-new/patches/patch-device_geolocation_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- device/geolocation/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/geolocation/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/geolocation/BUILD.gn
-@@ -93,7 +93,7 @@ component("device_geolocation") {
+@@ -89,7 +89,7 @@ component("geolocation") {
    if (is_android) {
      sources -= [ "wifi_data_provider_common.cc" ]
    }
diff --git a/chromium-new/patches/patch-device_geolocation_location__arbitrator.cc b/chromium-new/patches/patch-device_geolocation_location__arbitrator.cc
new file mode 100644
index 0000000000..6965052941
--- /dev/null
+++ b/chromium-new/patches/patch-device_geolocation_location__arbitrator.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- device/geolocation/location_arbitrator.cc.orig	2017-02-02 02:02:54.000000000 +0000
++++ device/geolocation/location_arbitrator.cc
+@@ -182,7 +182,7 @@ LocationArbitrator::NewNetworkLocationPr
+ 
+ std::unique_ptr<LocationProvider>
+ LocationArbitrator::NewSystemLocationProvider() {
+-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+   return nullptr;
+ #else
+   return device::NewSystemLocationProvider();
diff --git a/chromium-new/patches/patch-device_geolocation_location__arbitrator__impl.cc b/chromium-new/patches/patch-device_geolocation_location__arbitrator__impl.cc
deleted file mode 100644
index 73cc6437a6..0000000000
--- a/chromium-new/patches/patch-device_geolocation_location__arbitrator__impl.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- device/geolocation/location_arbitrator_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ device/geolocation/location_arbitrator_impl.cc
-@@ -167,7 +167,7 @@ LocationArbitratorImpl::NewNetworkLocati
- 
- std::unique_ptr<LocationProvider>
- LocationArbitratorImpl::NewSystemLocationProvider() {
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-   return nullptr;
- #else
-   return device::NewSystemLocationProvider();
diff --git a/chromium-new/patches/patch-device_hid_BUILD.gn b/chromium-new/patches/patch-device_hid_BUILD.gn
index c9a75e91b8..f248371f47 100644
--- a/chromium-new/patches/patch-device_hid_BUILD.gn
+++ b/chromium-new/patches/patch-device_hid_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/hid/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/hid/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/hid/BUILD.gn
 @@ -56,6 +56,13 @@ source_set("hid") {
      deps += [ "//device/udev_linux" ]
diff --git a/chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__daemon__client.h b/chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__daemon__client.h
new file mode 100644
index 0000000000..37a6c8f208
--- /dev/null
+++ b/chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__daemon__client.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- device/media_transfer_protocol/media_transfer_protocol_daemon_client.h.orig	2017-02-02 02:02:54.000000000 +0000
++++ device/media_transfer_protocol/media_transfer_protocol_daemon_client.h
+@@ -19,7 +19,7 @@
+ #include "base/macros.h"
+ #include "build/build_config.h"
+ 
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
+ #error "Only used on Linux and ChromeOS"
+ #endif
+ 
diff --git a/chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__manager.h b/chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__manager.h
index b6a5494248..38707a7eb8 100644
--- a/chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__manager.h
+++ b/chromium-new/patches/patch-device_media__transfer__protocol_media__transfer__protocol__manager.h
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- device/media_transfer_protocol/media_transfer_protocol_manager.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/media_transfer_protocol/media_transfer_protocol_manager.h.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/media_transfer_protocol/media_transfer_protocol_manager.h
 @@ -15,7 +15,7 @@
  #include "base/memory/ref_counted.h"
  #include "build/build_config.h"
  
 -#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_FREEBSD)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
  #error "Only used on Linux and ChromeOS"
  #endif
  
diff --git a/chromium-new/patches/patch-device_serial_BUILD.gn b/chromium-new/patches/patch-device_serial_BUILD.gn
index 4ca90f8508..983efbf357 100644
--- a/chromium-new/patches/patch-device_serial_BUILD.gn
+++ b/chromium-new/patches/patch-device_serial_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/serial/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/serial/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/serial/BUILD.gn
 @@ -6,7 +6,7 @@ import("//build/config/features.gni")
  import("//mojo/public/tools/bindings/mojom.gni")
@@ -11,7 +11,7 @@ $NetBSD$
  
  config("platform_support") {
    visibility = [ ":serial" ]
-@@ -70,6 +70,12 @@ static_library("serial") {
+@@ -55,6 +55,12 @@ static_library("serial") {
    if (use_udev) {
      deps += [ "//device/udev_linux" ]
    }
diff --git a/chromium-new/patches/patch-device_serial_serial__io__handler__posix.cc b/chromium-new/patches/patch-device_serial_serial__io__handler__posix.cc
index 899e377473..d9c4488395 100644
--- a/chromium-new/patches/patch-device_serial_serial__io__handler__posix.cc
+++ b/chromium-new/patches/patch-device_serial_serial__io__handler__posix.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- device/serial/serial_io_handler_posix.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/serial/serial_io_handler_posix.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/serial/serial_io_handler_posix.cc
-@@ -60,7 +60,7 @@ bool BitrateToSpeedConstant(int bitrate,
+@@ -61,7 +61,7 @@ bool BitrateToSpeedConstant(int bitrate,
      BITRATE_TO_SPEED_CASE(9600)
      BITRATE_TO_SPEED_CASE(19200)
      BITRATE_TO_SPEED_CASE(38400)
diff --git a/chromium-new/patches/patch-device_serial_serial__service__impl.cc b/chromium-new/patches/patch-device_serial_serial__service__impl.cc
deleted file mode 100644
index f7bd78e6ab..0000000000
--- a/chromium-new/patches/patch-device_serial_serial__service__impl.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD$
-
---- device/serial/serial_service_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
-+++ device/serial/serial_service_impl.cc
-@@ -75,9 +75,14 @@ void SerialServiceImpl::Connect(
- }
- 
- SerialDeviceEnumerator* SerialServiceImpl::GetDeviceEnumerator() {
-+#if defined(OS_BSD)
-+  NOTIMPLEMENTED();
-+  return NULL;
-+#else
-   if (!device_enumerator_)
-     device_enumerator_ = SerialDeviceEnumerator::Create();
-   return device_enumerator_.get();
-+#endif
- }
- 
- bool SerialServiceImpl::IsValidPath(const mojo::String& path) {
diff --git a/chromium-new/patches/patch-device_time__zone__monitor_time__zone__monitor.cc b/chromium-new/patches/patch-device_time__zone__monitor_time__zone__monitor.cc
new file mode 100644
index 0000000000..533d0fd6f6
--- /dev/null
+++ b/chromium-new/patches/patch-device_time__zone__monitor_time__zone__monitor.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- device/time_zone_monitor/time_zone_monitor.cc.orig	2017-02-02 02:02:54.000000000 +0000
++++ device/time_zone_monitor/time_zone_monitor.cc
+@@ -31,7 +31,7 @@ void TimeZoneMonitor::NotifyClients() {
+   std::unique_ptr<icu::TimeZone> new_zone(icu::TimeZone::createDefault());
+ #else
+   icu::TimeZone* new_zone = icu::TimeZone::detectHostTimeZone();
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+   // We get here multiple times on Linux per a single tz change, but
+   // want to update the ICU default zone and notify renderer only once.
+   std::unique_ptr<icu::TimeZone> current_zone(icu::TimeZone::createDefault());
diff --git a/chromium-new/patches/patch-device_time__zone__monitor_time__zone__monitor__linux.cc b/chromium-new/patches/patch-device_time__zone__monitor_time__zone__monitor__linux.cc
new file mode 100644
index 0000000000..f721489942
--- /dev/null
+++ b/chromium-new/patches/patch-device_time__zone__monitor_time__zone__monitor__linux.cc
@@ -0,0 +1,24 @@
+$NetBSD$
+
+--- device/time_zone_monitor/time_zone_monitor_linux.cc.orig	2017-02-02 02:02:54.000000000 +0000
++++ device/time_zone_monitor/time_zone_monitor_linux.cc
+@@ -59,6 +59,9 @@ class TimeZoneMonitorLinuxImpl
+         main_task_runner_(base::ThreadTaskRunnerHandle::Get()),
+         file_task_runner_(file_task_runner),
+         owner_(owner) {
++ }
++
++ void StartWatching() {
+     DCHECK(main_task_runner_->RunsTasksOnCurrentThread());
+     file_task_runner_->PostTask(
+         FROM_HERE,
+@@ -152,6 +155,9 @@ TimeZoneMonitorLinux::TimeZoneMonitorLin
+   // changed.
+   if (!getenv("TZ")) {
+     impl_ = new TimeZoneMonitorLinuxImpl(this, file_task_runner);
++    if (impl_.get()) {
++      impl_->StartWatching();
++    }
+   }
+ }
+ 
diff --git a/chromium-new/patches/patch-device_usb_usb__context.cc b/chromium-new/patches/patch-device_usb_usb__context.cc
index 1100608976..b9ec7b7aee 100644
--- a/chromium-new/patches/patch-device_usb_usb__context.cc
+++ b/chromium-new/patches/patch-device_usb_usb__context.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/usb/usb_context.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/usb/usb_context.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/usb/usb_context.cc
 @@ -9,8 +9,13 @@
  #include "base/macros.h"
diff --git a/chromium-new/patches/patch-device_usb_usb__context__unittest.cc b/chromium-new/patches/patch-device_usb_usb__context__unittest.cc
index 7b143be97c..e7d5b3f827 100644
--- a/chromium-new/patches/patch-device_usb_usb__context__unittest.cc
+++ b/chromium-new/patches/patch-device_usb_usb__context__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/usb/usb_context_unittest.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/usb/usb_context_unittest.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/usb/usb_context_unittest.cc
 @@ -7,7 +7,11 @@
  #include "build/build_config.h"
diff --git a/chromium-new/patches/patch-device_usb_usb__device__handle__impl.cc b/chromium-new/patches/patch-device_usb_usb__device__handle__impl.cc
index a4c381f2d6..240997b459 100644
--- a/chromium-new/patches/patch-device_usb_usb__device__handle__impl.cc
+++ b/chromium-new/patches/patch-device_usb_usb__device__handle__impl.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/usb/usb_device_handle_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/usb/usb_device_handle_impl.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/usb/usb_device_handle_impl.cc
 @@ -25,7 +25,11 @@
  #include "device/usb/usb_error.h"
diff --git a/chromium-new/patches/patch-device_usb_usb__device__handle__impl.h b/chromium-new/patches/patch-device_usb_usb__device__handle__impl.h
index 4f41a11470..cbceca4934 100644
--- a/chromium-new/patches/patch-device_usb_usb__device__handle__impl.h
+++ b/chromium-new/patches/patch-device_usb_usb__device__handle__impl.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/usb/usb_device_handle_impl.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/usb/usb_device_handle_impl.h.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/usb/usb_device_handle_impl.h
 @@ -18,7 +18,12 @@
  #include "base/memory/ref_counted.h"
diff --git a/chromium-new/patches/patch-device_usb_usb__device__impl.cc b/chromium-new/patches/patch-device_usb_usb__device__impl.cc
index 37ca0a5dc9..145b9f6ca2 100644
--- a/chromium-new/patches/patch-device_usb_usb__device__impl.cc
+++ b/chromium-new/patches/patch-device_usb_usb__device__impl.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/usb/usb_device_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/usb/usb_device_impl.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/usb/usb_device_impl.cc
 @@ -22,7 +22,11 @@
  #include "device/usb/usb_descriptors.h"
diff --git a/chromium-new/patches/patch-device_usb_usb__error.cc b/chromium-new/patches/patch-device_usb_usb__error.cc
index ecddbb75df..60919bb226 100644
--- a/chromium-new/patches/patch-device_usb_usb__error.cc
+++ b/chromium-new/patches/patch-device_usb_usb__error.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/usb/usb_error.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/usb/usb_error.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/usb/usb_error.cc
 @@ -4,7 +4,11 @@
  
diff --git a/chromium-new/patches/patch-device_usb_usb__service__impl.cc b/chromium-new/patches/patch-device_usb_usb__service__impl.cc
index afff345448..c469270186 100644
--- a/chromium-new/patches/patch-device_usb_usb__service__impl.cc
+++ b/chromium-new/patches/patch-device_usb_usb__service__impl.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/usb/usb_service_impl.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/usb/usb_service_impl.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/usb/usb_service_impl.cc
 @@ -26,7 +26,11 @@
  #include "device/usb/usb_error.h"
diff --git a/chromium-new/patches/patch-device_usb_usb__service__impl.h b/chromium-new/patches/patch-device_usb_usb__service__impl.h
index 75e294fc64..20511883bf 100644
--- a/chromium-new/patches/patch-device_usb_usb__service__impl.h
+++ b/chromium-new/patches/patch-device_usb_usb__service__impl.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- device/usb/usb_service_impl.h.orig	2016-11-10 20:02:14.000000000 +0000
+--- device/usb/usb_service_impl.h.orig	2017-02-02 02:02:54.000000000 +0000
 +++ device/usb/usb_service_impl.h
 @@ -15,7 +15,13 @@
  #include "build/build_config.h"
diff --git a/chromium-new/patches/patch-extensions_browser_BUILD.gn b/chromium-new/patches/patch-extensions_browser_BUILD.gn
deleted file mode 100644
index b06ce987d9..0000000000
--- a/chromium-new/patches/patch-extensions_browser_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- extensions/browser/BUILD.gn.orig	2016-11-10 20:02:14.000000000 +0000
-+++ extensions/browser/BUILD.gn
-@@ -85,7 +85,7 @@ source_set("browser") {
-               "//extensions")
-       sources += nonchromeos_sources
- 
--      if (is_linux) {
-+      if (is_linux || is_bsd) {
-         if (use_dbus) {
-           deps += [ "//dbus" ]
-         }
diff --git a/chromium-new/patches/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc b/chromium-new/patches/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
index 0d943b70e9..19aa4789bd 100644
--- a/chromium-new/patches/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
+++ b/chromium-new/patches/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- extensions/browser/api/declarative_webrequest/webrequest_action.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- extensions/browser/api/declarative_webrequest/webrequest_action.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ extensions/browser/api/declarative_webrequest/webrequest_action.cc
-@@ -28,7 +28,11 @@
+@@ -29,7 +29,11 @@
  #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
  #include "net/http/http_util.h"
  #include "net/url_request/url_request.h"
diff --git a/chromium-new/patches/patch-extensions_browser_api_networking__private_networking__private__event__router__factory.cc b/chromium-new/patches/patch-extensions_browser_api_networking__private_networking__private__event__router__factory.cc
new file mode 100644
index 0000000000..1f9d331bf2
--- /dev/null
+++ b/chromium-new/patches/patch-extensions_browser_api_networking__private_networking__private__event__router__factory.cc
@@ -0,0 +1,19 @@
+$NetBSD$
+
+--- extensions/browser/api/networking_private/networking_private_event_router_factory.cc.orig	2017-02-02 02:02:54.000000000 +0000
++++ extensions/browser/api/networking_private/networking_private_event_router_factory.cc
+@@ -13,6 +13,7 @@
+ 
+ namespace extensions {
+ 
++#if !defined(OS_BSD)
+ // static
+ NetworkingPrivateEventRouter*
+ NetworkingPrivateEventRouterFactory::GetForProfile(
+@@ -57,5 +58,6 @@ bool NetworkingPrivateEventRouterFactory
+ bool NetworkingPrivateEventRouterFactory::ServiceIsNULLWhileTesting() const {
+   return true;
+ }
++#endif
+ 
+ }  // namespace extensions
diff --git a/chromium-new/patches/patch-extensions_browser_api_serial_serial__api.cc b/chromium-new/patches/patch-extensions_browser_api_serial_serial__api.cc
index 8ca650da62..855928dd60 100644
--- a/chromium-new/patches/patch-extensions_browser_api_serial_serial__api.cc
+++ b/chromium-new/patches/patch-extensions_browser_api_serial_serial__api.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- extensions/browser/api/serial/serial_api.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- extensions/browser/api/serial/serial_api.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ extensions/browser/api/serial/serial_api.cc
 @@ -85,12 +85,13 @@ bool SerialGetDevicesFunction::Prepare()
  
diff --git a/chromium-new/patches/patch-extensions_browser_api_web__request_form__data__parser.cc b/chromium-new/patches/patch-extensions_browser_api_web__request_form__data__parser.cc
index 812943b6dd..1a9f2183b8 100644
--- a/chromium-new/patches/patch-extensions_browser_api_web__request_form__data__parser.cc
+++ b/chromium-new/patches/patch-extensions_browser_api_web__request_form__data__parser.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- extensions/browser/api/web_request/form_data_parser.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- extensions/browser/api/web_request/form_data_parser.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ extensions/browser/api/web_request/form_data_parser.cc
 @@ -15,7 +15,11 @@
  #include "base/values.h"
diff --git a/chromium-new/patches/patch-extensions_common_image__util.cc b/chromium-new/patches/patch-extensions_common_image__util.cc
index 218af3b2b2..1026a11083 100644
--- a/chromium-new/patches/patch-extensions_common_image__util.cc
+++ b/chromium-new/patches/patch-extensions_common_image__util.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- extensions/common/image_util.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- extensions/common/image_util.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ extensions/common/image_util.cc
 @@ -11,7 +11,11 @@
  #include "base/strings/string_number_conversions.h"
diff --git a/chromium-new/patches/patch-extensions_common_stack__frame.cc b/chromium-new/patches/patch-extensions_common_stack__frame.cc
index 76bd6c0682..85d937d728 100644
--- a/chromium-new/patches/patch-extensions_common_stack__frame.cc
+++ b/chromium-new/patches/patch-extensions_common_stack__frame.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- extensions/common/stack_frame.cc.orig	2016-11-10 20:02:14.000000000 +0000
+--- extensions/common/stack_frame.cc.orig	2017-02-02 02:02:54.000000000 +0000
 +++ extensions/common/stack_frame.cc
 @@ -7,7 +7,11 @@
  #include <string>
diff --git a/chromium-new/patches/patch-gpu_BUILD.gn b/chromium-new/patches/patch-gpu_BUILD.gn
index 8a21733bc9..bc4e40e5e6 100644
--- a/chromium-new/patches/patch-gpu_BUILD.gn
+++ b/chromium-new/patches/patch-gpu_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- gpu/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/BUILD.gn.orig	2017-02-02 02:02:54.000000000 +0000
 +++ gpu/BUILD.gn
-@@ -123,7 +123,7 @@ test("command_buffer_gles2_tests") {
+@@ -93,7 +93,7 @@ test("command_buffer_gles2_tests") {
      libs += [ "android" ]
      deps += [ "//ui/android:ui_java" ]
    }
diff --git a/chromium-new/patches/patch-gpu_command__buffer_service_program__manager.cc b/chromium-new/patches/patch-gpu_command__buffer_service_program__manager.cc
index d13b6f7683..e114fe2d57 100644
--- a/chromium-new/patches/patch-gpu_command__buffer_service_program__manager.cc
+++ b/chromium-new/patches/patch-gpu_command__buffer_service_program__manager.cc
@@ -1,10 +1,10 @@
 $NetBSD$
 
---- gpu/command_buffer/service/program_manager.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/command_buffer/service/program_manager.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/command_buffer/service/program_manager.cc
-@@ -29,7 +29,11 @@
- #include "gpu/command_buffer/service/gpu_preferences.h"
+@@ -31,7 +31,11 @@
  #include "gpu/command_buffer/service/program_cache.h"
+ #include "gpu/command_buffer/service/progress_reporter.h"
  #include "gpu/command_buffer/service/shader_manager.h"
 +#if defined(OS_BSD)
 +#include <re2/re2.h>
diff --git a/chromium-new/patches/patch-gpu_config_BUILD.gn b/chromium-new/patches/patch-gpu_config_BUILD.gn
index ca9f178385..8e6cc59783 100644
--- a/chromium-new/patches/patch-gpu_config_BUILD.gn
+++ b/chromium-new/patches/patch-gpu_config_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- gpu/config/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/config/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/config/BUILD.gn
 @@ -8,7 +8,8 @@ import("//build/config/ui.gni")
  
diff --git a/chromium-new/patches/patch-gpu_config_gpu__control__list.cc b/chromium-new/patches/patch-gpu_config_gpu__control__list.cc
index 42c084ca45..0c239a3a6c 100644
--- a/chromium-new/patches/patch-gpu_config_gpu__control__list.cc
+++ b/chromium-new/patches/patch-gpu_config_gpu__control__list.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- gpu/config/gpu_control_list.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/config/gpu_control_list.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/config/gpu_control_list.cc
 @@ -19,7 +19,11 @@
  #include "base/sys_info.h"
@@ -23,7 +23,7 @@ $NetBSD$
    return kGLTypeGL;
  #elif defined(OS_MACOSX)
    return kGLTypeGL;
-@@ -1593,7 +1597,7 @@ GpuControlList::OsType GpuControlList::G
+@@ -1606,7 +1610,7 @@ GpuControlList::OsType GpuControlList::G
    return kOsWin;
  #elif defined(OS_ANDROID)
    return kOsAndroid;
diff --git a/chromium-new/patches/patch-gpu_config_gpu__control__list__unittest.cc b/chromium-new/patches/patch-gpu_config_gpu__control__list__unittest.cc
index 6b40643fdc..408853cdc7 100644
--- a/chromium-new/patches/patch-gpu_config_gpu__control__list__unittest.cc
+++ b/chromium-new/patches/patch-gpu_config_gpu__control__list__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- gpu/config/gpu_control_list_unittest.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/config/gpu_control_list_unittest.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/config/gpu_control_list_unittest.cc
 @@ -175,8 +175,7 @@ TEST_F(GpuControlListTest, VendorOnAllOs
    features = control_list->MakeDecision(
diff --git a/chromium-new/patches/patch-gpu_config_gpu__info__collector.cc b/chromium-new/patches/patch-gpu_config_gpu__info__collector.cc
index 428470bd09..5473f65956 100644
--- a/chromium-new/patches/patch-gpu_config_gpu__info__collector.cc
+++ b/chromium-new/patches/patch-gpu_config_gpu__info__collector.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- gpu/config/gpu_info_collector.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/config/gpu_info_collector.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/config/gpu_info_collector.cc
-@@ -181,8 +181,10 @@ CollectInfoResult CollectGraphicsInfoGL(
+@@ -193,8 +193,10 @@ CollectInfoResult CollectGraphicsInfoGL(
    gpu_info->pixel_shader_version = glsl_version;
    gpu_info->vertex_shader_version = glsl_version;
  
diff --git a/chromium-new/patches/patch-gpu_config_gpu__test__config.cc b/chromium-new/patches/patch-gpu_config_gpu__test__config.cc
index 128d50f3ea..77f7ac1e96 100644
--- a/chromium-new/patches/patch-gpu_config_gpu__test__config.cc
+++ b/chromium-new/patches/patch-gpu_config_gpu__test__config.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- gpu/config/gpu_test_config.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/config/gpu_test_config.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/config/gpu_test_config.cc
 @@ -24,7 +24,7 @@ namespace {
  GPUTestConfig::OS GetCurrentOS() {
@@ -15,9 +15,9 @@ $NetBSD$
    bool rt;
    if (gpu_info == NULL) {
      GPUInfo my_gpu_info;
-+#if defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_BSD)
 +    rt = false;
-+    LOG(WARNING) << "CollectGpuID not present on FreeBSD";
++    LOG(WARNING) << "CollectGpuID not present on BSD";
 +#else
      CollectInfoResult result = CollectGpuID(
          &my_gpu_info.gpu.vendor_id, &my_gpu_info.gpu.device_id);
diff --git a/chromium-new/patches/patch-gpu_gles2__conform__support_BUILD.gn b/chromium-new/patches/patch-gpu_gles2__conform__support_BUILD.gn
index 49238d207d..da715cb03b 100644
--- a/chromium-new/patches/patch-gpu_gles2__conform__support_BUILD.gn
+++ b/chromium-new/patches/patch-gpu_gles2__conform__support_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- gpu/gles2_conform_support/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/gles2_conform_support/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/gles2_conform_support/BUILD.gn
-@@ -61,7 +61,7 @@ executable("gles2_conform_support") {
+@@ -60,7 +60,7 @@ executable("gles2_conform_support") {
      "//gpu/gles2_conform_support/egl",
      "//ui/gl",
    ]
@@ -11,7 +11,7 @@ $NetBSD$
      sources += [
        "native/egl_native_aura.cc",
        "native/egl_native_x11.cc",
-@@ -131,7 +131,7 @@ if (internal_gles2_conform_tests) {
+@@ -413,7 +413,7 @@ if (internal_gles2_conform_tests) {
        # Must be done this way for warning flags to be ordered correctly.
        ":gles2_conform_test_warnings",
      ]
diff --git a/chromium-new/patches/patch-gpu_gles2__conform__support_native_BUILD.gn b/chromium-new/patches/patch-gpu_gles2__conform__support_native_BUILD.gn
index 2a7281a40f..0a8963f1e8 100644
--- a/chromium-new/patches/patch-gpu_gles2__conform__support_native_BUILD.gn
+++ b/chromium-new/patches/patch-gpu_gles2__conform__support_native_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- gpu/gles2_conform_support/native/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/gles2_conform_support/native/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/gles2_conform_support/native/BUILD.gn
-@@ -21,7 +21,7 @@ source_set("native") {
+@@ -20,7 +20,7 @@ source_set("native") {
      "//gpu/gles2_conform_support/egl",
      "//ui/gl",
    ]
diff --git a/chromium-new/patches/patch-gpu_ipc_client_BUILD.gn b/chromium-new/patches/patch-gpu_ipc_client_BUILD.gn
index 4c6710b6fb..76d136193c 100644
--- a/chromium-new/patches/patch-gpu_ipc_client_BUILD.gn
+++ b/chromium-new/patches/patch-gpu_ipc_client_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- gpu/ipc/client/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/ipc/client/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/ipc/client/BUILD.gn
-@@ -53,6 +53,7 @@ source_set("ipc_client_sources") {
+@@ -51,6 +51,7 @@ source_set("ipc_client_sources") {
    configs += [
      "//build/config/compiler:no_size_t_to_int_warning",
      "//gpu:gpu_implementation",
diff --git a/chromium-new/patches/patch-gpu_ipc_service_BUILD.gn b/chromium-new/patches/patch-gpu_ipc_service_BUILD.gn
index a5f6cd3625..2bfede58dc 100644
--- a/chromium-new/patches/patch-gpu_ipc_service_BUILD.gn
+++ b/chromium-new/patches/patch-gpu_ipc_service_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- gpu/ipc/service/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/ipc/service/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/ipc/service/BUILD.gn
-@@ -98,11 +98,12 @@ target(link_target_type, "ipc_service_so
+@@ -104,11 +104,12 @@ target(link_target_type, "ipc_service_so
      ]
      libs += [ "android" ]
    }
diff --git a/chromium-new/patches/patch-gpu_ipc_service_gpu__init.cc b/chromium-new/patches/patch-gpu_ipc_service_gpu__init.cc
new file mode 100644
index 0000000000..87b416e960
--- /dev/null
+++ b/chromium-new/patches/patch-gpu_ipc_service_gpu__init.cc
@@ -0,0 +1,40 @@
+$NetBSD$
+
+--- gpu/ipc/service/gpu_init.cc.orig	2017-02-02 02:02:55.000000000 +0000
++++ gpu/ipc/service/gpu_init.cc
+@@ -75,7 +75,7 @@ void GetGpuInfoFromCommandLine(gpu::GPUI
+   }
+ }
+ 
+-#if !defined(OS_MACOSX)
++#if !defined(OS_MACOSX) && !defined(OS_BSD)
+ void CollectGraphicsInfo(gpu::GPUInfo& gpu_info) {
+   TRACE_EVENT0("gpu,startup", "Collect Graphics Info");
+ 
+@@ -94,7 +94,7 @@ void CollectGraphicsInfo(gpu::GPUInfo& g
+       break;
+   }
+ }
+-#endif  // defined(OS_MACOSX)
++#endif  // defined(OS_MACOSX) && defined(OS_BSD)
+ 
+ #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+ bool CanAccessNvidiaDeviceFile() {
+@@ -189,7 +189,7 @@ bool GpuInit::InitializeAndStartSandbox(
+   // By skipping the following code on Mac, we don't really lose anything,
+   // because the basic GPU information is passed down from the host process.
+   base::TimeTicks before_collect_context_graphics_info = base::TimeTicks::Now();
+-#if !defined(OS_MACOSX)
++#if !defined(OS_MACOSX) && !defined(OS_BSD)
+   CollectGraphicsInfo(gpu_info_);
+   if (gpu_info_.context_info_state == gpu::kCollectInfoFatalFailure)
+     return false;
+@@ -206,7 +206,7 @@ bool GpuInit::InitializeAndStartSandbox(
+     gpu::ApplyGpuDriverBugWorkarounds(
+         gpu_info_, const_cast<base::CommandLine*>(&command_line));
+   }
+-#endif  // !defined(OS_MACOSX)
++#endif  // !defined(OS_MACOSX) && !defined(OS_BSD)
+ 
+   base::TimeDelta collect_context_time =
+       base::TimeTicks::Now() - before_collect_context_graphics_info;
diff --git a/chromium-new/patches/patch-gpu_tools_compositor__model__bench_BUILD.gn b/chromium-new/patches/patch-gpu_tools_compositor__model__bench_BUILD.gn
index 81395a1592..dcf37c3c09 100644
--- a/chromium-new/patches/patch-gpu_tools_compositor__model__bench_BUILD.gn
+++ b/chromium-new/patches/patch-gpu_tools_compositor__model__bench_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- gpu/tools/compositor_model_bench/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/tools/compositor_model_bench/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/tools/compositor_model_bench/BUILD.gn
 @@ -4,7 +4,7 @@
  
@@ -8,6 +8,6 @@ $NetBSD$
  
 -if (is_linux && !is_chromeos && current_cpu != "arm" && use_x11) {
 +if ((is_linux || is_bsd) && !is_chromeos && current_cpu != "arm" && use_x11) {
-   # GYP version: //gpu/tools/tools.gyp:compositor_model_bench
    executable("compositor_model_bench") {
      sources = [
+       "compositor_model_bench.cc",
diff --git a/chromium-new/patches/patch-gpu_vulkan_BUILD.gn b/chromium-new/patches/patch-gpu_vulkan_BUILD.gn
index f6f866e76a..f3b3b28b45 100644
--- a/chromium-new/patches/patch-gpu_vulkan_BUILD.gn
+++ b/chromium-new/patches/patch-gpu_vulkan_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- gpu/vulkan/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- gpu/vulkan/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ gpu/vulkan/BUILD.gn
-@@ -13,7 +13,7 @@ if (enable_vulkan) {
+@@ -14,7 +14,7 @@ if (enable_vulkan) {
    component("vulkan") {
      output_name = "vulkan_wrapper"
  
diff --git a/chromium-new/patches/patch-ipc_ipc__channel.h b/chromium-new/patches/patch-ipc_ipc__channel.h
index 58dedf4d0a..94dc744885 100644
--- a/chromium-new/patches/patch-ipc_ipc__channel.h
+++ b/chromium-new/patches/patch-ipc_ipc__channel.h
@@ -1,10 +1,10 @@
 $NetBSD$
 
---- ipc/ipc_channel.h.orig	2016-11-10 20:02:15.000000000 +0000
+--- ipc/ipc_channel.h.orig	2017-02-02 02:02:55.000000000 +0000
 +++ ipc/ipc_channel.h
-@@ -290,7 +290,7 @@ class IPC_EXPORT Channel : public Endpoi
-       IPC::ChannelHandle* handle0,
-       IPC::ChannelHandle* handle1);
+@@ -245,7 +245,7 @@ class IPC_EXPORT Channel : public Sender
+   static std::string GenerateUniqueRandomChannelID();
+ #endif
  
 -#if defined(OS_LINUX)
 +#if defined(OS_LINUX) || defined(OS_BSD)
diff --git a/chromium-new/patches/patch-ipc_ipc__channel__common.cc b/chromium-new/patches/patch-ipc_ipc__channel__common.cc
new file mode 100644
index 0000000000..ab4cd603cf
--- /dev/null
+++ b/chromium-new/patches/patch-ipc_ipc__channel__common.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- /usr/tmp/pkgsrc/wip/chromium-new/work/chromium-56.0.2924.87/ipc/ipc_channel_common.cc.orig	2017-02-02 02:02:55.000000000 +0000
++++ /usr/tmp/pkgsrc/wip/chromium-new/work/chromium-56.0.2924.87/ipc/ipc_channel_common.cc
+@@ -9,7 +9,7 @@
+ 
+ namespace IPC {
+ 
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ 
+ namespace {
+ int g_global_pid = 0;
diff --git a/chromium-new/patches/patch-ipc_ipc__channel__posix.cc b/chromium-new/patches/patch-ipc_ipc__channel__posix.cc
deleted file mode 100644
index 69f7ebfaae..0000000000
--- a/chromium-new/patches/patch-ipc_ipc__channel__posix.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-$NetBSD$
-
---- ipc/ipc_channel_posix.cc.orig	2016-11-10 20:02:15.000000000 +0000
-+++ ipc/ipc_channel_posix.cc
-@@ -183,9 +183,9 @@ void Channel::NotifyProcessForkedForTest
- 
- //------------------------------------------------------------------------------
- 
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- int ChannelPosix::global_pid_ = 0;
--#endif  // OS_LINUX
-+#endif  // OS_LINUX || defined(OS_BSD)
- 
- ChannelPosix::ChannelPosix(const IPC::ChannelHandle& channel_handle,
-                            Mode mode,
-@@ -613,7 +613,7 @@ bool ChannelPosix::IsNamedServerInitiali
-   return base::PathExists(base::FilePath(channel_id));
- }
- 
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // static
- void ChannelPosix::SetGlobalPid(int pid) {
-   global_pid_ = pid;
-@@ -622,7 +622,7 @@ void ChannelPosix::SetGlobalPid(int pid)
- int ChannelPosix::GetGlobalPid() {
-   return global_pid_;
- }
--#endif  // OS_LINUX
-+#endif  // OS_LINUX || defined(OS_BSD)
- 
- // Called by libevent when we can read from the pipe without blocking.
- void ChannelPosix::OnFileCanReadWithoutBlocking(int fd) {
-@@ -811,12 +811,12 @@ int ChannelPosix::GetHelloMessageProcId(
-   return -1;
- #else
-   int pid = base::GetCurrentProcId();
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-   // Our process may be in a sandbox with a separate PID namespace.
-   if (global_pid_) {
-     pid = global_pid_;
-   }
--#endif  // defined(OS_LINUX)
-+#endif  // defined(OS_LINUX) || defined(OS_BSD)
-   return pid;
- #endif  // defined(OS_NACL_NONSFI)
- }
-@@ -1133,7 +1133,7 @@ bool Channel::IsNamedServerInitialized(
-   return ChannelPosix::IsNamedServerInitialized(channel_id);
- }
- 
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // static
- void Channel::SetGlobalPid(int pid) {
-   ChannelPosix::SetGlobalPid(pid);
-@@ -1141,6 +1141,6 @@ void Channel::SetGlobalPid(int pid) {
- int Channel::GetGlobalPid() {
-   return ChannelPosix::GetGlobalPid();
- }
--#endif  // OS_LINUX
-+#endif  // OS_LINUX || defined(OS_BSD)
- 
- }  // namespace IPC
diff --git a/chromium-new/patches/patch-ipc_ipc__channel__posix.h b/chromium-new/patches/patch-ipc_ipc__channel__posix.h
deleted file mode 100644
index 097983cbc7..0000000000
--- a/chromium-new/patches/patch-ipc_ipc__channel__posix.h
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
---- ipc/ipc_channel_posix.h.orig	2016-11-10 20:02:15.000000000 +0000
-+++ ipc/ipc_channel_posix.h
-@@ -63,10 +63,10 @@ class IPC_EXPORT ChannelPosix : public C
-   void CloseClientFileDescriptor();
- 
-   static bool IsNamedServerInitialized(const std::string& channel_id);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-   static void SetGlobalPid(int pid);
-   static int GetGlobalPid();
--#endif  // OS_LINUX
-+#endif  // OS_LINUX || defined(OS_BSD)
- 
-  private:
-   bool CreatePipe(const IPC::ChannelHandle& channel_handle);
-@@ -209,10 +209,10 @@ class IPC_EXPORT ChannelPosix : public C
-   // True if we are responsible for unlinking the unix domain socket file.
-   bool must_unlink_;
- 
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-   // If non-zero, overrides the process ID sent in the hello message.
-   static int global_pid_;
--#endif  // OS_LINUX
-+#endif  // OS_LINUX || defined(OS_BSD)
- 
-   DISALLOW_IMPLICIT_CONSTRUCTORS(ChannelPosix);
- };
diff --git a/chromium-new/patches/patch-ipc_ipc__message__utils.cc b/chromium-new/patches/patch-ipc_ipc__message__utils.cc
index 6dbbfca9fd..4bede79b23 100644
--- a/chromium-new/patches/patch-ipc_ipc__message__utils.cc
+++ b/chromium-new/patches/patch-ipc_ipc__message__utils.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ipc/ipc_message_utils.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- ipc/ipc_message_utils.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ ipc/ipc_message_utils.cc
-@@ -423,7 +423,7 @@ void ParamTraits<unsigned int>::Log(cons
+@@ -425,7 +425,7 @@ void ParamTraits<unsigned int>::Log(cons
    l->append(base::UintToString(p));
  }
  
diff --git a/chromium-new/patches/patch-ipc_ipc__message__utils.h b/chromium-new/patches/patch-ipc_ipc__message__utils.h
index 58934e7ba0..2325ed535a 100644
--- a/chromium-new/patches/patch-ipc_ipc__message__utils.h
+++ b/chromium-new/patches/patch-ipc_ipc__message__utils.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ipc/ipc_message_utils.h.orig	2016-11-10 20:02:15.000000000 +0000
+--- ipc/ipc_message_utils.h.orig	2017-02-02 02:02:55.000000000 +0000
 +++ ipc/ipc_message_utils.h
-@@ -209,7 +209,7 @@ struct ParamTraits<unsigned int> {
+@@ -210,7 +210,7 @@ struct ParamTraits<unsigned int> {
  //   3) Android 64 bit also has int64_t typedef'd to long.
  // Since we want to support Android 32<>64 bit IPC, as long as we don't have
  // these traits for 32 bit ARM then that'll catch any errors.
diff --git a/chromium-new/patches/patch-ipc_unix__domain__socket__util.cc b/chromium-new/patches/patch-ipc_unix__domain__socket__util.cc
index 8cabe3a5c6..7b8f925fbe 100644
--- a/chromium-new/patches/patch-ipc_unix__domain__socket__util.cc
+++ b/chromium-new/patches/patch-ipc_unix__domain__socket__util.cc
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- ipc/unix_domain_socket_util.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- ipc/unix_domain_socket_util.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ ipc/unix_domain_socket_util.cc
 @@ -156,7 +156,7 @@ bool CreateClientUnixDomainSocket(const 
  
  bool GetPeerEuid(int fd, uid_t* peer_euid) {
    DCHECK(peer_euid);
 -#if defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_FREEBSD)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
++#if defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_FREEBSD) || defined(OS_NETBSD)
    uid_t socket_euid;
    gid_t socket_gid;
    if (getpeereid(fd, &socket_euid, &socket_gid) < 0) {
diff --git a/chromium-new/patches/patch-media_audio_BUILD.gn b/chromium-new/patches/patch-media_audio_BUILD.gn
index 293bfd91db..7c90e0b14e 100644
--- a/chromium-new/patches/patch-media_audio_BUILD.gn
+++ b/chromium-new/patches/patch-media_audio_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/audio/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/audio/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/audio/BUILD.gn
 @@ -206,7 +206,7 @@ source_set("audio") {
      deps += [ "//media/base/android:media_jni_headers" ]
diff --git a/chromium-new/patches/patch-media_audio_alsa_audio__manager__alsa.cc b/chromium-new/patches/patch-media_audio_alsa_audio__manager__alsa.cc
index 43029824fd..d58f5e4cc7 100644
--- a/chromium-new/patches/patch-media_audio_alsa_audio__manager__alsa.cc
+++ b/chromium-new/patches/patch-media_audio_alsa_audio__manager__alsa.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/audio/alsa/audio_manager_alsa.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/audio/alsa/audio_manager_alsa.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/audio/alsa/audio_manager_alsa.cc
 @@ -135,7 +135,9 @@ void AudioManagerAlsa::GetAlsaAudioDevic
    int card = -1;
diff --git a/chromium-new/patches/patch-media_audio_audio__manager.cc b/chromium-new/patches/patch-media_audio_audio__manager.cc
index ef59bd3459..725f33e339 100644
--- a/chromium-new/patches/patch-media_audio_audio__manager.cc
+++ b/chromium-new/patches/patch-media_audio_audio__manager.cc
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- media/audio/audio_manager.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/audio/audio_manager.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/audio/audio_manager.cc
 @@ -95,7 +95,7 @@ class AudioManagerHelper : public base::
    }
  #endif
  
 -#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
    void set_app_name(const std::string& app_name) { app_name_ = app_name; }
    const std::string& app_name() const { return app_name_; }
  #endif
@@ -16,7 +16,7 @@ $NetBSD$
  #endif
  
 -#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
    std::string app_name_;
  #endif
  
@@ -25,7 +25,7 @@ $NetBSD$
  }
  
 -#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
  // static
  void AudioManager::SetGlobalAppName(const std::string& app_name) {
    g_helper.Pointer()->set_app_name(app_name);
diff --git a/chromium-new/patches/patch-media_audio_audio__manager.h b/chromium-new/patches/patch-media_audio_audio__manager.h
index 6bfda86b71..58803515d6 100644
--- a/chromium-new/patches/patch-media_audio_audio__manager.h
+++ b/chromium-new/patches/patch-media_audio_audio__manager.h
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- media/audio/audio_manager.h.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/audio/audio_manager.h.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/audio/audio_manager.h
 @@ -84,7 +84,7 @@ class MEDIA_EXPORT AudioManager {
    // See http://crbug.com/422522
    static void EnableCrashKeyLoggingForAudioThreadHangs();
  
 -#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_NETBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
    // Sets the name of the audio source as seen by external apps. Only actually
    // used with PulseAudio as of this writing.
    static void SetGlobalAppName(const std::string& app_name);
diff --git a/chromium-new/patches/patch-media_base_BUILD.gn b/chromium-new/patches/patch-media_base_BUILD.gn
index 05fe23f409..8f87b17082 100644
--- a/chromium-new/patches/patch-media_base_BUILD.gn
+++ b/chromium-new/patches/patch-media_base_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- media/base/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/base/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/base/BUILD.gn
-@@ -294,7 +294,7 @@ target(link_target_type, "base") {
+@@ -309,7 +309,7 @@ target(link_target_type, "base") {
      allow_circular_includes_from += [ "//media/base/android" ]
    }
  
@@ -11,7 +11,7 @@ $NetBSD$
      configs += [
        "//build/config/linux:x11",
        "//build/config/linux:xext",
-@@ -330,7 +330,7 @@ target(link_target_type, "base") {
+@@ -345,7 +345,7 @@ target(link_target_type, "base") {
      deps += [ ":media_yasm" ]
    }
  
diff --git a/chromium-new/patches/patch-media_base_audio__splicer.cc b/chromium-new/patches/patch-media_base_audio__splicer.cc
deleted file mode 100644
index 37fe474325..0000000000
--- a/chromium-new/patches/patch-media_base_audio__splicer.cc
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
---- media/base/audio_splicer.cc.orig	2016-11-10 20:02:15.000000000 +0000
-+++ media/base/audio_splicer.cc
-@@ -167,7 +167,7 @@ bool AudioStreamSanitizer::AddInput(cons
-       output_timestamp_helper_.GetTimestamp();
-   const base::TimeDelta delta = timestamp - expected_timestamp;
- 
--  if (std::abs(delta.InMilliseconds()) >
-+  if (std::labs(delta.InMilliseconds()) >
-       AudioSplicer::kMaxTimeDeltaInMilliseconds) {
-     MEDIA_LOG(ERROR, media_log_)
-         << "Audio splicing failed: coded frame timestamp differs from "
-@@ -183,7 +183,7 @@ bool AudioStreamSanitizer::AddInput(cons
-   if (!delta.is_zero())
-     frames_to_fill = output_timestamp_helper_.GetFramesToTarget(timestamp);
- 
--  if (frames_to_fill == 0 || std::abs(frames_to_fill) < kMinGapSize) {
-+  if (frames_to_fill == 0 || std::labs(frames_to_fill) < kMinGapSize) {
-     AddOutputBuffer(input);
-     return true;
-   }
diff --git a/chromium-new/patches/patch-media_capture_BUILD.gn b/chromium-new/patches/patch-media_capture_BUILD.gn
index 062915f4de..8c0bb5670e 100644
--- a/chromium-new/patches/patch-media_capture_BUILD.gn
+++ b/chromium-new/patches/patch-media_capture_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- media/capture/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/capture/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/capture/BUILD.gn
-@@ -111,6 +111,16 @@ component("capture") {
+@@ -127,6 +127,16 @@ component("capture") {
      ]
    }
  
diff --git a/chromium-new/patches/patch-media_capture_video_fake__video__capture__device__factory.cc b/chromium-new/patches/patch-media_capture_video_fake__video__capture__device__factory.cc
index 0db200e4ad..a03d592ef4 100644
--- a/chromium-new/patches/patch-media_capture_video_fake__video__capture__device__factory.cc
+++ b/chromium-new/patches/patch-media_capture_video_fake__video__capture__device__factory.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- media/capture/video/fake_video_capture_device_factory.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/capture/video/fake_video_capture_device_factory.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/capture/video/fake_video_capture_device_factory.cc
-@@ -49,7 +49,7 @@ void FakeVideoCaptureDeviceFactory::GetD
+@@ -71,7 +71,7 @@ void FakeVideoCaptureDeviceFactory::GetD
    for (int n = 0; n < number_of_devices_; ++n) {
      device_descriptors->emplace_back(base::StringPrintf("fake_device_%d", n),
                                       base::StringPrintf("/dev/video%d", n),
diff --git a/chromium-new/patches/patch-media_capture_video_file__video__capture__device__factory.cc b/chromium-new/patches/patch-media_capture_video_file__video__capture__device__factory.cc
index 0638d1e71c..6e6ebd1e95 100644
--- a/chromium-new/patches/patch-media_capture_video_file__video__capture__device__factory.cc
+++ b/chromium-new/patches/patch-media_capture_video_file__video__capture__device__factory.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- media/capture/video/file_video_capture_device_factory.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/capture/video/file_video_capture_device_factory.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/capture/video/file_video_capture_device_factory.cc
-@@ -49,7 +49,7 @@ void FileVideoCaptureDeviceFactory::GetD
+@@ -53,7 +53,7 @@ void FileVideoCaptureDeviceFactory::GetD
  #elif defined(OS_MACOSX)
        command_line_file_path.value(), kFileVideoCaptureDeviceName,
        VideoCaptureApi::MACOSX_AVFOUNDATION
diff --git a/chromium-new/patches/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/chromium-new/patches/patch-media_capture_video_linux_v4l2__capture__delegate.cc
new file mode 100644
index 0000000000..55b0144bff
--- /dev/null
+++ b/chromium-new/patches/patch-media_capture_video_linux_v4l2__capture__delegate.cc
@@ -0,0 +1,27 @@
+$NetBSD$
+
+--- media/capture/video/linux/v4l2_capture_delegate.cc.orig	2017-02-02 02:02:55.000000000 +0000
++++ media/capture/video/linux/v4l2_capture_delegate.cc
+@@ -4,7 +4,9 @@
+ 
+ #include "media/capture/video/linux/v4l2_capture_delegate.h"
+ 
++#if !defined(OS_BSD)
+ #include <linux/version.h>
++#endif
+ #include <poll.h>
+ #include <sys/fcntl.h>
+ #include <sys/ioctl.h>
+@@ -20,10 +22,10 @@
+ #include "media/capture/video/blob_utils.h"
+ #include "media/capture/video/linux/video_capture_device_linux.h"
+ 
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
++// #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
+ // 16 bit depth, Realsense F200.
+ #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ')
+-#endif
++// #endif
+ 
+ // TODO(aleksandar.stojiljkovic): Wrap this with kernel version check once the
+ // format is introduced to kernel.
diff --git a/chromium-new/patches/patch-media_capture_video_linux_video__capture__device__linux.cc b/chromium-new/patches/patch-media_capture_video_linux_video__capture__device__linux.cc
index c030883925..e5574a7e03 100644
--- a/chromium-new/patches/patch-media_capture_video_linux_video__capture__device__linux.cc
+++ b/chromium-new/patches/patch-media_capture_video_linux_video__capture__device__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/capture/video/linux/video_capture_device_linux.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/capture/video/linux/video_capture_device_linux.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/capture/video/linux/video_capture_device_linux.cc
 @@ -21,6 +21,7 @@
  
@@ -40,9 +40,9 @@ $NetBSD$
  void VideoCaptureDeviceLinux::StopAndDeAllocate() {
    if (!v4l2_thread_.IsRunning())
      return;  // Wrong state.
-@@ -81,7 +90,11 @@ void VideoCaptureDeviceLinux::StopAndDeA
- 
-   capture_impl_ = NULL;
+@@ -110,7 +119,11 @@ void VideoCaptureDeviceLinux::SetPhotoOp
+       base::Bind(&V4L2CaptureDelegate::SetPhotoOptions, capture_impl_,
+                  base::Passed(&settings), base::Passed(&callback)));
  }
 +#else // !defined(OS_FREEBSD)
 +void VideoCaptureDeviceLinux::StopAndDeAllocate() {}
@@ -52,7 +52,7 @@ $NetBSD$
  void VideoCaptureDeviceLinux::SetRotation(int rotation) {
    if (v4l2_thread_.IsRunning()) {
      v4l2_thread_.task_runner()->PostTask(
-@@ -89,6 +102,9 @@ void VideoCaptureDeviceLinux::SetRotatio
+@@ -118,6 +131,9 @@ void VideoCaptureDeviceLinux::SetRotatio
          base::Bind(&V4L2CaptureDelegate::SetRotation, capture_impl_, rotation));
    }
  }
diff --git a/chromium-new/patches/patch-media_capture_video_video__capture__device__client.cc b/chromium-new/patches/patch-media_capture_video_video__capture__device__client.cc
new file mode 100644
index 0000000000..78e7fffb91
--- /dev/null
+++ b/chromium-new/patches/patch-media_capture_video_video__capture__device__client.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- media/capture/video/video_capture_device_client.cc.orig	2017-02-02 02:02:55.000000000 +0000
++++ media/capture/video/video_capture_device_client.cc
+@@ -193,7 +193,7 @@ void VideoCaptureDeviceClient::OnIncomin
+ // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html.
+ // Windows RGB24 defines blue at lowest byte,
+ // see https://msdn.microsoft.com/en-us/library/windows/desktop/dd407253
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+       origin_colorspace = libyuv::FOURCC_RAW;
+ #elif defined(OS_WIN)
+       origin_colorspace = libyuv::FOURCC_24BG;
diff --git a/chromium-new/patches/patch-media_capture_video_video__capture__device__factory.cc b/chromium-new/patches/patch-media_capture_video_video__capture__device__factory.cc
index 46670c70ce..c778d565b9 100644
--- a/chromium-new/patches/patch-media_capture_video_video__capture__device__factory.cc
+++ b/chromium-new/patches/patch-media_capture_video_video__capture__device__factory.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/capture/video/video_capture_device_factory.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/capture/video/video_capture_device_factory.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/capture/video/video_capture_device_factory.cc
 @@ -18,6 +18,10 @@ namespace media {
  std::unique_ptr<VideoCaptureDeviceFactory>
diff --git a/chromium-new/patches/patch-media_cast_BUILD.gn b/chromium-new/patches/patch-media_cast_BUILD.gn
index 9349f9ccbf..0182280629 100644
--- a/chromium-new/patches/patch-media_cast_BUILD.gn
+++ b/chromium-new/patches/patch-media_cast_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- media/cast/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/cast/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/cast/BUILD.gn
-@@ -343,7 +343,7 @@ test("cast_unittests") {
+@@ -356,7 +356,7 @@ test("cast_unittests") {
    }
  }
  
@@ -11,8 +11,8 @@ $NetBSD$
    # This is a target for the collection of cast development tools.  They are
    # not built/linked into the Chromium browser.
    group("testing_tools") {
-@@ -388,7 +388,7 @@ if (is_win || is_mac || (is_linux && !is
-       "//build/win:default_exe_manifest",
+@@ -410,7 +410,7 @@ if (is_win || is_mac || (is_linux && !is
+       "//ui/gfx/geometry",
      ]
  
 -    if (is_linux && !is_chromeos && use_x11) {
@@ -20,7 +20,7 @@ $NetBSD$
        sources += [
          "test/linux_output_window.cc",
          "test/linux_output_window.h",
-@@ -483,7 +483,7 @@ if (is_win || is_mac || (is_linux && !is
+@@ -513,7 +513,7 @@ if (is_win || is_mac || (is_linux && !is
    }
  }
  
diff --git a/chromium-new/patches/patch-media_cdm_ppapi_ppapi__cdm__adapter.gni b/chromium-new/patches/patch-media_cdm_ppapi_ppapi__cdm__adapter.gni
index 3680c41069..5c1ad23b20 100644
--- a/chromium-new/patches/patch-media_cdm_ppapi_ppapi__cdm__adapter.gni
+++ b/chromium-new/patches/patch-media_cdm_ppapi_ppapi__cdm__adapter.gni
@@ -1,17 +1,17 @@
 $NetBSD$
 
---- media/cdm/ppapi/ppapi_cdm_adapter.gni.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/cdm/ppapi/ppapi_cdm_adapter.gni.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/cdm/ppapi/ppapi_cdm_adapter.gni
-@@ -7,7 +7,7 @@
- # depend on media/media_cdm_adapter.gyp:cdmadapter which would in turn modify
- # your target with direct_dependent_settings.
+@@ -5,7 +5,7 @@
+ # This template defines a CDM adapter target. Just use this as you would a
+ # normal target and everything should work correctly.
  template("ppapi_cdm_adapter") {
 -  if (is_mac || is_linux) {
 +  if (is_mac || is_linux || is_bsd) {
      _target_type = "loadable_module"
    } else {
      _target_type = "shared_library"
-@@ -59,7 +59,7 @@ template("ppapi_cdm_adapter") {
+@@ -57,7 +57,7 @@ template("ppapi_cdm_adapter") {
        libs += [ "rt" ]
      }
  
diff --git a/chromium-new/patches/patch-media_ffmpeg_ffmpeg__common.h b/chromium-new/patches/patch-media_ffmpeg_ffmpeg__common.h
new file mode 100644
index 0000000000..6aeec36fed
--- /dev/null
+++ b/chromium-new/patches/patch-media_ffmpeg_ffmpeg__common.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- media/ffmpeg/ffmpeg_common.h.orig	2017-02-02 02:02:55.000000000 +0000
++++ media/ffmpeg/ffmpeg_common.h
+@@ -25,7 +25,7 @@ extern "C" {
+ // Disable deprecated features which result in spammy compile warnings.  This
+ // list of defines must mirror those in the 'defines' section of FFmpeg's
+ // BUILD.gn file or the headers below will generate different structures!
+-#define FF_API_CONVERGENCE_DURATION 0
++//#define FF_API_CONVERGENCE_DURATION 0
+ // Upstream libavcodec/utils.c still uses the deprecated
+ // av_dup_packet(), causing deprecation warnings.
+ // The normal fix for such things is to disable the feature as below,
+@@ -39,7 +39,6 @@ extern "C" {
+ MSVC_PUSH_DISABLE_WARNING(4244);
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+-#include <libavformat/internal.h>
+ #include <libavformat/avio.h>
+ #include <libavutil/avutil.h>
+ #include <libavutil/imgutils.h>
diff --git a/chromium-new/patches/patch-media_filters_decrypting__audio__decoder.cc b/chromium-new/patches/patch-media_filters_decrypting__audio__decoder.cc
deleted file mode 100644
index ed6a5cc39c..0000000000
--- a/chromium-new/patches/patch-media_filters_decrypting__audio__decoder.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- media/filters/decrypting_audio_decoder.cc.orig	2016-11-10 20:02:15.000000000 +0000
-+++ media/filters/decrypting_audio_decoder.cc
-@@ -29,7 +29,7 @@ static inline bool IsOutOfSync(const bas
-   // Out of sync of 100ms would be pretty noticeable and we should keep any
-   // drift below that.
-   const int64_t kOutOfSyncThresholdInMilliseconds = 100;
--  return std::abs(timestamp_1.InMilliseconds() - timestamp_2.InMilliseconds()) >
-+  return std::labs(timestamp_1.InMilliseconds() - timestamp_2.InMilliseconds()) >
-          kOutOfSyncThresholdInMilliseconds;
- }
- 
diff --git a/chromium-new/patches/patch-media_filters_ffmpeg__demuxer.cc b/chromium-new/patches/patch-media_filters_ffmpeg__demuxer.cc
new file mode 100644
index 0000000000..58b42d35be
--- /dev/null
+++ b/chromium-new/patches/patch-media_filters_ffmpeg__demuxer.cc
@@ -0,0 +1,29 @@
+$NetBSD$
+
+--- media/filters/ffmpeg_demuxer.cc.orig	2017-02-02 02:02:55.000000000 +0000
++++ media/filters/ffmpeg_demuxer.cc
+@@ -1198,24 +1198,6 @@ void FFmpegDemuxer::OnFindStreamInfoDone
+   // If no estimate is found, the stream entry will be kInfiniteDuration.
+   std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
+                                                     kInfiniteDuration);
+-  const AVFormatInternal* internal = format_context->internal;
+-  if (internal && internal->packet_buffer &&
+-      format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
+-    struct AVPacketList* packet_buffer = internal->packet_buffer;
+-    while (packet_buffer != internal->packet_buffer_end) {
+-      DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index),
+-                start_time_estimates.size());
+-      const AVStream* stream =
+-          format_context->streams[packet_buffer->pkt.stream_index];
+-      if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) {
+-        const base::TimeDelta packet_pts =
+-            ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts);
+-        if (packet_pts < start_time_estimates[stream->index])
+-          start_time_estimates[stream->index] = packet_pts;
+-      }
+-      packet_buffer = packet_buffer->next;
+-    }
+-  }
+ 
+   std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
+ 
diff --git a/chromium-new/patches/patch-media_filters_vp9__parser.h b/chromium-new/patches/patch-media_filters_vp9__parser.h
index f191ffbf9e..fb496a9b65 100644
--- a/chromium-new/patches/patch-media_filters_vp9__parser.h
+++ b/chromium-new/patches/patch-media_filters_vp9__parser.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/filters/vp9_parser.h.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/filters/vp9_parser.h.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/filters/vp9_parser.h
 @@ -14,6 +14,7 @@
  
diff --git a/chromium-new/patches/patch-media_formats_common_offset__byte__queue.cc b/chromium-new/patches/patch-media_formats_common_offset__byte__queue.cc
index af0ce2efb6..c5daf371fe 100644
--- a/chromium-new/patches/patch-media_formats_common_offset__byte__queue.cc
+++ b/chromium-new/patches/patch-media_formats_common_offset__byte__queue.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/formats/common/offset_byte_queue.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/formats/common/offset_byte_queue.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/formats/common/offset_byte_queue.cc
 @@ -46,13 +46,13 @@ void OffsetByteQueue::PeekAt(int64_t off
    *size = tail() - offset;
diff --git a/chromium-new/patches/patch-media_formats_common_offset__byte__queue.h b/chromium-new/patches/patch-media_formats_common_offset__byte__queue.h
index 844a86733a..f0f70ff6b3 100644
--- a/chromium-new/patches/patch-media_formats_common_offset__byte__queue.h
+++ b/chromium-new/patches/patch-media_formats_common_offset__byte__queue.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/formats/common/offset_byte_queue.h.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/formats/common/offset_byte_queue.h.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/formats/common/offset_byte_queue.h
 @@ -36,15 +36,15 @@ class MEDIA_EXPORT OffsetByteQueue {
    // a null |buf| and a |size| of zero.
diff --git a/chromium-new/patches/patch-media_formats_mp2t_es__parser__adts.cc b/chromium-new/patches/patch-media_formats_mp2t_es__parser__adts.cc
index b4963fd032..c5920e8785 100644
--- a/chromium-new/patches/patch-media_formats_mp2t_es__parser__adts.cc
+++ b/chromium-new/patches/patch-media_formats_mp2t_es__parser__adts.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/formats/mp2t/es_parser_adts.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/formats/mp2t/es_parser_adts.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/formats/mp2t/es_parser_adts.cc
 @@ -54,11 +54,11 @@ bool EsParserAdts::LookForAdtsFrame(Adts
    const uint8_t* es;
diff --git a/chromium-new/patches/patch-media_formats_mp2t_es__parser__mpeg1audio.cc b/chromium-new/patches/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
index 06e9edc26f..c0cce624c1 100644
--- a/chromium-new/patches/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
+++ b/chromium-new/patches/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- media/formats/mp2t/es_parser_mpeg1audio.cc.orig	2016-11-10 20:02:15.000000000 +0000
+--- media/formats/mp2t/es_parser_mpeg1audio.cc.orig	2017-02-02 02:02:55.000000000 +0000
 +++ media/formats/mp2t/es_parser_mpeg1audio.cc
 @@ -109,11 +109,11 @@ bool EsParserMpeg1Audio::LookForMpeg1Aud
    const uint8_t* es;
diff --git a/chromium-new/patches/patch-mojo_BUILD.gn b/chromium-new/patches/patch-mojo_BUILD.gn
index 7d36e3e4f5..6a0ee91061 100644
--- a/chromium-new/patches/patch-mojo_BUILD.gn
+++ b/chromium-new/patches/patch-mojo_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- mojo/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- mojo/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ mojo/BUILD.gn
 @@ -12,7 +12,7 @@ group("mojo") {
      "//mojo/common",
@@ -8,6 +8,6 @@ $NetBSD$
  
 -  if (!(is_linux && current_cpu == "x86")) {
 +  if (!((is_linux || is_bsd) && current_cpu == "x86")) {
-     # TODO(GYP): Figure out if this needs to be supported. Right now
-     # it won't work on x86 official builds because it needs stuff in the
-     # sysroot that doesn't exist.
+     deps += [ "//mojo/public" ]
+   }
+ 
diff --git a/chromium-new/patches/patch-mojo_edk_embedder_platform__channel__utils__posix.cc b/chromium-new/patches/patch-mojo_edk_embedder_platform__channel__utils__posix.cc
new file mode 100644
index 0000000000..989949ecda
--- /dev/null
+++ b/chromium-new/patches/patch-mojo_edk_embedder_platform__channel__utils__posix.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- mojo/edk/embedder/platform_channel_utils_posix.cc.orig	2017-02-02 02:02:55.000000000 +0000
++++ mojo/edk/embedder/platform_channel_utils_posix.cc
+@@ -36,7 +36,7 @@ bool IsRecoverableError() {
+ 
+ bool GetPeerEuid(PlatformHandle handle, uid_t* peer_euid) {
+   DCHECK(peer_euid);
+-#if defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_FREEBSD)
++#if defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_FREEBSD) || defined(OS_NETBSD)
+   uid_t socket_euid;
+   gid_t socket_gid;
+   if (getpeereid(handle.handle, &socket_euid, &socket_gid) < 0) {
diff --git a/chromium-new/patches/patch-mojo_edk_test_BUILD.gn b/chromium-new/patches/patch-mojo_edk_test_BUILD.gn
index 07db7a1cb6..9e12968d04 100644
--- a/chromium-new/patches/patch-mojo_edk_test_BUILD.gn
+++ b/chromium-new/patches/patch-mojo_edk_test_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- mojo/edk/test/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- mojo/edk/test/BUILD.gn.orig	2017-02-02 02:02:55.000000000 +0000
 +++ mojo/edk/test/BUILD.gn
 @@ -48,7 +48,7 @@ source_set("run_all_unittests") {
      "//testing/gtest",
diff --git a/chromium-new/patches/patch-native__client__sdk_src_BUILD.gn b/chromium-new/patches/patch-native__client__sdk_src_BUILD.gn
index 5c7f863d61..294e520f75 100644
--- a/chromium-new/patches/patch-native__client__sdk_src_BUILD.gn
+++ b/chromium-new/patches/patch-native__client__sdk_src_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- native_client_sdk/src/BUILD.gn.orig	2016-11-10 20:02:15.000000000 +0000
+--- native_client_sdk/src/BUILD.gn.orig	2017-02-02 02:02:56.000000000 +0000
 +++ native_client_sdk/src/BUILD.gn
 @@ -7,7 +7,7 @@ import("//build/config/features.gni")
  declare_args() {
diff --git a/chromium-new/patches/patch-net_BUILD.gn b/chromium-new/patches/patch-net_BUILD.gn
index 2e9acefc44..73e10240d5 100644
--- a/chromium-new/patches/patch-net_BUILD.gn
+++ b/chromium-new/patches/patch-net_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- net/BUILD.gn.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/BUILD.gn.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/BUILD.gn
-@@ -175,6 +175,11 @@ component("net") {
+@@ -153,6 +153,11 @@ component("net") {
        ]
        if (is_android) {
          sources -= [ "base/openssl_private_key_store_android.cc" ]
@@ -14,7 +14,7 @@ $NetBSD$
        }
      } else {
        if (is_android) {
-@@ -298,6 +303,13 @@ component("net") {
+@@ -278,6 +283,13 @@ component("net") {
        sources -= [ "disk_cache/blockfile/file_posix.cc" ]
      }
  
@@ -28,7 +28,7 @@ $NetBSD$
      if (is_ios || is_mac) {
        sources += gypi_values.net_base_mac_ios_sources
      }
-@@ -1025,7 +1037,7 @@ if (!is_ios && !is_android) {
+@@ -966,7 +978,7 @@ if (!is_ios && !is_android) {
    }
  }
  
@@ -37,7 +37,7 @@ $NetBSD$
    executable("cachetool") {
      testonly = true
      sources = [
-@@ -1054,7 +1066,7 @@ if (is_linux || is_mac) {
+@@ -995,7 +1007,7 @@ if (is_linux || is_mac) {
    }
  }
  
@@ -46,7 +46,7 @@ $NetBSD$
    static_library("epoll_server") {
      sources = [
        "tools/epoll_server/epoll_server.cc",
-@@ -1160,7 +1172,7 @@ if (is_android) {
+@@ -1098,7 +1110,7 @@ if (is_android) {
    }
  }
  
@@ -55,7 +55,7 @@ $NetBSD$
    executable("disk_cache_memory_test") {
      testonly = true
      sources = [
-@@ -1353,7 +1365,7 @@ test("net_unittests") {
+@@ -1276,7 +1288,7 @@ test("net_unittests") {
      "third_party/nist-pkits/",
    ]
  
@@ -64,7 +64,7 @@ $NetBSD$
      deps += [
        "//third_party/pyftpdlib/",
        "//third_party/pywebsocket/",
-@@ -1376,7 +1388,7 @@ test("net_unittests") {
+@@ -1299,7 +1311,7 @@ test("net_unittests") {
    if (is_desktop_linux) {
      deps += [ ":epoll_quic_tools" ]
    }
@@ -73,7 +73,7 @@ $NetBSD$
      sources += gypi_values.net_linux_test_sources
      deps += [
        ":epoll_quic_tools",
-@@ -1392,6 +1404,12 @@ test("net_unittests") {
+@@ -1319,6 +1331,12 @@ test("net_unittests") {
      sources -= [ "proxy/proxy_config_service_linux_unittest.cc" ]
    }
  
diff --git a/chromium-new/patches/patch-net_base_address__tracker__linux.cc b/chromium-new/patches/patch-net_base_address__tracker__linux.cc
deleted file mode 100644
index 56d5e51573..0000000000
--- a/chromium-new/patches/patch-net_base_address__tracker__linux.cc
+++ /dev/null
@@ -1,96 +0,0 @@
-$NetBSD$
-
---- net/base/address_tracker_linux.cc.orig	2016-11-17 10:22:08.320209938 +0000
-+++ net/base/address_tracker_linux.cc
-@@ -5,7 +5,9 @@
- #include "net/base/address_tracker_linux.h"
- 
- #include <errno.h>
-+#if !defined(OS_FREEBSD) && !defined(OS_NETBSD)
- #include <linux/if.h>
-+#endif
- #include <stdint.h>
- #include <sys/ioctl.h>
- 
-@@ -39,6 +41,7 @@ bool IgnoreWirelessChange(const struct n
- bool GetAddress(const struct nlmsghdr* header,
-                 IPAddress* out,
-                 bool* really_deprecated) {
-+#if !defined(OS_FREEBSD) && !defined(OS_NETBSD)
-   if (really_deprecated)
-     *really_deprecated = false;
-   const struct ifaddrmsg* msg =
-@@ -91,6 +94,9 @@ bool GetAddress(const struct nlmsghdr* h
-     return false;
-   *out = IPAddress(address, address_length);
-   return true;
-+#else
-+  return false;
-+#endif
- }
- 
- }  // namespace
-@@ -148,6 +154,7 @@ AddressTrackerLinux::~AddressTrackerLinu
- }
- 
- void AddressTrackerLinux::Init() {
-+#if !defined(OS_FREEBSD) && !defined(OS_NETBSD)
-   netlink_fd_ = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
-   if (netlink_fd_ < 0) {
-     PLOG(ERROR) << "Could not create NETLINK socket";
-@@ -235,6 +242,10 @@ void AddressTrackerLinux::Init() {
-       return;
-     }
-   }
-+#else
-+  AbortAndForceOnline();
-+  return;
-+#endif
- }
- 
- void AddressTrackerLinux::AbortAndForceOnline() {
-@@ -281,6 +292,7 @@ AddressTrackerLinux::GetCurrentConnectio
- void AddressTrackerLinux::ReadMessages(bool* address_changed,
-                                        bool* link_changed,
-                                        bool* tunnel_changed) {
-+#if !defined(OS_FREEBSD) && !defined(OS_NETBSD)
-   *address_changed = false;
-   *link_changed = false;
-   *tunnel_changed = false;
-@@ -307,6 +319,7 @@ void AddressTrackerLinux::ReadMessages(b
-   }
-   if (*link_changed || *address_changed)
-     UpdateCurrentConnectionType();
-+#endif
- }
- 
- void AddressTrackerLinux::HandleMessage(char* buffer,
-@@ -314,6 +327,7 @@ void AddressTrackerLinux::HandleMessage(
-                                         bool* address_changed,
-                                         bool* link_changed,
-                                         bool* tunnel_changed) {
-+#if !defined(OS_FREEBSD) && !defined(OS_NETBSD)
-   DCHECK(buffer);
-   for (struct nlmsghdr* header = reinterpret_cast<struct nlmsghdr*>(buffer);
-        NLMSG_OK(header, length);
-@@ -410,6 +424,7 @@ void AddressTrackerLinux::HandleMessage(
-         break;
-     }
-   }
-+#endif
- }
- 
- void AddressTrackerLinux::OnFileCanReadWithoutBlocking(int fd) {
-@@ -436,8 +451,12 @@ void AddressTrackerLinux::CloseSocket() 
- 
- bool AddressTrackerLinux::IsTunnelInterface(int interface_index) const {
-   // Linux kernel drivers/net/tun.c uses "tun" name prefix.
-+#if !defined(OS_FREEBSD) && !defined(OS_NETBSD)
-   char buf[IFNAMSIZ] = {0};
-   return strncmp(get_interface_name_(interface_index, buf), "tun", 3) == 0;
-+#else
-+  return false;
-+#endif
- }
- 
- void AddressTrackerLinux::UpdateCurrentConnectionType() {
diff --git a/chromium-new/patches/patch-net_base_address__tracker__linux.h b/chromium-new/patches/patch-net_base_address__tracker__linux.h
index 56d9586a76..b7b57c02ea 100644
--- a/chromium-new/patches/patch-net_base_address__tracker__linux.h
+++ b/chromium-new/patches/patch-net_base_address__tracker__linux.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/base/address_tracker_linux.h.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/base/address_tracker_linux.h.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/base/address_tracker_linux.h
 @@ -6,10 +6,12 @@
  #define NET_BASE_ADDRESS_TRACKER_LINUX_H_
@@ -15,7 +15,7 @@ $NetBSD$
  #include <stddef.h>
  
  #include <map>
-@@ -33,8 +35,11 @@ namespace internal {
+@@ -34,8 +36,11 @@ namespace internal {
  class NET_EXPORT_PRIVATE AddressTrackerLinux :
      public base::MessageLoopForIO::Watcher {
   public:
diff --git a/chromium-new/patches/patch-net_base_address__tracker__linux__unittest.cc b/chromium-new/patches/patch-net_base_address__tracker__linux__unittest.cc
index 80b1503f71..fba97b3981 100644
--- a/chromium-new/patches/patch-net_base_address__tracker__linux__unittest.cc
+++ b/chromium-new/patches/patch-net_base_address__tracker__linux__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/base/address_tracker_linux_unittest.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/base/address_tracker_linux_unittest.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/base/address_tracker_linux_unittest.cc
 @@ -4,7 +4,11 @@
  
diff --git a/chromium-new/patches/patch-net_base_mime__util__unittest.cc b/chromium-new/patches/patch-net_base_mime__util__unittest.cc
index 0517fe6c48..6c5c6b62ce 100644
--- a/chromium-new/patches/patch-net_base_mime__util__unittest.cc
+++ b/chromium-new/patches/patch-net_base_mime__util__unittest.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- net/base/mime_util_unittest.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/base/mime_util_unittest.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/base/mime_util_unittest.cc
-@@ -241,7 +241,7 @@ TEST(MimeUtilTest, TestGetExtensionsForM
+@@ -243,7 +243,7 @@ TEST(MimeUtilTest, TestGetExtensionsForM
      { "MeSsAge/*",  1, "eml" },
      { "image/bmp",  1, "bmp" },
      { "video/*",    6, "mp4" },
diff --git a/chromium-new/patches/patch-net_base_network__change__notifier.cc b/chromium-new/patches/patch-net_base_network__change__notifier.cc
index 17acb4dae5..c23b890961 100644
--- a/chromium-new/patches/patch-net_base_network__change__notifier.cc
+++ b/chromium-new/patches/patch-net_base_network__change__notifier.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/base/network_change_notifier.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/base/network_change_notifier.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/base/network_change_notifier.cc
 @@ -533,7 +533,6 @@ NetworkChangeNotifier* NetworkChangeNoti
  #elif defined(OS_MACOSX)
diff --git a/chromium-new/patches/patch-net_base_network__change__notifier.h b/chromium-new/patches/patch-net_base_network__change__notifier.h
index 377abf2a14..2153f82594 100644
--- a/chromium-new/patches/patch-net_base_network__change__notifier.h
+++ b/chromium-new/patches/patch-net_base_network__change__notifier.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/base/network_change_notifier.h.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/base/network_change_notifier.h.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/base/network_change_notifier.h
 @@ -26,7 +26,7 @@ struct NetworkInterface;
  typedef std::vector<NetworkInterface> NetworkInterfaceList;
diff --git a/chromium-new/patches/patch-net_base_network__interfaces__linux.cc b/chromium-new/patches/patch-net_base_network__interfaces__linux.cc
index 8ecdbc7bea..f236949846 100644
--- a/chromium-new/patches/patch-net_base_network__interfaces__linux.cc
+++ b/chromium-new/patches/patch-net_base_network__interfaces__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/base/network_interfaces_linux.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/base/network_interfaces_linux.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/base/network_interfaces_linux.cc
 @@ -6,12 +6,14 @@
  
@@ -13,7 +13,7 @@ $NetBSD$
  #include <linux/if.h>
  #include <linux/sockios.h>
  #include <linux/wireless.h>
-+#endif  // !defined(OS_FREEBSD)
++#endif  // !defined(OS_FREEBSD) && !defined(OS_NETBSD)
  #include <set>
  #include <sys/ioctl.h>
  #include <sys/types.h>
@@ -32,7 +32,7 @@ $NetBSD$
 +#else
 +  // the flags tested above are not present on FreeBSD
 +  return false;
-+#endif  // !OS_FREEBSD
++#endif  // !OS_FREEBSD && !OS_NETBSD
  }
  
  }  // namespace
@@ -46,7 +46,7 @@ $NetBSD$
    strncpy(pwrq.ifr_name, ifname.c_str(), IFNAMSIZ - 1);
    if (ioctl(s.get(), SIOCGIWNAME, &pwrq) != -1)
      return NetworkChangeNotifier::CONNECTION_WIFI;
-+#endif  // !defined(OS_FREEBSD)
++#endif  // !defined(OS_FREEBSD) && !defined(OS_NETBSD)
  
 -#if !defined(OS_ANDROID)
 +#if !defined(OS_ANDROID) && !defined(OS_FREEBSD) && !defined(OS_NETBSD)
@@ -58,7 +58,7 @@ $NetBSD$
    if (ioctl(s.get(), SIOCETHTOOL, &ifr) != -1)
      return NetworkChangeNotifier::CONNECTION_ETHERNET;
 -#endif  // !defined(OS_ANDROID)
-+#endif  // !defined(OS_ANDROID) && !defined(OS_FREEBSD)
++#endif  // !defined(OS_ANDROID) && !defined(OS_FREEBSD) && !defined(OS_NETBSD)
  
    return NetworkChangeNotifier::CONNECTION_UNKNOWN;
  }
@@ -72,7 +72,7 @@ $NetBSD$
    wreq.u.essid.length = IW_ESSID_MAX_SIZE;
    if (ioctl(ioctl_socket.get(), SIOCGIWESSID, &wreq) != -1)
      return ssid;
-+#endif  // !defined(OS_FREEBSD)
++#endif  // !defined(OS_FREEBSD) && !defined(OS_NETBSD)
    return "";
  }
  
@@ -84,7 +84,7 @@ $NetBSD$
  
    return true;
  }
-+#endif  // !defined(OS_FREEBSD)
++#endif  // !defined(OS_FREEBSD) && !defined(OS_NETBSD)
  
  std::string GetWifiSSIDFromInterfaceListInternal(
      const NetworkInterfaceList& interfaces,
diff --git a/chromium-new/patches/patch-net_base_network__interfaces__posix.cc b/chromium-new/patches/patch-net_base_network__interfaces__posix.cc
index cfa6310c4e..4c49b40155 100644
--- a/chromium-new/patches/patch-net_base_network__interfaces__posix.cc
+++ b/chromium-new/patches/patch-net_base_network__interfaces__posix.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/base/network_interfaces_posix.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/base/network_interfaces_posix.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/base/network_interfaces_posix.cc
 @@ -20,6 +20,7 @@ namespace net {
  #if !defined(OS_NACL)
diff --git a/chromium-new/patches/patch-net_dns_address__sorter__posix.cc b/chromium-new/patches/patch-net_dns_address__sorter__posix.cc
index 752a25a929..e7552ee5d4 100644
--- a/chromium-new/patches/patch-net_dns_address__sorter__posix.cc
+++ b/chromium-new/patches/patch-net_dns_address__sorter__posix.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/dns/address_sorter_posix.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/dns/address_sorter_posix.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/dns/address_sorter_posix.cc
 @@ -13,6 +13,9 @@
  #include <sys/socket.h>  // Must be included before ifaddrs.h.
diff --git a/chromium-new/patches/patch-net_dns_dns__config__service__posix__unittest.cc b/chromium-new/patches/patch-net_dns_dns__config__service__posix__unittest.cc
index 93a0041ef9..d041d6f69e 100644
--- a/chromium-new/patches/patch-net_dns_dns__config__service__posix__unittest.cc
+++ b/chromium-new/patches/patch-net_dns_dns__config__service__posix__unittest.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/dns/dns_config_service_posix_unittest.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/dns/dns_config_service_posix_unittest.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/dns/dns_config_service_posix_unittest.cc
 @@ -2,8 +2,6 @@
  // Use of this source code is governed by a BSD-style license that can be
@@ -8,6 +8,6 @@ $NetBSD$
  
 -#include <resolv.h>
 -
+ #include <memory>
+ 
  #include "base/cancelable_callback.h"
- #include "base/files/file_util.h"
- #include "base/message_loop/message_loop.h"
diff --git a/chromium-new/patches/patch-net_dns_dns__session.cc b/chromium-new/patches/patch-net_dns_dns__session.cc
deleted file mode 100644
index 285e80889b..0000000000
--- a/chromium-new/patches/patch-net_dns_dns__session.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- net/dns/dns_session.cc.orig	2016-11-10 20:02:16.000000000 +0000
-+++ net/dns/dns_session.cc
-@@ -228,7 +228,7 @@ void DnsSession::RecordRTT(unsigned serv
-   base::TimeDelta current_error = rtt - estimate;
-   estimate += current_error / 8;  // * alpha
-   base::TimeDelta abs_error = base::TimeDelta::FromInternalValue(
--      std::abs(current_error.ToInternalValue()));
-+      std::labs(current_error.ToInternalValue()));
-   deviation += (abs_error - deviation) / 4;  // * delta
- 
-   // Histogram-based method.
diff --git a/chromium-new/patches/patch-net_http_http__auth__gssapi__posix.cc b/chromium-new/patches/patch-net_http_http__auth__gssapi__posix.cc
index e626e0fa4a..9d759206b9 100644
--- a/chromium-new/patches/patch-net_http_http__auth__gssapi__posix.cc
+++ b/chromium-new/patches/patch-net_http_http__auth__gssapi__posix.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/http/http_auth_gssapi_posix.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/http/http_auth_gssapi_posix.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/http/http_auth_gssapi_posix.cc
 @@ -431,8 +431,8 @@ base::NativeLibrary GSSAPISharedLibrary:
      static const char* const kDefaultLibraryNames[] = {
diff --git a/chromium-new/patches/patch-net_http_http__network__session.cc b/chromium-new/patches/patch-net_http_http__network__session.cc
new file mode 100644
index 0000000000..25bb8a9d4f
--- /dev/null
+++ b/chromium-new/patches/patch-net_http_http__network__session.cc
@@ -0,0 +1,14 @@
+$NetBSD$
+
+--- net/http/http_network_session.cc.orig	2017-02-02 02:02:56.000000000 +0000
++++ net/http/http_network_session.cc
+@@ -17,7 +17,9 @@
+ #include "base/strings/string_util.h"
+ #include "base/values.h"
+ #include "net/base/network_throttle_manager.h"
++#if defined(USE_KERBEROS)
+ #include "net/http/http_auth_handler_factory.h"
++#endif
+ #include "net/http/http_response_body_drainer.h"
+ #include "net/http/http_stream_factory_impl.h"
+ #include "net/http/url_security_manager.h"
diff --git a/chromium-new/patches/patch-net_net.gyp b/chromium-new/patches/patch-net_net.gyp
deleted file mode 100644
index 1a5934bae6..0000000000
--- a/chromium-new/patches/patch-net_net.gyp
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
---- net/net.gyp.orig	2016-11-10 20:02:16.000000000 +0000
-+++ net/net.gyp
-@@ -186,7 +186,7 @@
-         '<@(net_test_sources)',
-       ],
-       'conditions': [
--        ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
-+        ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android" and os_bsd != 1', {
-           'dependencies': [
-             'epoll_quic_tools',
-             'epoll_server',
-@@ -713,6 +713,11 @@
-             'url_request/test_url_request_interceptor.h',
-           ],
-         }],
-+        [ 'os_bsd == 1', {
-+          'sources!': [
-+            'base/address_tracker_linux_unittest.cc',
-+          ],
-+        }],
-       ],
-       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
-       'msvs_disabled_warnings': [4267, ],
diff --git a/chromium-new/patches/patch-net_proxy_proxy__config__service__linux.cc b/chromium-new/patches/patch-net_proxy_proxy__config__service__linux.cc
index 3b6d723eb1..1701f1abff 100644
--- a/chromium-new/patches/patch-net_proxy_proxy__config__service__linux.cc
+++ b/chromium-new/patches/patch-net_proxy_proxy__config__service__linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/proxy/proxy_config_service_linux.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/proxy/proxy_config_service_linux.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/proxy/proxy_config_service_linux.cc
 @@ -11,7 +11,14 @@
  #include <limits.h>
diff --git a/chromium-new/patches/patch-net_proxy_proxy__service.cc b/chromium-new/patches/patch-net_proxy_proxy__service.cc
index fb75c1816d..a4a45158b2 100644
--- a/chromium-new/patches/patch-net_proxy_proxy__service.cc
+++ b/chromium-new/patches/patch-net_proxy_proxy__service.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- net/proxy/proxy_service.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/proxy/proxy_service.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/proxy/proxy_service.cc
-@@ -47,7 +47,7 @@
+@@ -49,7 +49,7 @@
  #elif defined(OS_MACOSX)
  #include "net/proxy/proxy_config_service_mac.h"
  #include "net/proxy/proxy_resolver_mac.h"
@@ -11,7 +11,7 @@ $NetBSD$
  #include "net/proxy/proxy_config_service_linux.h"
  #elif defined(OS_ANDROID)
  #include "net/proxy/proxy_config_service_android.h"
-@@ -1531,7 +1531,7 @@ ProxyService::CreateSystemProxyConfigSer
+@@ -1520,7 +1520,7 @@ ProxyService::CreateSystemProxyConfigSer
               << "profile_io_data.cc::CreateProxyConfigService and this should "
               << "be used only for examples.";
    return base::WrapUnique(new UnsetProxyConfigService);
diff --git a/chromium-new/patches/patch-net_socket_socks5__client__socket.cc b/chromium-new/patches/patch-net_socket_socks5__client__socket.cc
index 51381ff4af..f01ac2cf79 100644
--- a/chromium-new/patches/patch-net_socket_socks5__client__socket.cc
+++ b/chromium-new/patches/patch-net_socket_socks5__client__socket.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- net/socket/socks5_client_socket.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- net/socket/socks5_client_socket.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ net/socket/socks5_client_socket.cc
 @@ -4,6 +4,10 @@
  
diff --git a/chromium-new/patches/patch-net_socket_udp__socket__posix.cc b/chromium-new/patches/patch-net_socket_udp__socket__posix.cc
new file mode 100644
index 0000000000..88b214fc9a
--- /dev/null
+++ b/chromium-new/patches/patch-net_socket_udp__socket__posix.cc
@@ -0,0 +1,31 @@
+$NetBSD$
+
+--- net/socket/udp_socket_posix.cc.orig	2017-02-02 02:02:56.000000000 +0000
++++ net/socket/udp_socket_posix.cc
+@@ -58,7 +58,7 @@ const int kBindRetries = 10;
+ const int kPortStart = 1024;
+ const int kPortEnd = 65535;
+ 
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_BSD)
+ 
+ // Returns IPv4 address in network order.
+ int GetIPv4AddressFromIndex(int socket, uint32_t index, uint32_t* address) {
+@@ -762,7 +762,7 @@ int UDPSocketPosix::SetMulticastOptions(
+   if (multicast_interface_ != 0) {
+     switch (addr_family_) {
+       case AF_INET: {
+-#if !defined(OS_MACOSX)
++#if !defined(OS_MACOSX) && !defined(OS_BSD)
+         ip_mreqn mreq;
+         mreq.imr_ifindex = multicast_interface_;
+         mreq.imr_address.s_addr = htonl(INADDR_ANY);
+@@ -837,7 +837,7 @@ int UDPSocketPosix::JoinGroup(const IPAd
+       if (addr_family_ != AF_INET)
+         return ERR_ADDRESS_INVALID;
+ 
+-#if !defined(OS_MACOSX)
++#if !defined(OS_MACOSX) && !defined(OS_BSD)
+       ip_mreqn mreq;
+       mreq.imr_ifindex = multicast_interface_;
+       mreq.imr_address.s_addr = htonl(INADDR_ANY);
diff --git a/chromium-new/patches/patch-net_tools_get__server__time_get__server__time.cc b/chromium-new/patches/patch-net_tools_get__server__time_get__server__time.cc
new file mode 100644
index 0000000000..8790b69b66
--- /dev/null
+++ b/chromium-new/patches/patch-net_tools_get__server__time_get__server__time.cc
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- net/tools/get_server_time/get_server_time.cc.orig	2017-02-02 02:02:56.000000000 +0000
++++ net/tools/get_server_time/get_server_time.cc
+@@ -46,7 +46,7 @@
+ 
+ #if defined(OS_MACOSX)
+ #include "base/mac/scoped_nsautorelease_pool.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "net/proxy/proxy_config.h"
+ #include "net/proxy/proxy_config_service_fixed.h"
+ #endif
+@@ -142,7 +142,7 @@ class PrintingLogObserver : public net::
+ std::unique_ptr<net::URLRequestContext> BuildURLRequestContext(
+     net::NetLog* net_log) {
+   net::URLRequestContextBuilder builder;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+   // On Linux, use a fixed ProxyConfigService, since the default one
+   // depends on glib.
+   //
diff --git a/chromium-new/patches/patch-net_udp_udp__socket__posix.cc b/chromium-new/patches/patch-net_udp_udp__socket__posix.cc
deleted file mode 100644
index c3888c4136..0000000000
--- a/chromium-new/patches/patch-net_udp_udp__socket__posix.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD$
-
---- net/udp/udp_socket_posix.cc.orig	2016-11-10 20:02:16.000000000 +0000
-+++ net/udp/udp_socket_posix.cc
-@@ -48,7 +48,7 @@ const int kBindRetries = 10;
- const int kPortStart = 1024;
- const int kPortEnd = 65535;
- 
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- 
- // Returns IPv4 address in network order.
- int GetIPv4AddressFromIndex(int socket, uint32_t index, uint32_t* address) {
-@@ -672,7 +672,7 @@ int UDPSocketPosix::SetMulticastOptions(
-   if (multicast_interface_ != 0) {
-     switch (addr_family_) {
-       case AF_INET: {
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
-         ip_mreqn mreq;
-         mreq.imr_ifindex = multicast_interface_;
-         mreq.imr_address.s_addr = htonl(INADDR_ANY);
-@@ -747,7 +747,7 @@ int UDPSocketPosix::JoinGroup(const IPAd
-       if (addr_family_ != AF_INET)
-         return ERR_ADDRESS_INVALID;
- 
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
-       ip_mreqn mreq;
-       mreq.imr_ifindex = multicast_interface_;
-       mreq.imr_address.s_addr = htonl(INADDR_ANY);
diff --git a/chromium-new/patches/patch-net_udp_udp__socket__unittest.cc b/chromium-new/patches/patch-net_udp_udp__socket__unittest.cc
deleted file mode 100644
index 27122251c3..0000000000
--- a/chromium-new/patches/patch-net_udp_udp__socket__unittest.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- net/udp/udp_socket_unittest.cc.orig	2016-11-10 20:02:16.000000000 +0000
-+++ net/udp/udp_socket_unittest.cc
-@@ -271,7 +271,7 @@ TEST_F(UDPSocketTest, ConnectNonBlocking
- }
- #endif
- 
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- // UDPSocketPrivate_Broadcast is disabled for OSX because it requires
- // root permissions on OSX 10.7+.
- TEST_F(UDPSocketTest, DISABLED_Broadcast) {
diff --git a/chromium-new/patches/patch-net_url__request_url__request__context__builder.cc b/chromium-new/patches/patch-net_url__request_url__request__context__builder.cc
new file mode 100644
index 0000000000..68cd090276
--- /dev/null
+++ b/chromium-new/patches/patch-net_url__request_url__request__context__builder.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- net/url_request/url_request_context_builder.cc.orig	2017-02-02 02:02:56.000000000 +0000
++++ net/url_request/url_request_context_builder.cc
+@@ -327,7 +327,7 @@ std::unique_ptr<URLRequestContext> URLRe
+   if (!proxy_service_) {
+     // TODO(willchan): Switch to using this code when
+     // ProxyService::CreateSystemProxyConfigService()'s signature doesn't suck.
+-#if !defined(OS_LINUX) && !defined(OS_ANDROID)
++#if !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_BSD)
+     if (!proxy_config_service_) {
+       proxy_config_service_ = ProxyService::CreateSystemProxyConfigService(
+           base::ThreadTaskRunnerHandle::Get().get(),
diff --git a/chromium-new/patches/patch-pdf_pdfium_pdfium__engine.cc b/chromium-new/patches/patch-pdf_pdfium_pdfium__engine.cc
index c1cfc18e3c..7a0896afeb 100644
--- a/chromium-new/patches/patch-pdf_pdfium_pdfium__engine.cc
+++ b/chromium-new/patches/patch-pdf_pdfium_pdfium__engine.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- pdf/pdfium/pdfium_engine.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- pdf/pdfium/pdfium_engine.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ pdf/pdfium/pdfium_engine.cc
-@@ -123,7 +123,7 @@ std::vector<uint32_t> GetPageNumbersFrom
+@@ -127,7 +127,7 @@ std::vector<uint32_t> GetPageNumbersFrom
    return page_numbers;
  }
  
@@ -11,7 +11,7 @@ $NetBSD$
  
  PP_Instance g_last_instance_id;
  
-@@ -509,7 +509,7 @@ bool InitializeSDK() {
+@@ -629,7 +629,7 @@ bool InitializeSDK() {
    config.m_v8EmbedderSlot = gin::kEmbedderPDFium;
    FPDF_InitLibraryWithConfig(&config);
  
@@ -19,8 +19,17 @@ $NetBSD$
 +#if defined(OS_LINUX) || defined(OS_BSD)
    // Font loading doesn't work in the renderer sandbox in Linux.
    FPDF_SetSystemFontInfo(&g_font_info);
+ #else
+@@ -654,7 +654,7 @@ bool InitializeSDK() {
+ 
+ void ShutdownSDK() {
+   FPDF_DestroyLibrary();
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
+   delete g_font_info;
  #endif
-@@ -622,7 +622,7 @@ PDFiumEngine::PDFiumEngine(PDFEngine::Cl
+   TearDownV8();
+@@ -758,7 +758,7 @@ PDFiumEngine::PDFiumEngine(PDFEngine::Cl
    IFSDK_PAUSE::user = nullptr;
    IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow;
  
@@ -29,7 +38,7 @@ $NetBSD$
    // PreviewModeClient does not know its pp::Instance.
    pp::Instance* instance = client_->GetPluginInstance();
    if (instance)
-@@ -1331,7 +1331,7 @@ pp::Buffer_Dev PDFiumEngine::PrintPagesA
+@@ -1510,7 +1510,7 @@ pp::Buffer_Dev PDFiumEngine::PrintPagesA
      FPDF_ClosePage(pdf_page);
    }
  
@@ -38,7 +47,7 @@ $NetBSD$
    g_last_instance_id = client_->GetPluginInstance()->pp_instance();
  #endif
  
-@@ -2736,7 +2736,7 @@ bool PDFiumEngine::ContinuePaint(int pro
+@@ -2919,7 +2919,7 @@ bool PDFiumEngine::ContinuePaint(int pro
    DCHECK_LT(static_cast<size_t>(progressive_index), progressive_paints_.size());
    DCHECK(image_data);
  
@@ -47,7 +56,7 @@ $NetBSD$
    g_last_instance_id = client_->GetPluginInstance()->pp_instance();
  #endif
  
-@@ -3191,7 +3191,7 @@ void PDFiumEngine::SetCurrentPage(int in
+@@ -3377,7 +3377,7 @@ void PDFiumEngine::SetCurrentPage(int in
      FORM_DoPageAAction(old_page, form_, FPDFPAGE_AACTION_CLOSE);
    }
    most_visible_page_ = index;
diff --git a/chromium-new/patches/patch-ppapi_proxy_file__io__resource.cc b/chromium-new/patches/patch-ppapi_proxy_file__io__resource.cc
index 94a63921de..bcaf478525 100644
--- a/chromium-new/patches/patch-ppapi_proxy_file__io__resource.cc
+++ b/chromium-new/patches/patch-ppapi_proxy_file__io__resource.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ppapi/proxy/file_io_resource.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- ppapi/proxy/file_io_resource.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ ppapi/proxy/file_io_resource.cc
 @@ -285,17 +285,19 @@ int32_t FileIOResource::Write(int64_t of
  
diff --git a/chromium-new/patches/patch-ppapi_shared__impl_private_net__address__private__impl.cc b/chromium-new/patches/patch-ppapi_shared__impl_private_net__address__private__impl.cc
index eca3480700..2c07f1e1a7 100644
--- a/chromium-new/patches/patch-ppapi_shared__impl_private_net__address__private__impl.cc
+++ b/chromium-new/patches/patch-ppapi_shared__impl_private_net__address__private__impl.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ppapi/shared_impl/private/net_address_private_impl.cc.orig	2016-11-10 20:02:16.000000000 +0000
+--- ppapi/shared_impl/private/net_address_private_impl.cc.orig	2017-02-02 02:02:56.000000000 +0000
 +++ ppapi/shared_impl/private/net_address_private_impl.cc
 @@ -26,9 +26,12 @@
  #include <arpa/inet.h>
diff --git a/chromium-new/patches/patch-ppapi_tests_extensions_BUILD.gn b/chromium-new/patches/patch-ppapi_tests_extensions_BUILD.gn
index c806c44c53..b1c806835c 100644
--- a/chromium-new/patches/patch-ppapi_tests_extensions_BUILD.gn
+++ b/chromium-new/patches/patch-ppapi_tests_extensions_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ppapi/tests/extensions/BUILD.gn.orig	2016-11-10 20:02:16.000000000 +0000
+--- ppapi/tests/extensions/BUILD.gn.orig	2017-02-02 02:02:56.000000000 +0000
 +++ ppapi/tests/extensions/BUILD.gn
 @@ -20,7 +20,7 @@ group("extensions") {
      ":ppapi_tests_extensions_popup($newlib)",
diff --git a/chromium-new/patches/patch-printing_BUILD.gn b/chromium-new/patches/patch-printing_BUILD.gn
index 8456fac319..d8ca55ed2c 100644
--- a/chromium-new/patches/patch-printing_BUILD.gn
+++ b/chromium-new/patches/patch-printing_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- printing/BUILD.gn.orig	2016-11-10 20:02:16.000000000 +0000
+--- printing/BUILD.gn.orig	2017-02-02 02:02:57.000000000 +0000
 +++ printing/BUILD.gn
-@@ -125,7 +125,7 @@ component("printing") {
+@@ -129,7 +129,7 @@ component("printing") {
    if (use_cups) {
      configs += [ ":cups" ]
  
@@ -11,7 +11,7 @@ $NetBSD$
        # rebase_path does not accept an empty string
        if (use_sysroot) {
          cups_sysroot = rebase_path(sysroot)
-@@ -202,7 +202,7 @@ component("printing") {
+@@ -206,7 +206,7 @@ component("printing") {
        "printing_context_no_system_dialog.cc",
        "printing_context_no_system_dialog.h",
      ]
diff --git a/chromium-new/patches/patch-printing_cups__config__helper.py b/chromium-new/patches/patch-printing_cups__config__helper.py
index ecc256b6d4..c679054a00 100644
--- a/chromium-new/patches/patch-printing_cups__config__helper.py
+++ b/chromium-new/patches/patch-printing_cups__config__helper.py
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- printing/cups_config_helper.py.orig	2016-11-10 20:02:16.000000000 +0000
+--- printing/cups_config_helper.py.orig	2017-02-02 02:02:57.000000000 +0000
 +++ printing/cups_config_helper.py
 @@ -65,7 +65,7 @@ def main():
    mode = sys.argv[1]
diff --git a/chromium-new/patches/patch-remoting_host_BUILD.gn b/chromium-new/patches/patch-remoting_host_BUILD.gn
index 5bf42a3e06..d0bb541ade 100644
--- a/chromium-new/patches/patch-remoting_host_BUILD.gn
+++ b/chromium-new/patches/patch-remoting_host_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- remoting/host/BUILD.gn.orig	2016-11-10 20:02:16.000000000 +0000
+--- remoting/host/BUILD.gn.orig	2017-02-02 02:02:57.000000000 +0000
 +++ remoting/host/BUILD.gn
-@@ -420,7 +420,7 @@ static_library("host") {
+@@ -326,7 +326,7 @@ static_library("host") {
      deps += [ "//components/policy:generated" ]
    }
  
@@ -11,7 +11,7 @@ $NetBSD$
      libs += [ "pam" ]
    }
  
-@@ -439,7 +439,7 @@ static_library("host") {
+@@ -349,7 +349,7 @@ static_library("host") {
        "input_injector_x11.cc",
        "local_input_monitor_x11.cc",
      ]
@@ -20,8 +20,8 @@ $NetBSD$
        # These will already be filtered out on non-Linux.
        sources -= [
          "linux/unicode_to_keysym.cc",
-@@ -648,7 +648,7 @@ source_set("unit_tests") {
-     "win/worker_process_launcher_unittest.cc",
+@@ -538,7 +538,7 @@ source_set("unit_tests") {
+     "touch_injector_win_unittest.cc",
    ]
  
 -  if (!use_x11 && is_linux) {
@@ -29,21 +29,21 @@ $NetBSD$
      sources -= [ "linux/unicode_to_keysym_unittest.cc" ]
    }
    if (use_ozone || is_chromeos) {
-@@ -1217,7 +1217,7 @@ if (enable_me2me_host) {
-     if (is_desktop_linux) {
-       deps += [ "//build/config/linux/gtk2" ]
+@@ -755,7 +755,7 @@ if (enable_me2me_host) {
+         deps += [ "//build/config/linux/gtk2" ]
+       }
      }
 -    if ((is_linux && !is_chromeos) || is_mac) {
 +    if ((is_linux && !is_chromeos) || is_mac || is_bsd) {
        libs = [ "pam" ]
      }
  
-@@ -1359,7 +1359,7 @@ if (enable_me2me_host) {
+@@ -825,7 +825,7 @@ if (enable_me2me_host) {
        }
      }
- 
--    if (is_linux) {
-+    if (is_linux || is_bsd) {
-       copy("remoting_me2me_host_copy_script") {
-         sources = [
-           "linux/linux_me2me_host.py",
+   }
+-  if (is_chrome_branded && enable_me2me_host && is_linux && !is_chromeos) {
++  if (is_chrome_branded && enable_me2me_host && is_linux && is_bsd && !is_chromeos) {
+     group("remoting_me2me_host_archive") {
+       deps = [
+         "//remoting/host/installer/linux:remoting_me2me_host_archive",
diff --git a/chromium-new/patches/patch-sdch_BUILD.gn b/chromium-new/patches/patch-sdch_BUILD.gn
index b40cab24d1..3a5a253132 100644
--- a/chromium-new/patches/patch-sdch_BUILD.gn
+++ b/chromium-new/patches/patch-sdch_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- sdch/BUILD.gn.orig	2016-11-10 20:02:16.000000000 +0000
+--- sdch/BUILD.gn.orig	2017-02-02 02:02:57.000000000 +0000
 +++ sdch/BUILD.gn
 @@ -11,7 +11,7 @@ config("sdch_config") {
  # from a config and can't be on the target directly.
diff --git a/chromium-new/patches/patch-services_service__manager_runner_host_BUILD.gn b/chromium-new/patches/patch-services_service__manager_runner_host_BUILD.gn
new file mode 100644
index 0000000000..b19a514491
--- /dev/null
+++ b/chromium-new/patches/patch-services_service__manager_runner_host_BUILD.gn
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- services/service_manager/runner/host/BUILD.gn.orig	2017-02-02 02:02:57.000000000 +0000
++++ services/service_manager/runner/host/BUILD.gn
+@@ -51,7 +51,7 @@ source_set("child_process_base") {
+     "//services/service_manager/runner/common",
+   ]
+ 
+-  if (is_linux && !is_android) {
++  if (is_linux && !is_android && !is_bsd) {
+     sources += [
+       "linux_sandbox.cc",
+       "linux_sandbox.h",
diff --git a/chromium-new/patches/patch-services_service__manager_standalone_context.cc b/chromium-new/patches/patch-services_service__manager_standalone_context.cc
new file mode 100644
index 0000000000..7e7f52a93a
--- /dev/null
+++ b/chromium-new/patches/patch-services_service__manager_standalone_context.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- services/service_manager/standalone/context.cc.orig	2017-02-02 02:02:57.000000000 +0000
++++ services/service_manager/standalone/context.cc
+@@ -208,7 +208,7 @@ void Context::Init(std::unique_ptr<InitP
+       tracing::mojom::StartupPerformanceDataCollectorPtr collector;
+       ConnectToInterface(service_manager(), source_identity, tracing_identity,
+                          &collector);
+-#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 only defined on some platforms.
+       const base::Time creation_time = base::CurrentProcessInfo::CreationTime();
+       collector->SetServiceManagerProcessCreationTime(
diff --git a/chromium-new/patches/patch-services_shell_standalone_context.cc b/chromium-new/patches/patch-services_shell_standalone_context.cc
deleted file mode 100644
index 6ce69d58b6..0000000000
--- a/chromium-new/patches/patch-services_shell_standalone_context.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- services/shell/standalone/context.cc.orig	2016-11-10 20:02:16.000000000 +0000
-+++ services/shell/standalone/context.cc
-@@ -198,7 +198,7 @@ void Context::Init(std::unique_ptr<InitP
-     tracing_remote_interfaces->GetInterface(
-         tracing::mojom::StartupPerformanceDataCollector::Name_,
-         mojo::GetProxy(&collector).PassMessagePipe());
--#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 only defined on some platforms.
-     const base::Time creation_time = base::CurrentProcessInfo::CreationTime();
-     collector->SetShellProcessCreationTime(creation_time.ToInternalValue());
diff --git a/chromium-new/patches/patch-services_ui_BUILD.gn b/chromium-new/patches/patch-services_ui_BUILD.gn
new file mode 100644
index 0000000000..4e891485c3
--- /dev/null
+++ b/chromium-new/patches/patch-services_ui_BUILD.gn
@@ -0,0 +1,20 @@
+$NetBSD$
+
+--- services/ui/BUILD.gn.orig	2017-02-02 02:02:57.000000000 +0000
++++ services/ui/BUILD.gn
+@@ -13,7 +13,6 @@ group("all") {
+   testonly = true
+   deps = [
+     ":ui",
+-    "//services/ui/ime/test_ime_driver",
+     "//services/ui/test_wm",
+   ]
+ }
+@@ -38,7 +37,6 @@ service("ui") {
+ 
+   data_deps = [
+     ":manifest",
+-    "//services/ui/ime/test_ime_driver",
+   ]
+ 
+   resources = [
diff --git a/chromium-new/patches/patch-services_ui_ime_BUILD.gn b/chromium-new/patches/patch-services_ui_ime_BUILD.gn
new file mode 100644
index 0000000000..7f9d771fde
--- /dev/null
+++ b/chromium-new/patches/patch-services_ui_ime_BUILD.gn
@@ -0,0 +1,12 @@
+$NetBSD$
+
+--- services/ui/ime/BUILD.gn.orig	2017-02-02 02:02:57.000000000 +0000
++++ services/ui/ime/BUILD.gn
+@@ -50,7 +50,6 @@ test("mus_ime_unittests") {
+     ":test_manifest",
+     ":lib",
+     "//services/ui",
+-    "//services/ui/ime/test_ime_driver",
+   ]
+ }
+ 
diff --git a/chromium-new/patches/patch-services_ui_public_cpp_gles2__context.cc b/chromium-new/patches/patch-services_ui_public_cpp_gles2__context.cc
new file mode 100644
index 0000000000..3a6c476dec
--- /dev/null
+++ b/chromium-new/patches/patch-services_ui_public_cpp_gles2__context.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- services/ui/public/cpp/gles2_context.cc.orig	2017-02-02 02:02:57.000000000 +0000
++++ services/ui/public/cpp/gles2_context.cc
+@@ -46,7 +46,7 @@ bool GLES2Context::Initialize(
+   gpu::CommandBuffer* command_buffer = command_buffer_proxy_impl_.get();
+   gpu::GpuControl* gpu_control = command_buffer_proxy_impl_.get();
+ 
+-  constexpr gpu::SharedMemoryLimits default_limits;
++  constexpr gpu::SharedMemoryLimits default_limits = gpu::SharedMemoryLimits();
+   gles2_helper_.reset(new gpu::gles2::GLES2CmdHelper(command_buffer));
+   if (!gles2_helper_->Initialize(default_limits.command_buffer_size))
+     return false;
diff --git a/chromium-new/patches/patch-services_ui_surfaces_surfaces__context__provider.cc b/chromium-new/patches/patch-services_ui_surfaces_surfaces__context__provider.cc
new file mode 100644
index 0000000000..35a5252116
--- /dev/null
+++ b/chromium-new/patches/patch-services_ui_surfaces_surfaces__context__provider.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- services/ui/surfaces/surfaces_context_provider.cc.orig	2017-02-02 02:02:57.000000000 +0000
++++ services/ui/surfaces/surfaces_context_provider.cc
+@@ -78,7 +78,7 @@ bool SurfacesContextProvider::BindToCurr
+   gpu::CommandBuffer* command_buffer = command_buffer_proxy_impl_.get();
+ 
+   gles2_helper_.reset(new gpu::gles2::GLES2CmdHelper(command_buffer));
+-  constexpr gpu::SharedMemoryLimits default_limits;
++  constexpr gpu::SharedMemoryLimits default_limits = gpu::SharedMemoryLimits();
+   if (!gles2_helper_->Initialize(default_limits.command_buffer_size))
+     return false;
+   gles2_helper_->SetAutomaticFlushes(false);
diff --git a/chromium-new/patches/patch-services_ui_ws_BUILD.gn b/chromium-new/patches/patch-services_ui_ws_BUILD.gn
deleted file mode 100644
index 3647290ad4..0000000000
--- a/chromium-new/patches/patch-services_ui_ws_BUILD.gn
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD$
-
---- services/ui/ws/BUILD.gn.orig	2016-11-10 20:02:16.000000000 +0000
-+++ services/ui/ws/BUILD.gn
-@@ -103,6 +103,11 @@ static_library("lib") {
-     "window_tree_host_factory.h",
-   ]
- 
-+  # Work around base r261801
-+  if (is_bsd) {
-+    defines = ["_LIBCPP_TRIVIAL_PAIR_COPY_CTOR=1"]
-+  }
-+
-   deps = [
-     # TODO(sad): Temporary, until the GPU process is split out of ws.
-     "//services/ui/gpu",
diff --git a/chromium-new/patches/patch-skia_BUILD.gn b/chromium-new/patches/patch-skia_BUILD.gn
index 34e69d032f..3bc005d871 100644
--- a/chromium-new/patches/patch-skia_BUILD.gn
+++ b/chromium-new/patches/patch-skia_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- skia/BUILD.gn.orig	2016-11-10 20:02:16.000000000 +0000
+--- skia/BUILD.gn.orig	2017-02-02 02:02:57.000000000 +0000
 +++ skia/BUILD.gn
-@@ -234,7 +234,7 @@ config("skia_library_config") {
+@@ -135,7 +135,7 @@ config("skia_library_config") {
    }
  
    # Settings for text blitting, chosen to approximate the system browser.
@@ -11,16 +11,16 @@ $NetBSD$
      defines += [
        "SK_GAMMA_EXPONENT=1.2",
        "SK_GAMMA_CONTRAST=0.2",
-@@ -425,7 +425,7 @@ component("skia") {
+@@ -363,7 +363,7 @@ component("skia") {
      sources -= [ "//third_party/skia/src/ports/SkFontHost_mac.cpp" ]
    }
  
 -  if (!is_linux) {
 +  if (!is_linux && !is_bsd) {
      sources -= [
+       "//third_party/skia/src/ports/SkFontConfigInterface.cpp",
        "//third_party/skia/src/ports/SkFontConfigInterface_direct.cpp",
-       "//third_party/skia/src/ports/SkFontConfigInterface_direct_factory.cpp",
-@@ -436,14 +436,14 @@ component("skia") {
+@@ -375,14 +375,14 @@ component("skia") {
  
    # Add the files for the SkFontMgr_Android. This is used to emulate android
    # fonts on linux. See content/zygote/zygote_main_linux.cc
@@ -37,7 +37,7 @@ $NetBSD$
      sources -= [
        "//third_party/skia/src/ports/SkFontHost_FreeType.cpp",
        "//third_party/skia/src/ports/SkFontHost_FreeType_common.cpp",
-@@ -482,7 +482,7 @@ component("skia") {
+@@ -421,7 +421,7 @@ component("skia") {
      "//base/third_party/dynamic_annotations",
    ]
  
diff --git a/chromium-new/patches/patch-skia_ext_SkMemory__new__handler.cpp b/chromium-new/patches/patch-skia_ext_SkMemory__new__handler.cpp
index 3100519c53..e2bcf9438d 100644
--- a/chromium-new/patches/patch-skia_ext_SkMemory__new__handler.cpp
+++ b/chromium-new/patches/patch-skia_ext_SkMemory__new__handler.cpp
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- skia/ext/SkMemory_new_handler.cpp.orig	2016-11-10 20:02:16.000000000 +0000
+--- skia/ext/SkMemory_new_handler.cpp.orig	2017-02-02 02:02:57.000000000 +0000
 +++ skia/ext/SkMemory_new_handler.cpp
 @@ -68,7 +68,7 @@ static void* sk_malloc_nothrow(size_t si
      // TODO(b.kelemen): we should always use UncheckedMalloc but currently it
      // doesn't work as intended everywhere.
      void* result;
 -#if  defined(OS_IOS)
-+#if  defined(OS_IOS) || defined(OS_FREEBSD)
++#if  defined(OS_IOS) || defined(OS_BSD)
      result = malloc(size);
  #else
      // It's the responsibility of the caller to check the return value.
@@ -16,7 +16,7 @@ $NetBSD$
      // doesn't work as intended everywhere.
      void* result;
 -#if  defined(OS_IOS)
-+#if  defined(OS_IOS) || defined(OS_FREEBSD)
++#if  defined(OS_IOS) || defined(OS_BSD)
      result = calloc(1, size);
  #else
      // It's the responsibility of the caller to check the return value.
diff --git a/chromium-new/patches/patch-skia_ext_platform__canvas.h b/chromium-new/patches/patch-skia_ext_platform__canvas.h
index 5296ada46a..f790a468a1 100644
--- a/chromium-new/patches/patch-skia_ext_platform__canvas.h
+++ b/chromium-new/patches/patch-skia_ext_platform__canvas.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- skia/ext/platform_canvas.h.orig	2016-11-10 20:02:16.000000000 +0000
+--- skia/ext/platform_canvas.h.orig	2017-02-02 02:02:57.000000000 +0000
 +++ skia/ext/platform_canvas.h
 @@ -73,7 +73,7 @@ enum OnFailureType {
                                          uint8_t* context,
diff --git a/chromium-new/patches/patch-testing_gtest_src_gtest.cc b/chromium-new/patches/patch-testing_gtest_src_gtest.cc
new file mode 100644
index 0000000000..25466f49ce
--- /dev/null
+++ b/chromium-new/patches/patch-testing_gtest_src_gtest.cc
@@ -0,0 +1,24 @@
+$NetBSD$
+
+--- testing/gtest/src/gtest.cc.orig	2017-02-02 02:03:46.000000000 +0000
++++ testing/gtest/src/gtest.cc
+@@ -122,6 +122,10 @@
+ 
+ #endif  // GTEST_OS_LINUX
+ 
++#if GTEST_OS_FREEBSD
++# include <sys/socket.h>
++#endif
++
+ #if GTEST_HAS_EXCEPTIONS
+ # include <stdexcept>
+ #endif
+@@ -1930,7 +1934,7 @@ bool String::CaseInsensitiveWideCStringE
+ 
+ #if GTEST_OS_WINDOWS
+   return _wcsicmp(lhs, rhs) == 0;
+-#elif GTEST_OS_LINUX && !GTEST_OS_LINUX_ANDROID
++#elif GTEST_OS_LINUX && !GTEST_OS_LINUX_ANDROID && !GTEST_OS_FREEBSD
+   return wcscasecmp(lhs, rhs) == 0;
+ #else
+   // Android, Mac OS X and Cygwin don't define wcscasecmp.
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp
index cb367ad817..42b41ba982 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_bindings_core_v8_V8ScriptRunner.cpp
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp.orig	2016-11-10 20:02:25.000000000 +0000
+--- third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp.orig	2017-02-02 02:03:08.000000000 +0000
 +++ third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp
 @@ -46,6 +46,8 @@
  
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_core_BUILD.gn b/chromium-new/patches/patch-third__party_WebKit_Source_core_BUILD.gn
deleted file mode 100644
index f70bbbfa3a..0000000000
--- a/chromium-new/patches/patch-third__party_WebKit_Source_core_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- third_party/WebKit/Source/core/BUILD.gn.orig	2016-11-10 20:02:25.000000000 +0000
-+++ third_party/WebKit/Source/core/BUILD.gn
-@@ -282,7 +282,7 @@ target(link_target_type, "remaining") {
-     ]
-   }
- 
--  if (!is_linux) {
-+  if (!(is_linux || is_bsd)) {
-     sources -= [
-       "layout/LayoutThemeLinux.cpp",
-       "layout/LayoutThemeLinux.h",
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_core_layout_BUILD.gn b/chromium-new/patches/patch-third__party_WebKit_Source_core_layout_BUILD.gn
new file mode 100644
index 0000000000..0ce9d7d07b
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_core_layout_BUILD.gn
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/WebKit/Source/core/layout/BUILD.gn.orig	2017-02-02 02:03:09.000000000 +0000
++++ third_party/WebKit/Source/core/layout/BUILD.gn
+@@ -361,7 +361,7 @@ blink_core_sources("layout") {
+     sources += [ "LayoutThemeFontProviderDefault.cpp" ]
+   }
+ 
+-  if (is_linux) {
++  if (is_linux || is_bsd) {
+     sources += [
+       "LayoutThemeLinux.cpp",
+       "LayoutThemeLinux.h",
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp
index 99a8945cb9..5d276c14fd 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.cpp
@@ -1,20 +1,16 @@
 $NetBSD$
 
---- third_party/WebKit/Source/platform/fonts/FontCache.cpp.orig	2016-11-10 20:02:26.000000000 +0000
+--- third_party/WebKit/Source/platform/fonts/FontCache.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/platform/fonts/FontCache.cpp
-@@ -61,13 +61,13 @@ using namespace WTF;
+@@ -62,9 +62,9 @@ using namespace WTF;
  
  namespace blink {
  
 -#if !OS(WIN) && !OS(LINUX)
 +#if !OS(WIN) && !OS(LINUX) && !OS(FREEBSD) && !OS(OPENBSD) && !OS(NETBSD)
- FontCache::FontCache()
-     : m_purgePreventCount(0)
-     , m_fontManager(nullptr)
- {
- }
--#endif // !OS(WIN) && !OS(LINUX)
-+#endif // !OS(WIN) && !OS(LINUX) && !OS(FREEBSD) && !OS(OPENBSD) && !OS(NETBSD)
+ FontCache::FontCache() : m_purgePreventCount(0), m_fontManager(nullptr) {}
+-#endif  // !OS(WIN) && !OS(LINUX)
++#endif  // !OS(WIN) && !OS(LINUX) && !OS(FREEBSD) && !OS(OPENBSD)
  
- typedef HashMap<unsigned, std::unique_ptr<FontPlatformData>, WTF::IntHash<unsigned>, WTF::UnsignedWithZeroKeyHashTraits<unsigned>> SizedFontPlatformDataSet;
- typedef HashMap<FontCacheKey, SizedFontPlatformDataSet, FontCacheKeyHash, FontCacheKeyTraits> FontPlatformDataCache;
+ typedef HashMap<unsigned,
+                 std::unique_ptr<FontPlatformData>,
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.h b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
index 0977593e79..9b48566add 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
@@ -1,13 +1,22 @@
 $NetBSD$
 
---- third_party/WebKit/Source/platform/fonts/FontCache.h.orig	2016-11-10 20:02:26.000000000 +0000
+--- third_party/WebKit/Source/platform/fonts/FontCache.h.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/platform/fonts/FontCache.h
-@@ -179,7 +179,7 @@ private:
-     // Implemented on skia platforms.
-     PassRefPtr<SkTypeface> createTypeface(const FontDescription&, const FontFaceCreationParams&, CString& name);
+@@ -122,7 +122,7 @@ class PLATFORM_EXPORT FontCache {
+ #else
+   static const AtomicString& legacySystemFontFamily();
+ #endif
+-#if OS(LINUX) || OS(ANDROID)
++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD) || OS(NETBSD)
+   static void setSystemFontFamily(const AtomicString&);
+ #endif
+ 
+@@ -232,7 +232,7 @@ class PLATFORM_EXPORT FontCache {
+                                    const FontFaceCreationParams&,
+                                    CString& name);
  
 -#if OS(ANDROID) || OS(LINUX)
 +#if OS(ANDROID) || OS(LINUX) || OS(FREEBSD) || OS(OPENBSD) || OS(NETBSD)
-     static AtomicString getFamilyNameForCharacter(SkFontMgr*, UChar32, const FontDescription&, FontFallbackPriority);
- #endif
- 
+   static AtomicString getFamilyNameForCharacter(SkFontMgr*,
+                                                 UChar32,
+                                                 const FontDescription&,
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp
index c5bfc45a0e..fa1980f419 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.cpp
@@ -1,49 +1,49 @@
 $NetBSD$
 
---- third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp.orig	2016-11-10 20:02:26.000000000 +0000
+--- third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp
-@@ -93,7 +93,7 @@ FontPlatformData::FontPlatformData(const
-     , m_syntheticBold(source.m_syntheticBold)
-     , m_syntheticItalic(source.m_syntheticItalic)
-     , m_orientation(source.m_orientation)
+@@ -99,7 +99,7 @@ FontPlatformData::FontPlatformData(const
+       m_syntheticBold(source.m_syntheticBold),
+       m_syntheticItalic(source.m_syntheticItalic),
+       m_orientation(source.m_orientation),
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-     , m_style(source.m_style)
+       m_style(source.m_style),
  #endif
-     , m_harfBuzzFace(nullptr)
-@@ -115,7 +115,7 @@ FontPlatformData::FontPlatformData(const
-     , m_syntheticBold(src.m_syntheticBold)
-     , m_syntheticItalic(src.m_syntheticItalic)
-     , m_orientation(src.m_orientation)
+       m_harfBuzzFace(nullptr),
+@@ -122,7 +122,7 @@ FontPlatformData::FontPlatformData(const
+       m_syntheticBold(src.m_syntheticBold),
+       m_syntheticItalic(src.m_syntheticItalic),
+       m_orientation(src.m_orientation),
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-     , m_style(FontRenderStyle::querySystem(m_family, m_textSize, m_typeface->style()))
- #endif
-     , m_harfBuzzFace(nullptr)
-@@ -142,7 +142,7 @@ FontPlatformData::FontPlatformData(PassR
-     , m_syntheticBold(syntheticBold)
-     , m_syntheticItalic(syntheticItalic)
-     , m_orientation(orientation)
+       m_style(FontRenderStyle::querySystem(m_family,
+                                            m_textSize,
+                                            m_typeface->style())),
+@@ -155,7 +155,7 @@ FontPlatformData::FontPlatformData(sk_sp
+       m_syntheticBold(syntheticBold),
+       m_syntheticItalic(syntheticItalic),
+       m_orientation(orientation),
 -#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-     , m_style(FontRenderStyle::querySystem(m_family, m_textSize, m_typeface->style()))
- #endif
-     , m_isHashTableDeletedValue(false)
-@@ -188,7 +188,7 @@ const FontPlatformData& FontPlatformData
-     m_syntheticItalic = other.m_syntheticItalic;
-     m_harfBuzzFace = nullptr;
-     m_orientation = other.m_orientation;
++#if OS(LINUX) || OS(ANDROID) | OS(BSD)
+       m_style(FontRenderStyle::querySystem(m_family,
+                                            m_textSize,
+                                            m_typeface->style())),
+@@ -200,7 +200,7 @@ const FontPlatformData& FontPlatformData
+   m_syntheticItalic = other.m_syntheticItalic;
+   m_harfBuzzFace = nullptr;
+   m_orientation = other.m_orientation;
 -#if OS(LINUX) || OS(ANDROID)
-+#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-     m_style = other.m_style;
++#if OS(LINUX) || OS(ANDROID) | OS(BSD)
+   m_style = other.m_style;
  #endif
  
-@@ -216,7 +216,7 @@ bool FontPlatformData::operator==(const 
-         && m_isHashTableDeletedValue == a.m_isHashTableDeletedValue
-         && m_syntheticBold == a.m_syntheticBold
-         && m_syntheticItalic == a.m_syntheticItalic
+@@ -226,7 +226,7 @@ bool FontPlatformData::operator==(const 
+          m_isHashTableDeletedValue == a.m_isHashTableDeletedValue &&
+          m_syntheticBold == a.m_syntheticBold &&
+          m_syntheticItalic == a.m_syntheticItalic
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-         && m_style == a.m_style
+          && m_style == a.m_style
  #endif
-         && m_orientation == a.m_orientation;
+          && m_orientation == a.m_orientation;
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h
index a2f423ab71..d4de0ce178 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_FontPlatformData.h
@@ -1,34 +1,34 @@
 $NetBSD$
 
---- third_party/WebKit/Source/platform/fonts/FontPlatformData.h.orig	2016-11-10 20:02:26.000000000 +0000
+--- third_party/WebKit/Source/platform/fonts/FontPlatformData.h.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/platform/fonts/FontPlatformData.h
-@@ -46,9 +46,9 @@
+@@ -47,9 +47,9 @@
  #include "wtf/text/CString.h"
  #include "wtf/text/StringImpl.h"
  
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
  #include "platform/fonts/linux/FontRenderStyle.h"
--#endif // OS(LINUX) || OS(ANDROID)
-+#endif // OS(LINUX) || OS(ANDROID) || OS(BSD)
+-#endif  // OS(LINUX) || OS(ANDROID)
++#endif  // OS(LINUX) || OS(ANDROID) || OS(BSD)
  
  #if OS(MACOSX)
  OBJC_CLASS NSFont;
-@@ -126,7 +126,7 @@ public:
-     PassRefPtr<OpenTypeVerticalData> verticalData() const;
-     PassRefPtr<SharedBuffer> openTypeTable(SkFontTableTag) const;
+@@ -149,7 +149,7 @@ class PLATFORM_EXPORT FontPlatformData {
+   PassRefPtr<OpenTypeVerticalData> verticalData() const;
+   PassRefPtr<SharedBuffer> openTypeTable(SkFontTableTag) const;
  
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-     // The returned styles are all actual styles without FontRenderStyle::NoPreference.
-     const FontRenderStyle& getFontRenderStyle() const { return m_style; }
- #endif
-@@ -152,7 +152,7 @@ public:
-     bool m_syntheticItalic;
-     FontOrientation m_orientation;
- private:
+   // The returned styles are all actual styles without
+   // FontRenderStyle::NoPreference.
+   const FontRenderStyle& getFontRenderStyle() const { return m_style; }
+@@ -177,7 +177,7 @@ class PLATFORM_EXPORT FontPlatformData {
+   FontOrientation m_orientation;
+ 
+  private:
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-     FontRenderStyle m_style;
+   FontRenderStyle m_style;
  #endif
  
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp
index c0f4a88c4d..218766c43f 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_SimpleFontData.cpp
@@ -1,31 +1,31 @@
 $NetBSD$
 
---- third_party/WebKit/Source/platform/fonts/SimpleFontData.cpp.orig	2016-11-10 20:02:26.000000000 +0000
+--- third_party/WebKit/Source/platform/fonts/SimpleFontData.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/platform/fonts/SimpleFontData.cpp
-@@ -51,7 +51,7 @@ namespace blink {
+@@ -50,7 +50,7 @@ namespace blink {
  const float smallCapsFontSizeMultiplier = 0.7f;
  const float emphasisMarkFontSizeMultiplier = 0.5f;
  
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
  // This is the largest VDMX table which we'll try to load and parse.
- static const size_t maxVDMXTableSize = 1024 * 1024; // 1 MB
+ static const size_t maxVDMXTableSize = 1024 * 1024;  // 1 MB
  #endif
-@@ -102,7 +102,7 @@ void SimpleFontData::platformInit()
-     int vdmxAscent = 0, vdmxDescent = 0;
-     bool isVDMXValid = false;
+@@ -105,7 +105,7 @@ void SimpleFontData::platformInit(bool s
+   int vdmxAscent = 0, vdmxDescent = 0;
+   bool isVDMXValid = false;
  
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-     // Manually digging up VDMX metrics is only applicable when bytecode hinting using FreeType.
-     // With DirectWrite or CoreText, no bytecode hinting is ever done.
-     // This code should be pushed into FreeType (hinted font metrics).
-@@ -135,7 +135,7 @@ void SimpleFontData::platformInit()
-     } else {
-         ascent = SkScalarRoundToInt(-metrics.fAscent);
-         descent = SkScalarRoundToInt(metrics.fDescent);
+   // Manually digging up VDMX metrics is only applicable when bytecode hinting
+   // using FreeType.  With DirectWrite or CoreText, no bytecode hinting is ever
+   // done.  This code should be pushed into FreeType (hinted font metrics).
+@@ -149,7 +149,7 @@ void SimpleFontData::platformInit(bool s
+       ascent = SkScalarRoundToScalar(-metrics.fAscent);
+       descent = SkScalarRoundToScalar(metrics.fDescent);
+     }
 -#if OS(LINUX) || OS(ANDROID)
 +#if OS(LINUX) || OS(ANDROID) || OS(BSD)
-         // When subpixel positioning is enabled, if the descent is rounded down, the descent part
-         // of the glyph may be truncated when displayed in a 'overflow: hidden' container.
-         // To avoid that, borrow 1 unit from the ascent when possible.
+     // When subpixel positioning is enabled, if the descent is rounded down, the
+     // descent part of the glyph may be truncated when displayed in a 'overflow:
+     // hidden' container.  To avoid that, borrow 1 unit from the ascent when
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
index 4d2375d561..bdd8eae395 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
@@ -1,22 +1,22 @@
 $NetBSD$
 
---- third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp.orig	2016-11-10 20:02:26.000000000 +0000
+--- third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
-@@ -62,7 +62,7 @@ static PassRefPtr<SkTypeface> typefaceFo
- 
- namespace blink {
+@@ -67,7 +67,7 @@ AtomicString toAtomicString(const SkStri
+   return AtomicString::fromUTF8(str.c_str(), str.size());
+ }
  
 -#if OS(ANDROID) || OS(LINUX)
 +#if OS(ANDROID) || OS(LINUX) || OS(BSD)
  // Android special locale for retrieving the color emoji font
  // based on the proposed changes in UTR #51 for introducing
  // an Emoji script code:
-@@ -183,7 +183,7 @@ PassRefPtr<SkTypeface> FontCache::create
-     }
+@@ -234,7 +234,7 @@ sk_sp<SkTypeface> FontCache::createTypef
+   }
  #endif
  
 -#if OS(LINUX) || OS(WIN)
 +#if OS(LINUX) || OS(WIN) || OS(BSD)
-     // On linux if the fontManager has been overridden then we should be calling the embedder
-     // provided font Manager rather than calling SkTypeface::CreateFromName which may redirect the
-     // call to the default font Manager.
+   // On linux if the fontManager has been overridden then we should be calling
+   // the embedder provided font Manager rather than calling
+   // SkTypeface::CreateFromName which may redirect the call to the default font
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_GCInfo.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_GCInfo.cpp
index 757d1f7121..e4f323469a 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_GCInfo.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_GCInfo.cpp
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/WebKit/Source/platform/heap/GCInfo.cpp.orig	2016-11-10 20:02:27.000000000 +0000
+--- third_party/WebKit/Source/platform/heap/GCInfo.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/platform/heap/GCInfo.cpp
 @@ -7,6 +7,8 @@
  #include "platform/heap/Handle.h"
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp
index 95f594e94d..a6dcb67ae4 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_platform_heap_StackFrameDepth.cpp
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp.orig	2016-11-10 20:02:27.000000000 +0000
+--- third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
 @@ -6,6 +6,10 @@
  
@@ -13,39 +13,39 @@ $NetBSD$
  #if OS(WIN)
  #include <stddef.h>
  #include <windows.h>
-@@ -73,7 +77,7 @@ size_t StackFrameDepth::getUnderestimate
-     // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
-     // correctly for the main thread.
+@@ -68,7 +72,7 @@ size_t StackFrameDepth::getUnderestimate
+ // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
+ // correctly for the main thread.
  
 -#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
 +#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) || OS(NETBSD)
-     // pthread_getattr_np() can fail if the thread is not invoked by
-     // pthread_create() (e.g., the main thread of webkit_unit_tests).
-     // If so, a conservative size estimate is returned.
-@@ -94,7 +98,7 @@ size_t StackFrameDepth::getUnderestimate
-         pthread_attr_destroy(&attr);
-         return size;
-     }
+   // pthread_getattr_np() can fail if the thread is not invoked by
+   // pthread_create() (e.g., the main thread of webkit_unit_tests).
+   // If so, a conservative size estimate is returned.
+@@ -89,7 +93,7 @@ size_t StackFrameDepth::getUnderestimate
+     pthread_attr_destroy(&attr);
+     return size;
+   }
 -#if OS(FREEBSD)
 +#if OS(FREEBSD) || OS(NETBSD)
-     pthread_attr_destroy(&attr);
+   pthread_attr_destroy(&attr);
  #endif
  
 @@ -135,7 +139,7 @@ size_t StackFrameDepth::getUnderestimate
+ }
  
- void* StackFrameDepth::getStackStart()
- {
+ void* StackFrameDepth::getStackStart() {
 -#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
 +#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) || OS(NETBSD)
-     pthread_attr_t attr;
-     int error;
+   pthread_attr_t attr;
+   int error;
  #if OS(FREEBSD)
-@@ -152,7 +156,7 @@ void* StackFrameDepth::getStackStart()
-         pthread_attr_destroy(&attr);
-         return reinterpret_cast<uint8_t*>(base) + size;
-     }
+@@ -152,7 +156,7 @@ void* StackFrameDepth::getStackStart() {
+     pthread_attr_destroy(&attr);
+     return reinterpret_cast<uint8_t*>(base) + size;
+   }
 -#if OS(FREEBSD)
 +#if OS(FREEBSD) || OS(NETBSD)
-     pthread_attr_destroy(&attr);
+   pthread_attr_destroy(&attr);
  #endif
  #if defined(__GLIBC__)
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp
index 50212b633a..7773574c2f 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_web_PopupMenuImpl.cpp
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- third_party/WebKit/Source/web/PopupMenuImpl.cpp.orig	2016-11-10 20:02:27.000000000 +0000
+--- third_party/WebKit/Source/web/PopupMenuImpl.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/web/PopupMenuImpl.cpp
-@@ -156,7 +156,7 @@ public:
-         , m_buffer(buffer)
-     {
-         DCHECK(m_buffer);
+@@ -154,7 +154,7 @@ class PopupMenuImpl::ItemIterationContex
+         m_isInGroup(false),
+         m_buffer(buffer) {
+     DCHECK(m_buffer);
 -#if OS(LINUX)
 +#if OS(LINUX) || OS(BSD)
-         // On other platforms, the <option> background color is the same as the
-         // <select> background color. On Linux, that makes the <option>
-         // background color very dark, so by default, try to use a lighter
+     // On other platforms, the <option> background color is the same as the
+     // <select> background color. On Linux, that makes the <option>
+     // background color very dark, so by default, try to use a lighter
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_Assertions.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_Assertions.cpp
index 6450fc06a9..eca6684e70 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_Assertions.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_Assertions.cpp
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/WebKit/Source/wtf/Assertions.cpp.orig	2016-11-10 20:02:27.000000000 +0000
+--- third_party/WebKit/Source/wtf/Assertions.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/wtf/Assertions.cpp
-@@ -59,7 +59,7 @@
+@@ -60,7 +60,7 @@
  #include <windows.h>
  #endif
  
@@ -11,21 +11,21 @@ $NetBSD$
  #include <cxxabi.h>
  #include <dlfcn.h>
  #include <execinfo.h>
-@@ -163,7 +163,7 @@ void WTFReportAssertionFailure(const cha
+@@ -164,7 +164,7 @@ void WTFReportAssertionFailure(const cha
+ }
  
- void WTFGetBacktrace(void** stack, int* size)
- {
+ void WTFGetBacktrace(void** stack, int* size) {
 -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
 +#if OS(MACOSX) || ((OS(LINUX) || OS(BSD)) && !defined(__UCLIBC__))
-     *size = backtrace(stack, *size);
+   *size = backtrace(stack, *size);
  #elif OS(WIN)
-     // The CaptureStackBackTrace function is available in XP, but it is not defined
-@@ -214,7 +214,7 @@ FrameToNameScope::FrameToNameScope(void*
-     : m_name(0)
-     , m_cxaDemangled(0)
- {
+   // The CaptureStackBackTrace function is available in XP, but it is not
+@@ -215,7 +215,7 @@ class FrameToNameScope {
+ };
+ 
+ FrameToNameScope::FrameToNameScope(void* addr) : m_name(0), m_cxaDemangled(0) {
 -#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
 +#if OS(MACOSX) || ((OS(LINUX) || OS(BSD)) && !defined(__UCLIBC__))
-     Dl_info info;
-     if (!dladdr(addr, &info) || !info.dli_sname)
-         return;
+   Dl_info info;
+   if (!dladdr(addr, &info) || !info.dli_sname)
+     return;
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_Atomics.h b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_Atomics.h
index f4a1c61201..1ba93f7ba4 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_Atomics.h
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_Atomics.h
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- third_party/WebKit/Source/wtf/Atomics.h.orig	2016-11-10 20:02:27.000000000 +0000
+--- third_party/WebKit/Source/wtf/Atomics.h.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/wtf/Atomics.h
-@@ -137,7 +137,7 @@ ALWAYS_INLINE void atomicSetOneToZero(in
+@@ -176,7 +176,7 @@ ALWAYS_INLINE void atomicSetOneToZero(in
  #if defined(THREAD_SANITIZER)
  // The definitions below assume an LP64 data model. This is fine because
  // TSan is only supported on x86_64 Linux.
 -#if CPU(64BIT) && OS(LINUX)
 +#if CPU(64BIT) && (OS(LINUX) || OS(BSD))
- ALWAYS_INLINE void releaseStore(volatile int* ptr, int value)
- {
-     __tsan_atomic32_store(ptr, value, __tsan_memory_order_release);
+ ALWAYS_INLINE void releaseStore(volatile int* ptr, int value) {
+   __tsan_atomic32_store(ptr, value, __tsan_memory_order_release);
+ }
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_BUILD.gn b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_BUILD.gn
new file mode 100644
index 0000000000..dcb83326f5
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_BUILD.gn
@@ -0,0 +1,15 @@
+$NetBSD$
+
+--- third_party/WebKit/Source/wtf/BUILD.gn.orig	2017-02-02 02:03:10.000000000 +0000
++++ third_party/WebKit/Source/wtf/BUILD.gn
+@@ -284,6 +284,10 @@ component("wtf") {
+     libs = [ "dl" ]
+   }
+ 
++  if (is_bsd) {
++    libs = [ "execinfo" ]
++  }
++
+   if (is_mac) {
+     libs = [
+       "CoreFoundation.framework",
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ByteSwap.h b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ByteSwap.h
index 554fb7dd81..d0dbab5d88 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ByteSwap.h
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ByteSwap.h
@@ -1,19 +1,25 @@
 $NetBSD$
 
---- third_party/WebKit/Source/wtf/ByteSwap.h.orig	2016-11-10 20:02:27.000000000 +0000
+--- third_party/WebKit/Source/wtf/ByteSwap.h.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/wtf/ByteSwap.h
-@@ -52,9 +52,15 @@ ALWAYS_INLINE uint16_t bswap16(uint16_t 
+@@ -60,15 +60,21 @@ ALWAYS_INLINE uint16_t bswap16(uint16_t 
  
  #else
  
 +#ifndef bswap64
- ALWAYS_INLINE uint64_t bswap64(uint64_t x) { return __builtin_bswap64(x); }
+ ALWAYS_INLINE uint64_t bswap64(uint64_t x) {
+   return __builtin_bswap64(x);
+ }
 +#endif
 +#ifndef bswap32
- ALWAYS_INLINE uint32_t bswap32(uint32_t x) { return __builtin_bswap32(x); }
+ ALWAYS_INLINE uint32_t bswap32(uint32_t x) {
+   return __builtin_bswap32(x);
+ }
 +#endif
 +#ifndef bswap16
- ALWAYS_INLINE uint16_t bswap16(uint16_t x) { return __builtin_bswap16(x); }
+ ALWAYS_INLINE uint16_t bswap16(uint16_t x) {
+   return __builtin_bswap16(x);
+ }
 +#endif
  
  #endif
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ContainerAnnotations.h b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ContainerAnnotations.h
index e75c30b7ca..631c7a62df 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ContainerAnnotations.h
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ContainerAnnotations.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/WebKit/Source/wtf/ContainerAnnotations.h.orig	2016-11-10 20:02:27.000000000 +0000
+--- third_party/WebKit/Source/wtf/ContainerAnnotations.h.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/wtf/ContainerAnnotations.h
 @@ -10,7 +10,7 @@
  
@@ -9,5 +9,5 @@ $NetBSD$
 -#if defined(ADDRESS_SANITIZER) && OS(LINUX) && CPU(X86_64)
 +#if defined(ADDRESS_SANITIZER) && (OS(LINUX) || OS(BSD)) && CPU(X86_64)
  #define ANNOTATE_CONTIGUOUS_CONTAINER
- #define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize) \
-     if (buffer) { \
+ #define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize)                       \
+   if (buffer) {                                                              \
diff --git a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ThreadingPthreads.cpp b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ThreadingPthreads.cpp
index 622c154516..8d3f60c7b7 100644
--- a/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ThreadingPthreads.cpp
+++ b/chromium-new/patches/patch-third__party_WebKit_Source_wtf_ThreadingPthreads.cpp
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/WebKit/Source/wtf/ThreadingPthreads.cpp.orig	2016-11-10 20:02:27.000000000 +0000
+--- third_party/WebKit/Source/wtf/ThreadingPthreads.cpp.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/WebKit/Source/wtf/ThreadingPthreads.cpp
 @@ -49,11 +49,15 @@
  #include <objc/objc-auto.h>
@@ -12,7 +12,7 @@ $NetBSD$
  #endif
  
 -#if OS(LINUX) || OS(ANDROID)
-+#if OS(BSD) && !defined(__NetBSD__)
++#if OS(FREEBSD)
 +#include <pthread_np.h>
 +#endif
 +
@@ -20,12 +20,12 @@ $NetBSD$
  #include <unistd.h>
  #endif
  
-@@ -95,6 +99,8 @@ ThreadIdentifier currentThread()
-     return pthread_mach_thread_np(pthread_self());
+@@ -91,6 +95,8 @@ ThreadIdentifier currentThread() {
+   return pthread_mach_thread_np(pthread_self());
  #elif OS(LINUX)
-     return syscall(__NR_gettid);
-+#elif defined(__FreeBSD__)
-+    return pthread_getthreadid_np();
+   return syscall(__NR_gettid);
++#elif OS(FREEBSD)
++  return pthread_getthreadid_np();
  #elif OS(ANDROID)
-     return gettid();
+   return gettid();
  #else
diff --git a/chromium-new/patches/patch-third__party_angle_BUILD.gn b/chromium-new/patches/patch-third__party_angle_BUILD.gn
new file mode 100644
index 0000000000..7f25b94f76
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_angle_BUILD.gn
@@ -0,0 +1,39 @@
+$NetBSD$
+
+--- third_party/angle/BUILD.gn.orig	2017-02-02 02:03:46.000000000 +0000
++++ third_party/angle/BUILD.gn
+@@ -16,6 +16,12 @@ if (ozone_platform_gbm) {
+   }
+ }
+ 
++if (use_x11) {
++  pkg_config("x11") {
++    packages = [ "x11", "xi", "xext" ]
++  }
++}
++
+ angle_git_is_present = exec_script("src/commit_id.py",
+                                    [
+                                      "check",
+@@ -340,11 +346,7 @@ static_library("libANGLE") {
+     if (use_x11) {
+       sources += rebase_path(gles_gypi.libangle_gl_glx_sources, ".", "src")
+       deps += [ "src/third_party/libXNVCtrl:libXNVCtrl" ]
+-      libs += [
+-        "X11",
+-        "Xi",
+-        "Xext",
+-      ]
++      configs += [ ":x11" ]
+     }
+     if (is_mac) {
+       sources += rebase_path(gles_gypi.libangle_gl_cgl_sources, ".", "src")
+@@ -486,7 +488,7 @@ util_gypi = exec_script("//build/gypi_to
+ 
+ config("angle_util_config") {
+   include_dirs = [ "util" ]
+-  if (is_linux && use_x11) {
++  if ((is_linux || is_bsd) && use_x11) {
+     libs = [ "X11" ]
+   }
+ }
diff --git a/chromium-new/patches/patch-third__party_angle_gni_angle.gni b/chromium-new/patches/patch-third__party_angle_gni_angle.gni
new file mode 100644
index 0000000000..e77b3dd93e
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_angle_gni_angle.gni
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/angle/gni/angle.gni.orig	2017-02-02 02:03:46.000000000 +0000
++++ third_party/angle/gni/angle.gni
+@@ -20,6 +20,8 @@ if (is_win) {
+   import("//build/config/win/visual_studio_version.gni")
+ } else if (is_linux && use_x11 && !is_chromeos) {
+   angle_enable_gl = true
++} else if (is_bsd) {
++  angle_enable_gl = true
+ } else if (is_mac || ozone_platform_gbm) {
+   angle_enable_gl = true
+ } else if (is_android) {
diff --git a/chromium-new/patches/patch-third__party_angle_src_tests_BUILD.gn b/chromium-new/patches/patch-third__party_angle_src_tests_BUILD.gn
index 9d8f1844a0..61b8c060bf 100644
--- a/chromium-new/patches/patch-third__party_angle_src_tests_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_angle_src_tests_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/angle/src/tests/BUILD.gn.orig	2016-11-10 20:02:57.000000000 +0000
+--- third_party/angle/src/tests/BUILD.gn.orig	2017-02-02 02:03:47.000000000 +0000
 +++ third_party/angle/src/tests/BUILD.gn
 @@ -41,7 +41,7 @@ test("angle_unittests") {
    ]
@@ -11,3 +11,57 @@ $NetBSD$
    end2end_gypi = exec_script("//build/gypi_to_gn.py",
                               [
                                 rebase_path("angle_end2end_tests.gypi"),
+@@ -82,7 +82,7 @@ if (is_win || is_linux || is_mac || is_a
+       "//third_party/angle:libANGLE_config",
+     ]
+ 
+-    if (is_linux && !is_component_build) {
++    if ((is_linux || is_bsd) && !is_component_build) {
+       # Set rpath to find libEGL.so and libGLESv2.so even in a non-component build.
+       configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
+     }
+@@ -175,7 +175,7 @@ if (build_angle_deqp_tests) {
+     # Ask the system headers to expose all the regular function otherwise
+     # dEQP doesn't compile and produces warnings about implicitly defined
+     # functions.
+-    if (is_linux) {
++    if (is_linux || is_bsd) {
+       # This has to be GNU_SOURCE as on Linux dEQP uses syscall()
+       defines += [ "_GNU_SOURCE" ]
+     }
+@@ -198,7 +198,7 @@ if (build_angle_deqp_tests) {
+     ]
+   }
+ 
+-  if (is_linux || is_android) {
++  if (is_linux || is_android || is_bsd) {
+     deqp_undefine_configs += [ "//build/config/gcc:no_exceptions" ]
+   }
+ 
+@@ -234,7 +234,7 @@ if (build_angle_deqp_tests) {
+     if (is_win) {
+       sources += rebase_path(deqp_gypi.deqp_libtester_sources_win, ".", "../..")
+     }
+-    if (is_linux || is_android) {
++    if (is_linux || is_android || is_bsd) {
+       sources +=
+           rebase_path(deqp_gypi.deqp_libtester_sources_unix, ".", "../..")
+     }
+@@ -262,7 +262,7 @@ if (build_angle_deqp_tests) {
+ 
+     # Taken from gpu/BUILD.gn
+     # TODO(jmadill): this should be in a shared location
+-    if (is_linux && !is_chromecast) {
++    if ((is_linux || is_bsd) && !is_chromecast) {
+       libs = [ "pci" ]
+     }
+   }
+@@ -335,7 +335,7 @@ if (build_angle_deqp_tests) {
+         "../../../deqp/src/data/",
+       ]
+ 
+-      if (is_linux && !is_component_build) {
++      if ((is_linux || is_bsd) && !is_component_build) {
+         # Set rpath to find *.so files even in a non-component build.
+         configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
+       }
diff --git a/chromium-new/patches/patch-third__party_boringssl_BUILD.gn b/chromium-new/patches/patch-third__party_boringssl_BUILD.gn
index 56803ce172..4c0a200672 100644
--- a/chromium-new/patches/patch-third__party_boringssl_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_boringssl_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/boringssl/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/boringssl/BUILD.gn.orig	2017-02-02 02:03:10.000000000 +0000
 +++ third_party/boringssl/BUILD.gn
-@@ -88,7 +88,7 @@ if (is_win && !is_msan) {
+@@ -83,7 +83,7 @@ if (is_win && !is_msan) {
      } else if (current_cpu == "x64") {
        if (is_mac) {
          sources += crypto_sources_mac_x86_64
@@ -11,7 +11,7 @@ $NetBSD$
          sources += crypto_sources_linux_x86_64
        } else {
          public_configs = [ ":no_asm_config" ]
-@@ -96,14 +96,14 @@ if (is_win && !is_msan) {
+@@ -91,14 +91,14 @@ if (is_win && !is_msan) {
      } else if (current_cpu == "x86") {
        if (is_mac) {
          sources += crypto_sources_mac_x86
@@ -27,5 +27,5 @@ $NetBSD$
 -    } else if (current_cpu == "arm64" && (is_linux || is_android)) {
 +    } else if (current_cpu == "arm64" && (is_linux || is_bsd || is_android)) {
        sources += crypto_sources_linux_aarch64
- 
-       # TODO(davidben): Remove explicit arch flag once https://crbug.com/576858
+     } else {
+       public_configs = [ ":no_asm_config" ]
diff --git a/chromium-new/patches/patch-third__party_boringssl_src_crypto_ex__data.c b/chromium-new/patches/patch-third__party_boringssl_src_crypto_ex__data.c
new file mode 100644
index 0000000000..58887f23eb
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_boringssl_src_crypto_ex__data.c
@@ -0,0 +1,15 @@
+$NetBSD$
+
+--- third_party/boringssl/src/crypto/ex_data.c.orig	2017-02-02 02:03:46.000000000 +0000
++++ third_party/boringssl/src/crypto/ex_data.c
+@@ -188,7 +188,9 @@ int CRYPTO_set_ex_data(CRYPTO_EX_DATA *a
+     }
+   }
+ 
+-  sk_void_set(ad->sk, index, val);
++  // expression result unused; should this cast be to 'void'?
++  // seems it should, feel free to investigate those #def
++  (void) sk_void_set(ad->sk, index, val);
+   return 1;
+ }
+ 
diff --git a/chromium-new/patches/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h b/chromium-new/patches/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h
index 2a8409cfab..fea4a67fa8 100644
--- a/chromium-new/patches/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h
+++ b/chromium-new/patches/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h
 @@ -334,6 +334,8 @@ class Status {
       */
diff --git a/chromium-new/patches/patch-third__party_cython_rules.gni b/chromium-new/patches/patch-third__party_cython_rules.gni
deleted file mode 100644
index 6a944cc18c..0000000000
--- a/chromium-new/patches/patch-third__party_cython_rules.gni
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD$
-
---- third_party/cython/rules.gni.orig	2016-11-10 20:02:28.000000000 +0000
-+++ third_party/cython/rules.gni
-@@ -6,7 +6,7 @@ import("//build/toolchain/toolchain.gni"
- 
- template("python_binary_source_set") {
-   # Only available on linux for now.
--  assert(is_linux)
-+  assert(is_linux || is_bsd)
-   assert(defined(invoker.cython_sources) || defined(invoker.sources))
- 
-   config_name = target_name + "_python_config"
-@@ -81,7 +81,7 @@ template("python_binary_source_set") {
- 
- template("python_binary_module") {
-   # Only available on linux for now.
--  assert(is_linux)
-+  assert(is_linux || is_bsd)
- 
-   has_sources = defined(invoker.cython_sources) || defined(invoker.sources)
- 
-@@ -92,7 +92,7 @@ template("python_binary_module") {
-   sources_target_name = target_name + "_cython_sources"
-   shared_library_name = target_name + "_shared_library"
- 
--  if (is_linux) {
-+  if (is_linux || is_bsd) {
-     shared_library_prefix = "lib"
-     shared_library_suffix = ".so"
-     python_module_suffix = ".so"
diff --git a/chromium-new/patches/patch-third__party_expat_BUILD.gn b/chromium-new/patches/patch-third__party_expat_BUILD.gn
index 61220a0a92..71903cba44 100644
--- a/chromium-new/patches/patch-third__party_expat_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_expat_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/expat/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/expat/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/expat/BUILD.gn
 @@ -9,7 +9,7 @@ import("//testing/libfuzzer/fuzzer_test.
  # let's not pull it in twice.
diff --git a/chromium-new/patches/patch-third__party_ffmpeg_BUILD.gn b/chromium-new/patches/patch-third__party_ffmpeg_BUILD.gn
new file mode 100644
index 0000000000..b44b40ca1a
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_ffmpeg_BUILD.gn
@@ -0,0 +1,20 @@
+$NetBSD$
+
+--- third_party/ffmpeg/BUILD.gn.orig	2017-02-02 02:03:48.000000000 +0000
++++ third_party/ffmpeg/BUILD.gn
+@@ -6,8 +6,13 @@ import("ffmpeg_options.gni")
+ import("ffmpeg_generated.gni")
+ 
+ # Path to platform configuration files.
+-platform_config_root =
+-    "chromium/config/$ffmpeg_branding/$os_config/$ffmpeg_arch"
++if (!is_bsd) {
++  platform_config_root =
++      "chromium/config/$ffmpeg_branding/$os_config/$ffmpeg_arch"
++} else {
++  platform_config_root =
++      "chromium/config/$ffmpeg_branding/linux/$ffmpeg_arch"
++}
+ 
+ has_yasm_deps =
+     ffmpeg_yasm_sources != [] &&
diff --git a/chromium-new/patches/patch-third__party_ffmpeg_chromium_scripts_generate__gyp.py b/chromium-new/patches/patch-third__party_ffmpeg_chromium_scripts_generate__gyp.py
deleted file mode 100644
index 72de20f65a..0000000000
--- a/chromium-new/patches/patch-third__party_ffmpeg_chromium_scripts_generate__gyp.py
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
---- third_party/ffmpeg/chromium/scripts/generate_gyp.py.orig	2016-11-10 20:02:58.000000000 +0000
-+++ third_party/ffmpeg/chromium/scripts/generate_gyp.py
-@@ -43,6 +43,8 @@ import sys
- COPYRIGHT = """# Copyright %d 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.
-+#
-+# modified: cmt%burggraben.net@localhost
- 
- # NOTE: this file is autogenerated by ffmpeg/chromium/scripts/generate_gyp.py
- 
-@@ -372,6 +374,8 @@ class SourceSet(object):
- 
-       if condition.PLATFORM == '*':
-         platform_condition = None
-+      elif condition.PLATFORM == 'linux':
-+        platform_condition = '(OS == "%s" or os_bsd == 1)' % condition.PLATFORM
-       else:
-         platform_condition = 'OS == "%s"' % condition.PLATFORM
- 
diff --git a/chromium-new/patches/patch-third__party_ffmpeg_ffmpeg__generated.gni b/chromium-new/patches/patch-third__party_ffmpeg_ffmpeg__generated.gni
index 14d3b46318..d817c16e18 100644
--- a/chromium-new/patches/patch-third__party_ffmpeg_ffmpeg__generated.gni
+++ b/chromium-new/patches/patch-third__party_ffmpeg_ffmpeg__generated.gni
@@ -1,193 +1,150 @@
 $NetBSD$
 
---- third_party/ffmpeg/ffmpeg_generated.gni.orig	2016-11-10 20:02:58.000000000 +0000
+--- third_party/ffmpeg/ffmpeg_generated.gni.orig	2017-02-02 02:03:48.000000000 +0000
 +++ third_party/ffmpeg/ffmpeg_generated.gni
 @@ -12,7 +12,7 @@ ffmpeg_c_sources = []
  ffmpeg_gas_sources = []
  ffmpeg_yasm_sources = []
  
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") 
|| (is_android && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") |
 | (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium"
 ) || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") 
|| (is_android && current_cpu == "x86" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && c
 urrent_cpu == "arm64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || ((is_linux 
 || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
+-if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm") || (is_linux && current_cpu == "arm64") || (is_linux && current_cpu == "mipsel") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
++if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm") || ((is_linux || is_bsd) && current_cpu == "arm64") || ((is_linux || is_bsd) && current_cpu == "mipsel") || ((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
    ffmpeg_c_sources += [
      "libavcodec/allcodecs.c",
-     "libavcodec/autorename_libavcodec_utils.c",
-@@ -146,7 +146,7 @@ if ((is_android && current_cpu == "arm" 
+     "libavcodec/autorename_libavcodec_flacdec.c",
+@@ -160,7 +160,7 @@ if ((is_android && current_cpu == "arm" 
    ]
  }
  
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "
Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chr
 ome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || ((i
s_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrom
 ium") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
+-if ((is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm") || (is_linux && current_cpu == "arm64") || (is_linux && current_cpu == "mipsel") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
++if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm") || ((is_linux || is_bsd) && current_cpu == "arm64") || ((is_linux || is_bsd) && current_cpu == "mipsel") || ((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
    ffmpeg_c_sources += [
-     "libavcodec/h264pred.c",
-     "libavcodec/hpeldsp.c",
-@@ -161,13 +161,13 @@ if ((is_linux && current_cpu == "arm" &&
+     "libavcodec/autorename_libavcodec_hpeldsp.c",
+     "libavcodec/autorename_libavcodec_videodsp.c",
+@@ -175,7 +175,7 @@ if ((is_linux && current_cpu == "arm" &&
    ]
  }
  
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chr
omiumOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding 
 == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || 
((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "C
 hromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-   ffmpeg_c_sources += [
-     "libavformat/rawdec.c",
-   ]
- }
- 
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_l
inux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_b
sd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
+-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && curre
nt_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
++if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_b
sd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
    ffmpeg_c_sources += [
      "libavcodec/aac_ac3_parser.c",
      "libavcodec/aac_parser.c",
-@@ -209,7 +209,7 @@ if ((is_android && current_cpu == "arm" 
+@@ -212,7 +212,7 @@ if ((current_cpu == "x64" && ffmpeg_bran
    ]
  }
  
--if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromi
um") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
-+if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" 
&& ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
+-if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
++if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || ((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
    ffmpeg_c_sources += [
      "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
      "libavcodec/x86/constants.c",
-@@ -221,7 +221,7 @@ if ((is_android && current_cpu == "x64" 
+@@ -225,7 +225,7 @@ if ((is_android && current_cpu == "x64")
    ]
  }
  
--if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || 
(is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
-+if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpe
g_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
-   ffmpeg_yasm_sources += [
-     "libavcodec/x86/fft.asm",
-     "libavcodec/x86/vorbisdsp.asm",
-@@ -232,7 +232,7 @@ if ((is_android && current_cpu == "x64" 
-   ]
- }
- 
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && 
ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "
x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
+-if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome")) {
++if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "
x86" && ffmpeg_branding == "ChromeOS") || (is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome")) {
    ffmpeg_c_sources += [
      "libavcodec/cabac.c",
-     "libavcodec/h264.c",
-@@ -255,7 +255,7 @@ if ((is_linux && current_cpu == "arm" &&
+     "libavcodec/h2645_parse.c",
+@@ -257,7 +257,7 @@ if ((is_android && current_cpu == "arm" 
    ]
  }
  
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd)
 && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS")) {
+-if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm")) {
++if ((is_android && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm")) {
    ffmpeg_c_sources += [
      "libavcodec/arm/fft_fixed_init_arm.c",
      "libavcodec/arm/fft_init_arm.c",
-@@ -271,7 +271,7 @@ if ((is_android && current_cpu == "arm" 
+@@ -276,7 +276,7 @@ if ((is_android && current_cpu == "arm" 
    ]
  }
  
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bs
d) && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS")) {
-   ffmpeg_c_sources += [
-     "libavcodec/flac.c",
-     "libavcodec/flac_parser.c",
-@@ -282,7 +282,7 @@ if ((is_linux && current_cpu == "arm" &&
-   ]
- }
- 
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS")) {
-   ffmpeg_c_sources += [
-     "libavcodec/arm/h264pred_init_arm.c",
-     "libavcodec/arm/hpeldsp_init_arm.c",
-@@ -302,7 +302,7 @@ if ((is_linux && current_cpu == "arm" &&
-   ]
- }
- 
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS")) {
-   ffmpeg_c_sources += [
-     "libavutil/arm/float_dsp_init_neon.c",
-   ]
-@@ -317,7 +317,7 @@ if ((is_android && current_cpu == "arm" 
+-if ((is_android && current_cpu == "x64") || (is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
++if ((is_android && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
+   ffmpeg_yasm_sources += [
+     "libavcodec/x86/fft.asm",
+     "libavcodec/x86/flacdsp.asm",
+@@ -288,7 +288,7 @@ if ((is_android && current_cpu == "x64")
    ]
  }
  
--if ((is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
-+if (((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chromium") || (is_win && current_cpu == "x86" && ffmpeg_brandi
ng == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chromium")) {
+-if ((is_linux && current_cpu == "x64") || (is_linux && current_cpu == "x86") || (is_mac) || (is_win)) {
++if (((is_linux || is_bsd) && current_cpu == "x64") || ((is_linux || is_bsd) && current_cpu == "x86") || (is_mac) || (is_win)) {
    ffmpeg_c_sources += [
      "libavcodec/x86/autorename_libavcodec_x86_videodsp_init.c",
      "libavcodec/x86/h264_intrapred_init.c",
-@@ -337,13 +337,13 @@ if ((is_linux && current_cpu == "x64" &&
-   ]
- }
- 
--if ((is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS")) {
-+if ((is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mips64el" && ffmpeg_branding == "Chromium") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS")) {
-   ffmpeg_c_sources += [
-     "libavutil/mips/float_dsp_mips.c",
+@@ -308,7 +308,7 @@ if ((is_linux && current_cpu == "x64") |
    ]
  }
  
--if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
+-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
++if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
    ffmpeg_c_sources += [
      "libavcodec/x86/aacpsdsp_init.c",
      "libavcodec/x86/dct_init.c",
-@@ -352,7 +352,7 @@ if ((is_android && current_cpu == "x64" 
+@@ -317,7 +317,7 @@ if ((current_cpu == "x64" && ffmpeg_bran
    ]
  }
  
--if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+if ((is_android && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
+-if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
++if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_win && ffmpeg_branding == "Chrome")) {
    ffmpeg_yasm_sources += [
      "libavcodec/x86/aacpsdsp.asm",
      "libavcodec/x86/dct32.asm",
-@@ -361,7 +361,7 @@ if ((is_android && current_cpu == "x64" 
+@@ -326,7 +326,7 @@ if ((current_cpu == "x64" && ffmpeg_bran
    ]
  }
  
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
+-if ((is_linux && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm")) {
++if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm")) {
    ffmpeg_c_sources += [
-     "libavcodec/arm/aacpsdsp_init_arm.c",
-     "libavcodec/arm/mpegaudiodsp_init_arm.c",
-@@ -372,7 +372,7 @@ if ((is_android && current_cpu == "arm" 
+     "libavcodec/arm/h264pred_init_arm.c",
+     "libavcodec/arm/hpeldsp_init_arm.c",
+@@ -346,13 +346,13 @@ if ((is_linux && current_cpu == "arm" &&
    ]
  }
  
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
+-if ((is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || (is_linux && current_cpu == "mipsel")) {
++if ((is_android && current_cpu == "mips64el") || (is_android && current_cpu == "mipsel") || ((is_linux || is_bsd) && current_cpu == "mipsel")) {
    ffmpeg_c_sources += [
-     "libavcodec/acelp_filters.c",
-     "libavcodec/acelp_pitch_delay.c",
-@@ -427,7 +427,7 @@ if ((is_linux && current_cpu == "arm" &&
+     "libavutil/mips/float_dsp_mips.c",
    ]
  }
  
--if ((is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromiumOS")) {
+-if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
++if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
    ffmpeg_c_sources += [
-     "libavcodec/mips/h264pred_init_mips.c",
-     "libavcodec/mips/hpeldsp_init_mips.c",
-@@ -435,7 +435,7 @@ if ((is_linux && current_cpu == "mipsel"
+     "libavcodec/acelp_filters.c",
+     "libavcodec/acelp_pitch_delay.c",
+@@ -407,7 +407,7 @@ if ((is_linux && current_cpu == "arm" &&
    ]
  }
  
--if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS")) {
-+if ((is_android && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS")) {
+-if ((is_android && current_cpu == "arm64") || (is_linux && current_cpu == "arm64")) {
++if ((is_android && current_cpu == "arm64") || ((is_linux || is_bsd) && current_cpu == "arm64")) {
    ffmpeg_c_sources += [
      "libavcodec/aarch64/fft_init_aarch64.c",
      "libavcodec/aarch64/vorbisdsp_init.c",
-@@ -450,7 +450,7 @@ if ((is_android && current_cpu == "arm64
+@@ -422,7 +422,7 @@ if ((is_android && current_cpu == "arm64
    ]
  }
  
--if ((is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm64" && ffmpeg_branding == "ChromiumOS")) {
+-if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
++if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
    ffmpeg_c_sources += [
-     "libavcodec/aarch64/h264pred_init.c",
-     "libavcodec/aarch64/hpeldsp_init_aarch64.c",
-@@ -463,7 +463,7 @@ if ((is_linux && current_cpu == "arm64" 
+     "libavcodec/arm/aacpsdsp_init_arm.c",
+     "libavcodec/arm/mpegaudiodsp_init_arm.c",
+@@ -433,7 +433,7 @@ if ((is_android && current_cpu == "arm" 
    ]
  }
  
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && ffmpeg_branding == "ChromiumOS")) {
+-if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_linux && current_cpu == "arm" && arm_use_neon)) {
++if ((is_android && current_cpu == "arm" && arm_use_neon) || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon)) {
    ffmpeg_c_sources += [
-     "libavcodec/arm/flacdsp_init_arm.c",
+     "libavutil/arm/float_dsp_init_neon.c",
    ]
-@@ -472,7 +472,7 @@ if ((is_linux && current_cpu == "arm" &&
+@@ -448,7 +448,7 @@ if ((is_android && current_cpu == "arm" 
    ]
  }
  
@@ -196,33 +153,16 @@ $NetBSD$
    ffmpeg_c_sources += [
      "libavcodec/arm/h264chroma_init_arm.c",
      "libavcodec/arm/h264dsp_init_arm.c",
-@@ -483,7 +483,7 @@ if ((is_linux && current_cpu == "arm" &&
+@@ -459,7 +459,7 @@ if ((is_linux && current_cpu == "arm" &&
    ]
  }
  
--if ((is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chromium") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromiumOS")) {
-   ffmpeg_c_sources += [
-     "libavcodec/arm/hpeldsp_init_neon.c",
-     "libavcodec/arm/vp8dsp_init_neon.c",
-@@ -496,14 +496,14 @@ if ((is_linux && current_cpu == "arm" &&
-   ]
- }
- 
--if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
-+if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_android && current_cpu == "arm" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
-   ffmpeg_gas_sources += [
-     "libavcodec/arm/aacpsdsp_neon.S",
-     "libavcodec/arm/sbrdsp_neon.S",
-   ]
- }
- 
--if ((is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
-+if (((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
+-if ((is_linux && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome")) {
++if (((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome")) {
    ffmpeg_c_sources += [
      "libavcodec/x86/h264_qpel.c",
      "libavcodec/x86/h264chroma_init.c",
-@@ -524,7 +524,7 @@ if ((is_linux && current_cpu == "x64" &&
+@@ -480,7 +480,7 @@ if ((is_linux && current_cpu == "x64" &&
    ]
  }
  
@@ -231,16 +171,16 @@ $NetBSD$
    ffmpeg_c_sources += [
      "libavcodec/mips/aacdec_mips.c",
      "libavcodec/mips/aacpsdsp_mips.c",
-@@ -533,7 +533,7 @@ if ((is_android && current_cpu == "mips6
+@@ -489,7 +489,7 @@ if ((is_android && current_cpu == "mips6
    ]
  }
  
--if ((is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || (is_linux && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS")) {
-+if (((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x64" && ffmpeg_branding == "ChromiumOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromeOS") || ((is_linux || is_bsd) && current_cpu == "x86" && ffmpeg_branding == "ChromiumOS")) {
+-if (is_linux && current_cpu == "mipsel") {
++if ((is_linux || is_bsd) && current_cpu == "mipsel") {
    ffmpeg_c_sources += [
-     "libavcodec/x86/flacdsp_init.c",
-   ]
-@@ -548,7 +548,7 @@ if ((is_win && current_cpu == "x64" && f
+     "libavcodec/mips/h264pred_init_mips.c",
+     "libavcodec/mips/hpeldsp_init_mips.c",
+@@ -497,7 +497,7 @@ if (is_linux && current_cpu == "mipsel")
    ]
  }
  
@@ -249,7 +189,16 @@ $NetBSD$
    ffmpeg_c_sources += [
      "libavcodec/mips/h264chroma_init_mips.c",
      "libavcodec/mips/h264dsp_init_mips.c",
-@@ -556,7 +556,7 @@ if ((is_linux && current_cpu == "mipsel"
+@@ -505,7 +505,7 @@ if ((is_linux && current_cpu == "mipsel"
+   ]
+ }
+ 
+-if (is_linux && current_cpu == "arm64") {
++if ((is_linux || is_bsd) && current_cpu == "arm64") {
+   ffmpeg_c_sources += [
+     "libavcodec/aarch64/h264pred_init.c",
+     "libavcodec/aarch64/hpeldsp_init_aarch64.c",
+@@ -518,7 +518,7 @@ if (is_linux && current_cpu == "arm64") 
    ]
  }
  
@@ -258,7 +207,7 @@ $NetBSD$
    ffmpeg_c_sources += [
      "libavcodec/aarch64/imdct15_init.c",
      "libavcodec/aarch64/mpegaudiodsp_init.c",
-@@ -567,7 +567,7 @@ if ((is_android && current_cpu == "arm64
+@@ -529,7 +529,7 @@ if ((is_android && current_cpu == "arm64
    ]
  }
  
@@ -267,7 +216,24 @@ $NetBSD$
    ffmpeg_c_sources += [
      "libavcodec/aarch64/h264chroma_init_aarch64.c",
      "libavcodec/aarch64/h264dsp_init_aarch64.c",
-@@ -581,7 +581,7 @@ if ((is_linux && current_cpu == "arm64" 
+@@ -543,7 +543,7 @@ if ((is_linux && current_cpu == "arm64" 
+   ]
+ }
+ 
+-if (is_linux && current_cpu == "arm" && arm_use_neon) {
++if ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon) {
+   ffmpeg_c_sources += [
+     "libavcodec/arm/hpeldsp_init_neon.c",
+     "libavcodec/arm/vp8dsp_init_neon.c",
+@@ -556,14 +556,14 @@ if (is_linux && current_cpu == "arm" && 
+   ]
+ }
+ 
+-if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (is_linux && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
++if ((is_android && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || ((is_linux || is_bsd) && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
+   ffmpeg_gas_sources += [
+     "libavcodec/arm/aacpsdsp_neon.S",
+     "libavcodec/arm/sbrdsp_neon.S",
    ]
  }
  
@@ -276,7 +242,7 @@ $NetBSD$
    ffmpeg_c_sources += [
      "libavcodec/arm/blockdsp_init_arm.c",
      "libavcodec/arm/idctdsp_init_arm.c",
-@@ -605,13 +605,13 @@ if ((is_linux && current_cpu == "arm" &&
+@@ -587,13 +587,13 @@ if ((is_linux && current_cpu == "arm" &&
    ]
  }
  
@@ -292,7 +258,7 @@ $NetBSD$
    ffmpeg_gas_sources += [
      "libavcodec/arm/h264cmc_neon.S",
      "libavcodec/arm/h264dsp_neon.S",
-@@ -626,7 +626,7 @@ if ((is_win && current_cpu == "x64" && f
+@@ -608,7 +608,7 @@ if (is_win && current_cpu == "x64") {
    ]
  }
  
@@ -301,7 +267,7 @@ $NetBSD$
    ffmpeg_c_sources += [
      "libavcodec/x86/blockdsp_init.c",
      "libavcodec/x86/fdct.c",
-@@ -653,7 +653,7 @@ if ((is_linux && current_cpu == "x64" &&
+@@ -635,7 +635,7 @@ if ((is_linux && current_cpu == "x64" &&
    ]
  }
  
@@ -310,7 +276,7 @@ $NetBSD$
    ffmpeg_c_sources += [
      "libavcodec/mips/blockdsp_init_mips.c",
      "libavcodec/mips/h263dsp_init_mips.c",
-@@ -666,7 +666,7 @@ if (is_linux && current_cpu == "mipsel" 
+@@ -648,7 +648,7 @@ if (is_linux && current_cpu == "mipsel" 
    ]
  }
  
diff --git a/chromium-new/patches/patch-third__party_ffmpeg_libavutil_cpu.c b/chromium-new/patches/patch-third__party_ffmpeg_libavutil_cpu.c
new file mode 100644
index 0000000000..a85caf3552
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_ffmpeg_libavutil_cpu.c
@@ -0,0 +1,20 @@
+$NetBSD$
+
+--- third_party/ffmpeg/libavutil/cpu.c.orig	2017-02-02 02:03:48.000000000 +0000
++++ third_party/ffmpeg/libavutil/cpu.c
+@@ -25,9 +25,15 @@
+ #include "common.h"
+ 
+ #if HAVE_SCHED_GETAFFINITY
++#if defined(__NetBSD__)
++#ifndef _NETBSD_SOURCE
++# define _NETBSD_SOURCE
++#endif
++#else
+ #ifndef _GNU_SOURCE
+ # define _GNU_SOURCE
+ #endif
++#endif
+ #include <sched.h>
+ #endif
+ #if HAVE_GETPROCESSAFFINITYMASK || HAVE_WINRT
diff --git a/chromium-new/patches/patch-third__party_ffmpeg_libavutil_mem.c b/chromium-new/patches/patch-third__party_ffmpeg_libavutil_mem.c
new file mode 100644
index 0000000000..a039008277
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_ffmpeg_libavutil_mem.c
@@ -0,0 +1,14 @@
+$NetBSD$
+
+--- third_party/ffmpeg/libavutil/mem.c.orig	2017-02-02 02:03:48.000000000 +0000
++++ third_party/ffmpeg/libavutil/mem.c
+@@ -32,9 +32,6 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_MALLOC_H
+-#include <malloc.h>
+-#endif
+ 
+ #include "avassert.h"
+ #include "avutil.h"
diff --git a/chromium-new/patches/patch-third__party_fontconfig_BUILD.gn b/chromium-new/patches/patch-third__party_fontconfig_BUILD.gn
index feb5c45d76..c5967f5902 100644
--- a/chromium-new/patches/patch-third__party_fontconfig_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_fontconfig_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/fontconfig/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/fontconfig/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/fontconfig/BUILD.gn
 @@ -2,7 +2,7 @@
  # Use of this source code is governed by a BSD-style license that can be
diff --git a/chromium-new/patches/patch-third__party_freetype2_BUILD.gn b/chromium-new/patches/patch-third__party_freetype2_BUILD.gn
index 028259e2f2..cb55e76b91 100644
--- a/chromium-new/patches/patch-third__party_freetype2_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_freetype2_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/freetype2/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/freetype2/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/freetype2/BUILD.gn
 @@ -2,7 +2,7 @@
  # Use of this source code is governed by a BSD-style license that can be
diff --git a/chromium-new/patches/patch-third__party_glslang_BUILD.gn b/chromium-new/patches/patch-third__party_glslang_BUILD.gn
index d1613818a0..7f4df4a995 100644
--- a/chromium-new/patches/patch-third__party_glslang_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_glslang_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/glslang/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/glslang/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/glslang/BUILD.gn
 @@ -8,7 +8,7 @@ config("glslang_config") {
    include_dirs = [ "src" ]
diff --git a/chromium-new/patches/patch-third__party_harfbuzz-ng_BUILD.gn b/chromium-new/patches/patch-third__party_harfbuzz-ng_BUILD.gn
index bba49ef4cf..e30e340080 100644
--- a/chromium-new/patches/patch-third__party_harfbuzz-ng_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_harfbuzz-ng_BUILD.gn
@@ -1,10 +1,10 @@
 $NetBSD$
 
---- third_party/harfbuzz-ng/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/harfbuzz-ng/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/harfbuzz-ng/BUILD.gn
 @@ -50,7 +50,7 @@ if (use_system_harfbuzz) {
  
-   # See also chrome/browser/ui/libgtk2ui/BUILD.gn which pulls this.
+   # See also chrome/browser/ui/libgtkui/BUILD.gn which pulls this.
    config("pangoft2_link_hack") {
 -    if (is_linux && use_pango && !is_chromeos && !is_official_build &&
 +    if ((is_linux || is_bsd) && use_pango && !is_chromeos && !is_official_build &&
diff --git a/chromium-new/patches/patch-third__party_icu_android_patch__locale.sh b/chromium-new/patches/patch-third__party_icu_android_patch__locale.sh
index 5d6a064a50..fef2489ff6 100644
--- a/chromium-new/patches/patch-third__party_icu_android_patch__locale.sh
+++ b/chromium-new/patches/patch-third__party_icu_android_patch__locale.sh
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/icu/android/patch_locale.sh.orig	2016-11-10 20:02:59.000000000 +0000
+--- third_party/icu/android/patch_locale.sh.orig	2017-02-02 02:03:49.000000000 +0000
 +++ third_party/icu/android/patch_locale.sh
 @@ -26,7 +26,7 @@ cd source/data
  for i in curr/*.txt
diff --git a/chromium-new/patches/patch-third__party_icu_source_configure b/chromium-new/patches/patch-third__party_icu_source_configure
index 13a0adf1d5..7c0bc825da 100644
--- a/chromium-new/patches/patch-third__party_icu_source_configure
+++ b/chromium-new/patches/patch-third__party_icu_source_configure
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/icu/source/configure.orig	2016-11-10 20:02:59.000000000 +0000
+--- third_party/icu/source/configure.orig	2017-02-02 02:03:49.000000000 +0000
 +++ third_party/icu/source/configure
-@@ -7765,13 +7765,13 @@ fi
+@@ -7772,13 +7772,13 @@ fi
  # Now that we're done using CPPFLAGS etc. for tests, we can change it
  # for build.
  
diff --git a/chromium-new/patches/patch-third__party_leveldatabase_env__chromium.cc b/chromium-new/patches/patch-third__party_leveldatabase_env__chromium.cc
index 9a768b1e5d..df48f1fa4a 100644
--- a/chromium-new/patches/patch-third__party_leveldatabase_env__chromium.cc
+++ b/chromium-new/patches/patch-third__party_leveldatabase_env__chromium.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/leveldatabase/env_chromium.cc.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/leveldatabase/env_chromium.cc.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/leveldatabase/env_chromium.cc
-@@ -23,7 +23,11 @@
+@@ -25,7 +25,11 @@
  #include "base/trace_event/trace_event.h"
  #include "third_party/leveldatabase/chromium_logger.h"
  #include "third_party/leveldatabase/src/include/leveldb/options.h"
diff --git a/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h b/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
index eba5ceea7e..fc4240fa3d 100644
--- a/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
+++ b/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h.orig	2016-11-10 20:03:01.000000000 +0000
+--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h.orig	2017-02-02 02:03:50.000000000 +0000
 +++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h
 @@ -56,7 +56,7 @@ template <class T> boost::once_flag Sing
  #include "phonenumbers/base/logging.h"
diff --git a/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h b/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
index 5b4ca26c76..9baa19c863 100644
--- a/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
+++ b/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h.orig	2016-11-10 20:03:01.000000000 +0000
+--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h.orig	2017-02-02 02:03:50.000000000 +0000
 +++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h
 @@ -37,7 +37,7 @@ typedef boost::mutex::scoped_lock AutoLo
  // Dummy lock implementation on non-POSIX platforms. If you are running on a
diff --git a/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h b/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
index 60c1d45eb0..787c93648a 100644
--- a/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
+++ b/chromium-new/patches/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
@@ -1,12 +1,12 @@
 $NetBSD$
 
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h.orig	2016-11-10 20:03:01.000000000 +0000
+--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h.orig	2017-02-02 02:03:50.000000000 +0000
 +++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h
 @@ -23,6 +23,7 @@
  // user of the library know that it can't be used in a thread-safe manner when
  // it is not depending on Boost.
  #if !defined(__linux__) && !defined(__APPLE__) && \
-+    !defined(__FreeBSD__) && !defined(__OpenBSD__) && \
++    !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && \
      !defined(I18N_PHONENUMBERS_NO_THREAD_SAFETY)
  #error Building without Boost, please provide \
         -DI18N_PHONENUMBERS_NO_THREAD_SAFETY
@@ -15,7 +15,7 @@ $NetBSD$
  
  #if !defined(NDEBUG) && !defined(I18N_PHONENUMBERS_USE_BOOST) && \
 -    (defined(__linux__) || defined(__apple__))
-+    ((defined(__linux__) || defined(__apple__)) || defined(__FreeBSD__) || defined(__OpenBSD__)) && !defined(__NetBSD__)
++    (defined(__linux__) || defined(__apple__)) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
  
  #include <pthread.h>
  
diff --git a/chromium-new/patches/patch-third__party_libusb_BUILD.gn b/chromium-new/patches/patch-third__party_libusb_BUILD.gn
index c93dd3c089..bf24c4b83a 100644
--- a/chromium-new/patches/patch-third__party_libusb_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_libusb_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/libusb/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/libusb/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/libusb/BUILD.gn
 @@ -6,8 +6,25 @@ assert(!is_android && !is_ios)
  
diff --git a/chromium-new/patches/patch-third__party_libxml_BUILD.gn b/chromium-new/patches/patch-third__party_libxml_BUILD.gn
new file mode 100644
index 0000000000..84f29e0a58
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_libxml_BUILD.gn
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/libxml/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
++++ third_party/libxml/BUILD.gn
+@@ -4,7 +4,7 @@
+ 
+ # Define an "os_include" variable that points at the OS-specific generated
+ # headers.  These were generated by running the configure script offline.
+-if (is_linux || is_android || is_nacl) {
++if (is_linux || is_bsd || is_android || is_nacl) {
+   os_include = "linux"
+ } else if (is_mac || is_ios) {
+   os_include = "mac"
diff --git a/chromium-new/patches/patch-third__party_libxslt_BUILD.gn b/chromium-new/patches/patch-third__party_libxslt_BUILD.gn
new file mode 100644
index 0000000000..9645f4eed5
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_libxslt_BUILD.gn
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/libxslt/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
++++ third_party/libxslt/BUILD.gn
+@@ -82,7 +82,7 @@ static_library("libxslt") {
+   public_configs = [ ":libxslt_config" ]
+ 
+   cflags = []
+-  if (is_linux || is_android) {
++  if (is_linux || is_bsd || is_android) {
+     include_dirs = [ "linux" ]
+   } else if (is_win) {
+     include_dirs = [ "win32" ]
diff --git a/chromium-new/patches/patch-third__party_libyuv_include_libyuv_row.h b/chromium-new/patches/patch-third__party_libyuv_include_libyuv_row.h
index c148e16f1d..d12fff6176 100644
--- a/chromium-new/patches/patch-third__party_libyuv_include_libyuv_row.h
+++ b/chromium-new/patches/patch-third__party_libyuv_include_libyuv_row.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/libyuv/include/libyuv/row.h.orig	2016-11-10 20:03:02.000000000 +0000
+--- third_party/libyuv/include/libyuv/row.h.orig	2017-02-02 02:03:50.000000000 +0000
 +++ third_party/libyuv/include/libyuv/row.h
-@@ -167,10 +167,14 @@ extern "C" {
+@@ -161,10 +161,14 @@ extern "C" {
  #define HAS_ARGBSHADEROW_SSE2
  #define HAS_ARGBSUBTRACTROW_SSE2
  #define HAS_ARGBUNATTENUATEROW_SSE2
@@ -17,26 +17,7 @@ $NetBSD$
  #define HAS_RGBCOLORTABLEROW_X86
  #define HAS_SOBELROW_SSE2
  #define HAS_SOBELTOPLANEROW_SSE2
-@@ -180,8 +184,7 @@ extern "C" {
- 
- // The following functions fail on gcc/clang 32 bit with fpic and framepointer.
- // caveat: clangcl uses row_win.cc which works.
--#if defined(NDEBUG) || !(defined(_DEBUG) && defined(__i386__)) || \
--    !defined(__i386__) || defined(_MSC_VER)
-+#if !(defined(__i386__) && defined(__GNUC__))
- // TODO(fbarchard): fix build error on x86 debug
- // https://code.google.com/p/libyuv/issues/detail?id=524
- #define HAS_I411TOARGBROW_SSSE3
-@@ -209,7 +212,7 @@ extern "C" {
- #define HAS_COPYROW_AVX
- #define HAS_H422TOARGBROW_AVX2
- #define HAS_I400TOARGBROW_AVX2
--#if !(defined(_DEBUG) && defined(__i386__))
-+#if !(defined(__i386__) && defined(__GNUC__))
- // TODO(fbarchard): fix build error on android_full_debug=1
- // https://code.google.com/p/libyuv/issues/detail?id=517
- #define HAS_I422ALPHATOARGBROW_AVX2
-@@ -222,7 +225,9 @@ extern "C" {
+@@ -211,7 +215,9 @@ extern "C" {
  #define HAS_I422TORGB565ROW_AVX2
  #define HAS_I422TORGBAROW_AVX2
  #define HAS_I444TOARGBROW_AVX2
@@ -46,14 +27,13 @@ $NetBSD$
  #define HAS_J422TOARGBROW_AVX2
  #define HAS_MERGEUVROW_AVX2
  #define HAS_MIRRORROW_AVX2
-@@ -245,8 +250,10 @@ extern "C" {
+@@ -234,7 +240,9 @@ extern "C" {
  #define HAS_ARGBMULTIPLYROW_AVX2
  #define HAS_ARGBSUBTRACTROW_AVX2
  #define HAS_ARGBUNATTENUATEROW_AVX2
 +#if !(defined(__i386__) && defined(__GNUC__))
  #define HAS_BLENDPLANEROW_AVX2
- #endif
 +#endif
  
- // The following are available for AVX2 Visual C and clangcl 32 bit:
- // TODO(fbarchard): Port to gcc.
+ #if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \
+     defined(_MSC_VER)
diff --git a/chromium-new/patches/patch-third__party_mesa_BUILD.gn b/chromium-new/patches/patch-third__party_mesa_BUILD.gn
index 7ea654d7b7..292533fc55 100644
--- a/chromium-new/patches/patch-third__party_mesa_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_mesa_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/mesa/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/mesa/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/mesa/BUILD.gn
 @@ -90,6 +90,10 @@ config("mesa_internal_config") {
      defines += [ "_GNU_SOURCE" ]
diff --git a/chromium-new/patches/patch-third__party_minigbm_BUILD.gn b/chromium-new/patches/patch-third__party_minigbm_BUILD.gn
index 367081aabb..a3100289d7 100644
--- a/chromium-new/patches/patch-third__party_minigbm_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_minigbm_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/minigbm/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/minigbm/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/minigbm/BUILD.gn
 @@ -4,7 +4,7 @@
  
diff --git a/chromium-new/patches/patch-third__party_opus_BUILD.gn b/chromium-new/patches/patch-third__party_opus_BUILD.gn
index 9b984dccc5..6e44dbff0c 100644
--- a/chromium-new/patches/patch-third__party_opus_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_opus_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/opus/BUILD.gn.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/opus/BUILD.gn.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/opus/BUILD.gn
 @@ -14,7 +14,7 @@ use_opus_arm_optimization = current_cpu 
  # If OPUS Run Time CPU Detections (RTCD) shall be used.
diff --git a/chromium-new/patches/patch-third__party_ots_include_opentype-sanitiser.h b/chromium-new/patches/patch-third__party_ots_include_opentype-sanitiser.h
index 3015b89074..2942163422 100644
--- a/chromium-new/patches/patch-third__party_ots_include_opentype-sanitiser.h
+++ b/chromium-new/patches/patch-third__party_ots_include_opentype-sanitiser.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/ots/include/opentype-sanitiser.h.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/ots/include/opentype-sanitiser.h.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/ots/include/opentype-sanitiser.h
 @@ -22,6 +22,7 @@ typedef unsigned __int64 uint64_t;
  #else
diff --git a/chromium-new/patches/patch-third__party_pdfium_BUILD.gn b/chromium-new/patches/patch-third__party_pdfium_BUILD.gn
new file mode 100644
index 0000000000..af15d3ff73
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_pdfium_BUILD.gn
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/pdfium/BUILD.gn.orig	2017-02-02 02:03:52.000000000 +0000
++++ third_party/pdfium/BUILD.gn
+@@ -44,7 +44,7 @@ config("pdfium_core_config") {
+   cflags = []
+   configs = [ ":pdfium_common_config" ]
+   defines = [ "V8_DEPRECATION_WARNINGS" ]
+-  if (is_linux) {
++  if (is_linux || is_bsd) {
+     if (current_cpu == "x64") {
+       defines += [ "_FX_CPU_=_FX_X64_" ]
+       cflags += [ "-fPIC" ]
diff --git a/chromium-new/patches/patch-third__party_pdfium_core_fxcrt_fx__system.h b/chromium-new/patches/patch-third__party_pdfium_core_fxcrt_fx__system.h
new file mode 100644
index 0000000000..aea8096fe8
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_pdfium_core_fxcrt_fx__system.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/pdfium/core/fxcrt/fx_system.h.orig	2017-02-02 02:03:52.000000000 +0000
++++ third_party/pdfium/core/fxcrt/fx_system.h
+@@ -40,7 +40,7 @@
+ #elif defined(_WIN64)
+ #define _FX_OS_ _FX_WIN64_DESKTOP_
+ #define _FXM_PLATFORM_ _FXM_PLATFORM_WINDOWS_
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #define _FX_OS_ _FX_LINUX_DESKTOP_
+ #define _FXM_PLATFORM_ _FXM_PLATFORM_LINUX_
+ #elif defined(__APPLE__)
diff --git a/chromium-new/patches/patch-third__party_pdfium_core_fxcrt_include_fx__system.h b/chromium-new/patches/patch-third__party_pdfium_core_fxcrt_include_fx__system.h
deleted file mode 100644
index 7624916915..0000000000
--- a/chromium-new/patches/patch-third__party_pdfium_core_fxcrt_include_fx__system.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- third_party/pdfium/core/fxcrt/include/fx_system.h.orig	2016-11-10 20:03:03.000000000 +0000
-+++ third_party/pdfium/core/fxcrt/include/fx_system.h
-@@ -40,7 +40,7 @@
- #elif defined(_WIN64)
- #define _FX_OS_ _FX_WIN64_DESKTOP_
- #define _FXM_PLATFORM_ _FXM_PLATFORM_WINDOWS_
--#elif defined(__linux__)
-+#elif defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
- #define _FX_OS_ _FX_LINUX_DESKTOP_
- #define _FXM_PLATFORM_ _FXM_PLATFORM_LINUX_
- #elif defined(__APPLE__)
diff --git a/chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp b/chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp
index 2d3cd699d8..d641eb4a3d 100644
--- a/chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp
+++ b/chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_JS__Value.cpp
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/pdfium/fpdfsdk/javascript/JS_Value.cpp.orig	2016-11-10 20:03:03.000000000 +0000
+--- third_party/pdfium/fpdfsdk/javascript/JS_Value.cpp.orig	2017-02-02 02:03:53.000000000 +0000
 +++ third_party/pdfium/fpdfsdk/javascript/JS_Value.cpp
 @@ -458,11 +458,12 @@ v8::Local<v8::Date> CJS_Date::ToV8Date(C
  }
diff --git a/chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_PublicMethods.cpp b/chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_PublicMethods.cpp
index f29481c84a..6182da64f5 100644
--- a/chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_PublicMethods.cpp
+++ b/chromium-new/patches/patch-third__party_pdfium_fpdfsdk_javascript_PublicMethods.cpp
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/pdfium/fpdfsdk/javascript/PublicMethods.cpp.orig	2016-11-10 20:03:03.000000000 +0000
+--- third_party/pdfium/fpdfsdk/javascript/PublicMethods.cpp.orig	2017-02-02 02:03:53.000000000 +0000
 +++ third_party/pdfium/fpdfsdk/javascript/PublicMethods.cpp
-@@ -64,6 +64,103 @@ const FX_WCHAR* const fullmonths[] = {L"
+@@ -68,6 +68,103 @@ const FX_WCHAR* const fullmonths[] = {L"
                                        L"July",    L"August",   L"September",
                                        L"October", L"November", L"December"};
  
diff --git a/chromium-new/patches/patch-third__party_pdfium_skia_BUILD.gn b/chromium-new/patches/patch-third__party_pdfium_skia_BUILD.gn
index 8a04d28cfe..9a5b5bf6e3 100644
--- a/chromium-new/patches/patch-third__party_pdfium_skia_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_pdfium_skia_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/pdfium/skia/BUILD.gn.orig	2016-11-10 20:03:03.000000000 +0000
+--- third_party/pdfium/skia/BUILD.gn.orig	2017-02-02 02:03:53.000000000 +0000
 +++ third_party/pdfium/skia/BUILD.gn
-@@ -180,7 +180,7 @@ config("skia_library_config") {
+@@ -102,7 +102,7 @@ config("skia_library_config") {
    }
  
    # Settings for text blitting, chosen to approximate the system browser.
@@ -11,16 +11,16 @@ $NetBSD$
      defines += [
        "SK_GAMMA_EXPONENT=1.2",
        "SK_GAMMA_CONTRAST=0.2",
-@@ -329,7 +329,7 @@ component("skia") {
+@@ -280,7 +280,7 @@ component("skia") {
        "//third_party/skia/src/ports/SkFontMgr_android_parser.cpp",
      ]
    }
 -  if (!is_linux && !is_android && !is_win && !is_mac) {
-+  if (!is_linux && !is_android && !is_win && !is_mac && !is_bsd) {
++  if (!is_linux && !is_android && !is_win && !is_mac || !is_bsd) {
      sources -= [
        "//third_party/skia/src/ports/SkFontHost_FreeType.cpp",
        "//third_party/skia/src/ports/SkFontHost_FreeType_common.cpp",
-@@ -358,7 +358,7 @@ component("skia") {
+@@ -309,7 +309,7 @@ component("skia") {
      "../third_party:fx_zlib",
    ]
  
diff --git a/chromium-new/patches/patch-third__party_pdfium_third__party_base_logging.h b/chromium-new/patches/patch-third__party_pdfium_third__party_base_logging.h
new file mode 100644
index 0000000000..e5f4cfec33
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_pdfium_third__party_base_logging.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/pdfium/third_party/base/logging.h.orig	2017-02-02 02:03:53.000000000 +0000
++++ 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/chromium-new/patches/patch-third__party_protobuf_post__process__dist.sh b/chromium-new/patches/patch-third__party_protobuf_post__process__dist.sh
index 2e737b771d..a0d77d0a4c 100644
--- a/chromium-new/patches/patch-third__party_protobuf_post__process__dist.sh
+++ b/chromium-new/patches/patch-third__party_protobuf_post__process__dist.sh
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/protobuf/post_process_dist.sh.orig	2016-11-10 20:02:28.000000000 +0000
+--- third_party/protobuf/post_process_dist.sh.orig	2017-02-02 02:03:11.000000000 +0000
 +++ third_party/protobuf/post_process_dist.sh
 @@ -15,7 +15,7 @@
  #    non-testdata .txt files are converted to Windows-style line endings.
diff --git a/chromium-new/patches/patch-third__party_sqlite_BUILD.gn b/chromium-new/patches/patch-third__party_sqlite_BUILD.gn
index e9becfed7e..f55c0f1063 100644
--- a/chromium-new/patches/patch-third__party_sqlite_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_sqlite_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/sqlite/BUILD.gn.orig	2016-11-10 20:02:29.000000000 +0000
+--- third_party/sqlite/BUILD.gn.orig	2017-02-02 02:03:12.000000000 +0000
 +++ third_party/sqlite/BUILD.gn
-@@ -20,7 +20,7 @@ if (!use_system_sqlite) {
+@@ -22,7 +22,7 @@ if (!use_system_sqlite) {
        # sqlite3Fts3InitTok).
        cflags += [ "-Wno-unused-function" ]
      }
@@ -11,7 +11,7 @@ $NetBSD$
        cflags += [
          # SQLite doesn"t believe in compiler warnings,
          # preferring testing.
-@@ -177,7 +177,7 @@ if (!use_system_sqlite) {
+@@ -187,7 +187,7 @@ if (!use_system_sqlite) {
      public_configs = [ ":sqlite_export" ]
    }
  
@@ -20,7 +20,7 @@ $NetBSD$
      executable("sqlite_shell") {
        # So shell.c can find the correct sqlite3.h.
        include_dirs = [ "amalgamation" ]
-@@ -206,7 +206,7 @@ if (use_system_sqlite) {
+@@ -216,7 +216,7 @@ if (use_system_sqlite) {
  
    config("sqlite_config") {
      defines = [ "USE_SYSTEM_SQLITE" ]
@@ -29,7 +29,7 @@ $NetBSD$
        libs = [ "sqlite3" ]
      } else {
        assert(false, "extra flags to use system sqlite3 library missing")
-@@ -225,7 +225,7 @@ if (use_system_sqlite) {
+@@ -235,7 +235,7 @@ if (use_system_sqlite) {
      }
    }
  
diff --git a/chromium-new/patches/patch-third__party_swiftshader_third__party_LLVM_utils_buildit_build__llvm b/chromium-new/patches/patch-third__party_swiftshader_third__party_LLVM_utils_buildit_build__llvm
deleted file mode 100644
index 750a30d59d..0000000000
--- a/chromium-new/patches/patch-third__party_swiftshader_third__party_LLVM_utils_buildit_build__llvm
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
---- third_party/swiftshader/third_party/LLVM/utils/buildit/build_llvm.orig	2016-11-10 20:03:06.000000000 +0000
-+++ third_party/swiftshader/third_party/LLVM/utils/buildit/build_llvm
-@@ -187,7 +187,7 @@ make $LOCAL_MAKEFLAGS $OPTIMIZE_OPTS UNI
-     LLVM_SUBMIT_SUBVERSION=$LLVM_SUBMIT_SUBVERSION \
-     OPTIMIZE_OPTION='-O3' VERBOSE=1 install
- 
--if ! test $? == 0 ; then
-+if ! test $? = 0 ; then
-     echo "error: LLVM 'make install' failed!"
-     exit 1
- fi 
-@@ -305,7 +305,7 @@ if [ "$INSTALL_LIBLTO" = "yes" ]; then
-   # PPC objects!
-   $STRIP -arch all -Sl $DT_HOME/lib/libLTO.dylib
- 
--  if [ "x$DISABLE_USR_LINKS" == "x" ]; then
-+  if [ "x$DISABLE_USR_LINKS" = "x" ]; then
-     # Add a symlink in /usr/lib for B&I.
-     mkdir -p $DEST_DIR/usr/lib/
-     (cd $DEST_DIR/usr/lib && \
diff --git a/chromium-new/patches/patch-third__party_usrsctp_BUILD.gn b/chromium-new/patches/patch-third__party_usrsctp_BUILD.gn
index 74366cb25e..99b87b799e 100644
--- a/chromium-new/patches/patch-third__party_usrsctp_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_usrsctp_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/usrsctp/BUILD.gn.orig	2016-11-10 20:02:29.000000000 +0000
+--- third_party/usrsctp/BUILD.gn.orig	2017-02-02 02:03:12.000000000 +0000
 +++ third_party/usrsctp/BUILD.gn
 @@ -112,6 +112,12 @@ static_library("usrsctp") {
        "__Userspace_os_Linux",
diff --git a/chromium-new/patches/patch-third__party_webrtc_BUILD.gn b/chromium-new/patches/patch-third__party_webrtc_BUILD.gn
index 086cdf3122..3024ac8ffe 100644
--- a/chromium-new/patches/patch-third__party_webrtc_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_webrtc_BUILD.gn
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- third_party/webrtc/BUILD.gn.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/BUILD.gn.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/BUILD.gn
 @@ -60,6 +60,9 @@ config("common_inherited_config") {
    if (is_linux) {
      defines += [ "WEBRTC_LINUX" ]
    }
 +  if (is_bsd) {
-+    defines += [ "WEBRTC_BSD" ]
++    defines += [ "WEBRTC_LINUX", "WEBRTC_BSD", "WEBRTC_THREAD_RR" ]
 +  }
    if (is_mac) {
      defines += [ "WEBRTC_MAC" ]
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_BUILD.gn b/chromium-new/patches/patch-third__party_webrtc_base_BUILD.gn
new file mode 100644
index 0000000000..a9da9557f3
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_webrtc_base_BUILD.gn
@@ -0,0 +1,12 @@
+$NetBSD$
+
+--- third_party/webrtc/base/BUILD.gn.orig	2017-02-02 02:03:57.000000000 +0000
++++ third_party/webrtc/base/BUILD.gn
+@@ -650,7 +650,6 @@ rtc_static_library("rtc_base") {
+       "x11windowpicker.h",
+     ]
+     libs += [
+-      "dl",
+       "rt",
+       "Xext",
+       "X11",
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_httpcommon.cc b/chromium-new/patches/patch-third__party_webrtc_base_httpcommon.cc
index 3a2d9a66f6..799070e397 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_httpcommon.cc
+++ b/chromium-new/patches/patch-third__party_webrtc_base_httpcommon.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/base/httpcommon.cc.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/httpcommon.cc.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/httpcommon.cc
 @@ -384,7 +384,7 @@ bool HttpDateToSeconds(const std::string
      gmt = non_gmt + kTimeZoneOffsets[zindex] * 60 * 60;
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_ifaddrs__converter.h b/chromium-new/patches/patch-third__party_webrtc_base_ifaddrs__converter.h
index b284e036ef..f03dcec9c2 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_ifaddrs__converter.h
+++ b/chromium-new/patches/patch-third__party_webrtc_base_ifaddrs__converter.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/base/ifaddrs_converter.h.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/ifaddrs_converter.h.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/ifaddrs_converter.h
 @@ -14,6 +14,8 @@
  #if defined(WEBRTC_ANDROID)
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_ipaddress.h b/chromium-new/patches/patch-third__party_webrtc_base_ipaddress.h
index 0b58b2f785..03c13c13e7 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_ipaddress.h
+++ b/chromium-new/patches/patch-third__party_webrtc_base_ipaddress.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/base/ipaddress.h.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/ipaddress.h.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/ipaddress.h
 @@ -17,6 +17,10 @@
  #include <arpa/inet.h>
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_linux.cc b/chromium-new/patches/patch-third__party_webrtc_base_linux.cc
index 60081d8cc1..1f10587b7b 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_linux.cc
+++ b/chromium-new/patches/patch-third__party_webrtc_base_linux.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/base/linux.cc.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/linux.cc.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/linux.cc
 @@ -8,7 +8,7 @@
   *  be found in the AUTHORS file in the root of the source tree.
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_linux.h b/chromium-new/patches/patch-third__party_webrtc_base_linux.h
index 99b9b5f2b9..f00e443ecc 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_linux.h
+++ b/chromium-new/patches/patch-third__party_webrtc_base_linux.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/base/linux.h.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/linux.h.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/linux.h
 @@ -11,7 +11,7 @@
  #ifndef WEBRTC_BASE_LINUX_H_
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_network.cc b/chromium-new/patches/patch-third__party_webrtc_base_network.cc
index 402ef919ee..b41d2be439 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_network.cc
+++ b/chromium-new/patches/patch-third__party_webrtc_base_network.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/base/network.cc.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/network.cc.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/network.cc
 @@ -14,7 +14,7 @@
  // linux/if.h can't be included at the same time as the posix sys/if.h, and
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_network.h b/chromium-new/patches/patch-third__party_webrtc_base_network.h
index 7a1b95aa66..07a45d5367 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_network.h
+++ b/chromium-new/patches/patch-third__party_webrtc_base_network.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/base/network.h.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/network.h.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/network.h
 @@ -23,6 +23,10 @@
  #include "webrtc/base/messagehandler.h"
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_physicalsocketserver.cc b/chromium-new/patches/patch-third__party_webrtc_base_physicalsocketserver.cc
index 94db01f17f..93f4ac9cc1 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_physicalsocketserver.cc
+++ b/chromium-new/patches/patch-third__party_webrtc_base_physicalsocketserver.cc
@@ -1,17 +1,20 @@
 $NetBSD$
 
---- third_party/webrtc/base/physicalsocketserver.cc.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/physicalsocketserver.cc.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/physicalsocketserver.cc
-@@ -59,7 +59,7 @@ typedef void* SockOptArg;
- 
- #endif  // WEBRTC_POSIX
- 
--#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
-+#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) && !defined(WEBRTC_BSD)
+@@ -61,7 +61,11 @@ typedef void* SockOptArg;
  
  int64_t GetSocketRecvTimestamp(int socket) {
    struct timeval tv_ioctl;
-@@ -276,7 +276,7 @@ int PhysicalSocket::GetOption(Option opt
++#if defined(WEBRTC_BSD)
++  int ret = ioctl(socket, SO_TIMESTAMP, &tv_ioctl);
++#else
+   int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl);
++#endif
+   if (ret != 0)
+     return -1;
+   int64_t timestamp =
+@@ -274,7 +278,7 @@ int PhysicalSocket::GetOption(Option opt
    socklen_t optlen = sizeof(*value);
    int ret = ::getsockopt(s_, slevel, sopt, (SockOptArg)value, &optlen);
    if (ret != -1 && opt == OPT_DONTFRAGMENT) {
@@ -20,7 +23,7 @@ $NetBSD$
      *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
  #endif
    }
-@@ -289,7 +289,7 @@ int PhysicalSocket::SetOption(Option opt
+@@ -287,7 +291,7 @@ int PhysicalSocket::SetOption(Option opt
    if (TranslateOption(opt, &slevel, &sopt) == -1)
      return -1;
    if (opt == OPT_DONTFRAGMENT) {
@@ -29,7 +32,7 @@ $NetBSD$
      value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
  #endif
    }
-@@ -571,10 +571,10 @@ int PhysicalSocket::TranslateOption(Opti
+@@ -569,10 +573,10 @@ int PhysicalSocket::TranslateOption(Opti
        *slevel = IPPROTO_IP;
        *sopt = IP_DONTFRAGMENT;
        break;
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_stringutils.h b/chromium-new/patches/patch-third__party_webrtc_base_stringutils.h
index 442bf73b4f..bf8bd1c997 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_stringutils.h
+++ b/chromium-new/patches/patch-third__party_webrtc_base_stringutils.h
@@ -1,13 +1,19 @@
 $NetBSD$
 
---- third_party/webrtc/base/stringutils.h.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/stringutils.h.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/stringutils.h
-@@ -23,7 +23,7 @@
+@@ -23,11 +23,11 @@
  #endif  // WEBRTC_WIN 
  
  #if defined(WEBRTC_POSIX)
 -#ifdef BSD
-+#if defined(BSD) || defined(WEBRTC_BSD)
++#if defined(WEBRTC_BSD) || defined(BSD)
  #include <stdlib.h>
- #else  // BSD
+-#else  // BSD
++#else  // WEBRTC_BSD
  #include <alloca.h>
+-#endif  // !BSD
++#endif  // !WEBRTC_BSD
+ #endif  // WEBRTC_POSIX
+ 
+ #include <string>
diff --git a/chromium-new/patches/patch-third__party_webrtc_base_systeminfo.cc b/chromium-new/patches/patch-third__party_webrtc_base_systeminfo.cc
index 013e24178b..782e91fd53 100644
--- a/chromium-new/patches/patch-third__party_webrtc_base_systeminfo.cc
+++ b/chromium-new/patches/patch-third__party_webrtc_base_systeminfo.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/base/systeminfo.cc.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/webrtc/base/systeminfo.cc.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/base/systeminfo.cc
 @@ -20,8 +20,12 @@
  #elif defined(WEBRTC_MAC) && !defined(WEBRTC_IOS)
diff --git a/chromium-new/patches/patch-third__party_webrtc_common__audio_wav__file.h b/chromium-new/patches/patch-third__party_webrtc_common__audio_wav__file.h
deleted file mode 100644
index e4abb66f55..0000000000
--- a/chromium-new/patches/patch-third__party_webrtc_common__audio_wav__file.h
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD$
-
---- third_party/webrtc/common_audio/wav_file.h.orig	2016-11-10 20:03:05.000000000 +0000
-+++ third_party/webrtc/common_audio/wav_file.h
-@@ -14,6 +14,7 @@
- #ifdef __cplusplus
- 
- #include <stdint.h>
-+#include <stdio.h>
- #include <cstddef>
- #include <string>
- 
diff --git a/chromium-new/patches/patch-third__party_webrtc_modules_audio__device_BUILD.gn b/chromium-new/patches/patch-third__party_webrtc_modules_audio__device_BUILD.gn
new file mode 100644
index 0000000000..4345eddb9a
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_webrtc_modules_audio__device_BUILD.gn
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- third_party/webrtc/modules/audio_device/BUILD.gn.orig	2017-02-02 02:03:57.000000000 +0000
++++ third_party/webrtc/modules/audio_device/BUILD.gn
+@@ -77,7 +77,7 @@ rtc_static_library("audio_device") {
+   ]
+ 
+   include_dirs = []
+-  if (is_linux) {
++  if (is_linux || is_bsd) {
+     include_dirs += [ "linux" ]
+   }
+   if (is_ios) {
+@@ -125,7 +125,7 @@ rtc_static_library("audio_device") {
+     if (rtc_use_dummy_audio_file_devices) {
+       defines += [ "WEBRTC_DUMMY_FILE_DEVICES" ]
+     } else {
+-      if (is_linux) {
++      if (is_linux || is_bsd) {
+         sources += [
+           "linux/alsasymboltable_linux.cc",
+           "linux/alsasymboltable_linux.h",
diff --git a/chromium-new/patches/patch-third__party_webrtc_modules_remote__bitrate__estimator_overuse__detector.cc b/chromium-new/patches/patch-third__party_webrtc_modules_remote__bitrate__estimator_overuse__detector.cc
deleted file mode 100644
index 360de3c752..0000000000
--- a/chromium-new/patches/patch-third__party_webrtc_modules_remote__bitrate__estimator_overuse__detector.cc
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD$
-
---- third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc.orig	2016-11-10 20:03:06.000000000 +0000
-+++ third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector.cc
-@@ -14,6 +14,7 @@
- #include <stdlib.h>
- 
- #include <algorithm>
-+#include <cstdio>
- #include <sstream>
- #include <string>
- 
diff --git a/chromium-new/patches/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc b/chromium-new/patches/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
index 37a4a6db32..3e039f4d8b 100644
--- a/chromium-new/patches/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
+++ b/chromium-new/patches/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc.orig	2016-11-10 20:03:06.000000000 +0000
+--- third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc
 @@ -13,6 +13,7 @@
  #include <string.h>
diff --git a/chromium-new/patches/patch-third__party_webrtc_modules_video__coding_BUILD.gn b/chromium-new/patches/patch-third__party_webrtc_modules_video__coding_BUILD.gn
new file mode 100644
index 0000000000..5ab50ec2e8
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_webrtc_modules_video__coding_BUILD.gn
@@ -0,0 +1,26 @@
+$NetBSD$
+
+--- third_party/webrtc/modules/video_coding/BUILD.gn.orig	2017-02-02 02:03:57.000000000 +0000
++++ third_party/webrtc/modules/video_coding/BUILD.gn
+@@ -137,9 +137,7 @@ rtc_static_library("webrtc_h264") {
+   }
+ 
+   defines = []
+-  deps = [
+-    "../../system_wrappers",
+-  ]
++  deps = []
+ 
+   if (rtc_use_h264) {
+     defines += [ "WEBRTC_USE_H264" ]
+@@ -153,9 +151,9 @@ rtc_static_library("webrtc_h264") {
+       "codecs/h264/h264_encoder_impl.h",
+     ]
+     deps += [
+-      "../../common_video",
+       "//third_party/ffmpeg:ffmpeg",
+       "//third_party/openh264:encoder",
++      "../../common_video",
+     ]
+   }
+ }
diff --git a/chromium-new/patches/patch-third__party_webrtc_modules_video__coding_receiver.cc b/chromium-new/patches/patch-third__party_webrtc_modules_video__coding_receiver.cc
deleted file mode 100644
index b0b8dd31c2..0000000000
--- a/chromium-new/patches/patch-third__party_webrtc_modules_video__coding_receiver.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
---- third_party/webrtc/modules/video_coding/receiver.cc.orig	2016-11-10 20:03:06.000000000 +0000
-+++ third_party/webrtc/modules/video_coding/receiver.cc
-@@ -165,8 +165,8 @@ VCMEncodedFrame* VCMReceiver::FrameForDe
-   // Assume that render timing errors are due to changes in the video stream.
-   if (render_time_ms < 0) {
-     timing_error = true;
--  } else if (std::abs(render_time_ms - now_ms) > max_video_delay_ms_) {
--    int frame_delay = static_cast<int>(std::abs(render_time_ms - now_ms));
-+  } else if (std::labs(render_time_ms - now_ms) > max_video_delay_ms_) {
-+    int frame_delay = static_cast<int>(std::labs(render_time_ms - now_ms));
-     LOG(LS_WARNING) << "A frame about to be decoded is out of the configured "
-                     << "delay bounds (" << frame_delay << " > "
-                     << max_video_delay_ms_
diff --git a/chromium-new/patches/patch-third__party_webrtc_system__wrappers_BUILD.gn b/chromium-new/patches/patch-third__party_webrtc_system__wrappers_BUILD.gn
index 506c2626b1..53fcbb2290 100644
--- a/chromium-new/patches/patch-third__party_webrtc_system__wrappers_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_webrtc_system__wrappers_BUILD.gn
@@ -1,8 +1,17 @@
 $NetBSD$
 
---- third_party/webrtc/system_wrappers/BUILD.gn.orig	2016-11-10 20:03:06.000000000 +0000
+--- third_party/webrtc/system_wrappers/BUILD.gn.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/webrtc/system_wrappers/BUILD.gn
-@@ -115,7 +115,7 @@ source_set("system_wrappers") {
+@@ -90,7 +90,7 @@ rtc_static_library("system_wrappers") {
+     libs += [ "log" ]
+   }
+ 
+-  if (is_linux) {
++  if (is_linux || is_bsd) {
+     defines += [ "WEBRTC_THREAD_RR" ]
+ 
+     if (!build_with_chromium) {
+@@ -100,7 +100,7 @@ rtc_static_library("system_wrappers") {
      libs += [ "rt" ]
    }
  
diff --git a/chromium-new/patches/patch-third__party_webrtc_system__wrappers_source_atomic32__non__darwin__unix.cc b/chromium-new/patches/patch-third__party_webrtc_system__wrappers_source_atomic32__non__darwin__unix.cc
new file mode 100644
index 0000000000..f373f1f807
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_webrtc_system__wrappers_source_atomic32__non__darwin__unix.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/webrtc/system_wrappers/source/atomic32_non_darwin_unix.cc.orig	2017-02-02 02:03:57.000000000 +0000
++++ third_party/webrtc/system_wrappers/source/atomic32_non_darwin_unix.cc
+@@ -12,7 +12,7 @@
+ 
+ #include <assert.h>
+ #include <inttypes.h>
+-#include <malloc.h>
++#include <stdlib.h>
+ 
+ #include "webrtc/common_types.h"
+ 
diff --git a/chromium-new/patches/patch-third__party_webrtc_voice__engine_voice__engine__defines.h b/chromium-new/patches/patch-third__party_webrtc_voice__engine_voice__engine__defines.h
new file mode 100644
index 0000000000..113aff3d0f
--- /dev/null
+++ b/chromium-new/patches/patch-third__party_webrtc_voice__engine_voice__engine__defines.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- third_party/webrtc/voice_engine/voice_engine_defines.h.orig	2017-02-02 02:03:57.000000000 +0000
++++ third_party/webrtc/voice_engine/voice_engine_defines.h
+@@ -210,7 +210,7 @@ inline int VoEChannelId(int moduleId) {
+ #include <pthread.h>
+ #include <sys/socket.h>
+ #include <sys/types.h>
+-#ifndef QNX
++#if !defined(QNX) && !defined(WEBRTC_BSD)
+ #include <linux/net.h>
+ #ifndef ANDROID
+ #include <sys/soundcard.h>
diff --git a/chromium-new/patches/patch-third__party_widevine_cdm_BUILD.gn b/chromium-new/patches/patch-third__party_widevine_cdm_BUILD.gn
index 2e20bd4c01..dd264a4908 100644
--- a/chromium-new/patches/patch-third__party_widevine_cdm_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_widevine_cdm_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- third_party/widevine/cdm/BUILD.gn.orig	2016-11-10 20:02:29.000000000 +0000
+--- third_party/widevine/cdm/BUILD.gn.orig	2017-02-02 02:03:12.000000000 +0000
 +++ third_party/widevine/cdm/BUILD.gn
-@@ -25,7 +25,7 @@ if (is_android) {
+@@ -26,7 +26,7 @@ if (is_android) {
      widevine_cdm_version_h_file =
          "chromeos/$widevine_arch/widevine_cdm_version.h"
      widevine_cdm_binary_files = [ "chromeos/$widevine_arch/libwidevinecdm.so" ]
@@ -11,7 +11,7 @@ $NetBSD$
      widevine_cdm_version_h_file = "linux/$widevine_arch/widevine_cdm_version.h"
      widevine_cdm_binary_files = [ "linux/$widevine_arch/libwidevinecdm.so" ]
    } else if (is_win) {
-@@ -151,7 +151,7 @@ if ((is_chrome_branded || enable_widevin
+@@ -160,7 +160,7 @@ if ((is_chrome_branded || enable_widevin
        ":widevinecdm",
      ]
  
@@ -20,7 +20,7 @@ $NetBSD$
        ldflags =
            [ rebase_path("$root_out_dir/$widevine_cdm_path/libwidevinecdm.so",
                          root_build_dir) ]
-@@ -174,7 +174,7 @@ if ((is_chrome_branded || enable_widevin
+@@ -183,7 +183,7 @@ if ((is_chrome_branded || enable_widevin
  # This target exists for tests to depend on that pulls in a runtime dependency
  # on the license server.
  source_set("widevine_test_license_server") {
diff --git a/chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal b/chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal
index 7020e404c0..463d02d76d 100644
--- a/chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal
+++ b/chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/xdg-utils/scripts/xdg-terminal.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/xdg-utils/scripts/xdg-terminal.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/xdg-utils/scripts/xdg-terminal
 @@ -302,7 +302,7 @@ detectDE()
      elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
diff --git a/chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal.in b/chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal.in
index ac0872b7fa..6f2552b19e 100644
--- a/chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal.in
+++ b/chromium-new/patches/patch-third__party_xdg-utils_scripts_xdg-terminal.in
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/xdg-utils/scripts/xdg-terminal.in.orig	2016-11-10 20:03:05.000000000 +0000
+--- third_party/xdg-utils/scripts/xdg-terminal.in.orig	2017-02-02 02:03:57.000000000 +0000
 +++ third_party/xdg-utils/scripts/xdg-terminal.in
 @@ -35,7 +35,7 @@ terminal_kde()
      terminal_exec=`which $terminal 2>/dev/null`
diff --git a/chromium-new/patches/patch-third__party_yasm_BUILD.gn b/chromium-new/patches/patch-third__party_yasm_BUILD.gn
index d9e44552d1..5816b39ba3 100644
--- a/chromium-new/patches/patch-third__party_yasm_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_yasm_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/yasm/BUILD.gn.orig	2016-11-10 20:02:29.000000000 +0000
+--- third_party/yasm/BUILD.gn.orig	2017-02-02 02:03:12.000000000 +0000
 +++ third_party/yasm/BUILD.gn
 @@ -32,7 +32,12 @@ import("//build/config/compiler/compiler
  if (current_toolchain == host_toolchain) {
diff --git a/chromium-new/patches/patch-third__party_zlib_BUILD.gn b/chromium-new/patches/patch-third__party_zlib_BUILD.gn
index f6de8ccd33..c8e7e37d99 100644
--- a/chromium-new/patches/patch-third__party_zlib_BUILD.gn
+++ b/chromium-new/patches/patch-third__party_zlib_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- third_party/zlib/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- third_party/zlib/BUILD.gn.orig	2017-02-02 02:03:12.000000000 +0000
 +++ third_party/zlib/BUILD.gn
 @@ -115,7 +115,7 @@ static_library("minizip") {
        "contrib/minizip/iowin32.h",
diff --git a/chromium-new/patches/patch-tools_battor__agent_BUILD.gn b/chromium-new/patches/patch-tools_battor__agent_BUILD.gn
index 9fad757866..2c1b26a03f 100644
--- a/chromium-new/patches/patch-tools_battor__agent_BUILD.gn
+++ b/chromium-new/patches/patch-tools_battor__agent_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- tools/battor_agent/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- tools/battor_agent/BUILD.gn.orig	2017-02-02 02:03:12.000000000 +0000
 +++ tools/battor_agent/BUILD.gn
 @@ -5,7 +5,7 @@
  import("//testing/test.gni")
diff --git a/chromium-new/patches/patch-tools_gn_bootstrap_bootstrap.py b/chromium-new/patches/patch-tools_gn_bootstrap_bootstrap.py
index f74016c0fc..bf9d79f831 100644
--- a/chromium-new/patches/patch-tools_gn_bootstrap_bootstrap.py
+++ b/chromium-new/patches/patch-tools_gn_bootstrap_bootstrap.py
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- tools/gn/bootstrap/bootstrap.py.orig	2016-11-10 20:02:30.000000000 +0000
+--- tools/gn/bootstrap/bootstrap.py.orig	2017-02-02 02:03:12.000000000 +0000
 +++ tools/gn/bootstrap/bootstrap.py
 @@ -23,6 +23,7 @@ import os
  import shutil
@@ -15,10 +15,10 @@ $NetBSD$
  is_win = sys.platform.startswith('win')
  is_linux = sys.platform.startswith('linux')
 +is_bsd = platform.system().lower().endswith('bsd')
-+is_freebsd = sys.platform.startswith('freebsd')
-+is_netbsd = sys.platform.startswith('netbsd')
  is_mac = sys.platform.startswith('darwin')
 -is_posix = is_linux or is_mac
++is_freebsd = sys.platform.startswith('freebsd')
++is_netbsd = sys.platform.startswith('netbsd')
 +is_posix = is_linux or is_mac or is_bsd
  
  def check_call(cmd, **kwargs):
diff --git a/chromium-new/patches/patch-tools_gn_gn__unittests.isolate b/chromium-new/patches/patch-tools_gn_gn__unittests.isolate
deleted file mode 100644
index e163999f7c..0000000000
--- a/chromium-new/patches/patch-tools_gn_gn__unittests.isolate
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- tools/gn/gn_unittests.isolate.orig	2016-11-10 20:02:30.000000000 +0000
-+++ tools/gn/gn_unittests.isolate
-@@ -3,7 +3,7 @@
- # found in the LICENSE file.
- {
-   'conditions': [
--    ['OS=="linux" or OS=="mac" or OS=="win"', {
-+    ['OS=="linux" or OS=="bsd" or OS=="mac" or OS=="win"', {
-       'variables': {
-         'command': [
-           '<(PRODUCT_DIR)/gn_unittests<(EXECUTABLE_SUFFIX)',
diff --git a/chromium-new/patches/patch-tools_variations_fieldtrial__to__struct.py b/chromium-new/patches/patch-tools_variations_fieldtrial__to__struct.py
new file mode 100644
index 0000000000..7dd43ff964
--- /dev/null
+++ b/chromium-new/patches/patch-tools_variations_fieldtrial__to__struct.py
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- tools/variations/fieldtrial_to_struct.py.orig	2017-02-02 02:03:13.000000000 +0000
++++ tools/variations/fieldtrial_to_struct.py
+@@ -116,7 +116,7 @@ def main(arguments):
+   if not opts.platform:
+     parser.error('You must specify a --platform.')
+ 
+-  supported_platforms = ['android', 'chromeos', 'ios', 'linux', 'mac', 'win']
++  supported_platforms = ['android', 'chromeos', 'ios', 'linux', 'mac', 'win', 'netbsd']
+   if opts.platform not in supported_platforms:
+     parser.error('\'%s\' is an unknown platform. Supported platforms: %s' %
+         (opts.platform, supported_platforms))
diff --git a/chromium-new/patches/patch-ui_accessibility_platform_ax__platform__node.h b/chromium-new/patches/patch-ui_accessibility_platform_ax__platform__node.h
index 0a52a68477..59d90ee755 100644
--- a/chromium-new/patches/patch-ui_accessibility_platform_ax__platform__node.h
+++ b/chromium-new/patches/patch-ui_accessibility_platform_ax__platform__node.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/accessibility/platform/ax_platform_node.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/accessibility/platform/ax_platform_node.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/accessibility/platform/ax_platform_node.h
 @@ -22,7 +22,7 @@
  #define PLATFORM_HAS_AX_PLATFORM_NODE_IMPL 1
diff --git a/chromium-new/patches/patch-ui_app__list_app__list__constants.cc b/chromium-new/patches/patch-ui_app__list_app__list__constants.cc
index 9ba61b7462..a636ce1875 100644
--- a/chromium-new/patches/patch-ui_app__list_app__list__constants.cc
+++ b/chromium-new/patches/patch-ui_app__list_app__list__constants.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/app_list/app_list_constants.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/app_list/app_list_constants.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/app_list/app_list_constants.cc
-@@ -154,7 +154,7 @@ const char kSearchQueryLength[] = "Apps.
+@@ -140,7 +140,7 @@ const char kSearchQueryLength[] = "Apps.
  const char kSearchResultDistanceFromOrigin[] =
      "Apps.AppListSearchResultDistanceFromOrigin";
  
diff --git a/chromium-new/patches/patch-ui_app__list_app__list__constants.h b/chromium-new/patches/patch-ui_app__list_app__list__constants.h
index 0104827dca..a67c86d8ed 100644
--- a/chromium-new/patches/patch-ui_app__list_app__list__constants.h
+++ b/chromium-new/patches/patch-ui_app__list_app__list__constants.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/app_list/app_list_constants.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/app_list/app_list_constants.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/app_list/app_list_constants.h
-@@ -95,8 +95,8 @@ APP_LIST_EXPORT extern const char kSearc
+@@ -89,8 +89,8 @@ APP_LIST_EXPORT extern const char kSearc
  APP_LIST_EXPORT extern const char kSearchQueryLength[];
  APP_LIST_EXPORT extern const char kSearchResultDistanceFromOrigin[];
  
diff --git a/chromium-new/patches/patch-ui_app__list_app__list__menu.cc b/chromium-new/patches/patch-ui_app__list_app__list__menu.cc
deleted file mode 100644
index d1a7d751f7..0000000000
--- a/chromium-new/patches/patch-ui_app__list_app__list__menu.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- ui/app_list/app_list_menu.cc.orig	2016-11-10 20:02:30.000000000 +0000
-+++ ui/app_list/app_list_menu.cc
-@@ -30,7 +30,7 @@ void AppListMenu::InitMenu() {
-   // only 1 user.
-   if (users_.size() > 1) {
-     for (size_t i = 0; i < users_.size(); ++i) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
-       menu_model_.AddItem(SELECT_PROFILE + i, users_[i].name);
-       int menu_index = menu_model_.GetIndexOfCommandId(SELECT_PROFILE + i);
-       menu_model_.SetSublabel(menu_index, users_[i].email);
diff --git a/chromium-new/patches/patch-ui_app__list_views_app__list__item__view.cc b/chromium-new/patches/patch-ui_app__list_views_app__list__item__view.cc
index d99fff6d3c..511cf6b5c7 100644
--- a/chromium-new/patches/patch-ui_app__list_views_app__list__item__view.cc
+++ b/chromium-new/patches/patch-ui_app__list_views_app__list__item__view.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/app_list/views/app_list_item_view.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/app_list/views/app_list_item_view.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/app_list/views/app_list_item_view.cc
 @@ -55,7 +55,7 @@ gfx::FontList GetFontList() {
    const gfx::FontList& font_list = rb.GetFontList(kItemTextFontStyle);
diff --git a/chromium-new/patches/patch-ui_app__list_views_app__list__view.cc b/chromium-new/patches/patch-ui_app__list_views_app__list__view.cc
index 42759ccca6..5733a3588d 100644
--- a/chromium-new/patches/patch-ui_app__list_views_app__list__view.cc
+++ b/chromium-new/patches/patch-ui_app__list_views_app__list__view.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/app_list/views/app_list_view.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/app_list/views/app_list_view.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/app_list/views/app_list_view.cc
 @@ -70,7 +70,7 @@ const int kArrowOffset = 10;
  
@@ -11,7 +11,7 @@ $NetBSD$
    // Shadows are not supported on (non-ChromeOS) Linux.
    return false;
  #endif
-@@ -567,7 +567,7 @@ void AppListView::OnBeforeBubbleWidgetIn
+@@ -538,7 +538,7 @@ void AppListView::OnBeforeBubbleWidgetIn
    if (!params->native_widget && delegate_ && delegate_->ForceNativeDesktop())
      params->native_widget = new views::DesktopNativeWidgetAura(widget);
  #endif
diff --git a/chromium-new/patches/patch-ui_aura_BUILD.gn b/chromium-new/patches/patch-ui_aura_BUILD.gn
index aca1c53502..4080c8d328 100644
--- a/chromium-new/patches/patch-ui_aura_BUILD.gn
+++ b/chromium-new/patches/patch-ui_aura_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/aura/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/aura/BUILD.gn.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/aura/BUILD.gn
-@@ -280,7 +280,7 @@ test("aura_unittests") {
+@@ -361,7 +361,7 @@ test("aura_unittests") {
      "//ui/gl:test_support",
    ]
  
diff --git a/chromium-new/patches/patch-ui_base_BUILD.gn b/chromium-new/patches/patch-ui_base_BUILD.gn
index f2bb2dfd65..dfd646194d 100644
--- a/chromium-new/patches/patch-ui_base_BUILD.gn
+++ b/chromium-new/patches/patch-ui_base_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/base/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/base/BUILD.gn.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/base/BUILD.gn
-@@ -347,7 +347,7 @@ component("base") {
+@@ -348,7 +348,7 @@ component("base") {
      sources += [ "touch/touch_device_android.cc" ]
    } else if (is_ios) {
      sources += [ "touch/touch_device_ios.cc" ]
@@ -11,7 +11,7 @@ $NetBSD$
      sources += [ "touch/touch_device_linux.cc" ]
    } else {
      # Empty implementation for all other cases.
-@@ -449,11 +449,11 @@ component("base") {
+@@ -450,11 +450,11 @@ component("base") {
      ]
    }
  
@@ -25,7 +25,7 @@ $NetBSD$
      deps += [ "//build/linux:fontconfig" ]
    }
  
-@@ -461,7 +461,7 @@ component("base") {
+@@ -462,7 +462,7 @@ component("base") {
      configs += [ "//build/config/linux:glib" ]
    }
  
@@ -34,7 +34,7 @@ $NetBSD$
      if (!toolkit_views && !use_aura) {
        sources -= [
          "dragdrop/drag_utils.cc",
-@@ -794,7 +794,7 @@ test("ui_base_unittests") {
+@@ -801,7 +801,7 @@ test("ui_base_unittests") {
        "ime/win/imm32_manager_unittest.cc",
        "ime/win/tsf_input_scope_unittest.cc",
      ]
@@ -43,7 +43,7 @@ $NetBSD$
        sources += [ "ime/input_method_auralinux_unittest.cc" ]
      }
      if (use_x11) {
-@@ -917,7 +917,7 @@ test("ui_base_unittests") {
+@@ -924,7 +924,7 @@ test("ui_base_unittests") {
      ]
    }
  
@@ -52,7 +52,7 @@ $NetBSD$
      # TODO(brettw): We should be able to depend on //ui/resources:ui_test_pak
      # instead of depending directly on the non-test .pak files, but depending
      # on ui_test_pak seems to have no effect.
-@@ -930,7 +930,7 @@ test("ui_base_unittests") {
+@@ -937,7 +937,7 @@ test("ui_base_unittests") {
        "//third_party/mesa:osmesa",
      ]
    }
diff --git a/chromium-new/patches/patch-ui_base_ime_BUILD.gn b/chromium-new/patches/patch-ui_base_ime_BUILD.gn
index 30dd684ce6..6677024824 100644
--- a/chromium-new/patches/patch-ui_base_ime_BUILD.gn
+++ b/chromium-new/patches/patch-ui_base_ime_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/base/ime/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/base/ime/BUILD.gn.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/base/ime/BUILD.gn
 @@ -123,7 +123,7 @@ component("ime") {
      ":text_input_types",
diff --git a/chromium-new/patches/patch-ui_base_ime_ime__engine__handler__interface.h b/chromium-new/patches/patch-ui_base_ime_ime__engine__handler__interface.h
index b49888aa98..0657c7fdb9 100644
--- a/chromium-new/patches/patch-ui_base_ime_ime__engine__handler__interface.h
+++ b/chromium-new/patches/patch-ui_base_ime_ime__engine__handler__interface.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/base/ime/ime_engine_handler_interface.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/base/ime/ime_engine_handler_interface.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/base/ime/ime_engine_handler_interface.h
 @@ -138,7 +138,7 @@ class UI_BASE_IME_EXPORT IMEEngineHandle
    // Hides the input view window (from API call).
diff --git a/chromium-new/patches/patch-ui_base_ime_input__method__factory.cc b/chromium-new/patches/patch-ui_base_ime_input__method__factory.cc
index b17cfbb35a..db83c3df00 100644
--- a/chromium-new/patches/patch-ui_base_ime_input__method__factory.cc
+++ b/chromium-new/patches/patch-ui_base_ime_input__method__factory.cc
@@ -1,26 +1,24 @@
 $NetBSD$
 
---- ui/base/ime/input_method_factory.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/base/ime/input_method_factory.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/base/ime/input_method_factory.cc
-@@ -14,8 +14,8 @@
+@@ -14,7 +14,8 @@
  #include "ui/base/ime/input_method_win.h"
  #elif defined(OS_MACOSX)
  #include "ui/base/ime/input_method_mac.h"
--#elif defined(USE_AURA) && defined(OS_LINUX) && defined(USE_X11) && \
--      !defined(OS_CHROMEOS)
+-#elif defined(USE_AURA) && defined(OS_LINUX) && defined(USE_X11)
 +#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) && \
-+	defined(USE_X11) && !defined(OS_CHROMEOS)
++      defined(USE_X11)
  #include "ui/base/ime/input_method_auralinux.h"
  #elif defined(OS_ANDROID)
  #include "ui/base/ime/input_method_android.h"
-@@ -56,8 +56,8 @@ std::unique_ptr<InputMethod> CreateInput
+@@ -55,7 +56,8 @@ std::unique_ptr<InputMethod> CreateInput
    return base::MakeUnique<InputMethodWin>(delegate, widget);
  #elif defined(OS_MACOSX)
    return base::MakeUnique<InputMethodMac>(delegate);
--#elif defined(USE_AURA) && defined(OS_LINUX) && defined(USE_X11) && \
--      !defined(OS_CHROMEOS)
+-#elif defined(USE_AURA) && defined(OS_LINUX) && defined(USE_X11)
 +#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) && \
-+  defined(USE_X11) && !defined(OS_CHROMEOS)
++      defined(USE_X11)
    return base::MakeUnique<InputMethodAuraLinux>(delegate);
  #elif defined(OS_ANDROID)
    return base::MakeUnique<InputMethodAndroid>(delegate);
diff --git a/chromium-new/patches/patch-ui_base_ime_input__method__initializer.cc b/chromium-new/patches/patch-ui_base_ime_input__method__initializer.cc
index e27701fd8d..14687984fe 100644
--- a/chromium-new/patches/patch-ui_base_ime_input__method__initializer.cc
+++ b/chromium-new/patches/patch-ui_base_ime_input__method__initializer.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/base/ime/input_method_initializer.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/base/ime/input_method_initializer.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/base/ime/input_method_initializer.cc
 @@ -8,14 +8,14 @@
  
diff --git a/chromium-new/patches/patch-ui_base_resource_resource__bundle.cc b/chromium-new/patches/patch-ui_base_resource_resource__bundle.cc
index 303c156492..bf6dc845fc 100644
--- a/chromium-new/patches/patch-ui_base_resource_resource__bundle.cc
+++ b/chromium-new/patches/patch-ui_base_resource_resource__bundle.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/base/resource/resource_bundle.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/base/resource/resource_bundle.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/base/resource/resource_bundle.cc
-@@ -638,7 +638,7 @@ void ResourceBundle::ReloadFonts() {
+@@ -651,7 +651,7 @@ void ResourceBundle::ReloadFonts() {
  }
  
  ScaleFactor ResourceBundle::GetMaxScaleFactor() const {
@@ -11,7 +11,7 @@ $NetBSD$
    return max_scale_factor_;
  #else
    return GetSupportedScaleFactors().back();
-@@ -698,7 +698,7 @@ void ResourceBundle::InitSharedInstance(
+@@ -711,7 +711,7 @@ void ResourceBundle::InitSharedInstance(
      supported_scale_factors.push_back(SCALE_FACTOR_100P);
    }
  #elif defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_LINUX) || \
diff --git a/chromium-new/patches/patch-ui_base_ui__features.gni b/chromium-new/patches/patch-ui_base_ui__features.gni
index ac91be34b5..0d62cef5d0 100644
--- a/chromium-new/patches/patch-ui_base_ui__features.gni
+++ b/chromium-new/patches/patch-ui_base_ui__features.gni
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/base/ui_features.gni.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/base/ui_features.gni.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/base/ui_features.gni
 @@ -2,4 +2,4 @@
  # Use of this source code is governed by a BSD-style license that can be
diff --git a/chromium-new/patches/patch-ui_base_webui_web__ui__util.cc b/chromium-new/patches/patch-ui_base_webui_web__ui__util.cc
index 76a7f31aa2..f478519c16 100644
--- a/chromium-new/patches/patch-ui_base_webui_web__ui__util.cc
+++ b/chromium-new/patches/patch-ui_base_webui_web__ui__util.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/base/webui/web_ui_util.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/base/webui/web_ui_util.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/base/webui/web_ui_util.cc
-@@ -165,7 +165,7 @@ std::string GetFontFamily() {
+@@ -161,7 +161,7 @@ std::string GetFontFamily() {
  
  // TODO(dnicoara) Remove Ozone check when PlatformFont support is introduced
  // into Ozone: crbug.com/320050
diff --git a/chromium-new/patches/patch-ui_compositor_BUILD.gn b/chromium-new/patches/patch-ui_compositor_BUILD.gn
index df39b07ce7..c907bf561c 100644
--- a/chromium-new/patches/patch-ui_compositor_BUILD.gn
+++ b/chromium-new/patches/patch-ui_compositor_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/compositor/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/compositor/BUILD.gn.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/compositor/BUILD.gn
-@@ -200,7 +200,7 @@ test("compositor_unittests") {
+@@ -201,7 +201,7 @@ test("compositor_unittests") {
      "//ui/gl",
      "//ui/resources",
    ]
diff --git a/chromium-new/patches/patch-ui_events_event__switches.cc b/chromium-new/patches/patch-ui_events_event__switches.cc
index 431c8e73f6..1d2e41a952 100644
--- a/chromium-new/patches/patch-ui_events_event__switches.cc
+++ b/chromium-new/patches/patch-ui_events_event__switches.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/events/event_switches.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/events/event_switches.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/events/event_switches.cc
 @@ -28,7 +28,7 @@ const char kTouchEventsDisabled[] = "dis
  const char kCompensateForUnstablePinchZoom[] =
diff --git a/chromium-new/patches/patch-ui_events_event__switches.h b/chromium-new/patches/patch-ui_events_event__switches.h
index 1333934f24..69f0b3ef05 100644
--- a/chromium-new/patches/patch-ui_events_event__switches.h
+++ b/chromium-new/patches/patch-ui_events_event__switches.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/events/event_switches.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/events/event_switches.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/events/event_switches.h
 @@ -18,7 +18,7 @@ EVENTS_BASE_EXPORT extern const char kTo
  EVENTS_BASE_EXPORT extern const char kTouchEventsDisabled[];
diff --git a/chromium-new/patches/patch-ui_events_keycodes_dom_keycode__converter.cc b/chromium-new/patches/patch-ui_events_keycodes_dom_keycode__converter.cc
index 369728d901..7333abfc4c 100644
--- a/chromium-new/patches/patch-ui_events_keycodes_dom_keycode__converter.cc
+++ b/chromium-new/patches/patch-ui_events_keycodes_dom_keycode__converter.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/events/keycodes/dom/keycode_converter.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/events/keycodes/dom/keycode_converter.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/events/keycodes/dom/keycode_converter.cc
 @@ -19,7 +19,7 @@ namespace {
  // and DOM Level 3 |code| strings.
diff --git a/chromium-new/patches/patch-ui_gfx_BUILD.gn b/chromium-new/patches/patch-ui_gfx_BUILD.gn
index 8537b8235e..62399e54ce 100644
--- a/chromium-new/patches/patch-ui_gfx_BUILD.gn
+++ b/chromium-new/patches/patch-ui_gfx_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/gfx/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/gfx/BUILD.gn.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/gfx/BUILD.gn
-@@ -376,7 +376,7 @@ component("gfx") {
+@@ -371,7 +371,7 @@ component("gfx") {
    }
  
    # Linux.
@@ -11,7 +11,7 @@ $NetBSD$
      deps += [ "//build/linux:fontconfig" ]
    }
  
-@@ -577,7 +577,7 @@ static_library("test_support") {
+@@ -549,7 +549,7 @@ static_library("test_support") {
        "test/ui_cocoa_test_helper.mm",
      ]
    }
diff --git a/chromium-new/patches/patch-ui_gfx_canvas__skia.cc b/chromium-new/patches/patch-ui_gfx_canvas__skia.cc
index c0b29014df..c724328df0 100644
--- a/chromium-new/patches/patch-ui_gfx_canvas__skia.cc
+++ b/chromium-new/patches/patch-ui_gfx_canvas__skia.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/gfx/canvas_skia.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/gfx/canvas_skia.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/gfx/canvas_skia.cc
 @@ -209,7 +209,7 @@ void Canvas::DrawStringRectWithShadows(c
      Range range = StripAcceleratorChars(flags, &adjusted_text);
diff --git a/chromium-new/patches/patch-ui_gfx_font__fallback__linux.cc b/chromium-new/patches/patch-ui_gfx_font__fallback__linux.cc
index 05bf995391..479793745d 100644
--- a/chromium-new/patches/patch-ui_gfx_font__fallback__linux.cc
+++ b/chromium-new/patches/patch-ui_gfx_font__fallback__linux.cc
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- ui/gfx/font_fallback_linux.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/gfx/font_fallback_linux.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/gfx/font_fallback_linux.cc
 @@ -15,6 +15,10 @@
  #include "base/memory/ptr_util.h"
  #include "ui/gfx/font.h"
  
 +#if defined(OS_BSD)
-+#  include <unistd.h>
++#include <unistd.h>
 +#endif
 +
  namespace gfx {
diff --git a/chromium-new/patches/patch-ui_gfx_font__render__params.h b/chromium-new/patches/patch-ui_gfx_font__render__params.h
index 8be09dbd06..52048be39d 100644
--- a/chromium-new/patches/patch-ui_gfx_font__render__params.h
+++ b/chromium-new/patches/patch-ui_gfx_font__render__params.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/gfx/font_render_params.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/gfx/font_render_params.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/gfx/font_render_params.h
 @@ -106,13 +106,13 @@ GFX_EXPORT FontRenderParams GetFontRende
      const FontRenderParamsQuery& query,
diff --git a/chromium-new/patches/patch-ui_gfx_render__text.cc b/chromium-new/patches/patch-ui_gfx_render__text.cc
index 755e1ccf43..da565eec8b 100644
--- a/chromium-new/patches/patch-ui_gfx_render__text.cc
+++ b/chromium-new/patches/patch-ui_gfx_render__text.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/gfx/render_text.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/gfx/render_text.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/gfx/render_text.cc
-@@ -999,32 +999,33 @@ void RenderText::SetDisplayOffset(int ho
+@@ -972,32 +972,33 @@ void RenderText::SetDisplayOffset(int ho
    const int extra_content = GetContentWidth() - display_rect_.width();
    const int cursor_width = cursor_enabled_ ? 1 : 0;
  
diff --git a/chromium-new/patches/patch-ui_gl_BUILD.gn b/chromium-new/patches/patch-ui_gl_BUILD.gn
index 06e74dde36..00fa54f981 100644
--- a/chromium-new/patches/patch-ui_gl_BUILD.gn
+++ b/chromium-new/patches/patch-ui_gl_BUILD.gn
@@ -1,17 +1,17 @@
 $NetBSD$
 
---- ui/gl/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/gl/BUILD.gn.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/gl/BUILD.gn
-@@ -12,7 +12,7 @@ declare_args() {
+@@ -13,7 +13,7 @@ declare_args() {
    enable_swiftshader = is_chrome_branded && is_win
  }
  
 -use_egl = is_win || is_android || is_linux
 +use_egl = is_win || is_android || is_linux || is_bsd
- use_glx = use_x11
+ use_glx = use_x11 || ozone_platform_x11
  
  if (is_android) {
-@@ -169,7 +169,7 @@ component("gl") {
+@@ -170,7 +170,7 @@ component("gl") {
        "gl_surface_egl.h",
      ]
    }
diff --git a/chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.cc b/chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.cc
index 72b4880960..a4744f00b9 100644
--- a/chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.cc
+++ b/chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.cc
@@ -1,31 +1,65 @@
 $NetBSD$
 
---- ui/gl/sync_control_vsync_provider.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/gl/sync_control_vsync_provider.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/gl/sync_control_vsync_provider.cc
 @@ -11,7 +11,7 @@
  #include "base/trace_event/trace_event.h"
  #include "build/build_config.h"
  
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_WIN)
  // These constants define a reasonable range for a calculated refresh interval.
  // Calculating refreshes out of this range will be considered a fatal error.
  const int64_t kMinVsyncIntervalUs = base::Time::kMicrosecondsPerSecond / 400;
+@@ -21,17 +21,17 @@ const int64_t kMaxVsyncIntervalUs = base
+ // we think the latest computed interval is invalid (noisey due to
+ // monitor configuration change, moving a window between monitors, etc.).
+ const double kRelativeIntervalDifferenceThreshold = 0.05;
+-#endif  // defined(OS_LINUX) || defined(OS_WIN)
++#endif  // defined(OS_LINUX) || defined(OS_BSD) || defined(OS_WIN)
+ 
+ namespace gl {
+ 
+ SyncControlVSyncProvider::SyncControlVSyncProvider() : gfx::VSyncProvider() {
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_WIN)
+   // On platforms where we can't get an accurate reading on the refresh
+   // rate we fall back to the assumption that we're displaying 60 frames
+   // per second.
+   last_good_interval_ = base::TimeDelta::FromSeconds(1) / 60;
+-#endif  // defined(OS_LINUX) || defined(OS_WIN)
++#endif  // defined(OS_LINUX) || defined(OS_BSD) || defined(OS_WIN)
+ }
+ 
+ SyncControlVSyncProvider::~SyncControlVSyncProvider() {}
 @@ -39,7 +39,7 @@ SyncControlVSyncProvider::~SyncControlVS
  void SyncControlVSyncProvider::GetVSyncParameters(
      const UpdateVSyncCallback& callback) {
    TRACE_EVENT0("gpu", "SyncControlVSyncProvider::GetVSyncParameters");
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_WIN)
    base::TimeTicks timebase;
  
-   // The actual clock used for the system time returned by glXGetSyncValuesOML
-@@ -155,7 +155,7 @@ void SyncControlVSyncProvider::GetVSyncP
+   int64_t system_time;
+@@ -129,10 +129,10 @@ void SyncControlVSyncProvider::GetVSyncP
    last_timebase_ = timebase;
    last_media_stream_counter_ = media_stream_counter;
    callback.Run(timebase, last_good_interval_);
+-#endif  // defined(OS_LINUX) || defined(OS_WIN)
++#endif  // defined(OS_LINUX) || defined(OS_BSD) || defined(OS_WIN)
+ }
+ 
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ bool SyncControlVSyncProvider::AdjustSyncValues(int64_t* system_time,
+                                                 int64_t* media_stream_counter) {
+   // Both Intel and Mali drivers will return TRUE for GetSyncValues
+@@ -192,7 +192,7 @@ bool SyncControlVSyncProvider::AdjustSyn
+ 
+   return true;
+ }
 -#endif  // defined(OS_LINUX)
 +#endif  // defined(OS_LINUX) || defined(OS_BSD)
- }
  
- }  // namespace gl
+ #if defined(OS_WIN)
+ bool SyncControlVSyncProvider::AdjustSyncValues(int64_t* system_time,
diff --git a/chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.h b/chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.h
index 9cf98a0382..abbae8a562 100644
--- a/chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.h
+++ b/chromium-new/patches/patch-ui_gl_sync__control__vsync__provider.h
@@ -1,13 +1,22 @@
 $NetBSD$
 
---- ui/gl/sync_control_vsync_provider.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/gl/sync_control_vsync_provider.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/gl/sync_control_vsync_provider.h
-@@ -31,7 +31,7 @@ class SyncControlVSyncProvider : public 
+@@ -32,7 +32,7 @@ class GL_EXPORT SyncControlVSyncProvider
    virtual bool GetMscRate(int32_t* numerator, int32_t* denominator) = 0;
  
   private:
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+   bool AdjustSyncValues(int64_t* system_time, int64_t* media_stream_counter);
+ 
+   base::TimeTicks last_timebase_;
+@@ -48,7 +48,7 @@ class GL_EXPORT SyncControlVSyncProvider
+   std::queue<base::TimeDelta> last_computed_intervals_;
+ #endif  //  defined(OS_LINUX) || defined(OS_WIN)
+ 
 -#if defined(OS_LINUX)
 +#if defined(OS_LINUX) || defined(OS_BSD)
-   base::TimeTicks last_timebase_;
-   uint64_t last_media_stream_counter_ = 0;
-   base::TimeDelta last_good_interval_;
+   bool invalid_msc_ = false;
+ #endif  // defined(OS_LINUX)
+ 
diff --git a/chromium-new/patches/patch-ui_message__center_message__center__style.h b/chromium-new/patches/patch-ui_message__center_message__center__style.h
index bea57b49f9..eefd0a6ae8 100644
--- a/chromium-new/patches/patch-ui_message__center_message__center__style.h
+++ b/chromium-new/patches/patch-ui_message__center_message__center__style.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/message_center/message_center_style.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/message_center/message_center_style.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/message_center/message_center_style.h
 @@ -115,7 +115,7 @@ const int kButtonHorizontalPadding = 16;
  const int kButtonIconTopPadding = 11;      // In DIPs.
diff --git a/chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.cc b/chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.cc
index 64c57ba7b2..610097dd41 100644
--- a/chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.cc
+++ b/chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/message_center/views/message_center_button_bar.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/message_center/views/message_center_button_bar.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/message_center/views/message_center_button_bar.cc
 @@ -95,7 +95,7 @@ MessageCenterButtonBar::MessageCenterBut
      const base::string16& title)
diff --git a/chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.h b/chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.h
index 3ff753e0f4..73553a4601 100644
--- a/chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.h
+++ b/chromium-new/patches/patch-ui_message__center_views_message__center__button__bar.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/message_center/views/message_center_button_bar.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/message_center/views/message_center_button_bar.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/message_center/views/message_center_button_bar.h
-@@ -76,7 +76,7 @@ class MessageCenterButtonBar : public vi
+@@ -74,7 +74,7 @@ class MessageCenterButtonBar : public vi
    // close-on-deactivation is off. This is a tentative solution. Once pkotwicz
    // Fixes the problem of focus-follow-mouse, close-on-deactivation will be
    // back and this field will be removed. See crbug.com/319516.
diff --git a/chromium-new/patches/patch-ui_message__center_views_message__view__factory.cc b/chromium-new/patches/patch-ui_message__center_views_message__view__factory.cc
index e2a933b911..d192358dfa 100644
--- a/chromium-new/patches/patch-ui_message__center_views_message__view__factory.cc
+++ b/chromium-new/patches/patch-ui_message__center_views_message__view__factory.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/message_center/views/message_view_factory.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/message_center/views/message_view_factory.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/message_center/views/message_view_factory.cc
 @@ -43,7 +43,7 @@ MessageView* MessageViewFactory::Create(
        notification_view = new NotificationView(controller, notification);
diff --git a/chromium-new/patches/patch-ui_resources_ui__resources.grd b/chromium-new/patches/patch-ui_resources_ui__resources.grd
index 27cf26190b..b3a9e5f311 100644
--- a/chromium-new/patches/patch-ui_resources_ui__resources.grd
+++ b/chromium-new/patches/patch-ui_resources_ui__resources.grd
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/resources/ui_resources.grd.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/resources/ui_resources.grd.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/resources/ui_resources.grd
 @@ -15,7 +15,7 @@
        <!-- KEEP THESE IN ALPHABETICAL ORDER!  DO NOT ADD TO RANDOM PLACES JUST
diff --git a/chromium-new/patches/patch-ui_views_BUILD.gn b/chromium-new/patches/patch-ui_views_BUILD.gn
index aa19c30f3b..487e050a5e 100644
--- a/chromium-new/patches/patch-ui_views_BUILD.gn
+++ b/chromium-new/patches/patch-ui_views_BUILD.gn
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/views/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/BUILD.gn.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/BUILD.gn
-@@ -60,7 +60,7 @@ component("views") {
+@@ -426,7 +426,7 @@ component("views") {
    if (use_x11 && !is_chromeos) {
      deps += [ "//ui/display/util" ]
    }
@@ -11,12 +11,12 @@ $NetBSD$
      sources -= [ "window/window_button_order_provider.cc" ]
      deps += [ "//ui/shell_dialogs" ]
    } else {
-@@ -128,7 +128,7 @@ component("views") {
-       } else if (use_ozone) {
-         sources += gypi_values.views_desktop_aura_ozone_sources
+@@ -618,7 +618,7 @@ component("views") {
+           "widget/desktop_aura/desktop_window_tree_host_ozone.cc",
+         ]
        }
 -      if (is_linux) {
 +      if (is_linux || is_bsd) {
-         sources += gypi_values.views_desktop_aura_linux_sources
-       }
-     }
+         sources += [
+           "style/platform_style_linux.cc",
+           "widget/desktop_aura/desktop_cursor_loader_updater_auralinux.cc",
diff --git a/chromium-new/patches/patch-ui_views_accessibility_native__view__accessibility.h b/chromium-new/patches/patch-ui_views_accessibility_native__view__accessibility.h
index 5d503c5ad8..ae51367171 100644
--- a/chromium-new/patches/patch-ui_views_accessibility_native__view__accessibility.h
+++ b/chromium-new/patches/patch-ui_views_accessibility_native__view__accessibility.h
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/views/accessibility/native_view_accessibility.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/accessibility/native_view_accessibility.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/accessibility/native_view_accessibility.h
 @@ -22,7 +22,7 @@
  #define PLATFORM_HAS_NATIVE_VIEW_ACCESSIBILITY_IMPL 1
diff --git a/chromium-new/patches/patch-ui_views_bubble_bubble__dialog__delegate.cc b/chromium-new/patches/patch-ui_views_bubble_bubble__dialog__delegate.cc
index 09d0a6146f..80841a90c8 100644
--- a/chromium-new/patches/patch-ui_views_bubble_bubble__dialog__delegate.cc
+++ b/chromium-new/patches/patch-ui_views_bubble_bubble__dialog__delegate.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/views/bubble/bubble_dialog_delegate.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/bubble/bubble_dialog_delegate.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/bubble/bubble_dialog_delegate.cc
-@@ -72,7 +72,7 @@ Widget* BubbleDialogDelegateView::Create
+@@ -73,7 +73,7 @@ Widget* BubbleDialogDelegateView::Create
    // the parent frame and let DWM handle compositing.  If not, then we don't
    // want to allow the bubble to extend the frame because it will be clipped.
    bubble_delegate->set_adjust_if_offscreen(ui::win::IsAeroGlassEnabled());
diff --git a/chromium-new/patches/patch-ui_views_controls_label.cc b/chromium-new/patches/patch-ui_views_controls_label.cc
new file mode 100644
index 0000000000..40bea69323
--- /dev/null
+++ b/chromium-new/patches/patch-ui_views_controls_label.cc
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- ui/views/controls/label.cc.orig	2017-02-02 02:03:13.000000000 +0000
++++ ui/views/controls/label.cc
+@@ -523,7 +523,7 @@ bool Label::OnMousePressed(const ui::Mou
+     GetFocusManager()->SetFocusedView(this);
+   }
+ 
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   if (event.IsOnlyMiddleMouseButton() && GetFocusManager())
+     GetFocusManager()->SetFocusedView(this);
+ #endif
+@@ -687,7 +687,7 @@ bool Label::PasteSelectionClipboard() {
+ }
+ 
+ void Label::UpdateSelectionClipboard() {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   if (!obscured()) {
+     ui::ScopedClipboardWriter(ui::CLIPBOARD_TYPE_SELECTION)
+         .WriteText(GetSelectedText());
diff --git a/chromium-new/patches/patch-ui_views_controls_textfield_textfield.cc b/chromium-new/patches/patch-ui_views_controls_textfield_textfield.cc
index 9a468b9ff7..16ea1ff0ea 100644
--- a/chromium-new/patches/patch-ui_views_controls_textfield_textfield.cc
+++ b/chromium-new/patches/patch-ui_views_controls_textfield_textfield.cc
@@ -1,8 +1,8 @@
 $NetBSD$
 
---- ui/views/controls/textfield/textfield.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/controls/textfield/textfield.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/controls/textfield/textfield.cc
-@@ -51,7 +51,7 @@
+@@ -53,7 +53,7 @@
  #include "ui/base/win/osk_display_manager.h"
  #endif
  
@@ -11,7 +11,7 @@ $NetBSD$
  #include "base/strings/utf_string_conversions.h"
  #include "ui/base/ime/linux/text_edit_command_auralinux.h"
  #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
-@@ -156,14 +156,14 @@ ui::TextEditCommand GetCommandForKeyEven
+@@ -146,14 +146,14 @@ ui::TextEditCommand GetCommandForKeyEven
      case ui::VKEY_BACK:
        if (!control)
          return ui::TextEditCommand::DELETE_BACKWARD;
@@ -28,16 +28,16 @@ $NetBSD$
        // Only erase by line break on Linux and ChromeOS.
        if (shift && control)
          return ui::TextEditCommand::DELETE_TO_END_OF_LINE;
-@@ -596,7 +596,7 @@ bool Textfield::OnMousePressed(const ui:
-       OnAfterUserAction();
-     }
+@@ -580,7 +580,7 @@ bool Textfield::OnMousePressed(const ui:
+     ShowImeIfNeeded();
+   }
  
 -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 +#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
-     if (event.IsOnlyMiddleMouseButton()) {
-       if (GetRenderText()->IsPointInSelection(event.location())) {
-         OnBeforeUserAction();
-@@ -665,7 +665,7 @@ bool Textfield::OnKeyPressed(const ui::K
+   if (!handled && !HasFocus() && event.IsOnlyMiddleMouseButton())
+     RequestFocus();
+ #endif
+@@ -617,7 +617,7 @@ bool Textfield::OnKeyPressed(const ui::K
    if (!textfield)
      return handled;
  
@@ -46,7 +46,7 @@ $NetBSD$
    ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
        ui::GetTextEditKeyBindingsDelegate();
    std::vector<ui::TextEditCommandAuraLinux> commands;
-@@ -805,7 +805,7 @@ void Textfield::AboutToRequestFocusFromT
+@@ -757,7 +757,7 @@ void Textfield::AboutToRequestFocusFromT
  }
  
  bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) {
@@ -55,7 +55,7 @@ $NetBSD$
    // Skip any accelerator handling that conflicts with custom keybindings.
    ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
        ui::GetTextEditKeyBindingsDelegate();
-@@ -1065,7 +1065,7 @@ void Textfield::WriteDragDataForView(Vie
+@@ -1035,7 +1035,7 @@ void Textfield::WriteDragDataForView(Vie
    std::unique_ptr<gfx::Canvas> canvas(
        GetCanvasForDragImage(GetWidget(), label.size()));
    label.SetEnabledColor(GetTextColor());
@@ -64,12 +64,12 @@ $NetBSD$
    // Desktop Linux Aura does not yet support transparency in drag images.
    canvas->DrawColor(GetBackgroundColor());
  #endif
-@@ -2004,7 +2004,7 @@ void Textfield::CreateTouchSelectionCont
+@@ -1827,7 +1827,7 @@ bool Textfield::PasteSelectionClipboard(
  }
  
- void Textfield::UpdateSelectionClipboard() const {
+ void Textfield::UpdateSelectionClipboard() {
 -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 +#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
-   if (performing_user_action_ && HasSelection()) {
-     ui::ScopedClipboardWriter(
-         ui::CLIPBOARD_TYPE_SELECTION).WriteText(GetSelectedText());
+   if (text_input_type_ != ui::TEXT_INPUT_TYPE_PASSWORD) {
+     ui::ScopedClipboardWriter(ui::CLIPBOARD_TYPE_SELECTION)
+         .WriteText(GetSelectedText());
diff --git a/chromium-new/patches/patch-ui_views_controls_webview_BUILD.gn b/chromium-new/patches/patch-ui_views_controls_webview_BUILD.gn
index b82b2f04c7..c7ad441e93 100644
--- a/chromium-new/patches/patch-ui_views_controls_webview_BUILD.gn
+++ b/chromium-new/patches/patch-ui_views_controls_webview_BUILD.gn
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/views/controls/webview/BUILD.gn.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/controls/webview/BUILD.gn.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/controls/webview/BUILD.gn
 @@ -39,7 +39,7 @@ component("webview") {
      "//ui/views",
diff --git a/chromium-new/patches/patch-ui_views_corewm_tooltip__aura.cc b/chromium-new/patches/patch-ui_views_corewm_tooltip__aura.cc
new file mode 100644
index 0000000000..c058497d8b
--- /dev/null
+++ b/chromium-new/patches/patch-ui_views_corewm_tooltip__aura.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ui/views/corewm/tooltip_aura.cc.orig	2017-02-02 02:03:13.000000000 +0000
++++ ui/views/corewm/tooltip_aura.cc
+@@ -34,7 +34,7 @@ const int kCursorOffsetY = 15;
+ 
+ // TODO(varkha): Update if native widget can be transparent on Linux.
+ bool CanUseTranslucentTooltipWidget() {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   return false;
+ #else
+   return true;
diff --git a/chromium-new/patches/patch-ui_views_examples_widget__example.cc b/chromium-new/patches/patch-ui_views_examples_widget__example.cc
index b1e152fc54..c60bfccf47 100644
--- a/chromium-new/patches/patch-ui_views_examples_widget__example.cc
+++ b/chromium-new/patches/patch-ui_views_examples_widget__example.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/views/examples/widget_example.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/examples/widget_example.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/examples/widget_example.cc
 @@ -77,7 +77,7 @@ void WidgetExample::CreateExampleView(Vi
    BuildButton(container, "Popup widget", POPUP);
diff --git a/chromium-new/patches/patch-ui_views_selection__controller.cc b/chromium-new/patches/patch-ui_views_selection__controller.cc
new file mode 100644
index 0000000000..eac4d654c0
--- /dev/null
+++ b/chromium-new/patches/patch-ui_views_selection__controller.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- ui/views/selection_controller.cc.orig	2017-02-02 02:03:13.000000000 +0000
++++ ui/views/selection_controller.cc
+@@ -20,7 +20,7 @@ SelectionController::SelectionController
+       delegate_(delegate),
+       handles_selection_clipboard_(false) {
+ // On Linux, update the selection clipboard on a text selection.
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
+   set_handles_selection_clipboard(true);
+ #endif
+ 
diff --git a/chromium-new/patches/patch-ui_views_style_platform__style.cc b/chromium-new/patches/patch-ui_views_style_platform__style.cc
index bff98b4ca0..17560c6191 100644
--- a/chromium-new/patches/patch-ui_views_style_platform__style.cc
+++ b/chromium-new/patches/patch-ui_views_style_platform__style.cc
@@ -1,10 +1,10 @@
 $NetBSD$
 
---- ui/views/style/platform_style.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/style/platform_style.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/style/platform_style.cc
 @@ -17,7 +17,7 @@
  #include "ui/views/controls/focusable_border.h"
- #include "ui/views/controls/scrollbar/native_scroll_bar.h"
+ #include "ui/views/controls/scrollbar/scroll_bar_views.h"
  
 -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
 +#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
diff --git a/chromium-new/patches/patch-ui_views_views__delegate.cc b/chromium-new/patches/patch-ui_views_views__delegate.cc
index 44a26c3a21..c10749d973 100644
--- a/chromium-new/patches/patch-ui_views_views__delegate.cc
+++ b/chromium-new/patches/patch-ui_views_views__delegate.cc
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- ui/views/views_delegate.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/views_delegate.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/views_delegate.cc
-@@ -70,7 +70,7 @@ HICON ViewsDelegate::GetDefaultWindowIco
+@@ -71,7 +71,7 @@ HICON ViewsDelegate::GetDefaultWindowIco
  bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow window) const {
    return false;
  }
 -#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_FREEBSD) || defined(OS_NETBSD)
++#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
  gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const {
    return nullptr;
  }
diff --git a/chromium-new/patches/patch-ui_views_views__delegate.h b/chromium-new/patches/patch-ui_views_views__delegate.h
index 17aa807102..0c0a245a1a 100644
--- a/chromium-new/patches/patch-ui_views_views__delegate.h
+++ b/chromium-new/patches/patch-ui_views_views__delegate.h
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- ui/views/views_delegate.h.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/views_delegate.h.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/views_delegate.h
 @@ -141,7 +141,7 @@ class VIEWS_EXPORT ViewsDelegate {
    // Returns true if the window passed in is in the Windows 8 metro
    // environment.
    virtual bool IsWindowInMetro(gfx::NativeWindow window) const;
 -#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_FREEBSD) || defined(OS_NETBSD)
++#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
    virtual gfx::ImageSkia* GetDefaultWindowIcon() const;
  #endif
  
diff --git a/chromium-new/patches/patch-ui_views_views__switches.cc b/chromium-new/patches/patch-ui_views_views__switches.cc
index cf435ae24d..408f0c4697 100644
--- a/chromium-new/patches/patch-ui_views_views__switches.cc
+++ b/chromium-new/patches/patch-ui_views_views__switches.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/views/views_switches.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/views_switches.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/views_switches.cc
 @@ -18,7 +18,7 @@ const char kDisableViewsRectBasedTargeti
      "disable-views-rect-based-targeting";
diff --git a/chromium-new/patches/patch-ui_views_window_custom__frame__view.cc b/chromium-new/patches/patch-ui_views_window_custom__frame__view.cc
index f62e4fb7e0..9d3761c060 100644
--- a/chromium-new/patches/patch-ui_views_window_custom__frame__view.cc
+++ b/chromium-new/patches/patch-ui_views_window_custom__frame__view.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/views/window/custom_frame_view.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/window/custom_frame_view.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/window/custom_frame_view.cc
 @@ -287,7 +287,7 @@ int CustomFrameView::NonClientTopBorderH
  int CustomFrameView::CaptionButtonY() const {
diff --git a/chromium-new/patches/patch-ui_views_window_dialog__delegate.cc b/chromium-new/patches/patch-ui_views_window_dialog__delegate.cc
index aa2295a164..e3c172c0d9 100644
--- a/chromium-new/patches/patch-ui_views_window_dialog__delegate.cc
+++ b/chromium-new/patches/patch-ui_views_window_dialog__delegate.cc
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/views/window/dialog_delegate.cc.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/views/window/dialog_delegate.cc.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/views/window/dialog_delegate.cc
 @@ -56,7 +56,7 @@ Widget::InitParams DialogDelegate::GetDi
    params.bounds = bounds;
diff --git a/chromium-new/patches/patch-ui_webui_resources_js_cr.js b/chromium-new/patches/patch-ui_webui_resources_js_cr.js
index 55ea62bcf2..fd959145a0 100644
--- a/chromium-new/patches/patch-ui_webui_resources_js_cr.js
+++ b/chromium-new/patches/patch-ui_webui_resources_js_cr.js
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- ui/webui/resources/js/cr.js.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/webui/resources/js/cr.js.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/webui/resources/js/cr.js
 @@ -451,6 +451,11 @@ var cr = cr || function() {
      get doc() {
diff --git a/chromium-new/patches/patch-ui_webui_resources_js_icon.js b/chromium-new/patches/patch-ui_webui_resources_js_icon.js
index 2afe9543fb..d3bd09f8bd 100644
--- a/chromium-new/patches/patch-ui_webui_resources_js_icon.js
+++ b/chromium-new/patches/patch-ui_webui_resources_js_icon.js
@@ -1,13 +1,13 @@
 $NetBSD$
 
---- ui/webui/resources/js/icon.js.orig	2016-11-10 20:02:30.000000000 +0000
+--- ui/webui/resources/js/icon.js.orig	2017-02-02 02:03:13.000000000 +0000
 +++ ui/webui/resources/js/icon.js
-@@ -9,7 +9,7 @@ cr.define('cr.icon', function() {
-    */
-   function getSupportedScaleFactors() {
-     var supportedScaleFactors = [];
+@@ -14,7 +14,7 @@ cr.define('cr.icon', function() {
+       // supports SCALE_FACTOR_100P on all non-iOS platforms.
+       supportedScaleFactors.push(1);
+     }
 -    if (cr.isMac || cr.isChromeOS || cr.isWindows || cr.isLinux) {
 +    if (cr.isMac || cr.isChromeOS || cr.isWindows || cr.isLinux || cr.isBSD) {
-       // All desktop platforms support zooming which also updates the
-       // renderer's device scale factors (a.k.a devicePixelRatio), and
-       // these platforms has high DPI assets for 2.0x. Use 1x and 2x in
+       // All desktop platforms support zooming which also updates the renderer's
+       // device scale factors (a.k.a devicePixelRatio), and these platforms have
+       // high DPI assets for 2x.  Let the renderer pick the closest image for
diff --git a/chromium-new/patches/patch-v8_src_base_platform_platform-posix.cc b/chromium-new/patches/patch-v8_src_base_platform_platform-posix.cc
index b4eb81e6c9..8ea1f9b17d 100644
--- a/chromium-new/patches/patch-v8_src_base_platform_platform-posix.cc
+++ b/chromium-new/patches/patch-v8_src_base_platform_platform-posix.cc
@@ -22,7 +22,7 @@ $NetBSD$
 +#elif V8_OS_FREEBSD
 +  return static_cast<int>(pthread_getthreadid_np());
 +#elif V8_OS_NETBSD
-+  return static_cast<int>(_lwp_self());
++  return reinterpret_cast<uint64_t>(pthread_self());
  #elif V8_OS_AIX
    return static_cast<int>(thread_self());
  #elif V8_OS_SOLARIS
diff --git a/chromium-new/patches/patch-v8_src_globals.h b/chromium-new/patches/patch-v8_src_globals.h
new file mode 100644
index 0000000000..17ff6e41f0
--- /dev/null
+++ b/chromium-new/patches/patch-v8_src_globals.h
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- v8/src/globals.h.orig	2017-02-02 02:04:00.000000000 +0000
++++ v8/src/globals.h
+@@ -182,7 +182,11 @@ const size_t kCodeRangeAreaAlignment = 2
+ const size_t kMaximalCodeRangeSize = 512 * MB;
+ const size_t kCodeRangeAreaAlignment = 64 * KB;  // OS page on PPC Linux
+ #else
++#if defined(__FreeBSD__) || defined(__NetBSD__)
++const size_t kMaximalCodeRangeSize = 256 * MB;
++#else
+ const size_t kMaximalCodeRangeSize = 512 * MB;
++#endif
+ const size_t kCodeRangeAreaAlignment = 4 * KB;  // OS page.
+ #endif
+ #if V8_OS_WIN
diff --git a/chromium-new/patches/patch-v8_tools_run-llprof.sh b/chromium-new/patches/patch-v8_tools_run-llprof.sh
index 9253ba1879..b6e6743590 100644
--- a/chromium-new/patches/patch-v8_tools_run-llprof.sh
+++ b/chromium-new/patches/patch-v8_tools_run-llprof.sh
@@ -1,6 +1,6 @@
 $NetBSD$
 
---- v8/tools/run-llprof.sh.orig	2016-11-10 20:03:08.000000000 +0000
+--- v8/tools/run-llprof.sh.orig	2017-02-02 02:04:01.000000000 +0000
 +++ v8/tools/run-llprof.sh
 @@ -46,7 +46,7 @@ framework, then calls the low level tick
  EOF


Home | Main Index | Thread Index | Old Index