aboutsummaryrefslogtreecommitdiff
path: root/www/chromium/files
diff options
context:
space:
mode:
authorCarlos J. Puga Medina <cpm@FreeBSD.org>2017-03-04 21:32:19 +0000
committerCarlos J. Puga Medina <cpm@FreeBSD.org>2017-03-04 21:32:19 +0000
commit4b3fa3f0cf52ac441737a660568f3c4f3eafffcd (patch)
treeb9a97c7a39d63203d06a878b4fef1dec32694218 /www/chromium/files
parent0dad5c2884e0872b130da6ca05740114c158234b (diff)
downloadports-4b3fa3f0cf52ac441737a660568f3c4f3eafffcd.tar.gz
ports-4b3fa3f0cf52ac441737a660568f3c4f3eafffcd.zip
- Backport several patches of OpenBSD that add more linux code for
font handling. - Disabled WebRTC support because it does not work properly on BSD and more patches are needed. - Update pkg-plist - Bump PORTREVISION MFH: 2017Q1
Notes
Notes: svn path=/head/; revision=435428
Diffstat (limited to 'www/chromium/files')
-rw-r--r--www/chromium/files/patch-base_allocator_allocator__shim.cc11
-rw-r--r--www/chromium/files/patch-chrome_app_chrome__main__delegate.cc54
-rw-r--r--www/chromium/files/patch-chrome_app_google__chrome__strings.grd11
-rw-r--r--www/chromium/files/patch-chrome_app_mash_mash__runner.cc11
-rw-r--r--www/chromium/files/patch-chrome_app_settings__strings.grdp20
-rw-r--r--www/chromium/files/patch-chrome_browser_about__flags.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_browser__resources.grd11
-rw-r--r--www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc11
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc56
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h39
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc44
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h50
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc16
-rw-r--r--www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h16
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_input__method_input__method__engine.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc15
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc50
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc28
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc13
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h11
-rw-r--r--www/chromium/files/patch-chrome_browser_ui_webui_settings_md__settings__localized__strings__provider.cc20
-rw-r--r--www/chromium/files/patch-chrome_browser_web__applications_web__app.cc13
-rw-r--r--www/chromium/files/patch-chrome_common_url__constants.cc20
-rw-r--r--www/chromium/files/patch-chrome_common_url__constants.h20
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc29
-rw-r--r--www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc11
-rw-r--r--www/chromium/files/patch-components_sync_base_get__session__name.cc20
-rw-r--r--www/chromium/files/patch-components_sync_base_get__session__name__linux.cc18
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc11
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h11
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc11
-rw-r--r--www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc8
-rw-r--r--www/chromium/files/patch-content_child_child__process.cc11
-rw-r--r--www/chromium/files/patch-content_child_child__process.h11
-rw-r--r--www/chromium/files/patch-content_child_child__thread__impl.cc11
-rw-r--r--www/chromium/files/patch-content_child_child__thread__impl.h11
-rw-r--r--www/chromium/files/patch-content_common_child__process__messages.h29
-rw-r--r--www/chromium/files/patch-content_common_content__switches__internal.cc11
-rw-r--r--www/chromium/files/patch-content_common_view__messages.h11
-rw-r--r--www/chromium/files/patch-content_renderer_pepper_pepper__media__device__manager.cc15
-rw-r--r--www/chromium/files/patch-mash_package_mash__packaged__service.cc20
-rw-r--r--www/chromium/files/patch-media_base_audio__latency.cc11
-rw-r--r--www/chromium/files/patch-media_base_video__frame.cc47
-rw-r--r--www/chromium/files/patch-media_base_video__frame.h38
-rw-r--r--www/chromium/files/patch-net_BUILD.gn26
-rw-r--r--www/chromium/files/patch-net_base_network__change__notifier.cc20
-rw-r--r--www/chromium/files/patch-net_base_network__change__notifier.h29
-rw-r--r--www/chromium/files/patch-net_base_network__interfaces__linux.cc105
-rw-r--r--www/chromium/files/patch-net_base_network__interfaces__posix.cc30
-rw-r--r--www/chromium/files/patch-net_disk__cache_blockfile_disk__format.h12
-rw-r--r--www/chromium/files/patch-net_dns_dns__util.cc11
-rw-r--r--www/chromium/files/patch-net_dns_host__resolver__proc.cc11
-rw-r--r--www/chromium/files/patch-net_tools_cert__verify__tool_verify__using__path__builder.cc20
-rw-r--r--www/chromium/files/patch-services_ui_gpu_gpu__main.cc11
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h6
-rw-r--r--www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp10
-rw-r--r--www/chromium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h11
-rw-r--r--www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn11
-rw-r--r--www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc20
-rw-r--r--www/chromium/files/patch-ui_base_ime_BUILD.gn4
-rw-r--r--www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc19
-rw-r--r--www/chromium/files/patch-ui_gfx_font__list.cc11
-rw-r--r--www/chromium/files/patch-ui_message__center_views_toast__contents__view.cc11
-rw-r--r--www/chromium/files/patch-ui_views_mus_BUILD.gn11
-rw-r--r--www/chromium/files/patch-ui_views_mus_aura__init.cc29
-rw-r--r--www/chromium/files/patch-ui_views_mus_aura__init.h11
68 files changed, 1173 insertions, 208 deletions
diff --git a/www/chromium/files/patch-base_allocator_allocator__shim.cc b/www/chromium/files/patch-base_allocator_allocator__shim.cc
new file mode 100644
index 000000000000..33cf88735fc5
--- /dev/null
+++ b/www/chromium/files/patch-base_allocator_allocator__shim.cc
@@ -0,0 +1,11 @@
+--- base/allocator/allocator_shim.cc.orig 2017-02-02 02:02:47 UTC
++++ base/allocator/allocator_shim.cc
+@@ -89,7 +89,7 @@ inline const allocator::AllocatorDispatc
+ // Unfortunately due to that bug NoBarrier_Load() is mistakenly fully
+ // barriered on Linux+Clang, and that causes visible perf regressons.
+ return reinterpret_cast<const allocator::AllocatorDispatch*>(
+-#if defined(OS_LINUX) && defined(__clang__)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && defined(__clang__)
+ *static_cast<const volatile subtle::AtomicWord*>(&g_chain_head)
+ #else
+ subtle::NoBarrier_Load(&g_chain_head)
diff --git a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
index 36e7245c4dc8..1cf98ee6ba75 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
@@ -1,6 +1,15 @@
---- chrome/app/chrome_main_delegate.cc.orig 2017-01-26 00:49:07 UTC
+--- chrome/app/chrome_main_delegate.cc.orig 2017-02-02 02:02:48 UTC
+++ chrome/app/chrome_main_delegate.cc
-@@ -117,7 +117,7 @@
+@@ -86,7 +86,7 @@
+ #include "chrome/app/chrome_crash_reporter_client.h"
+ #endif
+
+-#if !defined(DISABLE_NACL) && defined(OS_LINUX)
++#if !defined(DISABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD)
+ #include "components/nacl/common/nacl_paths.h"
+ #include "components/nacl/zygote/nacl_fork_delegate_linux.h"
+ #endif
+@@ -117,11 +117,11 @@
#include "ui/base/x/x11_util.h" // nogncheck
#endif
@@ -9,6 +18,47 @@
#include "components/crash/content/app/breakpad_linux.h"
#endif
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/environment.h"
+ #endif
+
+@@ -163,7 +163,7 @@ base::LazyInstance<ChromeContentBrowserC
+ LAZY_INSTANCE_INITIALIZER;
+ #endif
+
+-#if defined(OS_POSIX)
++#if defined(OS_POSIX) && !defined(OS_BSD)
+ base::LazyInstance<ChromeCrashReporterClient>::Leaky g_chrome_crash_client =
+ LAZY_INSTANCE_INITIALIZER;
+ #endif
+@@ -280,7 +280,7 @@ static void AdjustLinuxOOMScore(const st
+ // and resources loaded.
+ bool SubprocessNeedsResourceBundle(const std::string& process_type) {
+ return
+-#if defined(OS_POSIX) && !defined(OS_MACOSX)
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
+ // The zygote process opens the resources for the renderers.
+ process_type == switches::kZygoteProcess ||
+ #endif
+@@ -332,7 +332,7 @@ void HandleHelpSwitches(const base::Comm
+ }
+ #endif
+
+-#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
++#if !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
+ void SIGTERMProfilingShutdown(int signal) {
+ Profiling::Stop();
+ struct sigaction sigact;
+@@ -366,7 +366,7 @@ void InitializeUserDataDir() {
+ std::string process_type =
+ command_line->GetSwitchValueASCII(switches::kProcessType);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // On Linux, Chrome does not support running multiple copies under different
+ // DISPLAYs, so the profile directory can be specified in the environment to
+ // support the virtual desktop use-case.
@@ -560,7 +560,7 @@ bool ChromeMainDelegate::BasicStartupCom
std::string format_str =
command_line.GetSwitchValueASCII(switches::kDiagnosticsFormat);
diff --git a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
new file mode 100644
index 000000000000..01d18fbaa2f2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd
@@ -0,0 +1,11 @@
+--- chrome/app/google_chrome_strings.grd.orig 2017-02-02 02:02:48 UTC
++++ chrome/app/google_chrome_strings.grd
+@@ -940,7 +940,7 @@ Signing in anyway will merge Chrome info
+ </message>
+
+ <!-- ProcessSingleton -->
+- <if expr="is_linux or is_macosx">
++ <if expr="is_linux or is_macosx or is_bsd">
+ <message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
+ The profile appears to be in use by another Google Chrome process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chrome has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chrome.
+ </message>
diff --git a/www/chromium/files/patch-chrome_app_mash_mash__runner.cc b/www/chromium/files/patch-chrome_app_mash_mash__runner.cc
new file mode 100644
index 000000000000..aeb5d9c1e1cf
--- /dev/null
+++ b/www/chromium/files/patch-chrome_app_mash_mash__runner.cc
@@ -0,0 +1,11 @@
+--- chrome/app/mash/mash_runner.cc.orig 2017-02-02 02:02:48 UTC
++++ chrome/app/mash/mash_runner.cc
+@@ -207,7 +207,7 @@ int MashMain() {
+ service_manager::InitializeLogging();
+
+ std::unique_ptr<base::MessageLoop> message_loop;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ base::AtExitManager exit_manager;
+ #endif
+ if (!IsChild())
diff --git a/www/chromium/files/patch-chrome_app_settings__strings.grdp b/www/chromium/files/patch-chrome_app_settings__strings.grdp
new file mode 100644
index 000000000000..263de66ffc74
--- /dev/null
+++ b/www/chromium/files/patch-chrome_app_settings__strings.grdp
@@ -0,0 +1,20 @@
+--- chrome/app/settings_strings.grdp.orig 2017-02-02 02:02:48 UTC
++++ chrome/app/settings_strings.grdp
+@@ -178,7 +178,7 @@
+ <message name="IDS_SETTINGS_THEMES" desc="Name of the control which allows the user to get a theme for the browser.">
+ Themes
+ </message>
+- <if expr="is_linux and not chromeos">
++ <if expr="is_posix and not chromeos">
+ <message name="IDS_SETTINGS_SYSTEM_THEME" desc="Text of the label describing the system (GTK+) browser theme on Linux">
+ GTK+
+ </message>
+@@ -192,7 +192,7 @@
+ Use Classic
+ </message>
+ </if>
+- <if expr="not is_linux or chromeos">
++ <if expr="not is_posix or chromeos">
+ <message name="IDS_SETTINGS_RESET_TO_DEFAULT_THEME" desc="Name of the control which resets the browser theme back to the default theme.">
+ Reset to default
+ </message>
diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc
index 05f6ac5dfe80..944f1b9e28f0 100644
--- a/www/chromium/files/patch-chrome_browser_about__flags.cc
+++ b/www/chromium/files/patch-chrome_browser_about__flags.cc
@@ -1,4 +1,4 @@
---- chrome/browser/about_flags.cc.orig 2017-01-26 00:49:08 UTC
+--- chrome/browser/about_flags.cc.orig 2017-02-02 02:02:48 UTC
+++ chrome/browser/about_flags.cc
@@ -776,7 +776,7 @@ const FeatureEntry kFeatureEntries[] = {
kOsLinux | kOsCrOS | kOsWin | kOsAndroid,
@@ -9,6 +9,20 @@
{"overlay-scrollbars", IDS_FLAGS_OVERLAY_SCROLLBARS_NAME,
IDS_FLAGS_OVERLAY_SCROLLBARS_DESCRIPTION,
// Uses the system preference on Mac (a different implementation).
+@@ -1291,11 +1291,11 @@ const FeatureEntry kFeatureEntries[] = {
+ ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTranslateNewUX,
+ switches::kDisableTranslateNewUX)},
+ #endif // OS_MACOSX
+-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ {"translate-2016q2-ui", IDS_FLAGS_TRANSLATE_2016Q2_UI_NAME,
+ IDS_FLAGS_TRANSLATE_2016Q2_UI_DESCRIPTION, kOsCrOS | kOsWin | kOsLinux,
+ FEATURE_VALUE_TYPE(translate::kTranslateUI2016Q2)},
+-#endif // OS_LINUX || OS_WIN || OS_CHROMEOS
++#endif // OS_LINUX || OS_WIN || OS_CHROMEOS || OS_BSD
+ {"translate-lang-by-ulp", IDS_FLAGS_TRANSLATE_LANGUAGE_BY_ULP_NAME,
+ IDS_FLAGS_TRANSLATE_LANGUAGE_BY_ULP_DESCRIPTION, kOsAll,
+ FEATURE_VALUE_TYPE(translate::kTranslateLanguageByULP)},
@@ -1769,7 +1769,7 @@ const FeatureEntry kFeatureEntries[] = {
IDS_FLAGS_ENABLE_MATERIAL_DESIGN_EXTENSIONS_DESCRIPTION, kOsDesktop,
FEATURE_VALUE_TYPE(features::kMaterialDesignExtensions)},
diff --git a/www/chromium/files/patch-chrome_browser_browser__resources.grd b/www/chromium/files/patch-chrome_browser_browser__resources.grd
new file mode 100644
index 000000000000..0c77275970e1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_browser__resources.grd
@@ -0,0 +1,11 @@
+--- chrome/browser/browser_resources.grd.orig 2017-02-02 02:02:48 UTC
++++ chrome/browser/browser_resources.grd
+@@ -372,7 +372,7 @@
+ <include name="IDR_ABOUT_VOICESEARCH_JS" file="resources\about_voicesearch.js" type="BINDATA" />
+ <include name="IDR_PLUGIN_DB_JSON" file="resources\plugin_metadata\plugins_chromeos.json" type="BINDATA" />
+ </if>
+- <if expr="desktop_linux or (is_android and enable_plugins)">
++ <if expr="desktop_linux or (is_android and enable_plugins) or is_bsd">
+ <include name="IDR_PLUGIN_DB_JSON" file="resources\plugin_metadata\plugins_linux.json" type="BINDATA" />
+ </if>
+ <if expr="is_android">
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
new file mode 100644
index 000000000000..15cc6ff5caf9
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/extensions/api/settings_private/prefs_util.cc
+@@ -83,7 +83,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+ settings_private::PrefType::PREF_TYPE_BOOLEAN;
+ (*s_whitelist)[bookmarks::prefs::kShowBookmarkBar] =
+ settings_private::PrefType::PREF_TYPE_BOOLEAN;
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ (*s_whitelist)[::prefs::kUseCustomChromeFrame] =
+ settings_private::PrefType::PREF_TYPE_BOOLEAN;
+ #endif
+@@ -93,7 +93,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil
+ // Appearance settings.
+ (*s_whitelist)[::prefs::kCurrentThemeID] =
+ settings_private::PrefType::PREF_TYPE_STRING;
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ (*s_whitelist)[::prefs::kUsesSystemTheme] =
+ settings_private::PrefType::PREF_TYPE_BOOLEAN;
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
new file mode 100644
index 000000000000..0836059177ce
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/first_run/first_run_internal_posix.cc.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/first_run/first_run_internal_posix.cc
+@@ -24,7 +24,7 @@ namespace first_run {
+ namespace internal {
+
+ void DoPostImportPlatformSpecificTasks(Profile* profile) {
+-#if !defined(OS_CHROMEOS)
++#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ base::FilePath local_state_path;
+ PathService::Get(chrome::FILE_LOCAL_STATE, &local_state_path);
+ bool local_state_file_exists = base::PathExists(local_state_path);
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc
new file mode 100644
index 000000000000..0cc452a8c747
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc
@@ -0,0 +1,56 @@
+--- chrome/browser/task_manager/sampling/task_group.cc.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/task_manager/sampling/task_group.cc
+@@ -25,9 +25,9 @@ const int kBackgroundRefreshTypesMask =
+ REFRESH_TYPE_CPU |
+ REFRESH_TYPE_MEMORY |
+ REFRESH_TYPE_IDLE_WAKEUPS |
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ REFRESH_TYPE_FD_COUNT |
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ REFRESH_TYPE_PRIORITY;
+
+ #if defined(OS_WIN)
+@@ -88,9 +88,9 @@ TaskGroup::TaskGroup(
+ nacl_debug_stub_port_(-1),
+ #endif // !defined(DISABLE_NACL)
+ idle_wakeups_per_second_(-1),
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ open_fd_count_(-1),
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ gpu_memory_has_duplicates_(false),
+ is_backgrounded_(false),
+ weak_ptr_factory_(this) {
+@@ -103,10 +103,10 @@ TaskGroup::TaskGroup(
+ weak_ptr_factory_.GetWeakPtr()),
+ base::Bind(&TaskGroup::OnIdleWakeupsRefreshDone,
+ weak_ptr_factory_.GetWeakPtr()),
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ base::Bind(&TaskGroup::OnOpenFdCountRefreshDone,
+ weak_ptr_factory_.GetWeakPtr()),
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ base::Bind(&TaskGroup::OnProcessPriorityDone,
+ weak_ptr_factory_.GetWeakPtr())));
+ worker_thread_sampler_.swap(sampler);
+@@ -282,14 +282,14 @@ void TaskGroup::OnIdleWakeupsRefreshDone
+ OnBackgroundRefreshTypeFinished(REFRESH_TYPE_IDLE_WAKEUPS);
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+
+ open_fd_count_ = open_fd_count;
+ OnBackgroundRefreshTypeFinished(REFRESH_TYPE_FD_COUNT);
+ }
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ void TaskGroup::OnProcessPriorityDone(bool is_backgrounded) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h
new file mode 100644
index 000000000000..8ddc9ce747e2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h
@@ -0,0 +1,39 @@
+--- chrome/browser/task_manager/sampling/task_group.h.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/task_manager/sampling/task_group.h
+@@ -91,9 +91,9 @@ class TaskGroup {
+ int nacl_debug_stub_port() const { return nacl_debug_stub_port_; }
+ #endif // !defined(DISABLE_NACL)
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ int open_fd_count() const { return open_fd_count_; }
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ int idle_wakeups_per_second() const { return idle_wakeups_per_second_; }
+
+@@ -112,9 +112,9 @@ class TaskGroup {
+
+ void OnIdleWakeupsRefreshDone(int idle_wakeups_per_second);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void OnOpenFdCountRefreshDone(int open_fd_count);
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ void OnProcessPriorityDone(bool is_backgrounded);
+
+@@ -159,10 +159,10 @@ class TaskGroup {
+ int nacl_debug_stub_port_;
+ #endif // !defined(DISABLE_NACL)
+ int idle_wakeups_per_second_;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // The number of file descriptors currently open by the process.
+ int open_fd_count_;
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ bool gpu_memory_has_duplicates_;
+ bool is_backgrounded_;
+
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
new file mode 100644
index 000000000000..201eac4461d5
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
@@ -0,0 +1,44 @@
+--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/task_manager/sampling/task_group_sampler.cc
+@@ -36,9 +36,9 @@ TaskGroupSampler::TaskGroupSampler(
+ const OnCpuRefreshCallback& on_cpu_refresh,
+ const OnMemoryRefreshCallback& on_memory_refresh,
+ const OnIdleWakeupsCallback& on_idle_wakeups,
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ const OnOpenFdCountCallback& on_open_fd_count,
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ const OnProcessPriorityCallback& on_process_priority)
+ : process_(std::move(process)),
+ process_metrics_(CreateProcessMetrics(process_.Handle())),
+@@ -46,9 +46,9 @@ TaskGroupSampler::TaskGroupSampler(
+ on_cpu_refresh_callback_(on_cpu_refresh),
+ on_memory_refresh_callback_(on_memory_refresh),
+ on_idle_wakeups_callback_(on_idle_wakeups),
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ on_open_fd_count_callback_(on_open_fd_count),
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ on_process_priority_callback_(on_process_priority) {
+ DCHECK(blocking_pool_runner.get());
+
+@@ -80,7 +80,7 @@ void TaskGroupSampler::Refresh(int64_t r
+ on_memory_refresh_callback_);
+ }
+
+-#if defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+ if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS,
+ refresh_flags)) {
+ base::PostTaskAndReplyWithResult(
+@@ -89,7 +89,7 @@ void TaskGroupSampler::Refresh(int64_t r
+ base::Bind(&TaskGroupSampler::RefreshIdleWakeupsPerSecond, this),
+ on_idle_wakeups_callback_);
+ }
+-#endif // defined(OS_MACOSX) || defined(OS_LINUX)
++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+
+ #if defined(OS_LINUX)
+ if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT,
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
new file mode 100644
index 000000000000..0a8aaeb9408c
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
@@ -0,0 +1,50 @@
+--- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/task_manager/sampling/task_group_sampler.h
+@@ -45,9 +45,9 @@ class TaskGroupSampler : public base::Re
+ using OnCpuRefreshCallback = base::Callback<void(double)>;
+ using OnMemoryRefreshCallback = base::Callback<void(MemoryUsageStats)>;
+ using OnIdleWakeupsCallback = base::Callback<void(int)>;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ using OnOpenFdCountCallback = base::Callback<void(int)>;
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ using OnProcessPriorityCallback = base::Callback<void(bool)>;
+
+ TaskGroupSampler(
+@@ -56,9 +56,9 @@ class TaskGroupSampler : public base::Re
+ const OnCpuRefreshCallback& on_cpu_refresh,
+ const OnMemoryRefreshCallback& on_memory_refresh,
+ const OnIdleWakeupsCallback& on_idle_wakeups,
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ const OnOpenFdCountCallback& on_open_fd_count,
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ const OnProcessPriorityCallback& on_process_priority);
+
+ // Refreshes the expensive process' stats (CPU usage, memory usage, and idle
+@@ -73,9 +73,9 @@ class TaskGroupSampler : public base::Re
+ double RefreshCpuUsage();
+ MemoryUsageStats RefreshMemoryUsage();
+ int RefreshIdleWakeupsPerSecond();
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ int RefreshOpenFdCount();
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ bool RefreshProcessPriority();
+
+ // The process that holds the handle that we own so that we can use it for
+@@ -93,9 +93,9 @@ class TaskGroupSampler : public base::Re
+ const OnCpuRefreshCallback on_cpu_refresh_callback_;
+ const OnMemoryRefreshCallback on_memory_refresh_callback_;
+ const OnIdleWakeupsCallback on_idle_wakeups_callback_;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ const OnOpenFdCountCallback on_open_fd_count_callback_;
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ const OnProcessPriorityCallback on_process_priority_callback_;
+
+ // To assert we're running on the correct thread.
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
new file mode 100644
index 000000000000..9c111327858b
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
@@ -0,0 +1,16 @@
+--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/task_manager/sampling/task_manager_impl.cc
+@@ -160,11 +160,11 @@ void TaskManagerImpl::GetUSERHandles(Tas
+ }
+
+ int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ return GetTaskGroupByTaskId(task_id)->open_fd_count();
+ #else
+ return -1;
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ }
+
+ bool TaskManagerImpl::IsTaskOnBackgroundedProcess(TaskId task_id) const {
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h b/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h
new file mode 100644
index 000000000000..697430176946
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h
@@ -0,0 +1,16 @@
+--- chrome/browser/task_manager/task_manager_observer.h.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/task_manager/task_manager_observer.h
+@@ -40,11 +40,11 @@ enum RefreshType {
+ // or backgrounded.
+ REFRESH_TYPE_PRIORITY = 1 << 11,
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // For observers interested in getting the number of open file descriptors of
+ // processes.
+ REFRESH_TYPE_FD_COUNT = 1 << 12,
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ REFRESH_TYPE_MEMORY = REFRESH_TYPE_PHYSICAL_MEMORY |
+ REFRESH_TYPE_MEMORY_DETAILS,
diff --git a/www/chromium/files/patch-chrome_browser_ui_input__method_input__method__engine.h b/www/chromium/files/patch-chrome_browser_ui_input__method_input__method__engine.h
new file mode 100644
index 000000000000..9e45a6da803f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_input__method_input__method__engine.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/input_method/input_method_engine.h.orig 2017-02-02 02:02:49 UTC
++++ chrome/browser/ui/input_method/input_method_engine.h
+@@ -27,7 +27,7 @@ class InputMethodEngine : public InputMe
+
+ // ui::IMEEngineHandlerInterface:
+ bool IsActive() const override;
+- std::string GetExtensionId() const override;
++ std::string GetExtensionId() const;
+
+ // Creates and shows the IME window.
+ // Returns 0 for errors and |error| will contains the error message.
diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
new file mode 100644
index 000000000000..fd808150aab3
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
@@ -0,0 +1,15 @@
+--- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2017-02-02 02:02:50 UTC
++++ chrome/browser/ui/task_manager/task_manager_columns.cc
+@@ -74,10 +74,10 @@ const TableColumnData kColumns[] = {
+ { IDS_TASK_MANAGER_IDLE_WAKEUPS_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("idlewakeups") * kCharWidth, -1, true, false, false },
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ { IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ arraysize("999") * kCharWidth, -1, true, false, false },
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+ { IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN, ui::TableColumn::LEFT, -1, 0,
+ arraysize("background") * kCharWidth, -1, true, true, false },
+ };
diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
new file mode 100644
index 000000000000..67613f9839a2
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
@@ -0,0 +1,50 @@
+--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2017-02-02 02:02:50 UTC
++++ chrome/browser/ui/task_manager/task_manager_table_model.cc
+@@ -390,13 +390,13 @@ base::string16 TaskManagerTableModel::Ge
+ ? stringifier_->backgrounded_string()
+ : stringifier_->foregrounded_string();
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
+ const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]);
+ return fd_count >= 0 ? base::FormatNumber(fd_count)
+ : stringifier_->n_a_string();
+ }
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ default:
+ NOTREACHED();
+@@ -540,7 +540,7 @@ int TaskManagerTableModel::CompareValues
+ return BooleanCompare(is_proc1_bg, is_proc2_bg);
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
+ const int proc1_fd_count =
+ observed_task_manager()->GetOpenFdCount(tasks_[row1]);
+@@ -548,7 +548,7 @@ int TaskManagerTableModel::CompareValues
+ observed_task_manager()->GetOpenFdCount(tasks_[row2]);
+ return ValueCompare(proc1_fd_count, proc2_fd_count);
+ }
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ default:
+ NOTREACHED();
+@@ -699,11 +699,11 @@ void TaskManagerTableModel::UpdateRefres
+ type = REFRESH_TYPE_PRIORITY;
+ break;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN:
+ type = REFRESH_TYPE_FD_COUNT;
+ break;
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ default:
+ NOTREACHED();
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
new file mode 100644
index 000000000000..6ff417846137
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
@@ -0,0 +1,28 @@
+--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2017-02-02 02:02:50 UTC
++++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
+@@ -24,14 +24,14 @@
+ #include "ui/wm/core/wm_state.h"
+ #endif // defined(USE_AURA)
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ #include "base/command_line.h"
+ #include "chrome/browser/ui/simple_message_box.h"
+ #include "chrome/grit/chromium_strings.h"
+ #include "chrome/grit/generated_resources.h"
+ #include "content/public/common/content_switches.h"
+ #include "ui/base/l10n/l10n_util.h"
+-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+
+ ChromeBrowserMainExtraPartsViews::ChromeBrowserMainExtraPartsViews() {
+ }
+@@ -62,7 +62,7 @@ void ChromeBrowserMainExtraPartsViews::P
+ }
+
+ void ChromeBrowserMainExtraPartsViews::PreProfileInit() {
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ // On the Linux desktop, we want to prevent the user from logging in as root,
+ // so that we don't destroy the profile. Now that we have some minimal ui
+ // initialized, check to see if we're running as root and bail if we are.
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc b/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc
index af383e4487b2..4af2fb258163 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc
@@ -1,4 +1,4 @@
---- chrome/browser/ui/views/first_run_dialog.cc.orig 2017-01-26 00:49:09 UTC
+--- chrome/browser/ui/views/first_run_dialog.cc.orig 2017-02-02 02:02:50 UTC
+++ chrome/browser/ui/views/first_run_dialog.cc
@@ -40,8 +40,10 @@ using views::GridLayout;
namespace {
@@ -11,3 +11,14 @@
}
} // namespace
+@@ -121,8 +123,10 @@ views::View* FirstRunDialog::CreateExtra
+ bool FirstRunDialog::Accept() {
+ GetWidget()->Hide();
+
++#if !defined(OS_BSD)
+ ChangeMetricsReportingStateWithReply(report_crashes_->checked(),
+ base::Bind(&InitCrashReporterIfEnabled));
++#endif
+
+ if (make_default_->checked())
+ shell_integration::SetAsDefaultBrowser();
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
new file mode 100644
index 000000000000..7eb5ea573ccb
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2017-02-02 02:02:50 UTC
++++ chrome/browser/ui/webui/settings/appearance_handler.cc
+@@ -32,7 +32,7 @@ void AppearanceHandler::RegisterMessages
+ "useDefaultTheme",
+ base::Bind(&AppearanceHandler::HandleUseDefaultTheme,
+ base::Unretained(this)));
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ web_ui()->RegisterMessageCallback(
+ "useSystemTheme",
+ base::Bind(&AppearanceHandler::HandleUseSystemTheme,
+@@ -50,7 +50,7 @@ void AppearanceHandler::HandleUseDefault
+ ThemeServiceFactory::GetForProfile(profile_)->UseDefaultTheme();
+ }
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ void AppearanceHandler::HandleUseSystemTheme(const base::ListValue* args) {
+ if (profile_->IsSupervised())
+ NOTREACHED();
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
new file mode 100644
index 000000000000..b5ca30960ed7
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/settings/appearance_handler.h.orig 2017-02-02 02:02:50 UTC
++++ chrome/browser/ui/webui/settings/appearance_handler.h
+@@ -35,7 +35,7 @@ class AppearanceHandler : public Setting
+ // Changes the UI theme of the browser to the default theme.
+ void HandleUseDefaultTheme(const base::ListValue* args);
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ // Changes the UI theme of the browser to the system (GTK+) theme.
+ void HandleUseSystemTheme(const base::ListValue* args);
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_md__settings__localized__strings__provider.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_md__settings__localized__strings__provider.cc
new file mode 100644
index 000000000000..ba1b5dd58302
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_md__settings__localized__strings__provider.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc.orig 2017-02-02 02:02:50 UTC
++++ chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
+@@ -266,7 +266,7 @@ void AddAppearanceStrings(content::WebUI
+ {"appearancePageTitle", IDS_SETTINGS_APPEARANCE},
+ {"exampleDotCom", IDS_SETTINGS_EXAMPLE_DOT_COM},
+ {"themes", IDS_SETTINGS_THEMES},
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ {"systemTheme", IDS_SETTINGS_SYSTEM_THEME},
+ {"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME},
+ {"classicTheme", IDS_SETTINGS_CLASSIC_THEME},
+@@ -286,7 +286,7 @@ void AddAppearanceStrings(content::WebUI
+ {"openWallpaperApp", IDS_SETTINGS_OPEN_WALLPAPER_APP},
+ {"setWallpaper", IDS_SETTINGS_SET_WALLPAPER},
+ #endif
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS},
+ #endif
+ };
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc
index 25f49f0f91a9..deb18905977b 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc
@@ -1,11 +1,20 @@
---- chrome/browser/web_applications/web_app.cc.orig 2017-01-26 00:49:09 UTC
+--- chrome/browser/web_applications/web_app.cc.orig 2017-02-02 02:02:50 UTC
+++ chrome/browser/web_applications/web_app.cc
+@@ -58,7 +58,7 @@ namespace {
+ #if defined(OS_MACOSX)
+ const int kDesiredSizes[] = {16, 32, 128, 256, 512};
+ const size_t kNumDesiredSizes = arraysize(kDesiredSizes);
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ // Linux supports icons of any size. FreeDesktop Icon Theme Specification states
+ // that "Minimally you should install a 48x48 icon in the hicolor theme."
+ const int kDesiredSizes[] = {16, 32, 48, 128, 256, 512};
@@ -507,7 +507,7 @@ void GetIconsInfo(const WebApplicationIn
}
#endif
-#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
std::string GetWMClassFromAppName(std::string app_name) {
base::i18n::ReplaceIllegalCharactersInPath(&app_name, '_');
base::TrimString(app_name, "_", &app_name);
diff --git a/www/chromium/files/patch-chrome_common_url__constants.cc b/www/chromium/files/patch-chrome_common_url__constants.cc
new file mode 100644
index 000000000000..373ff744083e
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_url__constants.cc
@@ -0,0 +1,20 @@
+--- chrome/common/url_constants.cc.orig 2017-02-02 02:02:50 UTC
++++ chrome/common/url_constants.cc
+@@ -139,7 +139,7 @@ const char kChromeUIMdCupsSettingsURL[]
+ const char kChromeUIMetroFlowURL[] = "chrome://make-metro/";
+ #endif
+
+-#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
++#if ((defined(OS_BSD) || defined(OS_LINUX)) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
+ const char kChromeUITabModalConfirmDialogURL[] =
+ "chrome://tab-modal-confirm-dialog/";
+ #endif
+@@ -332,7 +332,7 @@ const char kChromeOSAssetPath[] = "/usr/
+ const char kChromeUIMetroFlowHost[] = "make-metro";
+ #endif
+
+-#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
++#if ((defined(OS_BSD) || defined(OS_LINUX)) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
+ const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
+ #endif
+
diff --git a/www/chromium/files/patch-chrome_common_url__constants.h b/www/chromium/files/patch-chrome_common_url__constants.h
new file mode 100644
index 000000000000..710a8e744270
--- /dev/null
+++ b/www/chromium/files/patch-chrome_common_url__constants.h
@@ -0,0 +1,20 @@
+--- chrome/common/url_constants.h.orig 2017-02-02 02:02:50 UTC
++++ chrome/common/url_constants.h
+@@ -125,7 +125,7 @@ extern const char kChromeUIMdCupsSetting
+ extern const char kChromeUIMetroFlowURL[];
+ #endif
+
+-#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
++#if ((defined(OS_BSD) || defined(OS_LINUX)) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
+ extern const char kChromeUITabModalConfirmDialogURL[];
+ #endif
+
+@@ -309,7 +309,7 @@ extern const char kChromeOSAssetPath[];
+ extern const char kChromeUIMetroFlowHost[];
+ #endif
+
+-#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
++#if ((defined(OS_BSD) || defined(OS_LINUX)) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
+ extern const char kChromeUITabModalConfirmDialogHost[];
+ #endif
+
diff --git a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc
new file mode 100644
index 000000000000..41d1e4d5ce3a
--- /dev/null
+++ b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc
@@ -0,0 +1,29 @@
+--- chromecast/browser/cast_browser_main_parts.cc.orig 2017-02-02 02:02:51 UTC
++++ chromecast/browser/cast_browser_main_parts.cc
+@@ -67,7 +67,7 @@
+ #include <signal.h>
+ #include <sys/prctl.h>
+ #endif
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include <fontconfig/fontconfig.h>
+ #endif
+
+@@ -226,7 +226,7 @@ DefaultCommandLineSwitch g_default_switc
+ #if BUILDFLAG(IS_CAST_AUDIO_ONLY)
+ { switches::kDisableGpu, "" },
+ #endif
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(ARCH_CPU_X86_FAMILY)
+ // This is needed for now to enable the x11 Ozone platform to work with
+ // current Linux/NVidia OpenGL drivers.
+@@ -366,7 +366,7 @@ void CastBrowserMainParts::PostMainMessa
+ }
+
+ void CastBrowserMainParts::ToolkitInitialized() {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Without this call, the FontConfig library gets implicitly initialized
+ // on the first call to FontConfig. Since it's not safe to initialize it
+ // concurrently from multiple threads, we explicitly initialize it here
diff --git a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc
new file mode 100644
index 000000000000..a6645b5ddc40
--- /dev/null
+++ b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc
@@ -0,0 +1,11 @@
+--- chromecast/browser/cast_content_browser_client.cc.orig 2017-02-02 02:02:51 UTC
++++ chromecast/browser/cast_content_browser_client.cc
+@@ -269,7 +269,7 @@ void CastContentBrowserClient::AppendExt
+ command_line->AppendSwitch(switches::kAllowHiddenMediaPlayback);
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Necessary for accelerated 2d canvas. By default on Linux, Chromium assumes
+ // GLES2 contexts can be lost to a power-save mode, which breaks GPU canvas
+ // apps.
diff --git a/www/chromium/files/patch-components_sync_base_get__session__name.cc b/www/chromium/files/patch-components_sync_base_get__session__name.cc
new file mode 100644
index 000000000000..2f344a067ed6
--- /dev/null
+++ b/www/chromium/files/patch-components_sync_base_get__session__name.cc
@@ -0,0 +1,20 @@
+--- components/sync/base/get_session_name.cc.orig 2017-02-02 02:02:53 UTC
++++ components/sync/base/get_session_name.cc
+@@ -15,7 +15,7 @@
+
+ #if defined(OS_CHROMEOS)
+ #include "chromeos/system/devicetype.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "components/sync/base/get_session_name_linux.h"
+ #elif defined(OS_IOS)
+ #include "components/sync/base/get_session_name_ios.h"
+@@ -51,7 +51,7 @@ std::string GetSessionNameSynchronously(
+ session_name = "Chromebook";
+ break;
+ }
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ session_name = internal::GetHostname();
+ #elif defined(OS_IOS)
+ session_name = internal::GetComputerName();
diff --git a/www/chromium/files/patch-components_sync_base_get__session__name__linux.cc b/www/chromium/files/patch-components_sync_base_get__session__name__linux.cc
index 73fc8640d3d9..8d45cc2772ec 100644
--- a/www/chromium/files/patch-components_sync_base_get__session__name__linux.cc
+++ b/www/chromium/files/patch-components_sync_base_get__session__name__linux.cc
@@ -1,22 +1,14 @@
---- components/sync/base/get_session_name_linux.cc.orig 2017-01-26 00:49:12 UTC
+--- components/sync/base/get_session_name_linux.cc.orig 2017-02-02 02:02:53 UTC
+++ components/sync/base/get_session_name_linux.cc
-@@ -4,7 +4,7 @@
-
- #include "components/sync/base/get_session_name_linux.h"
-
--#include <limits.h> // for HOST_NAME_MAX
-+#include <limits.h> // for _POSIX_HOST_NAME_MAX
- #include <unistd.h> // for gethostname()
-
- #include "base/linux_util.h"
-@@ -13,8 +13,8 @@ namespace syncer {
+@@ -13,8 +13,9 @@ namespace syncer {
namespace internal {
std::string GetHostname() {
- char hostname[HOST_NAME_MAX];
- if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
-+ char hostname[_POSIX_HOST_NAME_MAX];
-+ if (gethostname(hostname, _POSIX_HOST_NAME_MAX) == 0) // Success.
++ int len = sysconf(_SC_HOST_NAME_MAX);
++ char hostname[len];
++ if (gethostname(hostname, len) == 0) // Success.
return hostname;
return base::GetLinuxDistro();
}
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc
new file mode 100644
index 000000000000..9a34c8919d15
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/render_message_filter.cc.orig 2017-02-02 02:02:53 UTC
++++ content/browser/renderer_host/render_message_filter.cc
+@@ -92,7 +92,7 @@
+ #include "ui/accelerated_widget_mac/window_resize_helper_mac.h"
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/linux_util.h"
+ #include "base/threading/platform_thread.h"
+ #endif
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h
new file mode 100644
index 000000000000..e69a162821f0
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/render_message_filter.h.orig 2017-02-02 02:02:53 UTC
++++ content/browser/renderer_host/render_message_filter.h
+@@ -175,7 +175,7 @@ class CONTENT_EXPORT RenderMessageFilter
+ void OnDeletedDiscardableSharedMemory(
+ discardable_memory::DiscardableSharedMemoryId id);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void SetThreadPriorityOnFileThread(base::PlatformThreadId ns_tid,
+ base::ThreadPriority priority);
+ void OnSetThreadPriority(base::PlatformThreadId ns_tid,
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
new file mode 100644
index 000000000000..25636e95b19b
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/render_view_host_impl.cc.orig 2017-02-02 02:02:53 UTC
++++ content/browser/renderer_host/render_view_host_impl.cc
+@@ -139,7 +139,7 @@ void GetPlatformSpecificPrefs(RendererPr
+ display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL);
+ prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips =
+ display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXHSCROLL);
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ prefs->system_font_family_name = gfx::Font().GetFontName();
+ #endif
+ }
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
index 9da8083eb45d..05be274cf31f 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
@@ -1,11 +1,11 @@
---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2017-01-26 00:49:13 UTC
+--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2017-02-02 02:02:53 UTC
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -107,7 +107,7 @@
#include "ui/gfx/gdi_util.h"
#endif
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
#include "ui/base/ime/linux/text_edit_command_auralinux.h"
#include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
#endif
@@ -14,7 +14,7 @@
bool RenderWidgetHostViewAura::NeedsMouseCapture() {
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
return NeedsInputGrab();
#endif
return false;
@@ -23,7 +23,7 @@
return;
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
ui::TextEditKeyBindingsDelegateAuraLinux* keybinding_delegate =
ui::GetTextEditKeyBindingsDelegate();
std::vector<ui::TextEditCommandAuraLinux> commands;
diff --git a/www/chromium/files/patch-content_child_child__process.cc b/www/chromium/files/patch-content_child_child__process.cc
new file mode 100644
index 000000000000..f146898c7767
--- /dev/null
+++ b/www/chromium/files/patch-content_child_child__process.cc
@@ -0,0 +1,11 @@
+--- content/child/child_process.cc.orig 2017-02-02 02:02:53 UTC
++++ content/child/child_process.cc
+@@ -103,7 +103,7 @@ void ChildProcess::ReleaseProcess() {
+ main_thread_->OnProcessFinalRelease();
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void ChildProcess::SetIOThreadPriority(
+ base::ThreadPriority io_thread_priority) {
+ main_thread_->SetThreadPriority(io_thread_.GetThreadId(), io_thread_priority);
diff --git a/www/chromium/files/patch-content_child_child__process.h b/www/chromium/files/patch-content_child_child__process.h
new file mode 100644
index 000000000000..e9aaf178bd07
--- /dev/null
+++ b/www/chromium/files/patch-content_child_child__process.h
@@ -0,0 +1,11 @@
+--- content/child/child_process.h.orig 2017-02-02 02:02:53 UTC
++++ content/child/child_process.h
+@@ -69,7 +69,7 @@ class CONTENT_EXPORT ChildProcess {
+ void AddRefProcess();
+ void ReleaseProcess();
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void SetIOThreadPriority(base::ThreadPriority io_thread_priority);
+ #endif
+
diff --git a/www/chromium/files/patch-content_child_child__thread__impl.cc b/www/chromium/files/patch-content_child_child__thread__impl.cc
new file mode 100644
index 000000000000..f1d5ec2c7ee8
--- /dev/null
+++ b/www/chromium/files/patch-content_child_child__thread__impl.cc
@@ -0,0 +1,11 @@
+--- content/child/child_thread_impl.cc.orig 2017-02-02 02:02:53 UTC
++++ content/child/child_thread_impl.cc
+@@ -751,7 +751,7 @@ std::unique_ptr<base::SharedMemory> Chil
+ return base::MakeUnique<base::SharedMemory>(shared_buf, false);
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void ChildThreadImpl::SetThreadPriority(base::PlatformThreadId id,
+ base::ThreadPriority priority) {
+ Send(new ChildProcessHostMsg_SetThreadPriority(id, priority));
diff --git a/www/chromium/files/patch-content_child_child__thread__impl.h b/www/chromium/files/patch-content_child_child__thread__impl.h
new file mode 100644
index 000000000000..adb0b4a4954d
--- /dev/null
+++ b/www/chromium/files/patch-content_child_child__thread__impl.h
@@ -0,0 +1,11 @@
+--- content/child/child_thread_impl.h.orig 2017-02-02 02:02:53 UTC
++++ content/child/child_thread_impl.h
+@@ -130,7 +130,7 @@ class CONTENT_EXPORT ChildThreadImpl
+ IPC::Sender* sender,
+ bool* out_of_memory);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void SetThreadPriority(base::PlatformThreadId id,
+ base::ThreadPriority priority);
+ #endif
diff --git a/www/chromium/files/patch-content_common_child__process__messages.h b/www/chromium/files/patch-content_common_child__process__messages.h
new file mode 100644
index 000000000000..694c11db2a58
--- /dev/null
+++ b/www/chromium/files/patch-content_common_child__process__messages.h
@@ -0,0 +1,29 @@
+--- content/common/child_process_messages.h.orig 2017-02-02 02:02:53 UTC
++++ content/common/child_process_messages.h
+@@ -27,7 +27,7 @@
+ #include "ui/gfx/ipc/gfx_param_traits.h"
+ #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/threading/platform_thread.h"
+ #endif
+
+@@ -70,7 +70,7 @@ IPC_STRUCT_TRAITS_BEGIN(tracked_objects:
+ IPC_STRUCT_TRAITS_MEMBER(process_id)
+ IPC_STRUCT_TRAITS_END()
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ IPC_ENUM_TRAITS_MAX_VALUE(base::ThreadPriority,
+ base::ThreadPriority::REALTIME_AUDIO)
+ #endif
+@@ -218,7 +218,7 @@ IPC_SYNC_MESSAGE_CONTROL2_1(
+ IPC_MESSAGE_CONTROL1(ChildProcessHostMsg_DeletedDiscardableSharedMemory,
+ discardable_memory::DiscardableSharedMemoryId)
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Asks the browser to change the priority of thread.
+ IPC_MESSAGE_CONTROL2(ChildProcessHostMsg_SetThreadPriority,
+ base::PlatformThreadId,
diff --git a/www/chromium/files/patch-content_common_content__switches__internal.cc b/www/chromium/files/patch-content_common_content__switches__internal.cc
new file mode 100644
index 000000000000..0d5b95f46ba6
--- /dev/null
+++ b/www/chromium/files/patch-content_common_content__switches__internal.cc
@@ -0,0 +1,11 @@
+--- content/common/content_switches_internal.cc.orig 2017-02-02 02:02:53 UTC
++++ content/common/content_switches_internal.cc
+@@ -27,7 +27,7 @@ const base::Feature kUseZoomForDsfEnable
+ #endif
+
+ bool IsUseZoomForDSFEnabledByDefault() {
+-#if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
+ return true;
+ #elif defined(OS_WIN)
+ return base::FeatureList::IsEnabled(kUseZoomForDsfEnabledByDefault);
diff --git a/www/chromium/files/patch-content_common_view__messages.h b/www/chromium/files/patch-content_common_view__messages.h
new file mode 100644
index 000000000000..ef3ac1f390c4
--- /dev/null
+++ b/www/chromium/files/patch-content_common_view__messages.h
@@ -0,0 +1,11 @@
+--- content/common/view_messages.h.orig 2017-02-02 02:02:53 UTC
++++ content/common/view_messages.h
+@@ -245,7 +245,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::Rendere
+ IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed)
+ IPC_STRUCT_TRAITS_MEMBER(use_video_overlay_for_embedded_encrypted_video)
+ IPC_STRUCT_TRAITS_MEMBER(network_contry_iso)
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ IPC_STRUCT_TRAITS_MEMBER(system_font_family_name)
+ #endif
+ #if defined(OS_WIN)
diff --git a/www/chromium/files/patch-content_renderer_pepper_pepper__media__device__manager.cc b/www/chromium/files/patch-content_renderer_pepper_pepper__media__device__manager.cc
new file mode 100644
index 000000000000..781ff6e7143c
--- /dev/null
+++ b/www/chromium/files/patch-content_renderer_pepper_pepper__media__device__manager.cc
@@ -0,0 +1,15 @@
+--- content/renderer/pepper/pepper_media_device_manager.cc.orig 2017-02-02 02:02:54 UTC
++++ content/renderer/pepper/pepper_media_device_manager.cc
+@@ -89,9 +89,9 @@ 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/www/chromium/files/patch-mash_package_mash__packaged__service.cc b/www/chromium/files/patch-mash_package_mash__packaged__service.cc
new file mode 100644
index 000000000000..2422ce462458
--- /dev/null
+++ b/www/chromium/files/patch-mash_package_mash__packaged__service.cc
@@ -0,0 +1,20 @@
+--- mash/package/mash_packaged_service.cc.orig 2017-02-02 02:02:55 UTC
++++ mash/package/mash_packaged_service.cc
+@@ -19,7 +19,7 @@
+ #include "services/ui/public/interfaces/constants.mojom.h"
+ #include "services/ui/service.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "components/font_service/font_service_app.h"
+ #endif
+
+@@ -91,7 +91,7 @@ std::unique_ptr<service_manager::Service
+ return base::WrapUnique(new mash::task_viewer::TaskViewer);
+ if (name == "test_ime_driver")
+ return base::WrapUnique(new ui::test::TestIMEApplication);
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (name == "font_service")
+ return base::WrapUnique(new font_service::FontServiceApp);
+ #endif
diff --git a/www/chromium/files/patch-media_base_audio__latency.cc b/www/chromium/files/patch-media_base_audio__latency.cc
new file mode 100644
index 000000000000..f1fb5aab4191
--- /dev/null
+++ b/www/chromium/files/patch-media_base_audio__latency.cc
@@ -0,0 +1,11 @@
+--- media/base/audio_latency.cc.orig 2017-02-02 02:02:55 UTC
++++ media/base/audio_latency.cc
+@@ -83,7 +83,7 @@ int AudioLatency::GetRtcBufferSize(int s
+ return frames_per_buffer;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ // On Linux and MacOS, the low level IO implementations on the browser side
+ // supports all buffer size the clients want. We use the native peer
+ // connection buffer size (10ms) to achieve best possible performance.
diff --git a/www/chromium/files/patch-media_base_video__frame.cc b/www/chromium/files/patch-media_base_video__frame.cc
new file mode 100644
index 000000000000..20ffe5faa928
--- /dev/null
+++ b/www/chromium/files/patch-media_base_video__frame.cc
@@ -0,0 +1,47 @@
+--- media/base/video_frame.cc.orig 2017-02-02 02:02:55 UTC
++++ media/base/video_frame.cc
+@@ -53,7 +53,7 @@ static std::string StorageTypeToString(
+ return "OWNED_MEMORY";
+ case VideoFrame::STORAGE_SHMEM:
+ return "SHMEM";
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ case VideoFrame::STORAGE_DMABUFS:
+ return "DMABUFS";
+ #endif
+@@ -69,7 +69,7 @@ static std::string StorageTypeToString(
+ // static
+ static bool IsStorageTypeMappable(VideoFrame::StorageType storage_type) {
+ return
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // This is not strictly needed but makes explicit that, at VideoFrame
+ // level, DmaBufs are not mappable from userspace.
+ storage_type != VideoFrame::STORAGE_DMABUFS &&
+@@ -323,7 +323,7 @@ scoped_refptr<VideoFrame> VideoFrame::Wr
+ return frame;
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // static
+ scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs(
+ VideoPixelFormat format,
+@@ -435,7 +435,7 @@ scoped_refptr<VideoFrame> VideoFrame::Wr
+ wrapping_frame->data_[i] = frame->data(i);
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // If there are any |dmabuf_fds_| plugged in, we should duplicate them.
+ if (frame->storage_type() == STORAGE_DMABUFS) {
+ std::vector<int> original_fds;
+@@ -720,7 +720,7 @@ size_t VideoFrame::shared_memory_offset(
+ return shared_memory_offset_;
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ int VideoFrame::dmabuf_fd(size_t plane) const {
+ DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
+ DCHECK(IsValidPlane(plane, format_));
diff --git a/www/chromium/files/patch-media_base_video__frame.h b/www/chromium/files/patch-media_base_video__frame.h
new file mode 100644
index 000000000000..47057ec98395
--- /dev/null
+++ b/www/chromium/files/patch-media_base_video__frame.h
@@ -0,0 +1,38 @@
+--- media/base/video_frame.h.orig 2017-02-02 02:02:55 UTC
++++ media/base/video_frame.h
+@@ -62,7 +62,7 @@ class MEDIA_EXPORT VideoFrame : public b
+ STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers.
+ STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer.
+ STORAGE_SHMEM = 4, // Pixels are backed by Shared Memory.
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // TODO(mcasas): Consider turning this type into STORAGE_NATIVE or another
+ // meaningful name and handle it appropriately in all cases.
+ STORAGE_DMABUFS = 5, // Each plane is stored into a DmaBuf.
+@@ -186,7 +186,7 @@ class MEDIA_EXPORT VideoFrame : public b
+ uint8_t* a_data,
+ base::TimeDelta timestamp);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Wraps provided dmabufs
+ // (https://www.kernel.org/doc/Documentation/dma-buf-sharing.txt) with a
+ // VideoFrame. The dmabuf fds are dup()ed on creation, so that the VideoFrame
+@@ -336,7 +336,7 @@ class MEDIA_EXPORT VideoFrame : public b
+ // Returns the offset into the shared memory where the frame data begins.
+ size_t shared_memory_offset() const;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Returns backing DmaBuf file descriptor for given |plane|, if present, or
+ // -1 if not.
+ // TODO(mcasas): Rename to DmabufFd() to comply with Style Guide.
+@@ -519,7 +519,7 @@ class MEDIA_EXPORT VideoFrame : public b
+ base::SharedMemoryHandle shared_memory_handle_;
+ size_t shared_memory_offset_;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Dmabufs for each plane. If set, this frame has DmaBuf backing in some way.
+ base::ScopedFD dmabuf_fds_[kMaxPlanes];
+ #endif
diff --git a/www/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn
index fc1185f04762..6f77c842a329 100644
--- a/www/chromium/files/patch-net_BUILD.gn
+++ b/www/chromium/files/patch-net_BUILD.gn
@@ -1,5 +1,14 @@
---- net/BUILD.gn.orig 2017-01-26 00:49:16 UTC
+--- net/BUILD.gn.orig 2017-02-02 02:02:56 UTC
+++ net/BUILD.gn
+@@ -82,7 +82,7 @@ if (use_glib && use_gconf && !is_chromeo
+ net_configs += [ "//build/config/linux/gconf" ]
+ }
+
+-if (is_linux) {
++if (is_linux && !is_bsd) {
+ net_configs += [ "//build/config/linux:libresolv" ]
+ }
+
@@ -153,6 +153,11 @@ component("net") {
]
if (is_android) {
@@ -12,7 +21,7 @@
}
} else {
if (is_android) {
-@@ -278,6 +283,13 @@ component("net") {
+@@ -278,6 +283,14 @@ component("net") {
sources -= [ "disk_cache/blockfile/file_posix.cc" ]
}
@@ -20,13 +29,14 @@
+ sources -= [
+ "base/network_change_notifier_linux.cc",
+ "base/network_change_notifier_linux.h",
++ "base/network_interfaces_linux.cc",
+ ]
+ }
+
if (is_ios || is_mac) {
sources += gypi_values.net_base_mac_ios_sources
}
-@@ -966,7 +978,7 @@ if (!is_ios && !is_android) {
+@@ -966,7 +979,7 @@ if (!is_ios && !is_android) {
}
}
@@ -35,7 +45,7 @@
executable("cachetool") {
testonly = true
sources = [
-@@ -995,7 +1007,7 @@ if (is_linux || is_mac) {
+@@ -995,7 +1008,7 @@ if (is_linux || is_mac) {
}
}
@@ -44,7 +54,7 @@
static_library("epoll_server") {
sources = [
"tools/epoll_server/epoll_server.cc",
-@@ -1098,7 +1110,7 @@ if (is_android) {
+@@ -1098,7 +1111,7 @@ if (is_android) {
}
}
@@ -53,7 +63,7 @@
executable("disk_cache_memory_test") {
testonly = true
sources = [
-@@ -1276,7 +1288,7 @@ test("net_unittests") {
+@@ -1276,7 +1289,7 @@ test("net_unittests") {
"third_party/nist-pkits/",
]
@@ -62,7 +72,7 @@
deps += [
"//third_party/pyftpdlib/",
"//third_party/pywebsocket/",
-@@ -1299,7 +1311,7 @@ test("net_unittests") {
+@@ -1299,7 +1312,7 @@ test("net_unittests") {
if (is_desktop_linux) {
deps += [ ":epoll_quic_tools" ]
}
@@ -71,7 +81,7 @@
sources += gypi_values.net_linux_test_sources
deps += [
":epoll_quic_tools",
-@@ -1319,6 +1331,12 @@ test("net_unittests") {
+@@ -1319,6 +1332,12 @@ test("net_unittests") {
sources -= [ "proxy/proxy_config_service_linux_unittest.cc" ]
}
diff --git a/www/chromium/files/patch-net_base_network__change__notifier.cc b/www/chromium/files/patch-net_base_network__change__notifier.cc
index 0a66dbe5911f..1865da708665 100644
--- a/www/chromium/files/patch-net_base_network__change__notifier.cc
+++ b/www/chromium/files/patch-net_base_network__change__notifier.cc
@@ -1,4 +1,4 @@
---- net/base/network_change_notifier.cc.orig 2017-01-26 00:49:16 UTC
+--- net/base/network_change_notifier.cc.orig 2017-02-02 02:02:56 UTC
+++ net/base/network_change_notifier.cc
@@ -533,7 +533,6 @@ NetworkChangeNotifier* NetworkChangeNoti
#elif defined(OS_MACOSX)
@@ -8,21 +8,3 @@
return NULL;
#endif
}
-@@ -753,7 +752,7 @@ void NetworkChangeNotifier::LogOperatorC
- #endif
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // static
- const internal::AddressTrackerLinux*
- NetworkChangeNotifier::GetAddressTracker() {
-@@ -978,7 +977,7 @@ NetworkChangeNotifier::NetworkChangeNoti
- network_change_calculator_->Init();
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const internal::AddressTrackerLinux*
- NetworkChangeNotifier::GetAddressTrackerInternal() const {
- return NULL;
diff --git a/www/chromium/files/patch-net_base_network__change__notifier.h b/www/chromium/files/patch-net_base_network__change__notifier.h
deleted file mode 100644
index 9725f74cf198..000000000000
--- a/www/chromium/files/patch-net_base_network__change__notifier.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- net/base/network_change_notifier.h.orig 2017-01-26 00:49:16 UTC
-+++ net/base/network_change_notifier.h
-@@ -26,7 +26,7 @@ struct NetworkInterface;
- typedef std::vector<NetworkInterface> NetworkInterfaceList;
- class URLRequest;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- namespace internal {
- class AddressTrackerLinux;
- }
-@@ -332,7 +332,7 @@ class NET_EXPORT NetworkChangeNotifier {
- // a large HOSTS file.
- static void GetDnsConfig(DnsConfig* config);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Returns the AddressTrackerLinux if present.
- static const internal::AddressTrackerLinux* GetAddressTracker();
- #endif
-@@ -488,7 +488,7 @@ class NET_EXPORT NetworkChangeNotifier {
- const NetworkChangeCalculatorParams& params =
- NetworkChangeCalculatorParams());
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Returns the AddressTrackerLinux if present.
- // TODO(szym): Retrieve AddressMap from NetworkState. http://crbug.com/144212
- virtual const internal::AddressTrackerLinux*
diff --git a/www/chromium/files/patch-net_base_network__interfaces__linux.cc b/www/chromium/files/patch-net_base_network__interfaces__linux.cc
deleted file mode 100644
index 7fc9a0ea3a58..000000000000
--- a/www/chromium/files/patch-net_base_network__interfaces__linux.cc
+++ /dev/null
@@ -1,105 +0,0 @@
---- net/base/network_interfaces_linux.cc.orig 2017-01-26 00:49:16 UTC
-+++ net/base/network_interfaces_linux.cc
-@@ -6,12 +6,14 @@
-
- #include <memory>
-
-+#if !defined(OS_FREEBSD)
- #if !defined(OS_ANDROID)
- #include <linux/ethtool.h>
- #endif // !defined(OS_ANDROID)
- #include <linux/if.h>
- #include <linux/sockios.h>
- #include <linux/wireless.h>
-+#endif // !defined(OS_FREEBSD)
- #include <set>
- #include <sys/ioctl.h>
- #include <sys/types.h>
-@@ -49,6 +51,7 @@ bool TryConvertNativeToNetIPAttributes(i
- // are still progressing through duplicated address detection (DAD)
- // and shouldn't be used by the application layer until DAD process
- // is completed.
-+#if !defined(OS_FREEBSD)
- if (native_attributes & (
- #if !defined(OS_ANDROID)
- IFA_F_OPTIMISTIC | IFA_F_DADFAILED |
-@@ -66,6 +69,10 @@ bool TryConvertNativeToNetIPAttributes(i
- }
-
- return true;
-+#else
-+ // the flags tested above are not present on FreeBSD
-+ return false;
-+#endif // !OS_FREEBSD
- }
-
- } // namespace
-@@ -80,13 +87,15 @@ NetworkChangeNotifier::ConnectionType Ge
- if (!s.is_valid())
- return NetworkChangeNotifier::CONNECTION_UNKNOWN;
-
-+#if !defined(OS_FREEBSD)
- // Test wireless extensions for CONNECTION_WIFI
- struct iwreq pwrq = {};
- strncpy(pwrq.ifr_name, ifname.c_str(), IFNAMSIZ - 1);
- if (ioctl(s.get(), SIOCGIWNAME, &pwrq) != -1)
- return NetworkChangeNotifier::CONNECTION_WIFI;
-+#endif // !defined(OS_FREEBSD)
-
--#if !defined(OS_ANDROID)
-+#if !defined(OS_ANDROID) && !defined(OS_FREEBSD)
- // Test ethtool for CONNECTION_ETHERNET
- struct ethtool_cmd ecmd = {};
- ecmd.cmd = ETHTOOL_GSET;
-@@ -95,12 +104,13 @@ NetworkChangeNotifier::ConnectionType Ge
- strncpy(ifr.ifr_name, ifname.c_str(), IFNAMSIZ - 1);
- if (ioctl(s.get(), SIOCETHTOOL, &ifr) != -1)
- return NetworkChangeNotifier::CONNECTION_ETHERNET;
--#endif // !defined(OS_ANDROID)
-+#endif // !defined(OS_ANDROID) && !defined(OS_FREEBSD)
-
- return NetworkChangeNotifier::CONNECTION_UNKNOWN;
- }
-
- std::string GetInterfaceSSID(const std::string& ifname) {
-+#if !defined(OS_FREEBSD)
- base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0));
- if (!ioctl_socket.is_valid())
- return "";
-@@ -112,9 +122,11 @@ std::string GetInterfaceSSID(const std::
- wreq.u.essid.length = IW_ESSID_MAX_SIZE;
- if (ioctl(ioctl_socket.get(), SIOCGIWESSID, &wreq) != -1)
- return ssid;
-+#endif // !defined(OS_FREEBSD)
- return "";
- }
-
-+#if !defined(OS_FREEBSD)
- bool GetNetworkListImpl(
- NetworkInterfaceList* networks,
- int policy,
-@@ -183,6 +195,7 @@ bool GetNetworkListImpl(
-
- return true;
- }
-+#endif // !defined(OS_FREEBSD)
-
- std::string GetWifiSSIDFromInterfaceListInternal(
- const NetworkInterfaceList& interfaces,
-@@ -207,12 +220,16 @@ bool GetNetworkList(NetworkInterfaceList
- if (networks == NULL)
- return false;
-
-+#if !defined(OS_FREEBSD)
- internal::AddressTrackerLinux tracker;
- tracker.Init();
-
- return internal::GetNetworkListImpl(
- networks, policy, tracker.GetOnlineLinks(), tracker.GetAddressMap(),
- &internal::AddressTrackerLinux::GetInterfaceName);
-+#else
-+ return false;
-+#endif
- }
-
- std::string GetWifiSSID() {
diff --git a/www/chromium/files/patch-net_base_network__interfaces__posix.cc b/www/chromium/files/patch-net_base_network__interfaces__posix.cc
index 9231d12f8196..7a0d0f1282ca 100644
--- a/www/chromium/files/patch-net_base_network__interfaces__posix.cc
+++ b/www/chromium/files/patch-net_base_network__interfaces__posix.cc
@@ -1,18 +1,20 @@
---- net/base/network_interfaces_posix.cc.orig 2017-01-26 00:49:16 UTC
+--- net/base/network_interfaces_posix.cc.orig 2017-02-02 02:02:56 UTC
+++ net/base/network_interfaces_posix.cc
-@@ -20,6 +20,7 @@ namespace net {
- #if !defined(OS_NACL)
- namespace internal {
+@@ -9,7 +9,7 @@
+ #include <memory>
+ #include <set>
-+#if !defined(OS_BSD)
- // The application layer can pass |policy| defined in net_util.h to
- // request filtering out certain type of interfaces.
- bool ShouldIgnoreInterface(const std::string& name, int policy) {
-@@ -33,6 +34,7 @@ bool ShouldIgnoreInterface(const std::st
+-#if !defined(OS_NACL)
++#if !defined(OS_NACL) && !defined(OS_BSD)
+ #include "net/base/network_interfaces_posix.h"
+ #include <net/if.h>
+ #include <netinet/in.h>
+@@ -17,7 +17,7 @@
- return false;
- }
-+#endif
+ namespace net {
- // Check if the address is unspecified (i.e. made of zeroes) or loopback.
- bool IsLoopbackOrUnspecifiedAddress(const sockaddr* addr) {
+-#if !defined(OS_NACL)
++#if !defined(OS_NACL) && !defined(OS_BSD)
+ namespace internal {
+
+ // The application layer can pass |policy| defined in net_util.h to
diff --git a/www/chromium/files/patch-net_disk__cache_blockfile_disk__format.h b/www/chromium/files/patch-net_disk__cache_blockfile_disk__format.h
new file mode 100644
index 000000000000..55eb34ba7996
--- /dev/null
+++ b/www/chromium/files/patch-net_disk__cache_blockfile_disk__format.h
@@ -0,0 +1,12 @@
+--- net/disk_cache/blockfile/disk_format.h.orig 2017-02-02 02:02:56 UTC
++++ net/disk_cache/blockfile/disk_format.h
+@@ -149,7 +149,9 @@ struct RankingsNode {
+ };
+ #pragma pack(pop)
+
++#if !defined(OS_BSD)
+ static_assert(sizeof(RankingsNode) == 36, "bad RankingsNode");
++#endif
+
+ } // namespace disk_cache
+
diff --git a/www/chromium/files/patch-net_dns_dns__util.cc b/www/chromium/files/patch-net_dns_dns__util.cc
new file mode 100644
index 000000000000..f6d543202831
--- /dev/null
+++ b/www/chromium/files/patch-net_dns_dns__util.cc
@@ -0,0 +1,11 @@
+--- net/dns/dns_util.cc.orig 2017-02-02 02:02:56 UTC
++++ net/dns/dns_util.cc
+@@ -15,6 +15,8 @@
+ #include "build/build_config.h"
+ #include "net/base/address_list.h"
+
++#include <sys/socket.h>
++
+ #if defined(OS_POSIX)
+ #include <netinet/in.h>
+ #if !defined(OS_NACL)
diff --git a/www/chromium/files/patch-net_dns_host__resolver__proc.cc b/www/chromium/files/patch-net_dns_host__resolver__proc.cc
new file mode 100644
index 000000000000..1551634bde27
--- /dev/null
+++ b/www/chromium/files/patch-net_dns_host__resolver__proc.cc
@@ -0,0 +1,11 @@
+--- net/dns/host_resolver_proc.cc.orig 2017-02-02 02:02:56 UTC
++++ net/dns/host_resolver_proc.cc
+@@ -194,7 +194,7 @@ int SystemHostResolverCall(const std::st
+ hints.ai_socktype = SOCK_STREAM;
+
+ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
+- !defined(OS_ANDROID)
++ !defined(OS_ANDROID) && !defined(OS_FREEBSD)
+ DnsReloaderMaybeReload();
+ #endif
+ int err = getaddrinfo(host.c_str(), NULL, &hints, &ai);
diff --git a/www/chromium/files/patch-net_tools_cert__verify__tool_verify__using__path__builder.cc b/www/chromium/files/patch-net_tools_cert__verify__tool_verify__using__path__builder.cc
new file mode 100644
index 000000000000..1c7b9fddb980
--- /dev/null
+++ b/www/chromium/files/patch-net_tools_cert__verify__tool_verify__using__path__builder.cc
@@ -0,0 +1,20 @@
+--- net/tools/cert_verify_tool/verify_using_path_builder.cc.orig 2017-02-02 02:02:56 UTC
++++ net/tools/cert_verify_tool/verify_using_path_builder.cc
+@@ -29,7 +29,7 @@
+ #include "net/cert/internal/trust_store_nss.h"
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "net/proxy/proxy_config.h"
+ #include "net/proxy/proxy_config_service_fixed.h"
+ #endif
+@@ -226,7 +226,7 @@ bool VerifyUsingPathBuilder(
+ // (similar to VERIFY_CERT_IO_ENABLED flag for CertVerifyProc).
+ net::URLRequestContextBuilder url_request_context_builder;
+ url_request_context_builder.set_user_agent(GetUserAgent());
+-#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/www/chromium/files/patch-services_ui_gpu_gpu__main.cc b/www/chromium/files/patch-services_ui_gpu_gpu__main.cc
new file mode 100644
index 000000000000..a2812d839f2f
--- /dev/null
+++ b/www/chromium/files/patch-services_ui_gpu_gpu__main.cc
@@ -0,0 +1,11 @@
+--- services/ui/gpu/gpu_main.cc.orig 2017-02-02 02:02:57 UTC
++++ services/ui/gpu/gpu_main.cc
+@@ -50,7 +50,7 @@ GpuMain::GpuMain()
+ thread_options.message_pump_factory = base::Bind(&CreateMessagePumpX11);
+ #elif defined(USE_OZONE)
+ thread_options.message_loop_type = base::MessageLoop::TYPE_UI;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ thread_options.message_loop_type = base::MessageLoop::TYPE_DEFAULT;
+ #elif defined(OS_MACOSX)
+ thread_options.message_pump_factory = base::Bind(&CreateMessagePumpMac);
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
index 8858540b8297..6ec4e5ccd604 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_FontCache.h
@@ -1,6 +1,6 @@
---- third_party/WebKit/Source/platform/fonts/FontCache.h.orig 2017-01-26 00:49:28 UTC
+--- third_party/WebKit/Source/platform/fonts/FontCache.h.orig 2017-02-02 02:03:10 UTC
+++ third_party/WebKit/Source/platform/fonts/FontCache.h
-@@ -121,7 +121,7 @@ class PLATFORM_EXPORT FontCache {
+@@ -122,7 +122,7 @@ class PLATFORM_EXPORT FontCache {
#else
static const AtomicString& legacySystemFontFamily();
#endif
@@ -9,7 +9,7 @@
static void setSystemFontFamily(const AtomicString&);
#endif
-@@ -231,7 +231,7 @@ class PLATFORM_EXPORT FontCache {
+@@ -232,7 +232,7 @@ class PLATFORM_EXPORT FontCache {
const FontFaceCreationParams&,
CString& name);
diff --git a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
index 17a819a464d6..2346c9701429 100644
--- a/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
+++ b/www/chromium/files/patch-third__party_WebKit_Source_platform_fonts_skia_FontCacheSkia.cpp
@@ -1,15 +1,15 @@
---- third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp.orig 2017-01-26 00:49:28 UTC
+--- third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp.orig 2017-02-02 02:03:10 UTC
+++ third_party/WebKit/Source/platform/fonts/skia/FontCacheSkia.cpp
-@@ -63,7 +63,7 @@ static sk_sp<SkTypeface> typefaceForFont
-
- 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:
-@@ -230,7 +230,7 @@ sk_sp<SkTypeface> FontCache::createTypef
+@@ -234,7 +234,7 @@ sk_sp<SkTypeface> FontCache::createTypef
}
#endif
diff --git a/www/chromium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h b/www/chromium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
new file mode 100644
index 000000000000..3852ed7b66bf
--- /dev/null
+++ b/www/chromium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
@@ -0,0 +1,11 @@
+--- third_party/skia/src/gpu/GrAutoLocaleSetter.h.orig 2017-02-02 02:03:55 UTC
++++ third_party/skia/src/gpu/GrAutoLocaleSetter.h
+@@ -22,7 +22,7 @@
+ #include <xlocale.h>
+ #endif
+
+-#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION)
++#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__FreeBSD__)
+ #define HAVE_LOCALE_T 0
+ #else
+ #define HAVE_LOCALE_T 1
diff --git a/www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn b/www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
new file mode 100644
index 000000000000..6e513d2fd31d
--- /dev/null
+++ b/www/chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
@@ -0,0 +1,11 @@
+--- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2017-02-02 02:03:13 UTC
++++ tools/perf/chrome_telemetry_build/BUILD.gn
+@@ -93,7 +93,7 @@ group("telemetry_chrome_test") {
+ data_deps += [ "//chrome:reorder_imports" ]
+ }
+
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ data_deps += [
+ "//tools/xdisplaycheck",
+ "//breakpad:dump_syms($host_toolchain)",
diff --git a/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc b/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
new file mode 100644
index 000000000000..852791883c5e
--- /dev/null
+++ b/www/chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
@@ -0,0 +1,20 @@
+--- ui/base/dragdrop/os_exchange_data_provider_factory.cc.orig 2017-02-02 02:03:13 UTC
++++ ui/base/dragdrop/os_exchange_data_provider_factory.cc
+@@ -8,7 +8,7 @@
+
+ #if defined(USE_X11) && !defined(OS_CHROMEOS)
+ #include "ui/base/dragdrop/os_exchange_data_provider_aurax11.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "ui/base/dragdrop/os_exchange_data_provider_aura.h"
+ #elif defined(OS_MACOSX)
+ #include "ui/base/dragdrop/os_exchange_data_provider_builder_mac.h"
+@@ -34,7 +34,7 @@ OSExchangeDataProviderFactory::CreatePro
+
+ #if defined(USE_X11) && !defined(OS_CHROMEOS)
+ return base::MakeUnique<OSExchangeDataProviderAuraX11>();
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return base::MakeUnique<OSExchangeDataProviderAura>();
+ #elif defined(OS_MACOSX)
+ return ui::BuildOSExchangeDataProviderMac();
diff --git a/www/chromium/files/patch-ui_base_ime_BUILD.gn b/www/chromium/files/patch-ui_base_ime_BUILD.gn
index 673dd2f74d02..64a2320aae15 100644
--- a/www/chromium/files/patch-ui_base_ime_BUILD.gn
+++ b/www/chromium/files/patch-ui_base_ime_BUILD.gn
@@ -1,11 +1,11 @@
---- ui/base/ime/BUILD.gn.orig 2017-01-26 00:49:31 UTC
+--- ui/base/ime/BUILD.gn.orig 2017-02-02 02:03:13 UTC
+++ ui/base/ime/BUILD.gn
@@ -123,7 +123,7 @@ component("ime") {
":text_input_types",
]
- if (!use_aura || (!is_linux && !use_ozone)) {
-+ if (!use_aura || (!(is_linux || is_bsd) && !use_ozone) || !is_bsd) {
++ if (!use_aura || (!(is_linux || is_bsd) && !use_ozone)) {
sources -= [
"input_method_auralinux.cc",
"input_method_auralinux.h",
diff --git a/www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc b/www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
new file mode 100644
index 000000000000..3bdcb83896c1
--- /dev/null
+++ b/www/chromium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
@@ -0,0 +1,19 @@
+--- ui/events/devices/x11/device_data_manager_x11.cc.orig 2017-02-02 02:03:13 UTC
++++ ui/events/devices/x11/device_data_manager_x11.cc
+@@ -834,6 +834,8 @@ void DeviceDataManagerX11::SetDisabledKe
+ }
+
+ void DeviceDataManagerX11::DisableDevice(int deviceid) {
++ NOTIMPLEMENTED();
++#if !defined(OS_BSD)
+ blocked_devices_.set(deviceid, true);
+ // TODO(rsadam@): Support blocking touchscreen devices.
+ std::vector<InputDevice> keyboards = GetKeyboardDevices();
+@@ -845,6 +847,7 @@ void DeviceDataManagerX11::DisableDevice
+ keyboards.erase(it);
+ DeviceDataManager::OnKeyboardDevicesUpdated(keyboards);
+ }
++#endif
+ }
+
+ void DeviceDataManagerX11::EnableDevice(int deviceid) {
diff --git a/www/chromium/files/patch-ui_gfx_font__list.cc b/www/chromium/files/patch-ui_gfx_font__list.cc
new file mode 100644
index 000000000000..4eeeabd46bd3
--- /dev/null
+++ b/www/chromium/files/patch-ui_gfx_font__list.cc
@@ -0,0 +1,11 @@
+--- ui/gfx/font_list.cc.orig 2017-02-02 02:03:13 UTC
++++ ui/gfx/font_list.cc
+@@ -24,7 +24,7 @@ base::LazyInstance<scoped_refptr<gfx::Fo
+ bool g_default_impl_initialized = false;
+
+ bool IsFontFamilyAvailable(const std::string& family, SkFontMgr* fontManager) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ sk_sp<SkTypeface> typeface(
+ fontManager->legacyCreateTypeface(family.c_str(), SkFontStyle()));
+ return typeface;
diff --git a/www/chromium/files/patch-ui_message__center_views_toast__contents__view.cc b/www/chromium/files/patch-ui_message__center_views_toast__contents__view.cc
new file mode 100644
index 000000000000..2343ffa02baf
--- /dev/null
+++ b/www/chromium/files/patch-ui_message__center_views_toast__contents__view.cc
@@ -0,0 +1,11 @@
+--- ui/message_center/views/toast_contents_view.cc.orig 2017-02-02 02:03:13 UTC
++++ ui/message_center/views/toast_contents_view.cc
+@@ -361,7 +361,7 @@ void ToastContentsView::CreateWidget(
+ PopupAlignmentDelegate* alignment_delegate) {
+ views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP);
+ params.keep_on_top = true;
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
+ params.opacity = views::Widget::InitParams::OPAQUE_WINDOW;
+ #else
+ params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW;
diff --git a/www/chromium/files/patch-ui_views_mus_BUILD.gn b/www/chromium/files/patch-ui_views_mus_BUILD.gn
new file mode 100644
index 000000000000..15bb5763d0fd
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_mus_BUILD.gn
@@ -0,0 +1,11 @@
+--- ui/views/mus/BUILD.gn.orig 2017-02-02 02:03:13 UTC
++++ ui/views/mus/BUILD.gn
+@@ -91,7 +91,7 @@ component("mus") {
+ "//ui/wm",
+ ]
+
+- if (is_linux && !is_android) {
++ if ((is_linux || is_bsd) && !is_android) {
+ deps += [ "//components/font_service/public/cpp" ]
+ data_deps = [
+ "//components/font_service",
diff --git a/www/chromium/files/patch-ui_views_mus_aura__init.cc b/www/chromium/files/patch-ui_views_mus_aura__init.cc
new file mode 100644
index 000000000000..186cc436553e
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_mus_aura__init.cc
@@ -0,0 +1,29 @@
+--- ui/views/mus/aura_init.cc.orig 2017-02-02 02:03:13 UTC
++++ ui/views/mus/aura_init.cc
+@@ -21,7 +21,7 @@
+ #include "ui/views/mus/mus_client.h"
+ #include "ui/views/views_delegate.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "components/font_service/public/cpp/font_loader.h"
+ #endif
+
+@@ -67,7 +67,7 @@ AuraInit::AuraInit(service_manager::Conn
+ InitializeResources(connector);
+
+ // Initialize the skia font code to go ask fontconfig underneath.
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ font_loader_ = sk_make_sp<font_service::FontLoader>(connector);
+ SkFontConfigInterface::SetGlobal(font_loader_.get());
+ #endif
+@@ -80,7 +80,7 @@ AuraInit::AuraInit(service_manager::Conn
+ }
+
+ AuraInit::~AuraInit() {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (font_loader_.get()) {
+ SkFontConfigInterface::SetGlobal(nullptr);
+ // FontLoader is ref counted. We need to explicitly shutdown the background
diff --git a/www/chromium/files/patch-ui_views_mus_aura__init.h b/www/chromium/files/patch-ui_views_mus_aura__init.h
new file mode 100644
index 000000000000..276a03c689fc
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_mus_aura__init.h
@@ -0,0 +1,11 @@
+--- ui/views/mus/aura_init.h.orig 2017-02-02 02:03:13 UTC
++++ ui/views/mus/aura_init.h
+@@ -64,7 +64,7 @@ class VIEWS_MUS_EXPORT AuraInit {
+ private:
+ void InitializeResources(service_manager::Connector* connector);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ sk_sp<font_service::FontLoader> font_loader_;
+ #endif
+