// Copyright 2020 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_VARIATIONS_LAYERS_H_ #define COMPONENTS_VARIATIONS_VARIATIONS_LAYERS_H_ #include <map> #include <optional> #include "base/component_export.h" #include "base/metrics/field_trial.h" #include "base/types/optional_ref.h" #include "components/variations/entropy_provider.h" #include "components/variations/processed_study.h" #include "components/variations/proto/layer.pb.h" #include "components/variations/proto/variations_seed.pb.h" namespace variations { // These values are persisted to logs. Entries should not be renumbered and // numeric values should never be reused. enum class InvalidLayerReason { … }; // A view over the layers defined within a variations seed. // // A layer defines a collection of mutually exclusive members. For each client, // at most one member will be assigned as its active member. Studies may be // conditioned on a particular member being active, in order to avoid overlap // with studies that require a different member to be active. class COMPONENT_EXPORT(VARIATIONS) VariationsLayers { … }; } // namespace variations #endif // COMPONENTS_VARIATIONS_VARIATIONS_LAYERS_H_