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
|
--- chrome/browser/chrome_browser_main.cc.orig 2025-09-10 13:22:16 UTC
+++ chrome/browser/chrome_browser_main.cc
@@ -153,7 +153,7 @@
#endif
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "sql/database.h"
#endif
@@ -179,11 +179,11 @@
#include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
#endif // BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/first_run/upgrade_util_linux.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/headless/headless_mode_metrics.h" // nogncheck
#include "chrome/browser/headless/headless_mode_util.h" // nogncheck
#include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h"
@@ -194,7 +194,7 @@
#include "ui/gfx/switches.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/first_run/upgrade_util.h"
#endif
@@ -266,7 +266,7 @@
#include "chrome/browser/chrome_process_singleton.h"
#include "chrome/browser/ui/startup/startup_browser_creator.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/nix/xdg_util.h"
#endif
#endif // BUILDFLAG(ENABLE_PROCESS_SINGLETON)
@@ -289,7 +289,7 @@
namespace {
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
constexpr base::FilePath::CharType kMediaHistoryDatabaseName[] =
FILE_PATH_LITERAL("Media History");
@@ -440,7 +440,7 @@ void ProcessSingletonNotificationCallbackImpl(
}
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Set the global activation token sent as a command line switch by another
// browser process. This also removes the switch after use to prevent any side
// effects of leaving it in the command line after this point.
@@ -1008,7 +1008,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \
(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_ANDROID))
+ BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD)
// Create directory for user-level Native Messaging manifest files. This
// makes it less likely that the directory will be created by third-party
// software with incorrect owner or permission. See crbug.com/725513 .
@@ -1052,7 +1052,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
#endif // BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
metrics::DesktopSessionDurationTracker::Initialize();
ProfileActivityMetricsRecorder::Initialize();
TouchUIControllerStatsTracker::Initialize(
@@ -1272,7 +1272,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile*
#endif // BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
// Delete the media history database if it still exists.
// TODO(crbug.com/40177301): Remove this.
base::ThreadPool::PostTask(
@@ -1323,7 +1323,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile*
*UrlLanguageHistogramFactory::GetForBrowserContext(profile));
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
if (headless::IsHeadlessMode()) {
headless::ReportHeadlessActionMetrics();
}
@@ -1432,7 +1432,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl(
// In headless mode provide alternate SelectFileDialog factory overriding
// any platform specific SelectFileDialog implementation that may have been
// set.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
if (headless::IsHeadlessMode()) {
headless::HeadlessSelectFileDialogFactory::SetUp();
}
@@ -1961,7 +1961,7 @@ bool ChromeBrowserMainParts::ProcessSingletonNotificat
// Drop the request if headless mode is in effect or the request is from
// a headless Chrome process.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
if (headless::IsHeadlessMode() ||
command_line.HasSwitch(switches::kHeadless)) {
return false;
|