$OpenBSD: patch-content_gpu_gpu_main_cc,v 1.14 2017/04/28 22:22:36 robert Exp $
--- content/gpu/gpu_main.cc.orig.port	Wed Apr 19 21:06:34 2017
+++ content/gpu/gpu_main.cc	Thu Apr 27 19:56:02 2017
@@ -85,6 +85,10 @@
 #include "ui/ozone/public/ozone_platform.h"
 #endif
 
+#if defined(OS_BSD)
+#include "content/common/sandbox_init_openbsd.h"
+#endif
+
 #if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)
 #include "media/gpu/vaapi_wrapper.h"
 #endif
@@ -98,7 +102,7 @@ namespace content {
 
 namespace {
 
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_OPENBSD)
 bool StartSandboxLinux(gpu::GpuWatchdogThread*);
 #elif defined(OS_WIN)
 bool StartSandboxWindows(const sandbox::SandboxInterfaceInfo*);
@@ -152,7 +156,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel
 
   bool EnsureSandboxInitialized(
       gpu::GpuWatchdogThread* watchdog_thread) override {
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_OPENBSD)
     return StartSandboxLinux(watchdog_thread);
 #elif defined(OS_WIN)
     return StartSandboxWindows(sandbox_info_);
@@ -313,12 +317,13 @@ int GpuMain(const MainFunctionParams& parameters) {
 
 namespace {
 
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_OPENBSD)
 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.
@@ -343,6 +348,9 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo
     options.timer_slack = base::TIMER_SLACK_MAXIMUM;
     watchdog_thread->StartWithOptions(options);
   }
+#else
+  res = InitializeSandbox();
+#endif
 
   return res;
 }
