#ifndef CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_ACCESSOR_H_
#define CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_ACCESSOR_H_
#include <stdint.h>
#include <string_view>
#include "base/gtest_prod_util.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/metrics/metrics_reporting_state.h"
#include "chrome/common/metrics.mojom.h"
#include "components/metrics/metrics_service_accessor.h"
#include "components/variations/synthetic_trials.h"
#include "ppapi/buildflags/buildflags.h"
class BrowserProcessImpl;
class CampaignsManagerClientImpl;
class ChromeMetricsServiceClient;
class ChromePasswordManagerClient;
class ChromeVariationsServiceClient;
class HttpsFirstModeService;
class NavigationMetricsRecorder;
class PrefService;
namespace {
class CrashesDOMHandler;
}
#if BUILDFLAG(IS_CHROMEOS_ASH)
class ChromeCameraAppUIDelegate;
namespace app_list::federated {
class FederatedMetricsManager;
}
namespace ash::input_method {
class AutocorrectManager;
}
#endif
namespace browser_sync {
class ChromeSyncClient;
}
namespace domain_reliability {
bool ShouldCreateService();
}
namespace extensions {
class ChromeGuestViewManagerDelegate;
class ChromeMetricsPrivateDelegate;
}
namespace first_run {
class FirstRunMasterPrefsVariationsSeedTest;
}
namespace metrics {
class ChromeOSPerUserMetricsBrowserTestBase;
class UkmConsentParamBrowserTest;
}
namespace safe_browsing {
class ChromeSafeBrowsingUIManagerDelegate;
class DownloadUrlSBClient;
class IncidentReportingService;
class ServicesDelegateDesktop;
namespace internal {
class ReporterRunner;
}
}
namespace settings {
class MetricsReportingHandler;
}
namespace segmentation_platform {
class FieldTrialRegisterImpl;
}
namespace feed {
class FeedServiceDelegateImpl;
class WebFeedSubscriptionCoordinator;
}
namespace browser_sync {
class DeviceInfoSyncClientImpl;
}
namespace webauthn {
namespace authenticator {
class IsMetricsAndCrashReportingEnabled;
}
}
namespace ash {
class DemoSession;
namespace settings {
class PerSessionSettingsUserActionTracker;
}
}
namespace tpcd::experiment {
class ExperimentManagerImpl;
}
namespace readaloud {
class SyntheticTrial;
}
namespace tab_groups {
class TabGroupTrial;
}
class ChromeMetricsServiceAccessor : public metrics::MetricsServiceAccessor { … };
#endif