chromium/components/variations/child_process_field_trial_syncer.h

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

#ifndef COMPONENTS_VARIATIONS_CHILD_PROCESS_FIELD_TRIAL_SYNCER_H_
#define COMPONENTS_VARIATIONS_CHILD_PROCESS_FIELD_TRIAL_SYNCER_H_

#include <set>
#include <string>

#include "base/component_export.h"
#include "base/functional/callback.h"
#include "base/metrics/field_trial.h"

namespace variations {

// Provides functionality for child processes to sync the "activated" state of
// field trials between the child and browser. Specifically, when a field trial
// is activated in the browser, it also activates it in the child process and
// when a field trial is activated in the child process, it notifies the browser
// process to activate it.
//
// It also updates crash keys in the child process corresponding to the field
// trial state.
class COMPONENT_EXPORT(VARIATIONS) ChildProcessFieldTrialSyncer
    : public base::FieldTrialList::Observer {};

}  // namespace variations

#endif  // COMPONENTS_VARIATIONS_CHILD_PROCESS_FIELD_TRIAL_SYNCER_H_