chromium/components/origin_trials/common/origin_trials_persistence_provider.h

// Copyright 2022 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_ORIGIN_TRIALS_COMMON_ORIGIN_TRIALS_PERSISTENCE_PROVIDER_H_
#define COMPONENTS_ORIGIN_TRIALS_COMMON_ORIGIN_TRIALS_PERSISTENCE_PROVIDER_H_

#include <vector>
#include "base/containers/flat_set.h"
#include "components/origin_trials/common/persisted_trial_token.h"
#include "net/base/schemeful_site.h"

namespace url {
class Origin;
}

namespace origin_trials {

// Used for keying a mapping of sites (eTLD+1s) to origins with tokens persisted
// for them. `SiteKey` may change to some internal type, so embedders should
// treat it as an opaque, but serializable, value.
SiteKey;
// A collection of persisted trial tokens that match a given SiteKey. Each entry
// in the collection is a pair, representing tokens persisted for a specific
// origin. Just an alias for user convenience.
SiteOriginTrialTokens;

class OriginTrialsPersistenceProvider {};

}  // namespace origin_trials

#endif  // COMPONENTS_ORIGIN_TRIALS_COMMON_ORIGIN_TRIALS_PERSISTENCE_PROVIDER_H_