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
|
--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2025-06-30 07:04:30 UTC
+++ chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -202,11 +202,11 @@
#include "chrome/browser/metrics/google_update_metrics_provider_mac.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "components/metrics/motherboard_metrics_provider.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/metrics/chrome_metrics_service_crash_reporter.h"
#endif
@@ -238,7 +238,7 @@ const char kCrashpadHistogramAllocatorName[] = "Crashp
// Needs to be kept in sync with the writer in
// third_party/crashpad/crashpad/handler/handler_main.cc.
const char kCrashpadHistogramAllocatorName[] = "CrashpadMetrics";
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::LazyInstance<ChromeMetricsServiceCrashReporter>::Leaky g_crash_reporter =
LAZY_INSTANCE_INITIALIZER;
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
@@ -542,7 +542,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg
#endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
metrics::structured::StructuredMetricsService::RegisterPrefs(registry);
#if !BUILDFLAG(IS_CHROMEOS)
@@ -624,7 +624,7 @@ void ChromeMetricsServiceClient::OnEnvironmentUpdate(s
void ChromeMetricsServiceClient::OnEnvironmentUpdate(std::string* environment) {
// TODO(https://bugs.chromium.org/p/crashpad/issues/detail?id=135): call this
// on Mac when the Crashpad API supports it.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Register the environment with the crash reporter. Note that there is a
// window from startup to this point during which crash reports will not have
// an environment set.
@@ -726,7 +726,7 @@ void ChromeMetricsServiceClient::Initialize() {
std::make_unique<metrics::dwa::DwaService>(this, local_state);
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
metrics::structured::Recorder::GetInstance()->SetUiTaskRunner(
base::SequencedTaskRunner::GetCurrentDefault());
#endif
@@ -786,7 +786,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
metrics_service_->RegisterMetricsProvider(
std::make_unique<metrics::CPUMetricsProvider>());
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
metrics_service_->RegisterMetricsProvider(
std::make_unique<metrics::MotherboardMetricsProvider>());
#endif
@@ -875,7 +875,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
std::make_unique<GoogleUpdateMetricsProviderMac>());
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
metrics_service_->RegisterMetricsProvider(
std::make_unique<DesktopPlatformFeaturesMetricsProvider>());
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
@@ -984,7 +984,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
std::make_unique<PowerMetricsProvider>());
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
metrics_service_->RegisterMetricsProvider(
metrics::CreateDesktopSessionMetricsProvider());
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX)
@@ -1175,7 +1175,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
}
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// This creates the DesktopProfileSessionDurationsServices if it didn't exist
// already.
metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext(
@@ -1524,7 +1524,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri
recorder =
base::MakeRefCounted<metrics::structured::AshStructuredMetricsRecorder>(
cros_system_profile_provider_.get());
-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
// Make sure that Structured Metrics recording delegates have been created
// before the service is created. This is handled in other places for ChromeOS
|