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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
--- chrome/app/chrome_main_delegate.cc.orig 2019-06-04 18:55:16 UTC
+++ chrome/app/chrome_main_delegate.cc
@@ -100,7 +100,7 @@
#include "chrome/app/shutdown_signal_handlers_posix.h"
#endif
-#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX)
+#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD)
#include "components/nacl/common/nacl_paths.h"
#include "components/nacl/zygote/nacl_fork_delegate_linux.h"
#endif
@@ -137,7 +137,7 @@
#include "v8/include/v8.h"
#endif
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_BSD)
#include "base/environment.h"
#endif
@@ -240,7 +240,7 @@ bool UseHooks() {
#endif // defined(OS_WIN)
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) && !defined(OS_BSD)
void AdjustLinuxOOMScore(const std::string& process_type) {
// Browsers and zygotes should still be killable, but killed last.
const int kZygoteScore = 0;
@@ -299,7 +299,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
if (score > -1)
base::AdjustOOMScore(base::GetCurrentProcId(), score);
}
-#endif // defined(OS_LINUX)
+#endif // defined(OS_LINUX) && !defined(OS_BSD)
// Returns true if this subprocess type needs the ResourceBundle initialized
// and resources loaded.
@@ -344,7 +344,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
return false;
}
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
// Show the man page if --help or -h is on the command line.
void HandleHelpSwitches(const base::CommandLine& command_line) {
if (command_line.HasSwitch(switches::kHelp) ||
@@ -354,7 +354,7 @@ void HandleHelpSwitches(const base::CommandLine& comma
PLOG(FATAL) << "execlp failed";
}
}
-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
void SIGTERMProfilingShutdown(int signal) {
@@ -408,7 +408,7 @@ void InitializeUserDataDir(base::CommandLine* command_
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.
@@ -420,7 +420,7 @@ void InitializeUserDataDir(base::CommandLine* command_
user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string);
}
}
-#endif // OS_LINUX
+#endif // OS_LINUX || OS_BSD
#if defined(OS_MACOSX)
policy::path_parser::CheckUserDataDirPolicy(&user_data_dir);
#endif // OS_MAC
@@ -477,7 +477,7 @@ void InitLogging(const std::string& process_type) {
void RecordMainStartupMetrics(base::TimeTicks exe_entry_point_ticks) {
if (!exe_entry_point_ticks.is_null())
startup_metric_utils::RecordExeMainEntryPointTicks(exe_entry_point_ticks);
-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
+#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
// Record the startup process creation time on supported platforms.
startup_metric_utils::RecordStartupProcessCreationTime(
base::Process::Current().CreationTime());
@@ -619,7 +619,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
*exit_code = 0;
return true; // Got a --version switch; exit with a success error code.
}
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
// This will directly exit if the user asked for help.
HandleHelpSwitches(command_line);
#endif
@@ -643,7 +643,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
#if defined(OS_CHROMEOS)
chromeos::RegisterPathProvider();
#endif
-#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX)
+#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD)
nacl::RegisterPathProvider();
#endif
@@ -965,7 +965,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
InitializePDF();
#endif
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != service_manager::switches::kZygoteProcess) {
#if defined(OS_ANDROID)
@@ -980,7 +980,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
breakpad::InitCrashReporter(process_type);
#endif // defined(OS_ANDROID)
}
-#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
+#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
@@ -990,7 +990,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
void ChromeMainDelegate::SandboxInitialized(const std::string& process_type) {
// Note: If you are adding a new process type below, be sure to adjust the
// AdjustLinuxOOMScore function too.
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) && !defined(OS_BSD)
AdjustLinuxOOMScore(process_type);
#endif
#if defined(OS_WIN)
|