#include "content/browser/field_trial_synchronizer.h"
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/metrics/field_trial.h"
#include "base/metrics/field_trial_list_including_low_anonymity.h"
#include "base/strings/strcat.h"
#include "base/threading/thread.h"
#include "components/metrics/persistent_system_profile.h"
#include "components/variations/active_field_trials.h"
#include "components/variations/variations_client.h"
#include "content/common/renderer_variations_configuration.mojom.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_process_host.h"
#include "ipc/ipc_channel_proxy.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
namespace content {
namespace {
FieldTrialSynchronizer* g_instance = …;
void NotifyAllRenderersOfFieldTrial(const std::string& field_trial_name,
const std::string& group_name,
bool is_low_anonymity,
bool is_overridden) { … }
}
void FieldTrialSynchronizer::CreateInstance() { … }
FieldTrialSynchronizer::FieldTrialSynchronizer() { … }
void FieldTrialSynchronizer::OnFieldTrialGroupFinalized(
const base::FieldTrial& trial,
const std::string& group_name) { … }
void FieldTrialSynchronizer::NotifyAllRenderersOfVariationsHeader() { … }
void FieldTrialSynchronizer::UpdateRendererVariationsHeader(
RenderProcessHost* host) { … }
void FieldTrialSynchronizer::VariationIdsHeaderUpdated() { … }
FieldTrialSynchronizer::~FieldTrialSynchronizer() { … }
}