summaryrefslogtreecommitdiff
path: root/www/iridium/files/patch-content_browser_browser__main__loop.cc
diff options
context:
space:
mode:
Diffstat (limited to 'www/iridium/files/patch-content_browser_browser__main__loop.cc')
-rw-r--r--www/iridium/files/patch-content_browser_browser__main__loop.cc46
1 files changed, 46 insertions, 0 deletions
diff --git a/www/iridium/files/patch-content_browser_browser__main__loop.cc b/www/iridium/files/patch-content_browser_browser__main__loop.cc
new file mode 100644
index 000000000000..d390038358d3
--- /dev/null
+++ b/www/iridium/files/patch-content_browser_browser__main__loop.cc
@@ -0,0 +1,46 @@
+--- content/browser/browser_main_loop.cc.orig 2020-03-16 18:40:31 UTC
++++ content/browser/browser_main_loop.cc
+@@ -242,6 +242,13 @@
+ #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h"
+ #endif
+
++#if defined(OS_BSD)
++#include "content/browser/sandbox_host_linux.h"
++#include "services/service_manager/zygote/common/common_sandbox_support_linux.h"
++#include "content/public/common/common_sandbox_support_linux.h"
++#include "services/service_manager/sandbox/sandbox.h"
++#endif
++
+ // One of the linux specific headers defines this as a macro.
+ #ifdef DestroyAll
+ #undef DestroyAll
+@@ -613,6 +620,11 @@ int BrowserMainLoop::EarlyInitialization() {
+ // by now since a thread to start the ServiceManager has been created
+ // before the browser main loop starts.
+ DCHECK(SandboxHostLinux::GetInstance()->IsInitialized());
++#elif defined(OS_BSD)
++ SandboxHostLinux::GetInstance()->Init();
++ base::FileHandleMappingVector fds_to_map;
++ const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket();
++ fds_to_map.push_back(std::make_pair(sfd, service_manager::GetSandboxFD()));
+ #endif
+
+ #if defined(USE_X11)
+@@ -658,7 +670,7 @@ int BrowserMainLoop::EarlyInitialization() {
+ }
+ #endif // !defined(OS_MACOSX)
+
+-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_ANDROID)
+ // We use quite a few file descriptors for our IPC as well as disk the disk
+ // cache,and the default limit on the Mac is low (256), so bump it up.
+@@ -668,7 +680,7 @@ int BrowserMainLoop::EarlyInitialization() {
+ // users can easily hit this limit with many open tabs. Bump up the limit to
+ // an arbitrarily high number. See https://crbug.com/539567
+ base::IncreaseFdLimitTo(8192);
+-#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
+ // defined(OS_ANDROID)
+
+ #if defined(OS_WIN)