#include "components/variations/child_process_field_trial_syncer.h"
#include <utility>
#include "base/auto_reset.h"
#include "base/base_switches.h"
#include "base/command_line.h"
#include "base/containers/contains.h"
#include "base/metrics/field_trial_list_including_low_anonymity.h"
#include "components/variations/variations_crash_keys.h"
#include "third_party/abseil-cpp/absl/base/attributes.h"
namespace variations {
namespace {
ChildProcessFieldTrialSyncer* g_instance = …;
ABSL_CONST_INIT thread_local bool in_set_field_trial_group_from_browser = …;
}
ChildProcessFieldTrialSyncer* ChildProcessFieldTrialSyncer::CreateInstance(
FieldTrialActivatedCallback activated_callback) { … }
ChildProcessFieldTrialSyncer*
ChildProcessFieldTrialSyncer::CreateInstanceForTesting(
const std::set<std::string>& initially_active_trials,
FieldTrialActivatedCallback activated_callback) { … }
void ChildProcessFieldTrialSyncer::DeleteInstanceForTesting() { … }
ChildProcessFieldTrialSyncer::ChildProcessFieldTrialSyncer(
FieldTrialActivatedCallback activated_callback)
: … { … }
ChildProcessFieldTrialSyncer::~ChildProcessFieldTrialSyncer() = default;
void ChildProcessFieldTrialSyncer::Init(
const std::set<std::string>& initially_active_trials) { … }
void ChildProcessFieldTrialSyncer::SetFieldTrialGroupFromBrowser(
const std::string& trial_name,
const std::string& group_name) { … }
void ChildProcessFieldTrialSyncer::OnFieldTrialGroupFinalized(
const base::FieldTrial& trial,
const std::string& group_name) { … }
}