chromium/chrome/browser/tpcd/experiment/experiment_manager_impl.cc

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/tpcd/experiment/experiment_manager_impl.h"

#include <optional>
#include <string>
#include <utility>

#include "base/check.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/location.h"
#include "base/metrics/field_trial_params.h"
#include "base/no_destructor.h"
#include "base/sequence_checker.h"
#include "base/task/single_thread_task_runner.h"
#include "build/buildflag.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/tpcd/experiment/tpcd_experiment_features.h"
#include "components/metrics/metrics_pref_names.h"
#include "components/prefs/pref_service.h"
#include "components/privacy_sandbox/tpcd_pref_names.h"
#include "components/privacy_sandbox/tpcd_utils.h"
#include "components/variations/synthetic_trials.h"
#include "content/public/common/content_features.h"

#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/ash/components/browser_context_helper/browser_context_types.h"
#endif  // BUILDFLAG(IS_CHROMEOS_ASH)

namespace tpcd::experiment {
namespace {

const base::FeatureParam<std::string> kSyntheticTrialGroupOverride{};

bool NeedsOnboardingForExperiment() {}

}  // namespace

// static
ExperimentManagerImpl* ExperimentManagerImpl::GetForProfile(Profile* profile) {}

// static
ExperimentManagerImpl* ExperimentManagerImpl::GetInstance() {}

ExperimentManagerImpl::ExperimentManagerImpl() {}

ExperimentManagerImpl::~ExperimentManagerImpl() {}

void ExperimentManagerImpl::SetClientEligibility(
    bool is_eligible,
    EligibilityDecisionCallback on_eligibility_decision_callback) {}

void ExperimentManagerImpl::CaptureEligibilityInLocalStatePref() {}

void ExperimentManagerImpl::MaybeUpdateSyntheticTrialRegistration() {}

std::optional<bool> ExperimentManagerImpl::IsClientEligible() const {}

bool ExperimentManagerImpl::DidVersionChange() const {}

void ExperimentManagerImpl::NotifyProfileTrackingProtectionOnboarded() {}

bool ExperimentManagerImpl::CanRegisterSyntheticTrial() const {}

}  // namespace tpcd::experiment