1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
--- content/browser/renderer_host/render_process_host_impl.cc.orig 2021-07-19 18:45:15 UTC
+++ content/browser/renderer_host/render_process_host_impl.cc
@@ -224,7 +224,7 @@
#include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h"
#endif
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
#include <sys/resource.h>
#include <sys/time.h>
@@ -1371,7 +1371,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
// to indicate failure and std::numeric_limits<size_t>::max() to indicate
// unlimited.
size_t GetPlatformProcessLimit() {
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
struct rlimit limit;
if (getrlimit(RLIMIT_NPROC, &limit) != 0)
return kUnknownPlatformProcessLimit;
@@ -1382,7 +1382,7 @@ size_t GetPlatformProcessLimit() {
#else
// TODO(https://crbug.com/104689): Implement on other platforms.
return kUnknownPlatformProcessLimit;
-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
}
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1456,7 +1456,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
return;
}
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
ConnectToFontService(std::move(font_receiver));
return;
@@ -1884,7 +1884,7 @@ bool RenderProcessHostImpl::Init() {
renderer_prefix =
browser_command_line.GetSwitchValueNative(switches::kRendererCmdPrefix);
-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
int flags = renderer_prefix.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
: ChildProcessHost::CHILD_NORMAL;
#elif defined(OS_MAC)
@@ -3294,8 +3294,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
switches::kDisableInProcessStackTraces,
sandbox::policy::switches::kDisableSeccompFilterSandbox,
sandbox::policy::switches::kNoSandbox,
-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
- !BUILDFLAG(IS_CHROMEOS_LACROS)
+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+ !BUILDFLAG(IS_CHROMEOS_LACROS))
switches::kDisableDevShmUsage,
#endif
#if defined(OS_MAC)
@@ -4968,6 +4968,8 @@ void RenderProcessHostImpl::OnProcessLaunched() {
// TODO(https://crbug.com/875933): Fix initial priority on Android to
// reflect |priority_.is_background()|.
DCHECK_EQ(blink::kLaunchingProcessIsBackgrounded, !priority_.visible);
+#elif defined(OS_BSD)
+ priority_.visible = true;
#else
priority_.visible =
!child_process_launcher_->GetProcess().IsProcessBackgrounded();
|